@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/* ========================================
   テーマカラー設定
======================================== */
:root {
    --red: #bf3822;
    --gold: #c9a056;
}

body {
    overflow: hidden;
    /*background: #f5f5f5;*/
}

#maincontents * {
    box-sizing: border-box;
}

#maincontents {
    position: relative;
    margin: 0 auto;
    color: #000000;
    font-weight: 400;
    letter-spacing: 0em;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    background: #f5f5f5;
}

#maincontents main {
    font-family: "Noto Serif JP", serif;
}

#maincontents main a {
    color: unset;
    text-decoration: none;
}

#maincontents main img {
    vertical-align: bottom;
    max-width: 100%;
}


/* ========================================
   追加修正2025/10/24
======================================== */
.fukushima {
    background-color: #FFF;
    font-family: "Noto Sans JP", sans-serif;
}
.partership {
    font-family: "Noto Sans JP", sans-serif;
}


/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {
    #maincontents {
        font-size: min(1.5vw, 20px);
        line-height: 2;
    }

    a {
        transition: 0.3s ease-in-out;
    }

    img {
        transition: 0.3s ease-in-out;
    }

    a:active,
    a:hover {
        opacity: 0.7;
    }

    .tab .for_pcnotab {
        display: none !important;
    }

    .tab .for_tab {
        display: inline !important;
    }

    .sp_view {
        display: none !important;
    }

    .wrap {
        width: 92%;
        max-width: 1100px;
        margin-right: auto;
        margin-left: auto;
    }

    .pc_sidepadding {
        padding: 0 3%;
    }

    /* common
	---------------------------------------------------------------------- */
    .mainw,
    .mainw_pc {
        max-width: 1140px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .w900 {
        max-width: 900px;
        margin: 0 auto;
    }

    .w1000 {
        max-width: 1000px;
        margin: 0 auto;
    }

    .w1300 {
        max-width: 1340px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .w1600 {
        max-width: 1600px;
        margin: 0 auto;
    }

    .anchor {
        margin-top: -100px;
        padding-top: 100px;
    }

    .cflex {
        display: flex;
    }

    .img100 {
        width: 100%;
    }

    .img100 img {
        width: 100%;
    }

    .ui-state-default:hover,
    .ui-widget-content .ui-state-default:hover,
    .ui-widget-header .ui-state-default:hover {
        background: #000;
        color: #fff;
    }

    /* tab
  ---------------------------------------------------------------------- */
    #course section .tab {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #course section .tab li {
        position: relative;
        z-index: 0;
        width: 552px;
        margin: 0 -50px;
        padding: 10px 20px;
        color: #fff;
        font-size: 46px;
        font-weight: 900;
        line-height: 1.5;
        letter-spacing: 0.05em;
        -webkit-transition: 0.3s;
        transition: 0.3s;
        cursor: pointer;
    }

    /*.tab li:hover {
		opacity: 0.7;
	}*/

    #course section .tab li.is-move {
        margin: 0 -30px;
    }

    #course section .tab li.is-active {
        z-index: 1;
    }

    #course section .tab li.tab-day1 {
        padding-right: 100px;
        background: url(../images/buttoaizu/tab_1day_pc.svg);
        background-size: 100% 100%;
        text-align: right;
    }

    #course section .tab li.tab-day2 {
        padding-left: 100px;
        background: url(../images/buttoaizu/tab_2day_pc.svg);
        background-size: 100% 100%;
        text-align: left;
    }

    #course section .tab__content {
        padding-top: 80px;
        border-top: 8px solid var(--red);
        background: url(../images/buttoaizu/bg_course_1.png) repeat-x 0 0;
    }

    #course section .tab__content[data-id=day2] {
        border-top: 8px solid var(--gold);
        background: url(../images/buttoaizu/bg_course_2.png) repeat-x 0 0;
    }

    #course section .tab li picture {
        display: block;
        width: 222px;
        margin: 0 auto;
    }
}

/* End @media (min-width: 1001px) */
/* ---------------------------------------------------------------------- */


