@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

html {
    font-size: 14px;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    color: #20343F;
    font-family: "Kiwi Maru", serif;
    font-weight: 500;
    height: 100%;
}
header {
    all: unset;
    display: block;
}
img {
    width: 100%;
    height: auto;
}

section {
    padding: 0 16px;
}

.top-container {
    max-width: 1024px;
    margin: 0 auto;
}

.top-container__title {
    width: 34.72%;
    margin: 0 auto 24px;
}

.h2__desc {
    font-size: 1.25rem;
    line-height: 2.5;
    font-weight: 500;
    text-align: center;
    margin-bottom: 40px;

}
.js-fade {
    clip-path: inset(0 100% 0 0);
    transition: 1.7s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
}

.js-fade.is-animated {
    clip-path: inset(0);
}

.h3 {
    font-size: 2rem;
    line-height: 1.429;
    font-weight: 500;
    margin-bottom: 24px;
    text-align: center;
}

.top-container__inner {
    padding: 40px 24px;
    border-radius: 16px;
}

.content__img {
    margin-bottom: 16px;
    border-radius: 8px;
    position: relative;
}

.content-date, .custom_date {
    display: inline-block;
    font-size: 0.857rem;
    line-height: 2;
    color: #FFFFFF;
    padding: 0 12px;
    background-color: #FFAF3E;
    border-radius: 30px;
}

.content__text-area {
    padding: 0 8px 16px 8px;
}

.h4 {
    font-size: 1.429rem;
    line-height: 1.6;
    font-weight: 500;
    margin-bottom:  8px;
}

.text-box {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.content__text {
    line-height: 1.714;
    font-weight: 300;
}

.title-icon, .title-icon__center, .title-icon__bottom {
    display: inline-block;
    position: relative;
    padding-left: 56px;
}

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

.title-icon::before {
    position: absolute;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    background: url(imgs/icon/icon08.webp) no-repeat center;
    background-size: contain;
}

.title-icon__center::before {
    position: absolute;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    background: url(imgs/icon/icon12.webp) no-repeat center;
    background-size: contain;
}

.title-icon__bottom::before {
    position: absolute;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    background: url(imgs/icon/icon10.webp) no-repeat center;
    background-size: contain;
}

.is-hidden {
    display: none;
}

.sp-only {
    display: none;
}

.br-sp {
    display: none;
}

main {
    padding-top: 94px;
}

.l-mainContent {
    margin: 0 auto;
}
.c-postTitle__ttl {
    width: auto;
}
.c-postTitle {
    justify-content: flex-end;
}




#content .content__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    max-width: 1024px;
    margin: 0 auto 40px;
} 

#content .content__item {
    width: 30.17%; 
    padding: 8px 8px 16px 8px;
    background-color: #FFFFFF;
    border-radius: 16px;
}

#content .content-date {
    position: absolute;
    bottom: 12px;
    right: 12px;
}


#market .content__list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 40px;
}

#market .content__item {
    padding: 8px 8px 16px 8px;
    background-color: #FFFFFF;
    border-radius: 16px;
}
#market .content__item:nth-child(n+4) {
    display: none;
}

.content-date {
    position: absolute;
    bottom: 12px;
    right: 12px;
}


@media screen and (max-width: 960px) {
main {
    padding-top: 72px;
}

.l-mainContent {
    padding: 0 16px;
}

.pc-only{
        display: none;
}
    
.sp-only {
    display: block;
}
}


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

.top-container__title {
    width: 91.46%;
    margin: 0 auto 8px;
}

.h2__desc {
    font-size: 0.929rem;
    line-height: 1.84;
}

.h3 {
    font-size: 1.714rem;
    line-height: 1.667;
}

.top-container__inner {
    padding: 40px 8px;
}


.content-date, .custom_date {
    font-size: 0.786rem;
    line-height: 2.182;
}

.content__text {
    line-height: 0.786rem;
    line-height: 2.18;
}

.br-pc {
    display: none;
}

.br-sp {
    display: block;
}


#market .content__list {
    grid-template-columns: repeat(2, 1fr);
}

#market .content__item:nth-child(n+4) {
    display: block;
}

#market .content__item:nth-child(n+5) {
    display: none;
}
.text-box {
    display: none !important;
}

.content-date {
    position: absolute;
    bottom: 2px;
    right: 2px;
}



#content .content__list {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    margin: 0 auto 40px;
}
#content .content__item {
    width: 100%;
}
#content .content__item:nth-of-type(n+4) {
    display: none;
}

#market .h4 {
    font-size: 1rem;
}

/* ----------------------
コンテンツ一覧の本文 
------------------------*/
/* #content .text-box {
    display: block !important;
} */
/*----------------------------*/

}


.more-btn, .insite-map__btn {
    display: block;
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    width: 206px;
    border-radius: 16px;
    padding: 8px 0;
    color: #ffffff;
    text-align: center;
    position: relative;
    padding-left: 24px;
    background-color: #39ADA7;
    box-shadow: 0 4px 0 #339c96;
}

.more-btn::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon01.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 48px;
    transform: translateX(-50%) translateY(-50%);
}

.more-btn:hover, .insite-map__btn:hover {
    box-shadow: 0 0 2px #339c96;
    transform: translateY(4px);
}

.more-btn:hover::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon16.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 48px;
    transform: translateX(-50%) translateY(-50%);
}

.more-btn a {
    display: block;
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    background-color: #39ADA7;
    box-shadow: 0 4px 0 #339c96;
}

.more-btn__area {
    display: flex;
    flex-direction: column;
    width: 206px;
    margin: 0 auto;
}

.banner-btn {
    display: inline-block;
    font-family: "Shippori Mincho";
    width: 176px;
    line-height: 1.714;
    padding: 4px 41px;
    background-color: #FFFFFF;
    text-align: center;
    border-radius: 16px 0 0 8px;
    position: relative;
    font-weight: 700;
    text-align: center;
    position: relative;
}

.banner-btn::after {
    display: block;
    content: "";
    width:  16px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/arrow.webp) no-repeat center;
    background-size: contain;  
}

.about-banner:hover .banner-btn::after {
    display: block;
    content: "";
    width:  26px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/arrow-whi.webp) no-repeat center;
    background-size: contain;
    transition: .2s;
}

.about-banner:hover .banner-btn {
    background-color: #04615B;
    transition: .2s;
}

.banner-btn .slide__text {
    color: #04615B;
}

.about-banner:hover .slide__text {
    transform: translateX(-8px);
    color: #FFFFFF;
    transition: .3s;
}


.event-btn a {
    display: block;
    font-family: "Shippori Mincho";
    line-height: 1.714;
    padding: 4px 41px;
    width: 265px;
    background-color: #FFEBCF;
    text-align: center;
    border-radius: 16px 0 0 8px;
    position: relative;
    font-weight: 700;
    text-align: center;
    position: relative;
    margin-left: calc(100% - 265px);
    margin-top: 17px;
    font-family: "Kiwi Maru", serif;
}

.event-btn a::after {
    display: block;
    content: "";
    width:  16px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/arrow-2.webp) no-repeat center;
    background-size: contain;  
}

.event-btn:hover.event-btn a::after {
    display: block;
    content: "";
    width:  26px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/arrow-2br.webp) no-repeat center;
    background-size: contain;
    transition: .2s;
}

