@charset "utf-8";

/* ==========================================
cover
========================================== */

.cover {
    width: 100%;
    padding: 5rem 1.5rem 0;
    flex: 1;
}

.cover-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 179rem;
    width: 100%;
    margin: 0 auto;
}
.cover-frame {
    margin: 3rem 0 0;
    max-width: 138rem;
    width: 71.88%;
}

.main-visual-img img {
    border-radius: 2rem;
}

.cover-text-block {
    margin: 3rem 0 0;
    padding: 0 5rem;
}

.main-title {
    font-size: clamp(2.8rem, 2.387rem + 1.761vw, 4.5rem);
    font-weight: 600;
}

.cover-illust {
    position: absolute;
    right: 5rem;
    bottom: 10%;
    max-width: 17.8rem;
    z-index: 1;
    width: 12.9%;
}

/* 1. スライド全体の設定：はみ出しを隠す */
.main-visual-slider .swiper-slide {
    border-radius: 2rem;
    overflow: hidden;
}

/* 非アクティブ時：トランジションなしで即座にscale(1)に戻す */
.main-visual-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: none; /* ← 非アクティブ時はtransitionなし */
}

/* アクティブ + フェードアウト中：ズームアニメーション付き */
.main-visual-slider .swiper-slide-active img,
.main-visual-slider .swiper-slide-duplicate-active img,
.main-visual-slider .swiper-slide-prev img,
.main-visual-slider .swiper-slide-duplicate-prev img {
    transform: scale(1.12);
    transition: transform 6s linear; /* ← アクティブ時だけtransitionを付ける */
}

/* ==========================================
top01
========================================== */

.top01 {
    padding: 13.6rem 0 25rem;
    position: relative;
}

.top01:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 38%;
	background: url(../../../../uploads/top_bg01.jpg)no-repeat center/cover;
    z-index: 1;
}

.top01:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 17.38%;
	background: url(../../../../uploads/body-deco01.png)no-repeat top/cover;
    z-index: 2;
}

.top01 .contents01 {
    z-index: 5;
}


.top01-title-box {
    position: relative;
}

.top01-title-box:after {
    content: "";
    position: absolute;
    /* background: var(--base-font-color); */
    border-bottom: 2px dashed var(--base-font-color);
    width: 78.77%;
    height: 1px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1;
}

.top01-row {
    margin: 2.2rem auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top01-row p {
    flex: 1;
}

.top01-row .btn01 {
    width: 28rem;
}

.top01-insta-box {
    padding: 0;
}


/* ==========================================
top02
========================================== */

.top02 {
    padding: 0 1.5rem 15.7rem;
}

.top02-contents {
    max-width: 159.7rem;
    width: 100%;
    margin: 0 auto;
}

.top02-title-box {
    text-align: center;
}

.top02-title-box h2 {
    margin: 0 0 2rem;
}

.top02-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    padding: 0 0 2rem;
}

