@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400&family=Lexend+Deca:wght@400;700&family=Noto+Sans+JP:wght@300;400;700&display=swap');

:root {
    --en-font-family: 'Lexend Deca', sans-serif;
}


html {
    font-size: 100%;
}

body {
    margin: 0;
}

a {
    text-decoration: none;
    color: #000;
}

section {
    position: relative;
}

.all_wrap {
    background: #fdf8e5;
    overflow: hidden;
}

.all_wrap img,
footer img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}


@media screen and (max-width: 768px) {
    .for-tab:not(.for-sp) {
        display: none;
    }

    .for-pc {
        display: none !important;
    }

}

@media screen and (min-width: 769px) {

    .for-sp {
        display: none !important;
    }

    .for-tab {
        display: none;
    }

}



.top_wrap {
    background: url(../images/top_img_sp.png) no-repeat 0 25vw;
    background-size: 100%;
    padding: 0 0 190vw;
    position: relative;
}

header {
    position: relative;
    margin: 0 auto -50px;
    padding: 30px;
}

header .sns_link {
    position: absolute;
    display: flex;
    width: 15%;
    justify-content: space-between;
}

header .sns_link p {
    width: 15px;
    margin: 0;
}

header .logo_sp {
    margin: 0;
}

header .logo_sp a {
    display: flex;
    margin: auto;
    width: 115px;
}


header nav ul li a {
    font-weight: 700;
    font-family: 'Lexend Deca', sans-serif;
}

.top_news {
    position: relative;
    z-index: 2;
}

.top_news p {
    background: #337093;
    color: #fff;
    padding: 15px 30px;
    margin: 0 25px 0 0;
    font-size: 11px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    display: flex;
}

.top_news p span {
    font-family: var(--en-font-family);
    font-weight: 400;
    font-size: 15px;
    margin: 0 5px 0 0;
}

/* section TITLE */
.about_wrap,
.news_wrap,
.map_inner,
.fish_type,
.rule_wrap,
.price_inner {
    position: relative;
    width: calc(100vw - 100px);
    min-width: 300px;
    max-width: 900px;
    margin: 0 auto;
    z-index: 2;
}

#about::before,
#news::before,
#map::before,
#fish::before,
#fishing::before,
#price::before,
#access::before {
    position: absolute;
    top: 0;
    left: 2vw;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    font-weight: bold;
    font-size: 20px;
    font-family: 'Lexend Deca', sans-serif;
    z-index: 9;
}

/* ABOUT */
.about_wrap {
    margin-bottom: 50px;
}

#about::before {
    content: "ABOUT";
    top: 10px;
}

.about_wrap p {
    font-family: 'Kiwi Maru', serif;
}

.about_inner .about_title {
    font-size: 1.2rem;
    font-weight: 700;
}

.about_inner .about_txt {
    font-size: 0.75rem;
    line-height: 2;
}

/* NEWS */
.news_wrap {
    padding: 0px 0 18vw;
    width: calc(100vw - 45px);
    margin-bottom: 35px;
}

#news::before {
    content: "SNS";
}

.news_wrap .news_inner .news_pic {
    position: relative;
}

.news_wrap .news_inner .news_pic span,
.news_wrap .news_inner dl dt,
.news_wrap .news_inner dl dd {
    font-family: "Noto Sans JP";
}

.news_wrap .news_inner .news_pic span {
    position: absolute;
    font-size: 0.6rem;
    padding: 2px 10px;
    background: #AA9A8B;
    color: #fff;
    bottom: -10px;
    left: 0;
}

.news_wrap .news_inner dl dt {
    margin: 0 0 5px;
    font-size: 0.75rem;
}

.news_wrap .news_inner dl dd {
    margin: 0;
    font-size: 0.6rem;
}


.news_wrap .news_inner {
    width: 300px;
}

/* MAP ~ FISH BG*/
.lake_bg_wrap {
    position: relative;
    background: url(../images/lake_bg.png) center bottom / contain;
}

.lake_bg_wrap::before {
    content: "";
    position: absolute;
    background: url(../images/lake_top_bg.png) no-repeat center;
    background-size: 110%;
    top: -20vw;
    width: 100vw;
    height: 23vw;
}