.event-btn a:hover {
    background-color: #FFAF3E;
    transition: .2s;
}

.event-btn .slide__text {
    color: #20343F;
}

.event-btn:hover .slide__text  {
    display: block;
    transform: translateX(-8px);
    color: #FFFFFF;
    transition: .2s;
}

.btn-info  {
    width: 118px;
    line-height: 1.714;
    padding: 8px 24px;
    background-color: #FFFFFF;
    text-align: center;
    border-radius: 16px;
    position: relative;
    margin: 0 auto 18px;
}

.btn-info::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border: 7px solid #FFFFFF;
    border-top: 5px solid transparent;
    transform: rotate(-45deg) translateX(-50%);
}

.planning__btn a {
    display: block;
    margin: 0 auto;
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    width: 305px;
    border-radius: 16px;
    padding: 8px 0;
    background-color: #FFFFFF;
    color: #04615B;
    border: 1px solid #04615B;
    box-shadow: 0 4px 0 #034C46;
    text-align: center;
    position: relative;
    padding: 8px 24px;
}

.planning__btn a::before {
    position : absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 77px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon04.webp) no-repeat center;
    background-size: contain;
}

.planning__btn a:hover {
    box-shadow: 0 0 2px #034C46;
    transform: translateY(4px);
}

.info-area .btn-bottom a {
    display: block;
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    width: 206px;
    border-radius: 16px;
    padding: 8px 0;
    color: #39ADA7;
    border: 1px solid #39ADA7;
    box-shadow: 0 4px 0 #339c96;
    text-align: center;
    position: relative;
    padding: 8px 24px;
}

.info-area .btn-bottom :hover {
    transform: translateY(4px);
    box-shadow: 0  0 2px #339c96;
}

.info-area .btn-bottom:nth-child(1) a::before {
    position : absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 34px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon03.webp) no-repeat center;
    background-size: contain;
}

.info-area .btn-bottom:nth-child(2) a::before {
    position : absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 34px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon13.webp) no-repeat center;
    background-size: contain;
}

@media screen and (max-width: 768px) {
.btn-info  {
    font-size: 0.929rem;
    line-height: 1.846;
    padding: 4px 24px;
}

.banner-btn {
    font-size: 0.78rem;
    line-height: 2.182;
    padding: 4px 0;
    position: relative;
}

.banner-btn::after {
    right: 8px;
}

.planning__btn a {
    width: 225px;
}

.planning__btn a::before {
    left: 38px;
}

.info-area .btn-bottom a {
    font-size: 1rem;
    line-height: 1.71;
    width: 240px;
}

.info-area .btn-bottom:nth-child(1) a::before {
    position : absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 24px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon03.webp) no-repeat center;
    background-size: contain;
}

.info-area .btn-bottom:nth-child(2) a::before {
    position : absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 24px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon13.webp) no-repeat center;
    background-size: contain;
}

}


.band {
    position: relative;
}

.band svg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.section-divider {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
    background-color: #39ADA7;
    height: 94px;
    overflow: hidden;
    position: fixed;
    width: -webkit-fill-available;
    z-index: 9999;
}

.h1 {
    max-width: 206px;
    transition: .4s;
}

.h1:hover {
    opacity: 0.7;
    transition: .4s;
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-nav__item.pc-only a {
    display: block;
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    color: #FFAF3E;
    position: relative;
    padding: 8px 24px 8px 48px;
    background: #FFFFFF;
    border: 1px solid #FFAF3E;
    border-radius: 16px;
    box-shadow: 0 4px #FFAF3E;
    width: 188px;
    margin: 16px auto 10px;
}

.header-nav__item.sp-only a {
    display: block;
    font-size: 1rem;
    line-height: 1.71;
    font-weight: 500;
    color: #FFAF3E;
    position: relative;
    padding: 8px 24px 8px 48px;
    background: #FFFFFF;
    border: 1px solid #FFAF3E;
    border-radius: 16px;
    box-shadow: 0 4px #FFAF3E;
    width: 188px;
    margin: 16px auto 10px;
}

.header-nav__item.pc-only a {
    width: auto;
}

.header-nav__item:nth-child(1) a::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon15.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 32px;
    transform: translate(-50%, -50%);
}

.header-nav__item:nth-child(2) a::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon14.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 32px;
    transform: translate(-50%, -50%);
}

.header-nav__item a:nth-child(1):hover,.header-nav__item a:nth-child(2):hover {
    box-shadow: none;
    transform: translateY(4px);
}

.header-nav__item:nth-child(3) {
    box-shadow: none;
    background: none;
    border: none;
    padding: 0;
    position: relative;
}

.hum-title::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon17.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 24px;
    transform: translate(-50%, -50%);
}

.hum-title, .hamburger-nav__item {
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    color: #FFFFFF;
    position: relative;
    text-align: center;
}

.hum-title {
    display: inline-block;
    padding: 8px 24px 8px 48px;
    background: #FFAF3E;
    border: 1px solid #FFAF3E;
    border-radius: 16px;
    box-shadow: 0 4px #E59D38;
    position: relative;
    cursor: pointer;
}

.hum-title:hover {
    box-shadow: none;
    transform: translateY(4px);
}

.hamburger__inner {
    display: none;
    position: fixed;
    top: 118px;
    right: 40px;
    width: auto;
    height: auto;
    z-index: 100;
    box-sizing: border-box;
    padding: 40px;
    background-color: #39ADA7;
    border-radius: 16px;
    transition: .3s;
}

.hamburger__inner.show {
    display: block;
    transition: 0.3s;
}

.hamburger-nav__list {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(5, max-content);
    column-gap: 56px;
    row-gap: 16px;
}

.hamburger-nav__item {
    text-align: left;
}

.hamburger-nav__item:hover {
    opacity: .7;
    transition: .4s;
} 

.hamburger-nav__item a {
    font-size: 1.125rem;
    line-height: 1.333;
    font-weight: 500;
    color: #FFFFFF;
    position: relative;
    padding: 0 0 8px 0;
    background: no-repeat;
    border: none;
    border-radius: 0;
    box-shadow: none;
    display: block;
}

.hamburger-nav__item a::before {
    display: block;
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    background-image: url(imgs/icon/icon02.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 40%;
    left: -8px;
    transform: translate(-50%, -50%);
}

.hamburger-nav__item a:hover {
    opacity: 0.7;
}

.hum-open {
    display: none;
}

.hamburger__inner-title {
    display: none;
}

@media screen and (max-width: 960px) {
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background-color: #39ADA7;
    height: 72px;
}

.h1 {
    max-width: 180px;
}

.hamburger__inner {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    z-index: 100;
    padding: 20px 24px;
    border-radius: 0;
    transition: 0.7s;
}

.hamburger__inner-title {
    display: block;
}

.hum-box {
    position: relative;
}

.hum-box::before {
    position: absolute;
    display: block;
    content: "";
    width: 115px;
    height: 112px;
    bottom: -112px;
    left: 0;
    background: url(imgs/sp-img.webp) no-repeat center;
    background-size: contain;
}

.hamburger__inner.show {
    transition: 0.7s;
    right: 0;
}

.hum-title {
    display: none;
}

.hum-btn {
    width: 52px;
    height: 52px;
    position: relative;
    background-color: #FFAF3E;
    border-radius: 16px;
}

.hum-btn::before {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon24.webp) no-repeat center;
    background-size: contain;
}