/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

    #maincontents {
        font-size: 4vw;
        line-height: 1.65;
    }

    .wrap {
        position: relative;
        width: 93.33vw;
        margin-right: auto;
        margin-left: auto;
    }

    .pc_view {
        display: none !important;
    }

    /* tab
  ---------------------------------------------------------------------- */
    #course section .tab {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #course section .tab li {
        position: relative;
        z-index: 0;
        width: 50.8vw;
        margin: 0 -6.5vw;
        padding: 2.55vw 5.56vw 2.04vw 0;
        color: #fff;
        font-weight: 900;
        font-size: 4.8vw;
        line-height: 1.5;
        text-align: center;
        letter-spacing: 0.1em;
        -webkit-transition: 0.3s;
        transition: 0.3s;
        cursor: pointer;
    }

    /*.tab li:hover {
		opacity: 0.7;
	}*/

    #course section .tab li.is-move {
        margin: 0 -3vw;
    }

    #course section .tab li.is-active {
        z-index: 1;
    }

    #course section .tab li.tab-day1 {
        padding-right: 2.2em;
        background: url(../images/buttoaizu/tab_1day_sp.svg);
        background-size: 100% 100%;
    }

    #course section .tab li.tab-day2 {
        background: url(../images/buttoaizu/tab_2day_sp.svg);
        background-size: 100% 100%;
        padding-left: 2.6em;
    }

    #course section .tab li.tab-day1 img {
        width: 15.73vw;
        height: auto;
    }

    #course section .tab li.tab-day2 img {
        width: 16.27vw;
        height: auto;
    }

    #course section .tab__content {
        padding: 5.33vw 0;
        border-top: 1.07vw solid var(--gold);
        border-bottom: 1.07vw solid var(--gold);
        background: url(../images/buttoaizu/bg_course_2.png) repeat-x 0 0;
    }

    #course section .tab__content[data-id=day1] {
        border-top: 1.07vw solid var(--red);
        border-bottom: 1.07vw solid var(--red);
        background: #f5f5f5;
        background: url(../images/buttoaizu/bg_course_1.png) repeat-x 0 0;
    }

    #course section .tab__wrap {
        background: #fff;
    }

    #course section .sp_view .tab li.tab-day1 {
        background: url(../images/buttoaizu/tab_1day_sp_r.svg) no-repeat;
        background-size: 100% 100%;
    }

    #course section .sp_view .tab li.tab-day2 {
        background: url(../images/buttoaizu/tab_2day_sp_r.svg) no-repeat;
        background-size: 100% 100%;
    }
}

/* End @media (max-width:1000px) */