.lake_bg_wrap::after {
    content: "";
    position: absolute;
    background: url(../images/lake_btm_bg.png) no-repeat;
    background-size: 110%;
    width: 100vw;
    height: 23vw;
    bottom: -20vw;
    z-index: 1;
}

/* MAP */
.map_wrap {
    position: relative;
    padding: 5vw 0 0 0;
}

.map_wrap .map_inner {
    padding: 0 0 32vw;
}

#map::before {
    content: "MAP";
    top: calc(5vw + 5px);
}

.map_wrap p {
    font-size: 0.75rem;
    line-height: 2;
    margin: 0 0 25px;
    font-family: 'Kiwi Maru', serif;
}

/* 無料レンタルできるもの */
.rental_wrap {
    position: relative;
    padding: 0 0 12vw;
}

.rental_wrap .rental_inner {
    position: relative;
    width: 73%;
    max-width: 900px;
    margin: 0 auto;
}

.rental_inner::after {
    position: absolute;
    content: "";
    background: url(../images/balloon01_icon.png) no-repeat;
    width: 30vw;
    height: 20vw;
    top: -23vw;
    background-size: contain;
    right: -10vw;
}

.rental_wrap .rental_inner .rental_goods {
    position: relative;
    border: 2px solid #337093;
    border-radius: 10px;
    padding: 50px 30px 30px;
    margin: 0 0 20px;
}

.rental_wrap .rental_inner .rental_goods .rental_ttl {
    color: #fff;
    background: #337093;
    position: absolute;
    border-radius: 25px;
    padding: 5px 15px;
    margin: 0;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: 'Kiwi Maru', serif;
}

.rental_wrap .rental_inner .rental_goods figure {
    text-align: center;
}

.rental_wrap .rental_inner .rental_goods figcaption {
    font-size: 0.75rem;
    margin: 10px 0 0;
    font-family: "Noto Sans JP";
}