.hum-open {
    display: block;
    width: 52px;
    height: 56px;
    background-color: #FFAF3E;
    border-radius: 16px;
    position: relative;
}

.hum-open::before {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon17.webp) no-repeat center;
    background-size: contain;
}

.hamburger__inner-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.hamburger__inner-title img {
    display: block;
    width: 180px;
}

.hamburger-nav__list {
    display: grid;
    grid-auto-flow: row;
    grid-template-rows: none;
    column-gap: 16px;
    row-gap: 16px;
}


}

/* KV */

.kv {
    position: relative;
    overflow: hidden;
    height: 940px;
    position: relative;
}

.kv img {
    height: 940px;
    object-fit: cover;
}

.kv-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    z-index: 100;
}

.kv-logo {
    max-width: 710px;
    margin-bottom: 46px;
}

.kv-logo img {
    display: block;
    height: 278px;
    object-fit: contain;
}

.kv-anim {
  animation: zoomin 1s cubic-bezier(0.5, 1, 0.25, 1) forwards;
}

@keyframes zoomin {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.kv__text {
    font-size: 1.714rem;
    line-height: 1.333;
    font-weight: 500;
    padding: 4px 16px;
    background: #20343F;
    color: #FFFFFF;
    border-radius: 8px;
    margin-bottom: 24px;
    display: inline-block;
    position: relative;
}

.side-img {
    position: relative;
}

.side-img::before {
    display: block;
    content: "";
    width: 87px;
    height: 48px;
    position: absolute;
    background-image: url(imgs/kv-frame01.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: -80px;
    transform: translate(-50%, -50%);
}

.side-img::after {
    display: block;
    content: "";
    width: 87px;
    height: 48px;
    position: absolute;
    background-image: url(imgs/kv-freame02.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    right: -153px;
    transform: translate(-50%, -50%);
}

.kv__date-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 100;
}

.date-item {
    font-size: 1.429rem;
    line-height: 1.6;
    font-weight: 300;
    color: #20343F;
    padding: 0 26px;
    background-color: rgb(255, 255, 255, 50%);
    backdrop-filter: blur(10px) saturate(80%);
    border-radius: 50px;
    margin-bottom: 8px;
}

.kv-wday {
    font-size: 1.143rem;
    line-height: 1.5;
}

.kv-wave {
    font-size: 1.429rem;
    line-height: 1.6;
}

.kv-time {
    font-size: 2rem;
    line-height: 1.42;
}

.kv-icon a {
    display: block;
    position: absolute;
    width: 163px;
    height: 163px;
    bottom: -20px;
    right: -13%;
    z-index: 100;
}


.kv-icon img {
    object-fit: cover;
    width: 100%;
    height: auto;
}

.kv-icon a:hover {
    opacity: 0.6;
}

.kv-left__bottom {
    position: absolute;
    display: block;
    content: "";
    width: 314px;
    height: 566px;
    background: url(imgs/kv-01.webp) no-repeat center;
    background-size: contain;
    bottom: -290px;
    left: -242px;
}

.kv-left__center {
    position: absolute;
    display: block;
    content: "";
    width: 141px;
    height: 141px;
    background: url(imgs/kv-07.webp) no-repeat center;
    background-size: contain;
    bottom: 261px;
    left: -223px;
}

.kv-left__top {
    position: absolute;
    display: block;
    content: "";
    width: 242px;
    height: 162px;
    background: url(imgs/kv-03.webp) no-repeat center;
    background-size: contain;
    top: -122px;
    left: -212px;
}

.kv-dog {
    position: absolute;
    display: block;
    content: "";
    width: 297px;
    height: 311px;
    background: url(imgs/kv-04.webp) no-repeat center;
    background-size: contain;
    bottom: -284px;
    left: 50%;
    transform: translateX(-50%);
}

.kv-right__bottom {
    position: absolute;
    display: block;
    content: "";
    width: 340px;
    height: 396px;
    background: url(imgs/kv-02.webp) no-repeat center;
    background-size: contain;
    bottom: -189px;
    right: -236px;
}

.kv-right__center {
    position: absolute;
    display: block;
    content: "";
    width: 216px;
    height: 216px;
    background: url(imgs/kv-05.webp) no-repeat center;
    background-size: contain;
    bottom: 285px;
    right: -222px;
}

.kv-right__top {
    position: absolute;
    display: block;
    content: "";
    width: 172px;
    height: 172px;
    background: url(imgs/kv-06.webp) no-repeat center;
    background-size: contain;
    top: -173px;
    right: -50px;
}



@media screen and (max-width: 1024px) {
.kv-icon a {
    width: 95px;
    height: 95px;
    bottom: -60px;
}
}

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

.kv {
    height: 700px;
}

.kv img {
    height: 700px;
}

.kv-icon img {
    width: 100%;
    height: auto;
}

.kv-box {
    width: 100%;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.kv-logo {
    max-width: 335px;
    margin-bottom: 24px;
}

.kv-logo  img {
    height: 237px;
}

.kv__text {
    font-size: 0.929rem;
    line-height: 1.84;
}

.side-img::before {
    display: block;
    content: "";
    width: 56px;
    height: 48px;
    position: absolute;
    background-image: url(imgs/kv-frame01.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: -44px;
    transform: translate(-50%, -50%);
}

.side-img::after {
    display: block;
    content: "";
    width: 56px;
    height: 48px;
    position: absolute;
    background-image: url(imgs/kv-freame02.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    right: -97px;
    transform: translate(-50%, -50%);
}

.date-item {
    font-size: 0.929rem;
    line-height: 1.84;
    font-weight: 300;
    color: #20343F;
    padding: 0 16px;
}

.kv-wday {
    font-size: 0.786rem;
    line-height: 2.18;
}

.kv-wave {
    font-size: 1.143rem;
    line-height: 2;
}

.kv-time {
    font-size: 1.143rem;
    line-height: 2;
}

.kv-icon a {
    position: absolute;
    width: 95px;
    height: 95px;
    bottom: -70px;
    right: 6%;
    background: url(imgs/icon/kv-icon.webp) no-repeat center;
    background-size: contain;
}

.kv-left__bottom {
    position: absolute;
    display: block;
    content: "";
    width: 188px;
    height: 358px;
    background: url(imgs/kv-01.webp) no-repeat center;
    background-size: contain;
    bottom: -300px;
    left: 157px;
}

.kv-left__center {
    position: absolute;
    display: block;
    content: "";
    width: 83px;
    height: 83px;
    background: url(imgs/kv-07.webp) no-repeat center;
    background-size: contain;
    bottom: 0;
    left: -40px;
}

.kv-left__top {
    position: absolute;
    display: block;
    content: "";
    width: 138px;
    height: 92px;
    background: url(imgs/kv-03.webp) no-repeat center;
    background-size: contain;
    top: 382px;
    left: 32px;
}

.kv-dog {
    position: absolute;
    display: block;
    content: "";
    width: 242px;
    height: 254px;
    background: url(imgs/kv-04.webp) no-repeat center;
    background-size: contain;
    bottom: -340px;
    left: 0;
    transform: translateX(0);
}

.kv-right__bottom {
    position: absolute;
    display: block;
    content: "";
    width: 152px;
    height: 192px;
    background: url(imgs/kv-02.webp) no-repeat center;
    background-size: contain;
    bottom: -307px;
    right: 0;
}

.kv-right__center {
    position: absolute;
    display: block;
    content: "";
    width: 122px;
    height: 122px;
    background: url(imgs/kv-05.webp) no-repeat center;
    background-size: contain;
    bottom: -146px;
    right: -50px;
}

.kv-right__top {
    position: absolute;
    display: block;
    content: "";
    width: 103px;
    height: 103px;
    background: url(imgs/kv-06.webp) no-repeat center;
    background-size: contain;
    top: 446px;
    right: 274px;
}
}

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

.kv-icon a {
    bottom: -60px;
    right: 0;
}
}


/* about */
.about {
    background: url(imgs/desc-bg.webp) no-repeat center;
    padding: 120px 16px;
    overflow: hidden;
}

#about .top-container {
    background: url(imgs/about-bg.webp) no-repeat center;
    background-size: cover;
    position: relative;
    padding: 120px 40px 34px 40px;
    border-radius: 16px;
    margin-bottom: 40px;
}

#about .top-container__title {
    margin-bottom: 40px;
}

.about-log.zoomin.is-animated {
  animation: zoomIn 1s cubic-bezier(0.5, 1, 0.25, 1) forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.about__text-area {
    position: relative;
    padding-bottom: 760px;
}

.about__text {
    font-size: 1.286em;
    line-height: 2.778;
    font-weight: 500;
    margin: 0 auto;
    text-align: center;
}

.about__text:nth-child(3) {
    margin-bottom: 50px;
}

.about-highlight {
    color: #39ADA7;
}

.about-info {
    color: #FFFFFF;
    font-size: 1.571rem;
    line-height: 1.36;
    background-color: #FFAF3E;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    text-align: center;
    width: 135px;
    height: 135px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: rotate(20deg);
}

.about-info_pc span, .about-info_sp span {
    font-size: 1.429rem;
    margin-bottom: 0;
    display: inline-block;
}

.about-info_pc, .about-info_sp {
    background-color: #FFAF3E;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-info_pc {
    width: 140px;
    height: 140px;
    position: absolute;
    top: 283px;
    right: 0;
    z-index: 10;
}

.about-info__text {
    font-size: 1.429rem;
    position: relative;
    padding: 0 12px;
}

.about-info__text::before {
    position: absolute;
    display: block;
    content: "";
    width: 2px;
    height: 20px;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
    border-radius: 8px;
    transform: rotate(-20deg);
}

.about-info__text::after {
    position: absolute;
    display: block;
    content: "";
    width: 2px;
    height: 20px;
    bottom: 0;
    right: 0;
    background-color: #FFFFFF;
    border-radius: 8px;
    transform: rotate(20deg);
}

.about-img {
    max-width: 1248px;
    margin: 0 auto;
    text-align: center;
    bottom: 0;
    left: -112px;
    right: -112px;
    position: absolute;
}

.about-img img {
    object-fit: cover;
}

.about-info_sp, .about-info_sp p {
    display: none;
}

@media screen and (max-width: 960px) {
.about__text-area {
    padding-bottom: 616px;
}

.about-info_pc {
    top: 380px;
}

}

@media screen and (max-width: 768px) {
.about {
    padding: 40px 16px;
}

#about .top-container {
    padding: 40px 16px 300px 16px;
    margin-bottom: 40px;
}

#about .top-container__title {
    max-width: 280px;
    margin-bottom: 24px;
}

.about__text-area {
    padding-bottom: 70px;
}

.about__text {
    font-size: 0.929rem;
    line-height: 1.84;
    font-weight: 500;
    margin: 0 auto;
    text-align: left;
}

.about__text:nth-child(3) {
    margin-bottom: 24px;
}

.about-info_pc, .about-info_pc p {
    display: none;
}

.about-info_sp {
    display: block;
    width: 90px;
    height: 90px;
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
}

.about-info_sp p {
    display: block;
}

.about-info {
    font-size: 1rem;
    display: block;
    width: 85px;
    height: 85px;
    display: flex;
    align-items: center;
    transform: rotate(0);
}

.about-info__text {
    font-size: 0.929rem;
    position: relative;
    padding: 0 8px;
}

.about-info__text::before {
    position: absolute;
    display: block;
    content: "";
    width: 2px;
    height: 10px;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
    border-radius: 8px;
    transform: rotate(-20deg);
}

.about-info__text::after {
    position: absolute;
    display: block;
    content: "";
    width: 2px;
    height: 10px;
    bottom: 0;
    right: 0;
    background-color: #FFFFFF;
    border-radius: 8px;
    transform: rotate(20deg);
}

.about-img {
    max-width: 443px;
    margin: 0 auto;
    text-align: center;
    bottom: 0;
    left: -100px;
    right: -110px;
    position: absolute;
}

}