/* ---------------------------------------------------------------------- */
/* TOP
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* pc */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

    /* common 
  ---------------------------------------------------------------------- */
    .sec__title {
        margin: 0 auto 60px;
    }

    #origin .sec__title {
        width: 72%;
        max-width: 778px;
    }

    #course .sec__title {
        width: 40%;
        max-width: 522px;
    }

    .sec__title img {
        width: 100%;
        height: auto;
    }

    /* mv 
  ---------------------------------------------------------------------- */
    #mv {
        border-top: 10px solid var(--red);
        border-bottom: 10px solid var(--red);
    }

    #mv .mv__inr {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 0;
        padding-top: 42%;
    }

    #mv .mv__left,
    #mv .mv__right {
        position: absolute;
    }

    #mv .mv__left {
        top: 0;
        left: 0;
        width: 60%;
        animation: mvLeft ease .8s forwards;
    }

    #mv .mv__right {
        right: 0;
        bottom: 0;
        width: 67.5%;
        animation: mvRight ease .8s forwards;
    }

    #mv .mv__left::before,
    #mv .mv__right::before {
        display: block;
        content: "";
    }

    #mv .mv__left::before {
        padding-top: 72%;
    }

    #mv .mv__right::before {
        padding-top: 63%;
    }

    #mv .mv__left img,
    #mv .mv__right img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        object-fit: cover;
    }

    #mv .mv__ttl {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0;
        transform: none;
        width: 58.75%;
        max-width: none;
        height: fit-content;
        margin: auto;
        animation: mvTitle ease .3s forwards;
        animation-delay: .8s;
    }

    #mv .mv__ttl img {
        width: 100%;
        height: auto;
    }

    @keyframes mvLeft {
        0% {
            transform: translateX(-100%);
            opacity: 0;
        }

        100% {
            transform: translateX(0);
        }

        40%,
        100% {
            opacity: 1;
        }
    }

    @keyframes mvRight {
        0% {
            transform: translateX(100%);
            opacity: 0;
        }

        100% {
            transform: translateX(0);
        }

        40%,
        100% {
            opacity: 1;
        }
    }

    @keyframes mvTitle {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    /* origin 
  ---------------------------------------------------------------------- */
    #origin {
        padding: 100px 0;
        border-bottom: 10px solid var(--red);
        background-image: url(../images/buttoaizu/bg_origin_pc.png), url(../images/buttoaizu/bg_culture.png);
        background-repeat: no-repeat, repeat;
        background-position: center center, left top;
        background-size: 90% auto, auto;
    }

    #origin .lead {
        font-size: min(2.5vw, 28px);
        line-height: 2;
        font-family: "Noto Serif JP", serif;
        text-align: center;
    }

    #origin .origin__gourmet {
        display: flex;
        overflow: hidden;
        margin: 70px 0 150px
    }

    #origin .loop-slide {
        display: flex;
        gap: 20px;
        animation: slide 24s infinite linear .5s both;
    }

    #origin .loop-slide+.loop-slide {
        margin-left: 20px;
    }

    #origin .loop-slide li {
        width: calc(100vw / 4);
    }

    #origin .loop-slide li>img {
        width: 100%;
        height: auto;
    }

    @keyframes slide {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-100%);
        }
    }

    #origin .origin__map {
        position: relative;
        width: 920px;
        height: 594px;
        background: url(../images/buttoaizu/bg_map_pc.png) no-repeat 0 0 / 100% auto;
    }

    .origin__map-list {
        width: 100%;
    }

    .origin__map-list li {
        position: absolute;
        width: 4.4%;
        max-width: 48px;
    }

    .origin__map-list li:first-child {
        top: 39%;
        left: 49%;
    }

    .origin__map-list li:nth-child(2) {
        top: 36%;
        left: 34%;
    }

    .origin__map-list li:nth-child(3) {
        top: 63%;
        left: 38%;
    }

    .origin__map-list li:nth-child(4) {
        top: 51%;
        left: 35%;
    }

    .origin__map-list li:nth-child(5) {
        top: 50%;
        left: 29%;
    }

    .origin__map-list li:nth-child(6) {
        top: 41%;
        left: 17%;
    }

    .origin__map-list li:nth-child(7) {
        top: 36%;
        left: 20%;
    }

    /* spot 
  ---------------------------------------------------------------------- */
    #spot {
        overflow: hidden;
        padding: 100px 0;
    }

    #spot .photo-slide {
        position: relative;
        margin: 0 0 20px;
    }

    #spot .photo-slide::before,
    #spot .photo-slide::after {
        display: block;
        position: absolute;
        z-index: 2;
        width: 456px;
        height: 95px;
        background: url(../images/buttoaizu/pt_cloud.png) no-repeat 0 0 / 100% auto;
        content: "";
    }

    #spot .photo-slide::before {
        top: -47px;
        left: 0;
    }

    #spot .photo-slide::after {
        right: 0;
        bottom: -47px;
    }

    #maincontents .spot__ttl {
        position: relative;
        margin: 0 0 35px;
        border-bottom: 3.5px solid var(--red);
        font-weight: 900;
        font-size: min(2.8vw, 35px);
    }

    .spot__ttl::after {
        position: absolute;
        bottom: -7px;
        left: 0;
        width: 100%;
        height: 1.7px;
        background: var(--red);
        content: "";
    }

    .spot__link {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin: 25px 0 70px;
    }

    .spot__link dt {
        width: 255px;
    }

    .spot__link dt a {
        display: block;
        position: relative;
        width: 100%;
        height: 67px;
        background: url(../images/buttoaizu/bg_btlink.png) no-repeat 0 0;
        color: #000000;
        font-weight: 900;
        font-size: 20px;
        line-height: 67px;
        text-align: center;
    }

    .spot__link dt a::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%) rotate(90deg);
        font-size: 10px;
        content: "▲"
    }

    .spot__link dd {
        width: calc(100% - 280px);
        font-size: min(1.18vw, 16px);
    }

    .spot__point {
        display: flex;
        justify-content: space-between;
    }

    .spot__point li {
        width: 47%;
        max-width: 540px;
        height: 424px;
        font-size: 18px;
        line-height: 1.5;
    }

    .spot__point-roukumoude {
        padding: 30px 50px 0;
        background: url(../images/buttoaizu/bg_rokumoude.png) no-repeat 0 0 / 100% auto;
    }

    .spot__point-korori {
        padding: 5px 40px 0;
        background: url(../images/buttoaizu/bg_korori.png) no-repeat 0 0 / 100% auto;
    }

    .spot__point li h4 {
        width: fit-content;
        margin: 0 auto 20px;
    }

    .spot__point li.spot__point-korori h4 {
        margin-bottom: 5px;
    }

    .spot__point li h4 img {
        width: 100%;
        height: auto;
    }

    .spot__point li .bn {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin: 20px 0 0;
    }

    .spot__point li .bn a {
        display: block;
        width: 180px;
    }

    .spot__point li .bn p {
        width: calc(100% - 195px);
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: -0.01em;
    }

    .spot__point-korori span {
        display: block;
        margin-top: 10px;
    }

    .spot__item {
        display: flex;
        justify-content: space-between;
        margin-top: 70px;
    }

    .slidein {
        transition: 2.5s cubic-bezier(0.75, 0, 0.25, 1);
    }

    .slide_left {
        transform: translateX(calc(-50vw - 50%));
    }

    .slide_right {
        transform: translateX(calc(50vw + 50%));
    }

    .show {
        transform: translateX(0);
    }

    .spot__item .spot__item-txt {
        width: 52%;
    }

    .spot__item .spot__item-img {
        flex: 1;
        position: relative;
        margin-right: calc(50% - 50vw);
        margin-left: 4%;
    }

    .spot__item .spot__item-img::before {
        display: block;
        padding-top: 61.85%;
        content: "";
    }

    .spot__item .spot__item-img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        object-fit: cover;
    }

    #isasumi.spot__item .spot__item-img,
    #enzouji.spot__item .spot__item-img,
    #torioi.spot__item .spot__item-img {
        margin-right: 4%;
        margin-left: calc(50% - 50vw);
    }

    #tachiki.spot__item .spot__item-img::after,
    #nakata.spot__item .spot__item-img::after,
    #torioi.spot__item .spot__item-img::after {
        display: block;
        position: absolute;
        top: -20px;
        width: 162px;
        height: 119px;
        background: url(../images/buttoaizu/pt_korori.svg) no-repeat 0 0 / 100% auto;
        content: "";
    }

    #tachiki.spot__item .spot__item-img::after,
    #nakata.spot__item .spot__item-img::after {
        left: 20px;
    }

    #torioi.spot__item .spot__item-img::after {
        right: 20px;
    }

    #isasumi.spot__item .spot__item-img::after,
    #enzouji.spot__item .spot__item-img::after,
    #ooyamazumi.spot__item .spot__item-img::after {
        display: block;
        position: absolute;
        top: -20px;
        width: 95px;
        height: 92px;
        content: "";
    }

    #isasumi.spot__item .spot__item-img::after,
    #enzouji.spot__item .spot__item-img::after {
        right: 30px;
        background: url(../images/buttoaizu/pt_6_left.svg) no-repeat 0 0 / 100% auto;
    }

    #ooyamazumi.spot__item .spot__item-img::after {
        left: 30px;
        background: url(../images/buttoaizu/pt_6_right.svg) no-repeat 0 0 / 100% auto;
    }

    /* course 
  ---------------------------------------------------------------------- */
    #course section img {
        width: 100%;
        height: auto;
    }

    .course__inr {
        position: relative;
    }

    .course__inr-note {
        position: absolute;
        top: 0;
        right: 0;
        width: 20%;
        max-width: 254px;
        height: 100%;
    }

    .course__inr-note img {
        width: 100%;
        height: auto;
    }

    .course__inr-note .circle {
        position: absolute;
        top: 0;
        left: 0;
        animation: spin 5s linear infinite;
    }

    .course__inr-note .car {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 62%;
        max-width: 155px;
    }

    @keyframes spin {
        from {
            transform: rotate(0deg);
        }

        to {
            transform: rotate(360deg);
        }
    }

    #maincontents .tab__content-course {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 88%;
        max-width: 1410px;
        margin: 0 auto 70px;
    }

    #maincontents .tab__content-course li {
        position: relative;
    }

    #maincontents .tab__content[data-id="day1"] .tab__content-course li {
        width: 12%;
    }

    #maincontents .tab__content[data-id="day1"] .tab__content-course li:last-child {
        width: 15%;
    }

    #maincontents .tab__content[data-id="day2"] .tab__content-course li {
        width: 12%;
    }

    #maincontents .tab__content-course li+li::before {
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        width: 22px;
        height: 43px;
        background: url(../images/buttoaizu/ico_arrow.svg) no-repeat 0 0 / 100% auto;
        content: "";
    }

    #maincontents .tab__content[data-id=day1] .tab__content-course li+li::before {
        left: -17%;
    }

    #maincontents .tab__content[data-id=day2] .tab__content-course li+li::before {
        left: -7%;
    }

    .course__bt {
        width: 800px;
        margin: 0 auto;
    }

    .course__bt img {
        width: 100%;
        height: auto;
    }

    /* aizu33 
  ---------------------------------------------------------------------- */
    #aizu33 {
        width: 100%;
        margin: 100px 0 0;
        padding: 100px 0;
        background: var(--red);
        color: #fff;
        font-size: min(1.18vw, 16px);
    }

    #aizu33::before {
        display: block;
        width: 100%;
        height: 106px;
        margin-top: -127px;
        background: url(../images/buttoaizu/bg_wave.svg) repeat-x top center / 152px auto;
        content: "";
    }

    .aizu33__inr {
        display: flex;
        justify-content: space-between;
    }

    .aizu33__inr img {
        width: 100%;
        height: auto;
    }

    .aizu33__inr a {
        display: block;
        width: 300px;
    }

    .aizu33__inr a span {
        display: block;
        color: #fff;
        font-size: 12px;
    }

    .aizu33__inr .aizu33__inr-txt {
        width: calc(100% - 350px);
    }

    .partership__list li {
        width: 32% !important;
    }
}