.all_wrap p.child_notes {
    color: #fff;
    background: #337093;
    font-size: 1rem;
    padding: 10px 20px;
    font-family: "Noto Sans JP";
    margin: 0;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(1) {
    margin: 0 0 20px;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(1) img {
    max-width: 130px;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(2) {
    margin: 0 0 50px;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(2) img {
    max-width: 150px;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(2) figcaption {
    margin: -30px 0 0;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(3) {
    margin: 0;
}

.rental_wrap .rental_inner .rental_goods figure:nth-of-type(3) img {
    max-width: 92px;
}

.rental_wrap .rental_inner .fish_note {
    margin-top: 40px;
    text-align: center;
}

/* FISH */
.fish_wrap {
    position: relative;
}

.fish_wrap::after {
    position: absolute;
    content: "";
    background: url(../images/fish_btm_img.png) no-repeat;
    width: 50vw;
    height: 49vw;
    max-width: 359px;
    max-height: 349px;
    bottom: -25vw;
    right: 5vw;
    background-size: contain;
    z-index: 2;
}

.fish_inner {
    position: relative;
    padding: 0 0 130px;
}

#fish::before {
    content: "FISH";
    top: 5px;
}

.fish_wrap .fish_inner .fish_type .fish_txt,
.fish_wrap .fish_inner .fish_type figure figcaption {
    font-family: 'Kiwi Maru', serif;
    font-weight: bold;
}

.fish_wrap .fish_inner .fish_type .fish_txt {
    font-size: 0.75rem;
    line-height: 2;
    margin: 0;
}

.fish_wrap .fish_inner .fish_type .fish_type_img_wrap {
    position: relative;
}

.fish_wrap .fish_inner .fish_type .fish_type_img_wrap::after {
    position: absolute;
    content: "";
    background: url(../images/balloon02_icon.png) no-repeat;
    width: 30vw;
    height: 20vw;
    top: -18vw;
    background-size: contain;
    right: -5vw;
}

.fish_wrap .fish_inner .fish_type figure {
    margin: 70px 0;
}

.fish_wrap .fish_inner .fish_type figure img {
    width: 100%;
    max-width: 373px;
    margin: auto;
    display: block;
}

.fish_wrap .fish_inner .fish_type figure figcaption {
    text-align: center;
    font-size: 0.6rem;
    margin: 20px 0 0;
}

.fish_wrap .fish_inner .fish_type .fish_note {
    font-size: 0.6rem;
    font-family: "Noto Sans JP";
}

/* FISHING */
.fishing_wrap {
    position: relative;
    padding: 35vw 0 40px;
    background: url(../images/dot_bg_01_img.png) no-repeat 10vw 2vh;
    background-size: 120%;
}

#fishing::before {
    content: "FISHING";
    top: calc(35vw + 5px);
}

.fishing_wrap ol li,
.fishing_wrap .list_ttl {
    font-family: 'Kiwi Maru', serif;
    font-weight: bold;
}

.fishing_wrap .list_ttl span {
    color: #337093;
    font-family: 'arial', sans-serif;
    font-size: 1.4rem;
    font-weight: bold;
}

.fishing_wrap ol {
    padding: 0;
    counter-reset: item;
}

.fishing_wrap ol li {
    list-style: none;
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 0 40px;
    font-size: 0.75rem;
}

.fishing_wrap ol li::before {
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    left: 0;
    background: #337093;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
}

.fishing_wrap ol li::after {
    counter-increment: item;
    content: '0'counter(item);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 5px;
    color: #fff;
    font-size: 1.2rem;
    font-family: var(--en-font-family);
}

.fishing_wrap .list_02_inner .annotation {
    font-family: "Noto Sans JP";
    font-size: 0.6em;
    text-indent: -10px;
    padding: 0 0 0 10px;
}

.fishing_wrap .list_common {
    width: 73%;
    max-width: 900px;
    margin: 0 auto;
}

.fishing_wrap .list_01_inner {
    position: relative;
    background: url(../images/list_01_img.png) no-repeat 0 top;
    background-size: min(340px, 56vw);
    padding: 21vw 0 0;
}

.fishing_wrap .list_01_wrap .list_01_inner .list_ttl {
    margin: 0 0 0 min(350px, 62vw);
}

.fishing_wrap .list_02_wrap {
    position: relative;
    background: url(../images/list_lake_img.png) no-repeat 60vw top;
    background-size: 630px;
    padding: min(300px, 50vw) 0 0;
    margin-top: 60px;
}

.fishing_wrap .list_02_wrap::before {
    position: absolute;
    content: "";
    background: url(../images/list_02_img.png) no-repeat;
    background-size: contain;
    width: min(495px, 95vw);
    height: min(260px, 60vw);
    top: 0;
    right: 15vw;
}

.fishing_wrap .list_03_wrap {
    position: relative;
    background: url(../images/list_lake_img.png) no-repeat 110vw 45vw;
    background-size: 630px;
    padding: min(420px, 70vw) 0 0;
}

.fishing_wrap .list_03_wrap::before {
    position: absolute;
    content: "";
    background: url(../images/list_03_img.png) no-repeat;
    background-size: contain;
    width: min(400px, 80vw);
    height: min(262px, 57vw);
    top: 16vw;
    left: min(100px, 4vw);
}

.fishing_wrap .list_03_wrap .list_ttl {
    margin: 0 0 0 32vw;
}

/* FHISNG LAND 浜寺公園でのルールについて */
.rule_wrap .rule_inner {
    background: rgba(170, 154, 139, 0.2);
    padding: 0 0 20px;
}

.rule_wrap .rule_ttl {
    background: #aa9a8b;
    color: #fff;
    font-size: 0.75rem;
    text-align: center;
    margin: 0;
    padding: 10px;
}

.rule_wrap p,
.rule_wrap ul li {
    font-family: "Noto Sans JP";
}

.rule_wrap .rule_ttl span {
    font-size: 0.6rem;
}

.rule_wrap .rule_inner {
    padding: 10px 20px 20px;
    margin: 0 0 40px;
}

.rule_wrap .rule_inner p {
    background: #aa9a8B;
    color: #fff;
    font-size: 0.75rem;
    text-align: center;
    margin: 0 0 5px;
    padding: 5px;
}

.rule_wrap .rule_inner ul {
    padding: 0;
    margin: 0 0 10px;
}

.rule_wrap .rule_inner ul li {
    position: relative;
    list-style: none;
    font-size: 0.6rem;
}

.rule_wrap .rule_inner .rule_list_wrap li::before {
    content: "";
    width: 3px;
    height: 3px;
    border: 0.5px solid #000;
    display: inline-block;
    margin: 0 3px 0 0;
}

.rule_wrap .rule_inner .rule_annotation {
    margin: 0;
}

.rule_wrap .rule_inner .rule_annotation li {
    font-weight: 300;
}

.rule_wrap .rule_inner .rule_annotation li::before {
    content: "※";
    display: inline-block;
}

/* PRICE */
.price_wrap {
    background: #fff;
    padding: 40px 0;
    position: relative;
}

.price_wrap::after {
    position: absolute;
    content: "";
    background: url(../images/fishing_img.png) no-repeat;
    width: 26vw;
    height: 26vw;
    bottom: -12vw;
    right: 3vw;
    background-size: contain;
    z-index: 1;
}

#price::before {
    content: "PRICE";
    top: 40px;
}

.price_wrap .price_inner picture {
    display: block;
}

.price_wrap .price_inner ul {
    font-family: "Noto Sans JP";
    margin: 0;
    padding: 0;
}

.price_wrap .price_inner ul li {
    font-size: 0.6rem;
    list-style: none;
    position: relative;
    padding-left: 10px;
}

.price_wrap .price_inner ul li::before {
    content: "※";
    display: inline-block;
    top: 0;
    left: 0;
    position: absolute;
}

/* ACCESS */
.access_wrap {
    padding: 40px 0;
    position: relative;
}

#access::before {
    content: "ACCESS";
    top: 40px;
}

.access_wrap::after {
    position: absolute;
    content: "";
    background: url(../images/dot_bg_02_img.png) no-repeat 50vw;
    background-size: 500px;
    top: -5vw;
    width: 100%;
    height: 30vw;
}

.access_wrap dl {
    position: relative;
    z-index: 2;
}

.access_wrap dl div:not(:last-of-type) {
    margin: 0 0 2vw;
}

.access_wrap dl dt,
.access_wrap dl dd,
.access_wrap p {
    font-family: "Noto Sans JP";
}

.access_wrap dl {
    width: calc(100vw - 80px);
    max-width: 900px;
    margin: 0 auto;
}

.access_wrap dl dt {
    position: relative;
    font-size: 13px;
    margin: 0 0 5px;
    padding: 0 0 0 25px;
    font-weight: 400;
}

.access_wrap dl dt::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.access_wrap dl .pool_name::before,
.access_wrap dl .company::before {
    background: url(../images/fish_icon_01.png) no-repeat;
    width: 20px;
    height: 10px;
    background-size: contain;
}

.access_wrap dl .business_hours::before {
    background: url(../images/fish_icon_02.png) no-repeat;
    background-size: contain;
}

.access_wrap dl .transportation::before {
    background: url(../images/fish_icon_03.png) no-repeat;
    background-size: contain;
}

.access_wrap dl .business_hours::before,
.access_wrap dl .transportation::before {
    width: 20px;
    height: 7px;
}

.access_wrap dl dd {
    margin: 0;
    font-size: 13px;
    padding: 0 0 0 25px;
    font-weight: 300;
}

.access_wrap dl dd:not(:last-of-type) {
    margin: 0 0 10px;
}

.access_wrap dl .open_close_wrap p {
    margin: 0 0 5px;
}

.access_wrap ul {
    margin: 0;
    padding: 0;
}

.access_wrap ul li {
    list-style: none;
    font-size: 0.6rem;
}

.access_wrap ul li::before,
.access_wrap .transportation_wrap .car_annotation::before {
    content: "※";
    display: inline-block;
}

.access_wrap .transportation_wrap .car {
    margin: 0 0 5px;
}

.access_wrap .transportation_wrap .car_annotation {
    font-size: 0.6rem;
    margin: 0 0 10px;
}

.access_wrap .transportation_wrap .train {
    margin: 0;
}

.google_map {
    margin: 0 auto 25px;
    width: 100%;
    max-width: 900px;
}

.google_map iframe {
    width: 100%;
    aspect-ratio: 16/9;
}

.news_annotation {
    width: 73%;
    max-width: 900px;
    margin: 0 auto;
}

.news_annotation p {
    background: #aa9a8b;
    color: #fff;
    font-family: "Noto Sans JP";
    padding: 10px 20px;
}

/* FOOTER */
footer {
    background: linear-gradient(180deg, #FDF8E5 0%, #FDF8E5 18%, #aa9a8b 18%, #aa9a8b 100%);
    padding: 0 0 25px;
}

footer .contact_area {
    width: 73%;
    max-width: 800px;
    margin: 0 auto 30px;
}

footer .contact_area p {
    margin: 0;
    background: #a6c541;
    padding: 10px 20px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
}

footer .contact_area a {
    display: block;
    text-decoration: none;
    color: #fff;
}

footer .sns_link {
    display: flex;
    width: 15%;
    margin: 0 auto 15px;
    justify-content: space-between;
}

footer .sns_link .insta_logo,
footer .sns_link .line_logo {
    width: 15px;
    margin: 0;
}

footer .copyright {
    margin: 0;
    text-align: center;
    font-size: 0.6rem;
}

footer nav {
    display: none;
}

.slide-arrow {
    width: 15px;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    cursor: pointer;
    transition: var(--transition);
}

.slide-arrow:hover {
    opacity: var(--hover-opacity);
}

.prev-arrow {
    left: -15px;
    transform: translate(0, -50%) scale(-1, 1);
}

.next-arrow {
    right: -15px;
}

.news_inner {
    padding: 0 35px 0 0;
}

@media screen and (max-width: 768px) {

    /* ハンバーガーメニューの初期 */
    header .g-nav {
        position: fixed;
        top: 0;
        right: 0;
        padding: 14vw 4vw;
        opacity: 0;
        visibility: hidden;
        margin: 0;
        overflow: scroll;
        width: 55%;
        max-width: 240px;
        height: 100vh;
        background: #FDF8E5;
        transition: opacity 0.5s, visibility 0.5s;
        z-index: 9999;
    }

    header #nav_toggle {
        top: 35px;
        right: 5%;
        display: block;
        position: fixed;
        width: 20px;
        height: 10px;
        z-index: 999999;
    }

    header #nav_toggle i {
        display: block;
        width: 100%;
        height: 1px;
        background-color: #000;
        position: absolute;
        transition: transform 0.5s, opacity 0.5s;
    }

    header #nav_toggle i:nth-child(1) {
        top: 0;
    }

    header #nav_toggle i:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
    }

    header #nav_toggle i:nth-child(3) {
        bottom: 0;
    }

    /* クリックした時の閉じるボタン表示 */
    header .g-nav.show {
        opacity: 1;
        visibility: visible;
    }

    .close:before,
    .close:after {
        left: 15px;
    }

    header #nav_toggle.show i:nth-child(1) {
        bottom: 0;
        top: 0;
        margin: auto;
        transform: rotate(-45deg);
    }

    header #nav_toggle.show i:nth-child(2) {
        opacity: 0;
    }

    header #nav_toggle.show i:nth-child(3) {
        bottom: 0;
        top: 0;
        margin: auto;
        width: 100%;
        transform: rotate(45deg);
    }

    header nav ul {
        flex-wrap: wrap;
        list-style: none;
    }

    header nav ul li {
        width: 100%;
        text-align: right;
        margin: 0 0 4vw;
    }

    header nav ul li a {
        font-size: min(22px, 5vw);
        font-weight: 500;
        color: #000;
    }

    .news_wrap {
        width: calc(100vw - 100px);
    }

    .slick-list {
        padding: 0 50px 0 0 !important;
    }

    .prev-arrow {
        display: none !important;
    }

    .next-arrow {
        right: 57px;
    }

    .rental_wrap .rental_inner p {
        font-size: 0.7rem;
    }
}

@media screen and (min-width: 769px) {
    .pc_hidden {
        display: none;
    }

    header {
        margin: 0 auto -18vw;
    }

    header .logo_sp,
    .sp_menu {
        display: none;
    }

    header .sns_link {
        display: block;
        width: auto;
        bottom: -33vw;
    }

    header .sns_link p {
        width: 27px;
    }

    header .sns_link a {
        transition: all .3s;
    }

    header .sns_link a:hover {
        opacity: 0.7;
    }

    header .sns_link .insta_logo {
        margin: 0 0 20px;
    }

    header nav ul {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0;
        padding: 0;
    }

    header nav ul li {
        list-style: none;
        width: calc(100% / 7 - 10px);
        font-family: 'arial', sans-serif;
        font-size: 1rem;
        text-align: center;
    }

    header nav ul li h1 {
        max-width: 115px;
        margin: 0 auto;
    }

    header nav ul li:nth-of-type(1),
    header nav ul li:nth-of-type(2),
    header nav ul li:nth-of-type(3),
    header nav ul li:nth-of-type(4) {
        width: 10%;
    }

    header nav ul li a {
        font-size: 20px;
        display: inline-block;
        position: relative;
    }

    header nav ul li a::after {
        content: "";
        position: absolute;
        background: #000;
        width: 100%;
        height: 2px;
        bottom: -3px;
        display: none;
    }

    header nav ul li a:hover::after {
        display: block;
    }

    header nav {
        display: block;
    }

    #about::before,
    #news::before,
    #map::before,
    #fish::before,
    #fishing::before,
    #price::before,
    #access::before {
        font-size: 60px;
        left: 8vw;
        line-height: 1;
    }

    #map::before {
        top: 0;
    }

    #fishing::before {
        top: 30vw;
    }

    #access::before {
        top: 110px;
    }

    .top_wrap {
        background: url(../images/top_img_pc.png) no-repeat center 3vw, url(../images/top_lake_pc.png) no-repeat center min(515px, 36vw), url(../images/dot_bg_01_img.png) no-repeat center bottom;
        background-size: min(1300px, 90%), min(1728px, 120%), 93%;
        padding: 0 0 min(1900px, 108vw);
        margin: 0px 0 -56vw;
    }

    .top_news p span {
        font-size: 25px;
    }

    .top_news p {
        font-size: 22px;
        margin: 30px auto 0 8vw;
        display: inline-block;
    }

    .top_news p span {
        margin-right: 20px;
    }

    .about_inner {
        position: relative;
    }

    .about_inner::after {
        bottom: -20vw;
    }

    .top_wrap::after {
        position: absolute;
        content: "";
        background: url(../images/top_fishing_img_pc.png) no-repeat;
        background-size: contain;
        width: min(330px, 23vw);
        height: min(374px, 26vw);
        right: 9vw;
        top: min(1000px, 70vw);
    }

    .about_inner .about_title {
        font-size: 38px;
        margin-top: 75px;
        margin-bottom: 40px;
    }

    .about_wrap {
        margin-bottom: 10vw;
    }

    .about_inner .about_txt {
        font-size: 20px;
    }

    .news_wrap {
        padding: 0;
        margin-bottom: 14vw;
    }

    .news_wrap .scroll_wrap {
        width: 100%;
    }

    .news_wrap .news_inner .news_pic span {
        font-size: 20px;
        font-family: var(--en-font-family);
        bottom: -15px;
    }

    .news_wrap .news_inner dl {
        margin: 30px 0 0;
    }

    .news_wrap .news_inner dl dt {
        font-size: 20px;
        font-weight: 500;
        margin: 0 0 20px;
    }

    .news_wrap .news_inner dl dd {
        font-size: 16px;
    }

    .map_wrap {
        padding: 0;
    }

    .map_wrap p {
        font-size: 20px;
    }

    .map_wrap .map_inner {
        padding: 0 0 15vw;
    }

    .lake_bg_wrap,
    .lake_bg_wrap::before,
    .lake_bg_wrap::after {
        background-size: contain;
    }

    .lake_bg_wrap::before {
        top: -14vw;
    }

    .fishing_wrap {
        padding: 25vw 0 8vw;
        background: url(../images/dot_bg_01_img.png) no-repeat 36vw 3vw / contain, url(../images/dot_bg_02_img.png) no-repeat 50vw bottom / 1025px;
    }

    .rental_wrap .rental_goods_img_wrap {
        display: flex;
        align-items: end;
    }

    .rental_wrap .rental_inner .rental_goods {
        padding: 25px 30px 30px;
    }

    .rental_wrap .rental_inner .rental_goods .rental_ttl {
        font-size: 22px;
        padding: 5px 20px;
    }

    .rental_inner::after {
        width: 23vw;
        height: 15vw;
        top: -14vh;
        max-width: 220px;
        max-height: 138px;
        right: -2vw;
    }

    .rental_wrap .rental_inner .rental_goods figure:nth-of-type(1),
    .rental_wrap .rental_inner .rental_goods figure:nth-of-type(2) {
        margin: 0;
    }

    .rental_wrap .rental_inner .rental_goods figure {
        width: calc(100% / 3);
    }

    .rental_wrap .rental_inner .rental_goods figure:nth-of-type(1) img {
        max-width: 144px;
    }

    .rental_wrap .rental_inner .rental_goods figure:nth-of-type(2) img {
        max-width: 220px;
    }

    .rental_wrap .rental_inner .rental_goods figure:nth-of-type(3) img {
        max-width: 111px;
    }

    .rental_wrap .rental_inner .rental_goods figcaption {
        font-size: 20px;
    }


    .fish_wrap .fish_inner .fish_type .fish_type_img_wrap::after {
        width: 23vw;
        height: 15vw;
        top: -8vw;
        right: -2vw;
        max-width: 220px;
        max-height: 138px;
    }

    .fish_wrap .fish_type_img_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .fish_wrap .fish_inner .fish_type figure {
        width: calc(50% - 25px);
    }

    .all_wrap p.child_notes {
        font-size: 20px;
        text-align: center;
    }

    .fish_wrap::after {
        width: 35vw;
        height: 34vw;
        bottom: -19vw;
        right: 5vw;
    }

    .fish_inner {
        padding: 0 0 12vh;
    }

    .fish_wrap .fish_inner .fish_type .fish_txt {
        font-size: 20px;
    }

    #fishing::before {
        top: 25vw;
    }

    .fishing_wrap .list_01_wrap {
        background-size: contain;
        padding: 0;
        background-position: 8vw top;
    }

    .fishing_wrap .list_01_inner {
        margin: 0;
        padding: 0 0 2vw 50%;
        width: 50%;
        background-size: 434px;
    }

    .fishing_wrap .list_ttl,
    .fishing_wrap .list_01_wrap .list_01_inner .list_ttl {
        font-size: 29px;
        margin: 0;
    }

    .fishing_wrap .list_ttl span {
        font-size: 44px;
        font-family: var(--en-font-family);
    }

    .fishing_wrap .list_02_wrap {
        background-position: 70vw top;
        background-size: contain;
        padding: 20px 0 120px;
    }

    .fishing_wrap .list_02_wrap::before {
        width: 35vw;
        height: 22vw;
        right: 19vw;
    }

    .fishing_wrap .list_02_inner {
        width: 45%;
    }

    .fishing_wrap .list_02_inner .annotation {
        font-size: 14px;
        text-indent: -14px;
        padding: 0 0 0 12px;
    }

    .fishing_wrap .list_03_inner {
        width: 51%;
        margin: -200px 0 11vw auto;
    }

    .fishing_wrap .list_03_wrap {
        background-position: -58vw 3vw;
        background-size: contain;
        padding: 8vw 0 0;
    }

    .fishing_wrap .list_03_wrap .list_ttl {
        margin: 0;
    }

    .fishing_wrap .list_03_wrap::before {
        width: 33vw;
        height: 26vw;
        top: -90px;
        left: 12vw;
    }

    .fish_wrap .fish_inner .fish_type figure figcaption {
        font-size: 20px;
    }

    .fish_wrap .fish_inner .fish_type .fish_note {
        font-size: 16px;
    }

    .fishing_wrap::after {
        content: "";
        background: url(../images/dot_bg_02_img.png) no-repeat;
    }

    .fishing_wrap ol {
        margin: 30px 0 0;
    }

    .fishing_wrap ol li {
        font-size: 16px;
        padding-left: 55px;
    }

    .fishing_wrap ol li::before {
        width: 40px;
        height: 40px;
        border-radius: 20px;
    }

    .fishing_wrap ol li::after {
        left: 8px;
        font-size: 20px;
    }

    .rule_wrap .rule_inner {
        padding: 30px 40px;
    }

    .rule_wrap .rule_ttl {
        font-size: 27px;
        font-weight: 700;
        line-height: 1.2;
        padding: 30px;
    }

    .rule_wrap .rule_ttl span {
        font-size: 17px;
        font-weight: 300;
    }

    .rule_wrap .rule_inner p {
        font-size: 20px;
    }

    .rule_wrap .rule_inner p:not(:first-child) {
        margin-top: 50px;
    }

    .rule_wrap .rule_inner ul li {
        font-size: 16px;
        line-height: 1.6;
    }

    .rule_wrap .rule_inner .rule_annotation li {
        font-size: 14px;
    }

    #price::before {
        top: 90px;
    }

    .price_wrap {
        padding: 90px 0;
    }

    .price_wrap::after {
        width: 20vw;
        height: 20vw;
        bottom: -60px;
        right: 10vw;
    }

    .price_wrap .price_inner picture:first-of-type {
        margin: 0 0 2vw;
    }

    .price_wrap .price_inner picture:last-of-type {
        margin: 0 0 1vw;
    }

    .price_wrap .price_inner ul li {
        font-size: 16px;
        padding-left: 18px;
    }

    .access_wrap {
        padding: 110px 0 40px;
    }

    .access_wrap::after {
        background-position: right -36vw center;
        background-repeat: no-repeat;
        top: -236px;
        background-size: 1025px;
    }

    .access_wrap dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .access_wrap dl dt,
    .access_wrap dl dd {
        padding-left: 43px;
    }

    .access_wrap dl dt {
        font-size: 20px;
    }

    .access_wrap dl dd {
        font-size: 17px;
    }

    .access_wrap dl dd ul li,
    .access_wrap dl dd.transportation_wrap .car_annotation {
        font-size: 13px;
    }

    .access_wrap dl .pool_name::before,
    .access_wrap dl .company::before {
        width: 38px;
        height: 15px;
    }

    .access_wrap dl .business_hours::before,
    .access_wrap dl .transportation::before {
        width: 37px;
        height: 12px;
    }

    .access_wrap dl div:nth-child(odd) {
        width: 50%;
    }

    .access_wrap dl div:nth-child(even) {
        width: calc(50% - 40px);
    }

    .access_wrap dl div:first-of-type,
    .access_wrap dl div:nth-of-type(2) {
        margin: 0 0 70px;
    }

    .google_map {
        width: 73%;
        max-width: 900px;
    }

    .news_annotation {
        margin: 0px auto 8vw;
    }

    .news_annotation p {
        text-align: center;
        padding: 10px 0;
        font-size: 20px;
    }

    footer {
        background: linear-gradient(180deg, #FDF8E5 0%, #FDF8E5 15%, #aa9a8b 15%, #aa9a8b 100%);
    }

    footer .contact_area {
        margin: 0 auto 10vw;
    }

    footer .contact_area p {
        padding: 15px;
        font-size: 50px;
    }

    footer .contact_area p a {
        font-size: 40px;
    }

    footer nav {
        display: block;
        width: 70%;
        max-width: 900px;
        margin: 0 auto 5vw;
    }

    footer nav ul {
        display: flex;
        justify-content: space-between;
        margin: 0;
        padding: 0;
    }

    footer nav ul li {
        list-style: none;
        width: calc(100% / 7 - 10px);
        font-family: 'arial', sans-serif;
        font-size: 1rem;
        text-align: center;
    }

    footer nav ul li a {
        display: inline-block;
        position: relative;
    }

    footer nav ul li a::after {
        content: "";
        position: absolute;
        background: #000;
        width: 100%;
        height: 2px;
        bottom: -3px;
        display: none;
    }

    footer nav ul li a:hover::after {
        display: block;
    }

    footer .sns_link {
        justify-content: center;
        gap: 30px;
    }

    footer .sns_link .insta_logo,
    footer .sns_link .line_logo {
        width: 27px;
    }

    footer .sns_link .insta_logo a,
    footer .sns_link .line_logo a {
        transition: all .3s;
    }

    footer .sns_link .insta_logo a:hover,
    footer .sns_link .line_logo a:hover {
        opacity: 0.7;
    }

    .news_inner {
        padding: 0 25px;
    }
}

@media screen and (min-width: 1074px) and (max-width: 1236px) {

    #about::before,
    #news::before,
    #map::before,
    #fish::before,
    #fishing::before,
    #price::before,
    #access::before {
        left: 30px;
        font-size: 45px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1073px) {

    #about::before,
    #news::before,
    #map::before,
    #fish::before,
    #fishing::before,
    #price::before,
    #access::before {
        left: 5px;
        font-size: 30px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1073px) {

    .fishing_wrap .list_03_wrap {
        background-position-x: -40vw;
    }
}

@media screen and (min-width: 1540px) {
    /* .fishing_wrap .list_03_wrap {
        background-position: -50vw 3vw;
    } */
}