.about-banner {
    max-width: 1024px;
    margin: 0 auto 120px;
    background-color: #04615B;
    border-radius: 16px;
    padding: 16px;
    text-align: center;
}

.banner__inner {
    background: url(imgs/banner.webp) no-repeat center;
    background-size: cover;
    padding: 20px 0 28px 20px;
    position: relative;
    border-radius: 8px;
    filter: drop-shadow(8px 8px 16px rgba(2, 40, 38, 0.65));
}

.about-banner__text {
    display: inline-block;
    margin: 0 auto 16px;
    font-size: 1.714rem;
    line-height: 1.75;
    font-family: "Shippori Mincho";
    font-weight: 700;
    text-align: center;
    background: #F5F1EA;
    border-radius: 6px;
    padding: 0 16px 0 44px;
    position: relative;
}

.about-banner__text::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background-image: url(imgs/icon/icon19.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    top: 50%;
    left: 22px;
    transform: translate(-50%, -50%);
}

.banner-logo {
    display: block;
    max-width: 158px;
    margin-bottom: 16px;
}

.banner-title {
    font-family: "Shippori Mincho";
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #FFFFFF;
    text-align: left;
}

.banner-title span {
    font-size: 2.429rem;
    font-weight: 700;
}

.banner__text-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

@media screen and (max-width: 768px) {
.about-banner {
    margin: 0 auto 40px;
    padding: 8px;
}

.banner__inner {
    background: url(imgs/banner-sp.webp) no-repeat center;
    background-size: cover;
    padding: 16px 0 48px 20px;
    margin: 0 auto;
}

.about-banner__text {
    margin: 0 auto 8px;
    font-size: 1.143rem;
}


.banner-logo {
    max-width: 120px;
    margin-bottom: 10px;
}

.banner-title {
    font-size: 1.143rem;
    width: 90%;
}

.banner-title span {
    font-size: 1.429rem;
}

.banner__text-area {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.banner-btn {
    margin-bottom: -48px;
}
}

#perfect {
    padding: 120px 16px;
    overflow: hidden;
}

.perfect__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    margin: 0 auto;
}

.perfect__item {
    box-sizing: border-box;
    width: 31%;
    height: 396px;
    padding: 24px 0;
    text-align: center;
    color: #20343F;
    border-radius: 16px;
    position: relative;
    background-color: #C7F0EE;
    overflow: hidden;
}

.circle::after {
    position: absolute;
    display: block;
    content: "";
    width: 80px;
    height: 80px;
    bottom: 0;
    right: 0;
    background: url(imgs/perfect-icon01.webp) no-repeat center;
    background-size: contain;
    z-index: 10;
}
.perfect__item:nth-child(2) .circle::after  {
    position: absolute;
    display: block;
    content: "";
    width: 80px;
    height: 80px;
    bottom: 0;
    right: 0;
    background: url(imgs/perfect-icon02.webp) no-repeat center;
    background-size: contain;
    z-index: 10;
}
.perfect__item:nth-child(3) .circle::after {
    position: absolute;
    display: block;
    content: "";
    width: 80px;
    height: 80px;
    bottom: 0;
    right: 0;
    background: url(imgs/perfect-icon03.webp) no-repeat center;
    background-size: contain;
    z-index: 10;
}
.perfect__item:nth-child(4) .circle::after {
    position: absolute;
    display: block;
    content: "";
    width: 80px;
    height: 80px;
    bottom: 0;
    right: 0;
    background: url(imgs/perfect-icon04.webp) no-repeat center;
    background-size: contain;
    z-index: 10;
}
.perfect__item:nth-child(5) .circle::after {
    position: absolute;
    display: block;
    content: "";
    width: 80px;
    height: 80px;
    bottom: 0;
    right: 0;
    background: url(imgs/perfect-icon05.webp) no-repeat center;
    background-size: contain;
    z-index: 10;
}

.circle {
    width: 220px;
    height: 220px;
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    z-index: 2;
}

.perfect-text__box  {
    position: absolute;
    width: 100%;
    height: 49.32%;
    bottom: 0;
    left: 0;
    padding: 24px;
    background-color: #9BE2DE;
    border-top-left-radius: 50% 30%;
    border-top-right-radius: 50% 30%;
    z-index: 1;
}

.perfect-img {
    object-fit: cover;
}

.perfect__box-title {
    font-size: 1.286rem;
    line-height: 1.28;
    margin: 44px 0 8px 0;
}

.perfect__text {
    text-align: left;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
#perfect {
    padding: 40px 16px;
}

.perfect__list {
    width: 100%;
    flex-direction: column;
}

.perfect__item {
    box-sizing: border-box;
    width: 100%;
}


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

}


.swiper {
    width: 100%;
    overflow: hidden;
    margin-bottom: 24px;
}

.slider .swiper-wrapper {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: scroll-left 80s linear infinite;
}

.slider .right {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: scroll-right 80s linear infinite;
    margin-bottom: 120px;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
    transform: translateX(-50%);
}
}

@keyframes scroll-right {
    0% {
        transform: translateX(-50%);
    }
    100% {
    transform: translateX(0);
}
}

.swiper-slide {
    width: 330px;
    box-sizing: border-box;
    padding: 6px 0;
}


#content {
    background-color: #FFEBCF;
    padding: 120px 16px;
    overflow: hidden;
}

#content .top-container  {
    background: #FFD8A0;
    padding: 0 24px;
    border-radius: 16px;
    margin-bottom: 24px;
}
.btn-info  {
    color: #39ADA7;
}

.btn-info.btn-info_stage, .btn-info.btn-info_more {
    color: #8E6161;
}

.stage, .more {
    background-color: #8E6161;
    box-shadow: 0 4px 0 #805757;
    color: #FFFFFF;
}

.stage:hover, .more:hover {
    box-shadow: 0 2px 0 #805757;
}

.btn-info_dog, .btn-info_food {
    color: #F86543;
}

.dog, .food {
    background-color: #F86543;
    box-shadow: 0 4px 0 #DF5B3c;
    color: #FFFFFF;
}

.dog:hover, .food:hover {
    box-shadow: 0 2px 0 #DF5B3c;
}


@media screen and (max-width: 768px) {
#content {
    padding: 40px 16px;
}

#content .top-container  {
    padding: 0;
    margin-bottom: 40px;
}
}


#special {
    position: relative;
    overflow: hidden;
}
.special__list {
    display: flex;
    flex-wrap: inherit;
    flex-direction: column;
    gap: 24px ;
    max-width: 1024px;
    margin: 0 auto 40px;
    padding: 16px;
    background-color: #F7F9FA;
    border-radius: 16px;
    overflow: scroll;
    height: 977px;
}

.special__item {
    width: 100%;
    padding: 8px ;
    background-color: #FFFFFF;
    border-radius: 16px;
}

.special__item-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.special__img {
    width: 35.01%;
    border-radius: 8px;
    position: relative;
}

.special__img img {
    object-fit: cover;
}

.special-content__area {
    width: 60.51%;
    position: relative;
}

.special-content__area .content__text {
    position: relative;
    z-index: 1;
}

.special-content__area::after {
    position: absolute;
    content: "";
    width: 65px;
    height: 64px;
    top: 0;
    right: 0;
    background: url(imgs/special-bg.webp) no-repeat center;
    background-size: contain;
}


#special .content__text-area {
    padding: 0 8px 16px 8px;
}

#special .h4 {
    font-size: 1.25rem;
    line-height: 1.6;
    font-weight: 500;
    margin-bottom:  8px;
    position: relative;
    z-index: 1;
}

#special .content__text {
    line-height: 1.714;
    font-weight: 300;
	-webkit-line-clamp: 5;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

#special.text-box {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sp-img {
    display: none;
}

.box__gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 152px;
    background: linear-gradient(to bottom,rgb(255, 216, 160,0)0%,rgb(255, 216, 160,0.5)15%,rgb(255, 216, 160,100%)50%, rgb(255, 216, 160)100%);
    pointer-events: none; 
    z-index: 100;
}

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

@media screen and (max-width: 768px) {
#special::before {
    position: absolute;
    display: block;
    content: "";
    width: 124px;
    height: 124px;
    bottom: 0;
    left: 0;
    background: url(imgs/sp-img.webp) no-repeat center;
    background-size: contain;
    z-index: 100;
}

.special__list {
    display: flex;
    flex-wrap: inherit;
    flex-direction: inherit;
    background-color: transparent;
    gap: 8px ;
    height: auto;
    position: relative;
}

.special__item {
    min-width: 100%;
    padding: 8px;

}

.special__item-link {
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: flex-start;
}

.special__img {
    width: 100%;
}

.special-content__area {
    width: 100%;
}

#special .content__text {
    line-height: 1.714;
    font-weight: 300;
}

.sp-img {
    display: block;
    position: absolute;
}

.box__gradient {
    display: none;
}
.arrow-left, .arrow-right {
    display: block;
    position: absolute;
    content: "";
    width: 36px;
    height: 36px;
}

.arrow-right {
    top: 560px;
    right: 0;
    background: url(imgs/icon/arrow-right.webp) no-repeat center;
    background-size: contain;
}

}

@media screen and (max-width: 430px) {
    .arrow-left, .arrow-right {
    display: block;
    position: absolute;
    content: "";
    width: 36px;
    height: 36px;
    top: 345px;
}
}


#market {
    padding: 80px 16px 120px 16px;
    overflow: hidden;
    position: relative;
}


.bg img {
    object-fit: cover;
}

#market .h2__desc {
    margin-bottom: 0;
}

#market .text-bottom {
    margin-bottom: 77px !important;
}


#market .top-container__inner {
    background-color: #F7F9FA;
    margin-bottom: 40px;
    position: relative;
    z-index: 100;
}


.btn-info_apparel {
    color: #FFAF3E;
}

.apparel {
    background-color: #FFAF3E;
    box-shadow: 0 4px 0 #E59D38;
    color: #FFFFFF;
}

.apparel:hover {
    box-shadow: 0 2px 0 #E59D38;
}

.bg {
    position: relative;
}

.market-bg {
    position: absolute;
    display: block;
    width: 500px;
    height: 500px;
    background-repeat: repeat-y;
    background-size: contain;
}

.market-bg.market-bg01 {
    width: 240px;
    height: 240px;
}

.market-bg01 {
    background-image: url(imgs/market-bg01.webp);
    top: 0;
    left: -16%;
}

.market-bg02 {
    background-image: url(imgs/market-bg02.webp);
    top: 30%;
    left: -31%;
}

.market-bg03 {
    background-image: url(imgs/market-bg03.webp);
    bottom: 20%;
    left: -33%;
}

.market-bg04 {
    background-image: url(imgs/market-bg04.webp);
    top: 8%;
    right: -27%;
}

.market-bg05 {
    background-image: url(imgs/market-bg05.webp);
    top: 50%;
    right: -32%;
}

.market-bg06 {
    background-image: url(imgs/market-bg06.webp);
    bottom: 0;
    right: -30%;
}

@media screen and (max-width: 768px) {
#market {
    padding: 40px 16px;
}

#market .h2__desc {
    margin-bottom: 0;
}

#market .text-bottom {
    margin-bottom: 40px !important;
}
}

@media screen and (max-width: 430px) {
.market-bg {
    position: absolute;
    display: block;
    width: 120px;
    height: 120px;
    background-repeat: repeat-y;
    background-size: contain;
}

.market-bg.market-bg01 {
    width: 120px;
    height: 120px;
}

.market-bg01 {
    background-image: url(imgs/market-bg01.webp);
    top: 0;
    left: -15%;
}

.market-bg02 {
    background-image: url(imgs/market-bg02.webp);
    top: 30%;
    left: -15%;
}

.market-bg03 {
    background-image: url(imgs/market-bg03.webp);
    bottom: 20%;
    left: -15%;
}

.market-bg04 {
    background-image: url(imgs/market-bg04.webp);
    top: 8%;
    right: -15%;
}

.market-bg05 {
    background-image: url(imgs/market-bg05.webp);
    top: 50%;
    right: -15%;
}

.market-bg06 {
    background-image: url(imgs/market-bg06.webp);
    bottom: 0;
    right: -15%;
}
}

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


.market-bg.market-bg01 {
    width: 120px;
    height: 120px;
}

.market-bg01 {
    background-image: url(imgs/market-bg01.webp);
    top: 0;
    left: -16%;
}

.market-bg02 {
    background-image: url(imgs/market-bg02.webp);
    top: 30%;
    left: -20%;
}

.market-bg03 {
    background-image: url(imgs/market-bg03.webp);
    bottom: 20%;
    left: -20%;
}

.market-bg04 {
    background-image: url(imgs/market-bg04.webp);
    top: 8%;
    right: -16%;
}

.market-bg05 {
    background-image: url(imgs/market-bg05.webp);
    top: 50%;
    right: -20%;
}

.market-bg06 {
    background-image: url(imgs/market-bg06.webp);
    bottom: 0;
    right: -20%;
}
}


#adoption {
    padding: 80px 16px 120px 16px;
    background-color: #C7F0EE;
    overflow: hidden;
}

#adoption .h2__desc {
    margin-bottom: 0;
}

#adoption .top-container .text-bottom {
    margin-bottom: 80px;
}

.adoption-event__inner {
    background-color: #FFFFFF;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.adoption-event__date {
    font-size: 1.714rem;
    line-height: 1.6;
    font-weight: 500;
    color: #000000;
    margin-bottom: 16px;
    padding-left: 48px;
    position: relative;
}

.adoption-event__date::before {
    position: absolute;
    display: block;
    content: "";
    width: 32px;
    height: 32px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url(imgs/icon/icon07.webp) no-repeat center;
    background-size: contain   
}

.event__date {
    font-size: 2rem;
    line-height: 1.429;
    font-weight: 500;
}

.adoption-event__item span {
    font-size: 1.143rem;
    line-height: 1.5;
    font-weight: 500;
    padding: 4px 16px;
    background-color: #39ADA7;
    border-radius: 32px;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.adoption-event__item .adoption-date {
    display: inline-block;
    font-size: 1.429rem;
    line-height: 1.6;
    font-weight: 500;
    padding-left: 16px;
    margin-bottom: 8px;
}

.adoption-event__list {
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.adoption-event__item {
    width: 50%;
}

.adoption-event-box {
    background-color: #39ADA7;
    padding: 8px;
    border-radius: 16px;
}

#adoption .adoption-event .h4, #adoption .adoption-event .content__text {
    color: #FFFFFF;
}

#adoption .content__text-area {
    padding: 16px;
}

#adoption .content__text-area .content__text {
    margin-bottom: 24px;
}

#adoption .content__text-area .text-box{
    margin-bottom: 0;
}

#adoption .adoption-event__item:nth-child(2) .content__text-area {
    padding: 16px 14px 16px 16px;
}

.adoption-event-box__sns {
    padding: 16px 0 0 0;
}

.adoption-event-box__sns ul {
    display: flex;
    gap: 48px;
}

.adoption-event-box__sns li {
    color: #20343F;
    line-height: 1.714;
    position: relative;
}

.adoption-event-box__sns li:nth-child(2)::before {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: auto;
    top: 10%;
    bottom: 10%;
    left: -40%;
    background: #E5ECEF;
}

.adoption-event-box__sns li a {
    position: relative;
    display: block;
    padding-left: 32px;
}

.adoption-event-box__sns li a::before {
    display: block;
    position: absolute;
    content: "";
    width: 24px;
    height: 24px;
    top: 0;
    left: 0;
    background: url(imgs/icon/icon21.webp) no-repeat center;
    background-size: contain;
}

.adoption-event-box__sns li a:nth-child(2):before {
    background: url(imgs/icon/icon20.webp) no-repeat center;
    background-size: contain;
}

.adoption-event-box__sns li a::after {
    display: block;
    content: "";
    position: absolute;
    width: 70px;
    height: 1px;
    bottom: 0;
    right: 0;
    background: #20343F;
}

.adoption-event-box__sns li:nth-child(2) a::after {
    display: block;
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    background: #20343F;
    bottom: 0;
    right: 0;
}

@media screen and (max-width: 768px) {
#adoption {
    padding: 40px 16px;
}

#adoption .top-container .text-bottom {
    margin-bottom: 40px;
}

.adoption-event__inner {
    padding: 30px 8px 40px 8px;
    margin-bottom: 40px;
}

.adoption-event__date {
    font-size: 1.714rem;
    line-height: 1.667;
    margin-bottom: 24px;
}

.event__date {
    font-size: 2rem;
    line-height: 1.429;
    font-weight: 500;
}

.adoption-event__item span {
    font-size: 0.786rem;
    line-height: 2.18;
    padding: 0 16px;
}

.adoption-event__item .adoption-date {
    display: inline-block;
    font-size: 1.286rem;
    line-height: 1.77;
}

.adoption-event__list {
    flex-direction: column;
    justify-content: center;
    gap: 40px;
}

.adoption-event__item {
    width: 100%;
}

#adoption .content__text-area {
    padding: 8px;
}

#adoption .content__text-area .content__text {
    margin-bottom: 20px;
}

#adoption .content__text-area .text-box{
    margin-bottom: 4px;
}


.adoption-event-box__sns li {
    font-size: 0.929rem;
    line-height: 1.846;
}

.adoption-event-box__sns li:nth-child(2)::before {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: auto;
    top: 10%;
    bottom: 10%;
    left: -40%;
    background: #E5ECEF;
}

.adoption-event-box__sns li a {
    position: relative;
    display: block;
    padding-left: 32px;
}
}

/* イベントスケジュール */
#event {
    padding: 120px 0;
    margin-bottom: 80px;
    overflow: hidden;
}

#event .top-container__title {
    margin-bottom: 0;
}

#event .top-container__inner {
    display: flex;
    justify-content: center;
    gap: 24px;

}

.event-box {
    width: 50%;
}

.event-box__inner {
    background: #F7F9FA;
    border-radius: 16px;
    padding: 24px;
}

.event-title__area {
    margin-bottom: 12px;
    position: relative;
    padding-left: 56px;
}

.event-title__area::before {
    display: block;
    position: absolute;
    content: "";
    background: url(imgs/icon/icon06.webp) no-repeat center;
    background-size: contain;
    width: 32px;
    height: 32px;
    top: 50%;
    left: 16px;
    transform: translate(-50%,-50%);
}

.event-date {
    font-size: 2rem;
    line-height: 1.429;
    color: #20343F;
}

.event-title__text {
    font-size: 1.429rem;
    line-height: 1.6;
    color: #20343F;
}

.event-box__item {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

.event-box__time {
    width: 30.2%;
    text-align: center;
    padding-bottom: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.underline {
    width: 3px;
    flex-grow: 1;
    margin-top: 8px;
    background-color: #C7F0EE;
    border-radius: 8px;
    display: block;
}

.underline-sp {
    display: none;
}

.box__item {
    width: 69.8%;
    padding: 16px 24px;
    background: #C7F0EE;
    border-radius: 8px;
    border-left: 16px solid #39ADA7;
}

.event-right {
    position: relative;
}

.event-right::after {
    position: absolute;
    content: "";
    display: block;
    width: 122px;
    height: 109px;
    top: 0;
    right: 0;
    background: url(imgs/event-img.webp) no-repeat center;
    background-size: contain;
}

@media screen and (max-width: 768px) {
#event {
    padding: 40px 0 0 0;
    margin-bottom: 40px;
}

#event .top-container__inner {
    flex-direction: column;
    gap: 40px;

}

.event-box {
    width: 100%;
}

.event-box__inner {
    width: 100%;
    background: #F7F9FA;
    border-radius: 16px;
    padding: 16px 8px;
}

.event-title__area {
    margin-bottom: 16px;
}

.event-box__item {
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
}

.event-box__time {
    width: 100%;
    text-align: left;
    padding-bottom: 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.underline {
    display: none;
}

.underline-sp {
    display: block;
    width: 3px;
    height: 24px;
    margin: 16px auto 0 auto;
    background-color: #C7F0EE;
    border-radius: 8px;
    text-align: center;
}

.box__item {
    width: 100%;
    padding: 16px;
}

.event-right::after {
    display: none;
}
}

#insite-map {
    overflow: hidden;
    position: relative;
}

#insite-map .top-container__inner {
    background-color: #F7F9FA;
    border-radius: 16px;
    padding: 24px 152px;
}

.insite-map__img {
    display: block;
    max-width: 720px;
    border: 4px solid #FFFFFF;
    border-radius: 8px;
    margin-bottom: 32px;
}

.insite-map__btn {
    display: block;
    max-width: 200px;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto;
    position: relative;
    color: #39ADA7;
    background-color: #FFFFFF;
    padding: 8px 24px 8px 30px;
}

.insite-map__btn::before {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    background: url(imgs/icon/icon09.webp) no-repeat center;
    background-size: contain;
}

.insite__sp-img {
    display: none;
}

@media screen and (max-width: 768px) {
#insite-map::before {
    position: absolute;
    display: block;
    content: "";
    background: url(imgs/sp-img02.webp) no-repeat center;
    background-size: cover;
    width: 119px;
    height: 89px;
    bottom: -31px;
    left: 50%;
    transform: translate(-50%,-50%);
}
    
#insite-map .top-container__inner {
    background-color: #F7F9FA;
    border-radius: 16px;
    padding: 8px 8px 16px 8px;
    margin-bottom: 120px;
}


.insite-map__img {
    margin-bottom: 16px;
}

.insite-map__btn {
    display: block;
    max-width: 184px;
    font-size: 14px;
    line-height: 1.71;
    padding: 8px 24px 8px 46px;
}

.insite-map__btn::before {
    left: 20px;
}
}

#faq {
    padding: 120px 16px;
    overflow: hidden;
}

.faq-box .h3 {
    font-size: 1.71rem;
    line-height: 1.42;
    text-align: left;
}

.faq__list {
    width: 100%;
}

.faq__item {
    padding: 24px;
    border-radius: 16px;
    margin-bottom: 16px;
}

.faq__item_or {
    background-color: #FFAF3E;
}

.faq__item_ye {
    background-color: #FFEE7D;
}

.faq-title__box {
    cursor: pointer;
}

.faq-title {
    font-size: 1.42rem;
    line-height: 1.6;
    margin-bottom: 16px;
    position: relative;
    padding-left: 32px;
}

.faq-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    top: 50%;
    left: 14px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon05.webp) no-repeat center;
    background-size: contain;
}

.faq-text {
    font-size: 1.143rem;
    line-height: 1.5;
}

.faq__item_or .faq-title, .faq__item_or .faq-text {
    color: #FFFFFF;
}

.faq__item_ye .faq-title, .faq__item_ye .faq-text {
    color: #20343F;
}


.manner .faq__item {
    padding: 0;
    margin-bottom: 0;
    position: relative;
    padding-left: 14px;
}

.manner .faq__item::before {
    position: absolute;
    content: "・";
    top: 50%;
    left: 5px;
    transform: translate(-50%,-50%);
}

.faq-title__box {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-btn {
    display: block;
    width: 24px;
    height: 24px;
    position: relative;
    transition: .7s;
    cursor: pointer;
}

.faq-btn::before, .faq-btn::after{
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #FFFFFF;
    border-radius: 4px;
    transform: rotate(180deg);
    position: absolute;
    top: calc(14% - 5px);
    left: 14%;
}

.faq-btn::after {
    transform: rotate(-90deg);
    left: auto;
    right: -14%;
}

.faq-title__box.open .faq-btn {
    transform: rotate(45deg);
    transition: .7s;
}

.faq__item.faq__item_ye .faq-btn::after, .faq__item.faq__item_ye .faq-btn::before {
    background-color: #20343F;
}

.accordion {
    display: none; 
}

@media screen and (max-width: 768px) {
#faq {
    padding: 40px 16px;
}

.faq-box .h3 {
    font-size: 1.429rem;
    line-height: 2;
}

.faq__item {
    padding: 16px;
}

.faq-title {
    font-size: 1.286rem;
    line-height: 1.77;
    margin-bottom: 16px;
    position: relative;
    padding-left: 24px;
}

.faq-title::before {
    left: 0;
}

.faq-text {
    font-size: 0.929rem;
    line-height: 1.84;
}

.faq__item_or .faq-title, .faq__item_or .faq-text {
    color: #FFFFFF;
}

.faq__item_ye .faq-title, .faq__item_ye .faq-text {
    color: #20343F;
}


.manner .faq__item {
    padding-left: 21px;
}

.manner .faq__item::before {
    top: 15px;
    left: 5px;
}
}


#access {
    background-color: #C7F0EE;
    padding: 120px 16px;
    overflow: hidden;
}

.info__area {
    max-width: 481px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 24px 8px 8px;
    background-color: #FFFFFF;
    border-radius: 16px;
    margin: 0 auto;
}

.info-img {
    display: block;
    width: 16.63%;
}

.info__area img{
    display: block;
    object-fit: contain;
}

.info {
    width: 20px;
    height: 20px;

}

.access-info {
    line-height: 1.71;
    position: relative;
}

#access .access-box {
    max-width: 1024px;
    background-color: #39ADA7;
    border-radius: 16px;
    margin: 0 auto;
    padding: 16px;
}

.address {
    color: #FFFFFF;
    font-size: 1.71rem;
    line-height: 1.6;
    margin-bottom: 16px;
}

.iframe-box {
    display: block;
    margin: 0 auto;
    border: 4px solid #FFFFFF !important;
    border-radius: 8px;
    width: 100%;
    margin-bottom: 10px;
}

.access__list {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.access__item {
    padding: 24px 108px;
}

.access__item:nth-child(2) {
    position: relative;
    
}

.access__item:nth-child(2)::before {
    position: absolute;
    display: block;
    content: "";
    width: 1px;
    height: auto;
    top: 30%;
    bottom: 20%;
    left: 0;
    background-color: #FFFFFF;
}

.access-title, .access__text {
    color: #E5ECEF;
}

.access-title {
    font-size: 2rem;
    line-height: 1.429;
    margin-bottom: 8px;
    position: relative;
    text-align: left;
}

.access-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    top: 50%;
    left: -16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon22.webp) no-repeat center;
    background-size: contain;
}

.access__item:nth-child(2) .access-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    top: 50%;
    left: -16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon23.webp) no-repeat center;
    background-size: contain;
}

.access__text {
    line-height: 1.71;
    text-align: left;
}

@media screen and (max-width: 768px) {
#access {
    padding: 40px 16px;
}

.info__area {
    gap: 16px;
}

.access-info {
    font-size: 0.786rem;
    line-height: 2.182;
}

#access .access-box {
    padding: 16px 8px;
}

.address {
    font-size: 1.143rem;
    line-height: 2;
    margin-bottom: 8px;
}

.access__list {
    flex-direction: column;
    justify-content: center;
}

.info-img {
    width: 80px;
}

.access__item {
    padding: 24px 0;
}

.access__item:nth-child(2) {
    position: relative;
    
}

.access__item:nth-child(2)::before {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    top: 0;
    left: 0;
    background-color: #FFFFFF;
}

.access-title {
    font-size: 1.714rem;
    line-height: 1.66;
}

.access-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    top: 50%;
    left: -16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon22.webp) no-repeat center;
    background-size: contain;
}

.access__item:nth-child(2) .access-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    top: 50%;
    left: -16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon23.webp) no-repeat center;
    background-size: contain;
}

.access__text {
    font-size: 0.929rem;
    line-height: 1.84;
    text-align: center;
}
}


.none {
    display: none;
}
.planning__item {
    margin-bottom: 24px;
}

.planning__item:last-child {
    margin-bottom: 0;
}
.planning__decs {
    font-size: 2rem;
    line-height: 1.42;
    color: #20343F;
    margin-bottom: 8px;
    position: relative;
    padding-left: 56px;
}

.planning__decs::before {
    position: absolute;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    top: 50%;
    left: 16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon03.webp) no-repeat center;
    background-size: contain;
}


.planning-box{
    background-color: #FFFFFF;
    border-radius: 16px;
    padding: 8px 16px 8px 8px;
    display: flex;
    align-items: center;
    gap: 40px;
}


.planning-img {
    max-width: 46.87%;
    border-radius: 8px;
}

.planning-img img {
    height: 100%;
    object-fit: cover;
}

.planning-text__area {
    width: 46.87%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.planning-title {
    font-size: 1.71rem;
    line-height: 1.42;
    color: #20343F;
    margin-bottom: 16px;
}

.planning__text {
    line-height: 1.71;
}

.info-area  {
    margin-top: 42px;
    background-color: #F7F9FA;
    padding: 16px 0;
    text-align: center;
    border-radius: 8px;
}

.planning-info {
    font-size: 1.2rem;
    line-height: 1.33;
    margin-bottom: 16px;
}

.planning__btn-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}


@media screen and (max-width: 768px) {
.planning__decs {
    font-size: 1.429rem;
    line-height: 2;
    padding-left: 40px;
}

.planning__decs::before {
    position: absolute;
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    top: 50%;
    left: 16px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon03.webp) no-repeat center;
    background-size: contain;
}

.planning-box{
    padding: 8px;
    flex-direction: column;
    gap: 16px;
}

.planning-img {
    max-width: 100%;
}

.planning-text__area {
    width: 100%;
}

.planning-title {
    font-size: 1.429rem;
    line-height: 2;
    margin-bottom: 0;
}

.planning__text {
    font-size: 0.857rem;
    line-height: 2;
}

.info-area  {
    margin-top: 24px;
}

.planning-info {
    font-size: 1.28rem;
    line-height: 1.77;
}

.planning__btn-area {
    flex-direction: column;
    gap: 20px;
}
}


footer {
    background-color: #39ADA7;
    padding: 40px 16px;
}
.footer__contents {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px;
    border-bottom: 1px solid #F7F9FA;
    margin-bottom: 25px;
}

.footer-log {
    width: 41.01%;
    transition: .4s;
}

.footer-log :hover {
    opacity: 0.7;
    transition: .4s;
}

.footer-nav {
    color: #FFFFFF;
}

.footer-nav .h3 {
    font-size: 1.286rem;
    line-height: 1.33;
    margin-bottom: 16px;
    text-align: left;
}


.footer-nav__list {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(5, max-content);
    column-gap: 56px;
    row-gap: 16px;
}

.footer-nav__list-item {
    line-height:1.714;
    margin-bottom: 16px;
    padding-left: 24px;
    position: relative;
}

.footer-nav__list-item::before {
    position: absolute;
    display: block;
    content: "";
    width: 16px;
    height: 16px;
    top: 50%;
    left: 8px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon02.webp) no-repeat center;
    background-size: contain;
}

.footer-nav__list-item:hover {
    opacity: .7;
    transform: translateY(4px);
}

.small {
    font-size: 0.857rem;
    line-height: 2;
    font-weight: 300;
    color: #FFFFFF;
    text-align: center;
}


@media screen and (max-width: 768px) {
.footer__contents {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}

.footer-log {
    width: 68.53%;
}

.footer-nav__list-item {
    font-size: 0.786rem;
    margin-bottom: 0;
    padding-left: 24px;
}

.footer-nav__list-item::before {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 12px;
    top: 50%;
    left: 8px;
    transform: translate(-50%,-50%);
    background: url(imgs/icon/icon02.webp) no-repeat center;
    background-size: contain;
}

.small {
    font-size: 0.786rem;
    line-height: 2.18;
}
}