@media (min-width: 1115px) {
    #origin .origin__map {
        width: 1100px;
        height: 708px;
    }
}

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

    /* common 
  ---------------------------------------------------------------------- */
    .sec__title {
        margin: 0 auto 6.67vw;
    }

    #origin .sec__title {
        width: 93.3vw;
    }

    #course .sec__title {
        width: 59vw;
    }

    .sec__title img {
        width: 100%;
        height: auto;
    }

    /* mv 
  ---------------------------------------------------------------------- */
    #mv {
        height: 130vw;
        border-top: 1.33vw solid var(--red);
        border-bottom: 1.33vw solid var(--red);
    }

    #mv .mv__inr {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 0;
        padding-top: 128vw;
    }

    #mv .mv__left,
    #mv .mv__right {
        position: absolute;
    }

    #mv .mv__left {
        top: 0;
        left: 0;
        width: 100%;
        animation: mvLeft ease .8s forwards;
    }

    #mv .mv__right {
        right: 0;
        bottom: 0;
        width: 100%;
        animation: mvRight ease .8s forwards;
    }

    #mv .mv__left::before,
    #mv .mv__right::before {
        display: block;
        content: "";
    }

    #mv .mv__left::before {
        padding-top: 128vw;
    }

    #mv .mv__right::before {
        padding-top: 128vw;
    }

    #mv .mv__left img,
    #mv .mv__right img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        object-fit: cover;
    }

    #mv .mv__ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        overflow: hidden;
        opacity: 0;
        width: 114vw;
        height: fit-content;
        max-width: none;
        animation: mvTitle ease .3s forwards;
        animation-delay: .8s;
    }

    #mv .mv__ttl img {
        width: 100%;
        height: auto;
    }

    @keyframes mvLeft {
        0% {
            transform: translateX(-100%);
            opacity: 0;
        }

        100% {
            transform: translateX(0);
        }

        40%,
        100% {
            opacity: 1;
        }
    }

    @keyframes mvRight {
        0% {
            transform: translateX(100%);
            opacity: 0;
        }

        100% {
            transform: translateX(0);
        }

        40%,
        100% {
            opacity: 1;
        }
    }

    @keyframes mvTitle {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    /* origin 
  ---------------------------------------------------------------------- */
    #origin {
        padding: 5.73vw 0;
        border-bottom: 1.33vw solid var(--red);
        background-image: url(../images/buttoaizu/bg_origin_sp.png), url(../images/buttoaizu/bg_culture.png);
        background-repeat: no-repeat, repeat;
        background-position: center center, left top;
        background-size: 100% auto, auto;
    }

    #origin .lead {
        font-size: 4.8vw;
        line-height: 2;
        font-family: "Noto Serif JP", serif;
        text-align: center;
    }

    #origin .origin__gourmet {
        display: flex;
        overflow: hidden;
        margin: 8.67vw 0 4.67vw;
    }

    #origin .loop-slide {
        display: flex;
        gap: 2.67vw;
        animation: slide 24s infinite linear .5s both;
    }

    #origin .loop-slide+.loop-slide {
        margin-left: 2.67vw;
    }

    #origin .loop-slide li {
        width: calc(100vw / 2);
    }

    #origin .loop-slide li>img {
        width: 100%;
        height: auto;
    }

    @keyframes slide {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-100%);
        }
    }

    #origin .origin__map {
        position: relative;
        width: 92vw;
        height: 86.27vw;
        background: url(../images/buttoaizu/bg_map_sp.png) no-repeat 0 0 / 100% auto;
    }

    .origin__map-list {
        width: 100%;
    }

    .origin__map-list li {
        position: absolute;
        width: 5.6vw;
    }

    .origin__map-list li:first-child {
        top: 36vw;
        left: 59vw;
    }

    .origin__map-list li:nth-child(2) {
        top: 34vw;
        left: 40vw;
    }

    .origin__map-list li:nth-child(3) {
        top: 55vw;
        left: 46vw;
    }

    .origin__map-list li:nth-child(4) {
        top: 45vw;
        left: 42vw;
    }

    .origin__map-list li:nth-child(5) {
        top: 43vw;
        left: 34vw;
    }

    .origin__map-list li:nth-child(6) {
        top: 37vw;
        left: 20vw;
    }

    .origin__map-list li:nth-child(7) {
        top: 33vw;
        left: 25vw;
    }

    /* spot 
  ---------------------------------------------------------------------- */
    #spot {
        overflow: hidden;
        padding: 10vw 0;
    }

    #spot .photo-slide {
        position: relative;
        margin: 0 0 5.33vw;
    }

    #spot .photo-slide::before,
    #spot .photo-slide::after {
        display: block;
        position: absolute;
        z-index: 2;
        width: 38.27vw;
        height: 8vw;
        background: url(../images/buttoaizu/pt_cloud.png) no-repeat 0 0 / 100% auto;
        content: "";
    }

    #spot .photo-slide::before {
        top: -4vw;
        left: 0;
    }

    #spot .photo-slide::after {
        right: 0;
        bottom: -4vw;
    }

    #spot .photo-slide img {
        width: 100%;
        height: auto;
    }

    #maincontents .spot__ttl {
        position: relative;
        margin: 0 0 4vw;
        border-bottom: 0.8vw solid var(--red);
        font-weight: 900;
        font-size: 5.33vw;
    }

    .spot__ttl::after {
        position: absolute;
        bottom: -2vw;
        left: 0;
        width: 100%;
        height: 0.27vw;
        background: var(--red);
        content: "";
    }

    .spot__link {
        width: 100%;
        margin: 4vw 0 6.67vw;
    }

    .spot__link dt {
        width: 51.33vw;
        margin: 0 auto 2.67vw;
    }

    .spot__link dt a {
        display: block;
        position: relative;
        width: 100%;
        height: 13.33vw;
        background: url(../images/buttoaizu/bg_btlink.png) no-repeat 0 0 / 100% auto;
        color: #000000;
        font-weight: 900;
        font-size: 4vw;
        line-height: 13.33vw;
        text-align: center;
    }

    .spot__link dt a::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 2.67vw;
        transform: translateY(-50%) rotate(90deg);
        font-size: 2vw;
        content: "▲"
    }

    .spot__link dd {
        width: 100%;
        font-size: 3.73vw;
    }

    .spot__point {
        margin: 8vw 0 0;
    }

    .spot__point li {
        width: 100%;
        height: 78vw;
        line-height: 1.3;
    }

    .spot__point-roukumoude {
        padding: 5.5vw 8vw 0;
        background: url(../images/buttoaizu/bg_rokumoude.png) no-repeat 0 0 / 100% auto;
    }

    .spot__point-korori {
        padding: 0 6.67vw;
        background: url(../images/buttoaizu/bg_korori.png) no-repeat center top 2.5vw / 100% auto;
    }

    .spot__point li.spot__point-roukumoude h4 {
        width: 64.8vw;
        margin: 0 auto 2.67vw;
    }

    .spot__point li.spot__point-korori h4 {
        width: 80.67vw;
        margin: 0 auto 1.33vw;
    }

    .spot__point li img {
        width: 100%;
        height: auto;
    }

    .spot__point li .bn {
        width: 57.47vw;
        margin: 1.75vw auto 0;
    }

    .spot__point li .bn a {
        display: block;
        width: 40vw;
        margin: 0 auto;
    }

    .spot__point li .bn p {
        margin: 1.75vw 0 0;
        font-size: 3.73vw;
        text-align: center;
        line-height: 1.1;
    }

    .spot__point-korori span {
        display: block;
    }

    .spot__item {
        margin-top: 7.67vw;
    }

    .slidein {
        transition: 2.5s cubic-bezier(0.75, 0, 0.25, 1);
    }

    .slide_left {
        transform: translateX(calc(-50vw - 50%));
    }

    .slide_right {
        transform: translateX(calc(50vw + 50%));
    }

    .show {
        transform: translateX(0);
    }

    #tachiki.spot__item,
    #nakata.spot__item,
    #ooyamazumi.spot__item {
        display: flex;
        flex-direction: column-reverse;
    }

    .spot__item .spot__item-txt {
        margin: 3.33vw 0 0;
    }

    .spot__item .spot__item-img {
        position: relative;
        width: 100%;
    }

    .spot__item .spot__item-img::before {
        display: block;
        padding-top: 61.85%;
        content: "";
    }

    .spot__item .spot__item-img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        object-fit: cover;
    }

    #tachiki.spot__item .spot__item-img::after,
    #nakata.spot__item .spot__item-img::after,
    #torioi.spot__item .spot__item-img::after {
        display: block;
        position: absolute;
        top: -2.67vw;
        left: 2.67vw;
        width: 21.6vw;
        height: 15.87vw;
        background: url(../images/buttoaizu/pt_korori.svg) no-repeat 0 0 / 100% auto;
        content: "";
    }

    #isasumi.spot__item .spot__item-img::after,
    #enzouji.spot__item .spot__item-img::after,
    #ooyamazumi.spot__item .spot__item-img::after {
        display: block;
        position: absolute;
        top: -2.67vw;
        left: 4vw;
        width: 12.67vw;
        height: 12.27vw;
        background: url(../images/buttoaizu/pt_6_right.svg) no-repeat 0 0 / 100% auto;
        content: "";
    }

    /* course 
  ---------------------------------------------------------------------- */
    #course section img {
        width: 100%;
        height: auto;
    }

    .course__inr-note {
        position: relative;
        width: 37.33vw;
        height: 37.33vw;
        margin: 0 auto 6.67vw;
    }

    .course__inr-note img {
        width: 100%;
        height: auto;
    }

    .course__inr-note .circle {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        animation: spin 5s linear infinite;
    }

    .course__inr-note .car {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 24.4vw;
    }

    @keyframes spin {
        from {
            transform: rotate(0deg);
        }

        to {
            transform: rotate(360deg);
        }
    }

    #maincontents .tab__content-course {
        width: 81.2vw;
        margin: 0 auto 6vw;
    }

    #maincontents .tab__content-course li {
        position: relative;
        width: 100%;
    }

    #maincontents .tab__content-course li+li {
        margin-top: 12.67vw;
    }

    #maincontents .tab__content-course li+li::before {
        position: absolute;
        top: -7.9vw;
        left: 50%;
        transform: translateX(-50%);
        width: 7.2vw;
        height: 4vw;
        background: url(../images/buttoaizu/ico_arrow.svg) no-repeat 0 0 / 100% auto;
        content: "";
    }

    .course__bt {
        width: 93.33vw;
        margin: 4vw auto 0;
    }

    .course__bt img {
        width: 100%;
        height: auto;
    }

    /* aizu33 
  ---------------------------------------------------------------------- */
    #aizu33 {
        width: 100%;
        margin: 18vw 0 0;
        padding: 10vw 0;
        background: var(--red);
        color: #fff;
        font-size: 3.73vw;
    }

    #aizu33::before {
        display: block;
        width: 100%;
        height: 14.13vw;
        margin-top: -16.93vw;
        background: url(../images/buttoaizu/bg_wave.svg) repeat-x top center / 20.27vw auto;
        content: "";
    }

    .aizu33__inr {
        width: 80vw;
        margin: 0 auto;
    }

    .aizu33__inr img {
        width: 100%;
        height: auto;
    }

    .aizu33__inr a span {
        display: none;
    }

    .aizu33__inr .aizu33__inr-txt {
        margin: 2.27vw;
    }
}