.top02-center {
    max-width: 70rem;
    width: 60%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.top02-img-row-sp {
    display: none;
}

.top02-left {
    max-width: 50.8rem;
    width: 31.81%;
}

.top02-right  {
    max-width: 45.7rem;
    width: 28.62%;
}


.top02-img01 {
    width: 70.28%;
    aspect-ratio: 357/364;
}

.top02-img02 {
    max-width: 30rem;
    width: 59.06%;
    position: absolute;
    right: -4rem;
    bottom: 0;
    z-index: 5;
}

.top02-img03 {
    width: 69.72%;
    aspect-ratio: 297/304;
    margin: 0 0 0 auto;
}

.top02-img04 { 
    max-width: 18.5rem;
    width: 59.06%;
    position: absolute;
    left: 1rem;
    bottom: 2rem;
    z-index: 5;
}

.top02-img05 {
    width: 75.12%;
    aspect-ratio: 320/223;
    margin: 8rem 0 0;
}

.top02-text-block {
    text-align: center;
    margin: 6rem auto 0;
}

.top02-text {
    margin: 4rem auto 0;
}

.top02 .btn01 {
    margin: 6rem auto 0;
}

/* ==========================================
top03
========================================== */

.top03 {
    padding: 0 0 12rem;
}

.top03-row {
    margin: 12rem auto 0;
    display: flex;
    justify-content: center;
    gap: 6rem;
}

.top03-block {
    max-width: 50rem;
    width: 30.86%;
    position: relative;
}

.top03-card {
    width: 100%;
    position: relative;
}

.top03-icon-box {
    max-width: 15rem;
    width: 35%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    position: absolute;
    top: -6.4rem;
    right: 0;
    left: 0;
    z-index: 10;
}

.top03-header {
    position: relative;
    border-radius: 5px;
    overflow: hidden;
}

.top03-front {
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: rgb(47 24 10 / 60%);
    color: var(--white);
    padding: 9rem 1.5rem;
    transition: 0.3s;
}

.top03-body {
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(47 24 10 / 90%);
    color: var(--white);
    text-shadow: 0 0.2rem 0.4rem rgb(0 0 0 / 30%);
    padding: 9rem 6rem;
    opacity: 0;
    border-radius: 5px;
    visibility: hidden;
    transition: 0.3s;
    z-index: 9;
}

.top03-card:hover .top03-body {
    opacity: 1;
    visibility: visible;
}

.top03-card:hover .top03-front {
    opacity: 0;
    visibility: hidden;
}

.top03-num {
    font-size: 3.2rem;
    font-family: var(--font-family01);
}

.top03-body-text, .top03-text {
    text-align: center;
}

.top03-title {
    font-size: clamp(1.88rem, 1.657rem + 0.953vw, 2.8rem);
    text-align: center;
}

.top03-more-btn {
    position: absolute;
    bottom: 5rem;
    background: rgba(255, 255, 255, .8);
    border-radius: 100vmax;
    color: var(--base-font-color);
    padding: .3rem 3rem;
}

.top03 .btn01 {
    margin: 7rem auto 0;
}

/* ==========================================
top04
========================================== */

.top04 {
    padding: 13rem 0 0;
}

.top04-contents {
    padding: 0 1.5rem 9.6rem;
}

.top04-contents .en-title60 {
    font-size: clamp(3.55rem, 2.955rem + 2.537vw, 6rem);
    opacity: .4;
}

.top04-swiper {
    position: relative;
}

.top04-item-img-area {
    width: 100%;
    position: relative;
}

.top04-img {
    width: 100%;
    aspect-ratio: 1220 / 500;
    margin: 2rem auto 0;
}

.top04-img img {
    border-radius: 100vmax;
}

.top04-illust {
    position: absolute;
    top: -2rem;
    right: 0;
    max-width: 20rem;
    width: 16.39%;
    z-index: 5;
}

.top04-item-text-area {
    margin: 15rem auto 0;
}

.top04-item-title-row {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 60rem;
    width: 100%;
    margin: 0 auto;
    border-bottom: 2px dashed;
}

.top04-item-title-row .jp-title22 {
    margin: 0 0 0 3rem;
}

.top04-item-text-block {
    margin: 4rem auto 0;
    text-align: center;
}

.top04-item-text-box {
    margin: 2rem auto 0;
}

.top04-text-box p {
    line-height: 1.9;
}

.top04-text-area-illust {
    position: absolute;
    max-width: 23.2rem;
    width: 19.02%;
    left: 0;
    bottom: 22%;
    z-index: 1;
}

.top04 .btn01 {
    margin: 4rem auto 0;
    z-index: 99;
}

.top04-item {
    pointer-events: none;
}

.top04-item a,
.top04-item button {
    pointer-events: auto;
}

.top04-swiper .swiper-slide {
    pointer-events: none;
}

.top04-swiper .swiper-slide a,
.top04-swiper .swiper-slide button {
    pointer-events: auto;
}

.top04-swiper .swiper-wrapper {
    pointer-events: none;
}

/* 1. 全てのスライドのリンク（クリック）を一旦無効にする */
.top04-swiper .swiper-slide {
    pointer-events: none;
}

/* 2. 現在表示されているアクティブなスライドだけクリックを有効にする */
.top04-swiper .swiper-slide-active {
    pointer-events: auto;
}

/* フェードエフェクトなどを使っている場合、
   念のため透明なスライドが上にこないように z-index も制御すると安心です */
.top04-swiper .swiper-slide {
    z-index: 0;
}
.top04-swiper .swiper-slide-active {
    z-index: 1;
}

/* ==========================================
top05
========================================== */

.top05 {
    padding: 13.4rem 0 12rem;
}

.top05-contents {
    max-width: 166rem;
    width: 100%;
    margin: 8rem auto 0;
}

.top05-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top05-left {
    max-width: 78.3rem;
    width: 47.17%;
}

.top05-right {
    max-width: 78.8rem;
    width: 47.47%;
}

.top05-right .jp-title25 {
    margin: .5rem auto 0;
}

.top05-right .jp-title35 {
    margin: 1rem auto 0;
}

.top05-img-box01 {
    position: relative;
    max-width: 50rem;
    width: 63.86%;
    margin: 0 0 0 auto;
}

.top05-img01 {
    aspect-ratio: 400/292;
    width: 80%;
}

.top05-img02 {
    max-width: 21rem;
    width: 65.63%;
    position: absolute;
    left: 0;
    top: 12rem;
    z-index: 1;
}

.top05-left-row {
    display: flex;
    justify-content: space-between;
    margin: -14rem 0 0;
}

.top05-img-box02 {
    max-width: 32rem;
    width: 40.87%;
    position: relative;
}

.top05-img-box03 {
    max-width: 40.1rem;
    width: 51.21%;
    position: relative;
}

.top05-img03 {
    aspect-ratio: 219/192;
    width: 68.44%;
    margin: 0 0 0 auto;
}

.top05-img04 {
    position: absolute;
    top: -5rem;
    right: 0;
    max-width: 19.6rem;
    width: 39.2%;
    z-index: 1;
}

.top05-img05 {
    aspect-ratio: 298/192;
    width: 74.31%;
    margin: 7.4rem 0 0 auto;
}

.top05-img06 {
    max-width: 11.8rem;
    width: 29.43%;
    position: absolute;
    left: 0;
    bottom: -5rem;
    z-index: 1;
}

.top05-text-box {
    margin: 4rem auto 0;
}

.top05-text-box p {
    line-height: 1.9;
}

.top05 .btn01 {
    margin: 6rem 0 0;
}

/* ==========================================
top06
========================================== */

.top06 {
    padding: 7.4rem 0;
}

.top06-bg {
    background: url(../../../../uploads/top_bg01.jpg)no-repeat center/cover;
}

.top06-contents {
    max-width: 114.2rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.top06-main {
    max-width: 100rem;
    width: 100%;
    margin: 0 auto;
    padding: 7rem 1.5rem 9.5rem;
    background-color: rgba(248, 245, 237, .8);
    border-radius: 1rem;
}

.top06-img01 {
    position: absolute;
    top: 10%;
    left: 0;
    max-width: 15.8rem;
    width: 13.84%;
    z-index: 1;
}

.top06-img02 {
    position: absolute;
    bottom: 10%;
    right: 0;
    max-width: 20.2rem;
    width: 17.69%;
    z-index: 1;
}

.top06-title-box {
    max-width: 50rem;
    width: 100%;
    margin: 0 auto;
    border-bottom: 3px dashed var(--primary);
    padding: 0 0 2rem;
    text-align: center;
}

.top06-title-box span {
    font-size: clamp(3.7rem, 3.190rem + 2.175vw, 5.8rem);
    letter-spacing: 0.03em;
}

.top06-text-box {
    margin: 4rem auto 0;
    text-align: center;
}

.top06-text-box p {
    line-height: 1.9;
}

.top06-text-mt20 {
    margin: 2rem 0 0;
}

/* ==========================================
top07
========================================== */

.top07 {
    padding: 15rem 0 0;
}

.top07-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.top07-left {
    max-width: 70rem;
    width: 45.45%;
    padding: 0 0 0 4rem;
    margin: 4rem 0 0;
}

.top07-right {
    max-width: 61.2rem;
    width: 46.36%;
}

.top07-text-box {
    margin: 4rem auto 0;
}

.top07-text-box p {
    line-height: 1.96;
}

.top07-img-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 89.7rem;
    width: 67.95%;
    margin: -13.5% 0 0;
}

.top07-img-box01 {
    max-width: 68rem;
    width: 75.81%;
}

.top07-img03 {
    width: 51.47%;
    aspect-ratio: 350/250;
}

.top07-img04 {
    width: 67.65%;
    aspect-ratio: 460/300;
    margin: -22% 0 0 auto;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1550px) {

    /* ==========================================
	cover
	========================================== */

    .cover-frame {
        width: 77%;
    }

    /* ==========================================
	top01
	========================================== */

    .top01 {
        padding: 10.5rem 0 25rem;
    }

	/* ==========================================
	top02
	========================================== */
    .top02 {
        overflow: hidden;
    }

    .top02-row {
        padding: 0 0 6rem;
    }

    .top02-center {
        max-width: 75rem;
        width: 75%;
    }

    .top02-img02 {
        width: 40%;
        right: 3rem;
    }

    .top02-img04 {
        width: 55%;
        left: 3rem;
    }


	/* ==========================================
	top07
	========================================== */

    .top07 {
        overflow: hidden;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1024px) {

    /* ==========================================
	cover
	========================================== */

    .cover-frame {
        width: 67%;
    }

    .cover-text-block {
        padding: 0 1rem;
    }

    .cover-row .header-navi-link, .cover-row .header-sns-block {
        margin: 3rem 0 0;
    }

    .cover-row .header-navi-link:first-child {
        margin: 0;
    }

    /* ==========================================
	top01
	========================================== */


	/* ==========================================
	top02
	========================================== */

    .top02 {
        padding: 0 0 15rem;
    }

    .top02-row {
        padding: 13rem 0 0;
    }

    .top02-center {
        width: 66%;
    }

    .top02-left {
        width: 28.81%;
    }

    .top02-img03 {
        margin: 6rem 0 0 auto;
    }

    .top02-img02 {
        right: 5rem;
        bottom: -4rem;
    }

	/* ==========================================
	top03
	========================================== */
    .top03-row {
        margin: 8rem auto 0;
        gap: 9rem 4rem;
        flex-wrap: wrap;
    }

    .top03-block {
        width: 45%;
    }

    .top03-more-btn {
        bottom: 3rem;
    }
    
	/* ==========================================
	top04
	========================================== */



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=768px) {

    /* ==========================================
	cover
	========================================== */

    .cover {
        padding: 1rem 1.5rem 0;
    }

    .cover-frame {
        width: 100%;
        margin: 0 auto;
    }


    /* ==========================================
    top01
    ========================================== */
    .top01 {
        padding: 7rem 0 12rem;
    }

    .top01:after {
        height: 8%;
    }

    .top01 .contents01 {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        z-index: 5;
    }

    .top01-row {
        display: contents;
    }

    .top01-row .btn01 {
        width: 28rem;
        order: 3;
    }

    .top01-title-box {
        width: 100%;
        padding: 0 0 2.2rem;
        text-align: center;
    }

    .top01-title-box:after {
        width: 100%;
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        transform: unset;
    }

    .top01-text {
        margin: 1.88rem 0 1rem;
    }

    /* ==========================================
    top02
    ========================================== */

    .top02 {
        padding: 0 0 7.7rem;
    }

    .top02-row {
        padding: 0;
    }

    .top02-left, .top02-right {
        display: none;
    }

    .top02-center {
        position: static;
        width: 100%;
        margin: 0;
    }

    .top02-img-row-sp {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin: 4rem auto 0;
    }

    .top02-img-left-sp {
        position: relative;
        width: 42.4%;
    }

    .top02-img-right-sp {
        position: relative;
        width: 53.33%;
    }

    .top02-img-sp01 {
        aspect-ratio: 447/579;
        margin: -10rem 0 0;
    }

    .top02-img-sp02 {
        width: 76.73%;
        margin: 0 1rem 0 auto;
        position: relative;
        z-index: 1;
    }

    .top02-img-sp03 {
        aspect-ratio: 594/608;
        width: 69%;
        margin: 0 0 0 1.88rem;
    }

    .top02-img-sp04 {
        width: 43.5%;
        position: absolute;
        top: -5rem;
        z-index: 1;
    }

    .top02-img-sp05 {
        aspect-ratio: 640 / 446;
        width: 75.5%;
        margin: 8rem 0 0 auto;
    }

    .top02-text-block {
        margin: 2.2rem auto 0;
        padding: 0 1.5rem;
    }

    .top02-text {
        margin: 2.2rem auto 0;
    }

    .top02 .btn01 {
        margin: 4.4rem auto 0;
    }

    /* ==========================================
    top03
    ========================================== */

    .top03 {
        padding: 0 0 6rem;
    }

    .top03-row {
        flex-direction: column;
        align-items: center;
        gap: 6rem;
    }

    .top03-block {
        width: 100%;
        margin: 0 auto;
    }

    .top03-icon-box {
        width: 27.4%;
        top: -4.4rem;
    }

    .top03 .btn01 {
        margin: 4rem auto 0;
    }

    .top03-header {
        border-radius: 5px 5px 0 0;
    }

    .top03-body {
        position: static;
        padding: 2.2rem 3.3rem;
        opacity: 1;
        visibility: visible;
        min-height: 11rem;
        border-radius: 0 0 5px 5px;
    }

    .top03-body-text .top03-num {
        display: none;
    }
 
    .top03-body-text, .top03-text {
        max-width: 33rem;
        width: 100%;
    }

    .top03-card:hover .top03-front {
        opacity: 1;
        visibility: visible;
    }

    .top03-more-btn {
        display: none;
    }

    /* ==========================================
    top04
    ========================================== */

    .top04 {
        padding: 6.6rem 0 0;
    }

    .top04-illust {
        top: 3rem;
        width: 24%;
    }

    .top04-img {
        aspect-ratio: 778/614;
    }

    .top04-img img {
        border-radius: 4rem;
        width: 95%
    }

    .top04-text-area-illust {
        display: none;
    }

    .top04-item-text-area {
        margin: 10rem auto 0;
    }

	/* ==========================================
	top05
	========================================== */

    .top05 {
        padding: 6.6rem 0 7.7rem;
    }

    .top05-contents {
        margin: 2rem auto 0;
    }

    .top05-row {
        flex-direction: column;
    }

    .top05-right {
        width: 100%;
        display: contents;
    }

    .title-box-left {
        text-align: center;
        order: 1;
    }

    .top05-text-box {
        margin: 2.2rem auto 0;
        width: 95%;
        order: 2;
    }
    
    .top05-left {
        width: 100%;
        order: 3;
        margin: 6.6rem auto 0;
    }

    .top05-img-box01 {
        width: 71.6%;
        margin: 0 5% 0 auto;
    }

    .top05-img01 {
        width: 85.2%;
    }

    .top05-img02 {
        width: 67.63%;
        left: 1rem;
        top: -8rem;
    }

    .top05-left-row {
        margin: -6.5rem 0 0;
    }

    .top05-img03 {
        width: 81.5%;
        margin: 0;
    }

    .top05-img04 {
        top: -3rem;
    }

    .top05-img05 {
        width: 88.9%;
        margin: 3.4rem 0 0 auto;
    }

    .top05-img06 {
        width: 38.8%;
        left: -3.5rem;
        bottom: -3rem;
    }

    .top05 .btn01 {
        margin: 5rem auto 0;
        order: 4;
    }

    /* ==========================================
    top06
    ========================================== */

    .top06 {
        padding: 5rem 0;
    }

    .top06-main {
        padding: 3.5rem 1.5rem;
    }

    .top06-text-box {
        margin: 2.2rem auto 0;
    }

    .top06-img01 {
        top: -14%;
        width: 26.5%;
    }

    .top06-img02 {
        bottom: -13%;
        width: 30.8%;
    }

    /* ==========================================
    top07
    ========================================== */

    .top07 {
        padding: 7rem 0 0;
    }

    .top07-row {
        flex-direction: column;
        align-items: center
    }

    .top07-left {
        width: 100%;
        padding: 0;
    }

    .top07-text-box {
        margin: 2.2rem auto 0;
        text-align: center;
    }

    .top07-right {
        width: 100%;
        margin: 3.3rem auto 0;
    }

    .top07-img-row {
        width: 100%;
        margin: 3.3rem 0 0;
    }

    .top07-img-box01 {
        width: 100%;
    }

    .top07-img02 {
        position: absolute;
        bottom: 0;
        left: 7%;
        width: 10%;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=576px) {

    
    /* ==========================================
    cover
    ========================================== */

    .main-title {
        text-align: center;
    }

    .cover-illust {
        position: absolute;
        right: 0rem;
        bottom: 21%;
        max-width: 17.8rem;
        z-index: 1;
        width: 26.5%;
    }


    /* ==========================================
    top01
    ========================================== */


    /* ==========================================
    top02
    ========================================== */

    .top02-img-left-sp {
        margin: -3rem 0 0;
    }

    .top02-img-sp01 {
        margin: -7rem 0 0;
    }

    .top02-img-sp04 {
        top: -3rem;
    }

    .top02-img-sp05 {
        margin: 4rem 0 0 auto;
    }

    /* ==========================================
    top03
    ========================================== */



    /* ==========================================
    top04
    ========================================== */

    .top04-item-text-area {
        margin: 9rem auto 0;
    }

    
    .top04-illust {
        top: auto;
        bottom: -2rem;
        right: auto;
        left: 0;
        width: 25%;
    }
    
    /* ==========================================
    top05
    ========================================== */

    .top05-right .jp-title35 {
        margin: 1rem auto 0;
    }

    /* ==========================================
    top06
    ========================================== */

    .top06 {
        padding: 4.3rem 0;
    }

    .top06-main {
        padding: 2.55rem 1.5rem;
    }

    .top06-img01 {
        top: -17%;
        left: 3%;
    }

    .top06-img02 {
        bottom: -15%;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=414px) {

    .top06 {
        padding: 3.3rem 0;
    }

    .top06-img01 {
        top: -15%;
        left: 3%;
    }

    .top06-img02 {
        bottom: -14%;
        right: 1rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */