/*--------------
common
--------------*/
html {
  font-size:0.624vw;
}

@media print,screen and (max-width:1024px) {
  html {
    font-size:1.02vw;
  }
}

@media print,screen and (max-width: 768px) {
  html {
    font-size:1.44444vw;
  }
}

@media print,screen and (max-width: 521px) {
  html {
    font-size:2.666vw;
  }
}


*,
*::before,
*::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body{
    font-size: 1.24rem;
    font-weight: 500;
    font-feature-settings: 'palt';
    text-spacing-trim: normal;
    overscroll-behavior-y: none;
    color: var(--color-black);
    font-family:"Jost","Zen Kaku Gothic New", 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
    line-height: 1.6;
    letter-spacing: 0.01em;
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    background: var(--c-beige);
    opacity: 0;
    animation: opacityFadeIn .5s cubic-bezier(.37,.49,.35,1.28) .4s forwards;
}

@keyframes opacityFadeIn {
    0%{
    opacity: 0;
    }
    100%{
    opacity: 1;
    }
}

:root{
    --t-green:#005952;
    --c-white:#fefefe;
    --c-black:#000;
    --c-blue:#63abd0;
    --c-yellow:#fff23f;
    --c-orange:#f39800;
    --c-pink:#e895a0;
    --c-red:#e50012;
    --c-green:#288d63;
    --c-lGreen:#5eb17a;
    --c-brown:#ab7d55;
    --c-dBrown:#533831;
    --c-beige:#faf9ef;
    --f-24:min(1.8rem,4vw);
    --border-radius:min(1em,3vw);
    --transition:cubic-bezier(.4,.4,0,1) .5s ;
    --c-margin: min(48px, 7vw);
    --c-width:min(1240px,90%);
}

img{
    max-width: 100%;
    vertical-align: bottom;
}

a{
    text-decoration: none;
    color: var(--c-black);
    transition: var(--transition);
    position: relative;
}

ul,li,tr,th,td,dl,dt,dd{
    text-decoration: none;
    list-style: none;
}

.contents{
    width: min(54rem,86%);
    margin: 0 auto;
    z-index: 1;
    position: relative;
}

.contents-title{
    margin-bottom: min(10rem,12vw);
}

.deco-img{
    position: absolute;
}

.svg-toyopet{
    fill: var(--t-green);
}

.svg-beige{
    fill: var(--c-beige);
}


/*----- swiper -----*/
.swiper-wrapper{
  transition-timing-function: linear!important;
}

.swiper-slide{
  padding: 0 2px;
}

.swiper-slide img {
  width: 100%;
  width: 100%;
}

.swiper-slide > div {
  height: 100%;
  width: 100%;
}


/*---- modal -----*/
.modalContents{
  cursor: pointer;
}

.modalWindow {
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
}

.modalWindow>.modalWindow-wrapper{
  width: min(1240px, 90%);
  height:72svh;
  max-height: 64rem;
  position: absolute;
  background: var(--c-beige);
  color: var(--c-green);
  padding: min(6rem, 14vw) min(4rem, 6vw);
  overflow-x: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--border-radius);
}

.modalWindow>.modalWindow-wrapper .bgSlider-image{
    left: 0;
    bottom: 0;
    height: min(23vw, 10rem);
    background-size: auto min(23vw, 10rem);
    opacity: .3;
}

.modalWindow-picture picture{
    position: relative;
    display: block;
    z-index: 1;
}
.modalWindow-picture picture::before{
    position: absolute;
    content: "";
    background: var(--c-green);
    width: 100%;
    height: 100%;
    z-index: -1;
    transform: rotate(4deg);
}

.modalWindow-wrapper>span.modalClose{
  position: absolute;
  top: 1rem;
  right: 2rem;
  cursor: pointer;
  transition: var(--transition);
}

.modalWindow-wrapper>span.modalClose::before{
    content: "Close";
    border-radius: 50%;
    display: block;
    font-weight: 600;
    cursor: pointer;
    color: var(--t-green);
    font-size: min(1.24rem, 3vw);
    border: solid currentColor min(.2rem, .5vw);
    padding: min(1rem, 1.4vw) min(1.5rem, 3vw);
    text-transform: uppercase;
    line-height: 1;
}
.modalWindow-wrapper>span.modalClose:hover{
  opacity: .6;
}

.modalWindow-textArea{
    padding-top: min(4vw);
}

.modalWindow-textArea h3{
    font-size: min(5vw, 3.24rem);
    border-bottom: dotted min(4px, 2vw) currentColor;
    padding-bottom: min(3vw, 1.4rem);
    margin-bottom: min(4vw, 3rem);
    line-height: 1.2;
}
.modalWindow-textArea h3 span{
    font-weight: 400;
    font-size: 66%;
    color: var(--c-lGreen);
    display: block;
}

.modalWindow-introduction{
    font-size: min(2rem, 4vw);
    font-weight: 700;
    text-align: center;
    margin-bottom: min(4rem, 6vw);
    padding-bottom: min(1rem, 2vw);
    border-bottom: dotted 3px #f7b52c;
}

.modalWindow-introduction h3 span{
    font-size: min(55%);
}

.modalWindow-interview p{
    padding-bottom: min(2rem, 4vw);
    line-height: 1.75;
}

.modalWindow-interview_contents{
    margin-bottom: var(--c-margin);
}
.modalWindow-interview_contents p:last-of-type{
    padding-bottom: 0;
}
.modalWindow-interview_contents h4{
    font-size: min(1.83rem, 4vw);
    font-weight: 700;
    color: #f7b52c;
    padding-bottom: min(.5rem, .5vw);
}

.modalWindow-interview_imageArea{
    display: flex;
    flex-wrap: wrap;
    gap: min(2rem);
    margin-top: min(3rem);
}

.modalWindow-interview_imageArea>.modalWindow-interview_image{
    width: 100%;
}

.modalWindow-interview_imageArea>.modalWindow-interview_image p{
    padding-bottom: 0;
    padding-top: min(1rem);
}

.modalWindow-interview_image picture{
    position: relative;
    aspect-ratio: 3 / 2;
    display: block;
}
.modalWindow-interview_image picture img{
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}


/*----- animation -----*/
.fade-in2{
    transform: translateY(50%);
    opacity: 0;
}

.fade-in2.is-active{
    animation: slide-in .3s cubic-bezier(.37,.49,.35,1.28) .4s forwards;
}
@keyframes slide-in {
    0% {
        transform: translateY(50%);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    70% {
        transform: translateY(-5%);
        opacity: 1;
    }
    100% {
        transform: translateY(0%);
        opacity: 1;
    }
}

.scroll-contents{
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .5s;
    transform: translateY(10%);
    opacity: 0;
}
.scroll-contents.is-active{
    transform: translateY(0);
    opacity: 1;
}

.fuwafuwa{
    animation: fuwafuwa 4s infinite ease-in-out 0s alternate;
}
.fuwafuwa2{
    animation: fuwafuwa 5s infinite ease-in-out 0s alternate;
}
@keyframes fuwafuwa{
    0% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(0, -6px);
    }
    100% {
        transform: translate(0, 0px);
    }
}

@keyframes loop01 {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 534px 0;
    }
}

.a-jump{
    animation: jump 4s linear infinite .7s;
}
.a-jump2{
    animation: jump 5s linear infinite .9s;
}

@keyframes jump {
    0% {
        transform: translateY(0) scale(1);
    }
    5% {
        transform: translateY(0) scale(1.06, .9);
    }
    10% {
        transform: translateY(-15%) scaleY(1.04);
    }
    15% {
        transform: translateY(0) scale(1);
    }
    100% {
        transform: translateY(0) scale(1);
    }
}

.a-confetti{
    animation: floating 3.5s cubic-bezier(0.11, 0, 0.5, 0) alternate infinite;
    transform-origin: top left;
}

@keyframes floating {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1);
    }
    25% {
        transform: translate(-5px, 3px) rotate(-3deg) scale(1.02);
    }
    50% {
        transform: translate(5px, -3px) rotate(3deg) scale(0.98);
    }
    75% {
        transform: translate(-3px, 4px) rotate(-2deg) scale(1.01);
    }
    100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
    }
}


.scroll-popIn{
    transform-origin: bottom left;
    transform: scale(0.5);
    opacity: 0;
}
.scroll-popIn.is-active{
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .35s;
    transform: scale(1);
    opacity: 1;
}

/*----- contents ------*/
.roContents{
    position: relative;
    z-index: 2;
    padding: min(9rem, 18vw) 0;
}

.roContents-decoText{
    position: absolute;
}

.ro-flexContents{
    display: flex;
    flex-wrap: wrap;
    gap: min(4rem,4vw);
    justify-content: center;
}

.ro-flexContents_items{
    width: 100%;
    background: var(--c-beige);
    position: relative;
}

.ro-flexContents_items h3{
    color: var(--c-green);
    font-weight: 700;
    font-size: min(3rem, 5vw);
    line-height: 1;
}

.ro-flexContents_title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: min(1.24rem);
}


/*-----------*/
/*header
/*-----------*/
.header-logo{
    display: block;
    position: fixed;
    top: min(4rem, 7vw);
    left: 3%;
    width: min(27rem, 46vw);
    z-index: 222;
    opacity: 0;
    animation: opacityFadeIn .4s cubic-bezier(.37,.49,.35,1.28) 1s forwards;
}

/*----- gnav ------*/
.openbtn{
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: min(100px, 17vw);
    height: min(100px, 17vw);
    z-index: 222;
    right: 2%;
    top: 2%;
    cursor: pointer;
    opacity: 0;
    animation: opacityFadeIn .4s cubic-bezier(.37,.49,.35,1.28) 1s forwards;
}

.openbtn:hover{
    transform: scale(1.1);
    transition: var(--transition);
}

span.linkRound-text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(100px, 17vw);
    height: min(100px, 17vw);
}
span.linkRound-text svg{
    width: 100%;
    animation: 12s linear infinite rotation;
}

@keyframes rotation {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.openbtn.active span.linkRound-text svg{
    fill:var(--c-beige);
}

.linkRound-image{
    width: 44%;
}


.g-nav{
    position: fixed;
    z-index: 100;
    top: 0;
    width: 100%;
    height: 100%;
    right: 0;
    transition: .4s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: scale(0);
    transform-origin: top right;
    visibility: hidden;
    background: var(--c-green);
    color: var(--c-beige);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.g-nav a{
    color: var(--c-beige);
    font-weight: 800;
}

#g-nav.panelactive{
    visibility: inherit;
    transform: scale(1);
}

.g-nav_wrapper{
    position: relative;
    width: 100%;
}

.g-nav_mainMenu{
    text-align: center;
    transform: scale(0);
}
.g-nav.panelactive .g-nav_mainMenu{
    transform: scale(1);
    transition-delay: .5s;
    transition: .4s cubic-bezier(0.34, 1.56, 0.64, 1) .2s;
}

.g-nav_mainMenu li{
    font-size: min(24px, 6vw);
    padding: min(2rem, 4vw);
}

.g-nav_toyopet{
    width: min(340px, 86%);
    margin: min(32px, 10vw) auto 0;
    text-align: center;
    line-height: 2;
    transform: scale(0);
}
.g-nav.panelactive .g-nav_toyopet{
    transform: scale(1);
    transition: .4s cubic-bezier(0.34, 1.56, 0.64, 1) .25s;
}

.g-nav_toyopet a{
    background: var(--t-green);
    display: block;
    border-radius: 9999px;
    padding: min(14px, 4vw) min(12%);
}

.g-nav_toyopet a p small{
    font-size: min(120%, 16px);
}

.g-nav-deco{
    position: fixed;
    z-index: -1;
    opacity: .2;
}

.g-nav-deco.-deco1{
    width: min(40vw, 160px);
    right: -4%;
    bottom: 0%;
    transform: rotate(-12deg);
}

.g-nav-deco.-deco2{
    width: min(54vw, 194px);
    left: 0;
    bottom: 0;
    transform: rotate(7deg);
}



/*-----------*/
/*KV
/*-----------*/
.KV{
    position: relative;
    z-index: 1;
    height: 100svh;
    max-height: min(138vw, 83rem);
    width: 100%;
}

picture.KV-mainImage{
    display: block;
    height: min(54vw, 38rem);
    overflow: hidden;
    margin-top: min(23%, 12rem);
    position: relative;
}
picture.KV-mainImage img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .7s;
    transform: rotate(-5deg) scale(.5);
    opacity: 0;
    animation: KVImage-anim .3s cubic-bezier(.37,.49,.35,1.28) .6s forwards;
}

@keyframes KVImage-anim {
    0%{
        transform: rotate(-5deg) scale(.5);
        opacity: 0;
    }
    100%{
        transform: rotate(0deg) scale(1);
        opacity: 1;
    }
}

picture.KV-mainImage p{
    position: absolute;
    color: var(--c-white);
    top: 3%;
    right: 2%;
    font-size: 54%;
}

.KV-mainTitle{
    position: absolute;
    bottom: 4rem;
    left: 50%;
    transform: translateX(-50%);
    width: min(86vw, 50rem);

}

.KV-mainTitle h2{
    transform: rotate(-5deg) scale(.5);
    opacity: 0;
    animation: KVImage-anim .3s cubic-bezier(.37,.49,.35,1.28) .75s forwards;
}

.KV-mainTitle>.KV-mainTitle_sub{
    width: min(98%);
    margin: 0px auto 4%;
    position: relative;
    transform: rotate(-5deg) scale(.5);
    opacity: 0;
    animation: KVImage-anim .3s cubic-bezier(.37,.49,.35,1.28) .75s forwards;
}

.KV-mainTitle_sub .tigo-pigo{
    position: absolute;
    width: 28%;
    top: -68%;
    right: 42%;
    transform: translateX(50%);
}

.KV-mainTitle .deco-img.-confetti{
    z-index: -1;
}

.KV-mainTitle .deco-img.-confetti1{
    width: 15vw;
    top: -23%;
    left: -4%;
    transform: rotate(18deg);
}

.KV-mainTitle .deco-img.-confetti2{
    width: 8vw;
    bottom: 0;
    right: -3%;
}

.KV-mainTitle .deco-img.-confetti3{
    width: 19vw;
    top: -30%;
    right: -6%;
}

.KV-mainTitle .deco-img.-confetti4{
    width: 14vw;
    bottom: 1%;
    left: -7%;
}



@media screen and (min-width:769px) {
/*-----------*/
/*Common
/*-----------*/
    body {
        font-size: 1.4rem;
    }

    .contents{
        width: min(84rem,84vw);
    }

    .ro-flexContents{
        gap: min(4rem);
    }

    .ro-flexContents_items{
        width: calc((100% - min(4rem)) / 2);
    }

    .modalContents.ro-flexContents_items:hover h3{
        color: var(--c-lGreen);
    }

    .modalWindow>.modalWindow-wrapper{
        height: auto;
        max-height: none;
        width: min(820px, 90%);
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: min(6rem);
        padding: min(10rem, 12vw) min(4rem, 6vw);
        top: 55%;
    }

    .modalWindow-picture{
        width: calc((100% - min(6rem)) / 2);
    }
    .modalWindow-textArea{
        width: calc((100% - min(6rem)) / 2);
        padding-top: 0;
    }

    .modalWindow>.modalWindow-wrapper .bgSlider-image{
        height: min(10vw,10rem);
        background-size: auto min(10vw,10rem);
    }

    .modalWindow-textArea h3 span{
        display: inline-block;
    }


    /*-----------*/
    /*header
    /*-----------*/
    .header-logo{
        top: 4%;
    }

    .g-nav{
        width:480px;
        height: 100svh;
    }

    /*-----------*/
    /*KV
    /*-----------*/
    .KV{
        max-height: 95vw;
    }

    picture.KV-mainImage{
        display: block;
        height: calc(100svh - 23vw);
        margin: 0;
    }

    picture.KV-mainImage p{
        top: 2%;
        right: 8%;
        font-size: 90%;
    }

    .KV-mainTitle{
        width: 93vw;
        bottom: 3svh;
    }

    .KV-mainTitle>.KV-mainTitle_sub{
        width: min(57%);
        margin: 0px auto -2%;
    }

    .KV-mainTitle_sub .tigo-pigo{
        width: min(18rem, 12vw);
        top: -2%;
        right: -7%;
    }

    .g-nav_mainMenu a:hover{
        opacity: .6;
    }

    .g-nav_toyopet a:hover{
        transform: scale(1.05);
    }


    .KV-mainTitle .deco-img.-confetti1{
        width: 9vw;
        left: -2%;
    }
    .KV-mainTitle .deco-img.-confetti2{
        width: 4vw;
        bottom: -22%;
        right: -1%;
    }
    .KV-mainTitle .deco-img.-confetti3{
        width: 10vw;
        top: -4%;
        right: -1%;
    }
    .KV-mainTitle .deco-img.-confetti4{
        width: 10vw;
        bottom: -36%;
        left: -3%;
    }
}


@media screen and (min-width:1024px) {
    /*-----------*/
    /*Common
    /*-----------*/
    .contents{
        width: 120rem;
    }

    /*-----------*/
    /*KV
    /*-----------*/
    .KV-mainTitle>.KV-mainTitle_sub{
        width: 53%;
        margin: 0px auto -3%;
    }

    .KV-mainTitle{
        width: 84vw;
        bottom: 3svh;
    }

    picture.KV-mainImage{
        height: calc(100svh - 10vw);
    }

    .KV-mainTitle .deco-img.-confetti1{
        width: 12rem;
        top: 16%;
    }
    .KV-mainTitle .deco-img.-confetti2{
        width: 6rem;
        bottom: -24%;
        right: -3%;
    }
    .KV-mainTitle .deco-img.-confetti3{
        width: min(14rem);
        top: 17%;
        right: -4%;
    }
    .KV-mainTitle .deco-img.-confetti4{
        width: min(12rem);
        bottom: -25%;
        left: -6%;
    }

    .modalWindow>.modalWindow-wrapper{
        width: min(1180px, 80%);
    }
}



/*-----------*/
/*Greeting
/*-----------*/
.greeting-contents{
    margin: 0 auto;
    width: min(55rem, 90vw);
    position: relative;
}

.greeting-contents.-contents1 .greeting-wrapper{
    transform: rotate(0deg);
    margin-bottom: calc(var(--c-margin) * 1.5);
}
.greeting-contents.-contents2 .greeting-wrapper{
    transform: rotate(0deg);
}

.greeting-contents.-contents1.scroll-contents.is-active .greeting-wrapper{
    transform: rotate(-2deg);
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .7s;
}
.greeting-contents.-contents2.scroll-contents.is-active .greeting-wrapper{
    transform: rotate(2deg);
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .7s;
}


.greeting-wrapper{
    background: var(--c-lGreen);
    position: relative;
    margin: 0 auto;
    z-index: 1;
    padding: min(4rem, 7vw);
}
.greeting-wrapper::before{
    position: absolute;
    content: "";
    background: var(--c-white);
    width: 100%;
    height: 100%;
    top: -1.4%;
    left: 2%;
    z-index: -1;
}

.greeting-wrapper_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(5rem,8vw);
    position: relative;
    transform: translate(2%, -2%);
}

.greeting-contents_image{
    width: min(21rem, 38vw);
}

.greeting-contents_textArea{
    width: 100%;
}

.greeting-contents_textArea h3{
    margin-bottom: min(2rem, 3vw);
    font-size: min(2.34rem, 4.4vw);
    line-height: 2.24;
}

.greeting-contents_textArea h3 span{
    background: var(--c-lGreen);
    padding: min(.5rem) .5rem;
}

.greeting-contents_textArea p{
    line-height: 1.8;
    letter-spacing: 0;
}

.greeting-contents_textArea p a{
    color: var(--c-green);
    font-weight: 800;
    text-decoration: underline;
}
.greeting-contents_textArea p a:hover{
    opacity: .6;
}

.greeting-contents_textArea p.officer-name{
    text-align: right;
    padding-top: min(4rem, 4vw);
}
.greeting-contents_textArea p.officer-name span{
    font-size: 155%;
}

.greeting .roContents-decoText{
    z-index: -1;
    width: 94vw;
    opacity: .8;
}
.greeting .roContents-decoText.-decoText_top{
    top: 0;
    left: 0;
}
.greeting .roContents-decoText.-decoText_bottom{
    bottom: 0rem;
    right: 0;
}

.greeting-contents.-contents1 .deco-img{
    width: min(17vw);
    top: -8%;
    right: -3%;
    z-index: 1;
}
.greeting-contents.-contents2 .deco-img{
    width: min(14vw);
    top: -6%;
    left: 7%;
    z-index: 1;
}

.greeting .deco-img.-confetti{
    z-index: -1;
}
.greeting .deco-img.-confetti1{
    width: 38vw;
    top: 0%;
    left: 0;
}
.greeting .deco-img.-confetti2{
    width: 23vw;
    top: 15%;
    right: 2%;
    z-index: 1;
}
.greeting .deco-img.-confetti3{
    width: 28vw;
    top: 56%;
    left: 0%;
    z-index: 1;
}
.new .deco-img.-confetti7{
    width: 37vw;
    top: -5%;
    right: 0;
    z-index: 2;
    transform: rotate(0deg);
}

@media screen and (min-width:769px) {
    .roContents{
        padding: min(16rem) 0;
    }

    .greeting-contents{
        width: min(94rem, 78vw);
    }

    .greeting-contents.-contents1 .greeting-wrapper{
        transform: rotate(0deg);
        margin-bottom: calc(var(--c-margin) * 3);
    }
    .greeting-contents.-contents2 .greeting-wrapper{
        transform: rotate(0deg);
    }

    .greeting-contents.-contents1.scroll-contents.is-active .greeting-wrapper{
        transform: rotate(-3deg);
        transition: .3s cubic-bezier(.37, .49, .35, 1.28) .7s;
    }
    .greeting-contents.-contents2.scroll-contents.is-active .greeting-wrapper{
        transform: rotate(3deg);
        transition: .3s cubic-bezier(.37, .49, .35, 1.28) .7s;
    }

    .greeting-wrapper{
        padding: min(7rem, 5vw);
    }

    .greeting-wrapper::before{
        top: -4.4%;
        left: 2%;
    }

    .greeting-wrapper_flex{
        gap: min(4rem);
        transform: translate(2%, -4.4%);
    }

    .greeting-contents_image{
        width: min(22rem);
    }

    .greeting-contents_textArea{
        width: calc((100% - min(4rem)) - min(22rem));
    }

    .greeting .roContents-decoText{
        width: min(112rem, 78vw);
    }

    .greeting .roContents-decoText.-decoText_top{
        top: 4rem;
    }

    .greeting-contents.-contents1 .deco-img{
        width: min(12rem, 11vw);
        top: 71%;
        right: -11%;
    }
    .greeting-contents.-contents2 .deco-img{
        width: min(10rem, 9vw);
        top: 67%;
        left: -5%;
    }

    .greeting .deco-img.-confetti1{
        width: 36rem;
        top: 0%;
        left: 4%;
    }
    .greeting .deco-img.-confetti2{
        width: 14rem;
        top: 17%;
        right: 0%;
        z-index: -1;
    }
    .greeting .deco-img.-confetti3{
        width: 23rem;
        top: 47%;
        left: 1%;
        z-index: -1;
    }
    .new .deco-img.-confetti7{
        width: min(32rem,24vw);
        top: -18%;
        right: 5%;
        z-index: 2;
        transform: rotate(0);
    }
}

@media screen and (min-width:1024px) {
    .greeting .deco-img.-confetti2{
        width: 21rem;
        right: 8%;
    }

    .greeting .deco-img.-confetti3{
        width: 27rem;
        top: 58%;
        left: 7%;
    }
}


/*-----------*/
/*New
/*-----------*/
.new{
    background: var(--c-green);
    z-index: 2;
    color: var(--c-beige);
}

.new-intro{
    display: flex;
    flex-wrap: wrap;
    margin: -32vw auto 5vw;
    align-items: center;
    gap: min(6rem, 4vw);
    width: 91vw;
}

.new-intro_title{
    width: min(40rem, 68vw);
    z-index: 3;
}

.new-intro_textArea{
    width: 100%;
    z-index: 2;
}

.new-intro_textArea p{
    font-weight: 700;
    line-height: 2;
    font-size: var(--f-24);
}

.new-intro_textArea p span{
    display: block;
    font-size: 90%;
    font-weight: 500;
}

.new-facility .ro-flexContents_items{
    padding: min(4rem, 4vw);
}
.new-facility .ro-flexContents_items picture{
    overflow: hidden;
    display: block;
    transition:.5s cubic-bezier(.4,.4,0,1);
    border: solid min(.5rem) #288d6300;
}
.new-facility .ro-flexContents_items picture img{
    transition:.5s cubic-bezier(.4,.4,0,1)
}

.modalContents.ro-flexContents_items:hover picture{
    transform: rotate(2deg);
    border: solid min(.5rem) var(--c-green);
}
.modalContents.ro-flexContents_items:hover picture img{
    transform: scale(1.1);
}


.new-wrapper{
    position: relative;
    z-index: 3;
}

.new .deco-img{
    z-index: -1;
}

.new .deco-img.-img1{
    top: 6%;
    width: 80vw;
    right: 0;
    opacity: .4;
}
.new .deco-img.-img2{
    top: 46%;
    width: 47vw;
    left: 0;
    opacity: .4;
}
.new .deco-img.-img3{
    right: 0;
    width: 60vw;
    top: 79%;
    opacity: .4;
}

.bgSlider-image{
    background-image: url(img/new/bgText-new.svg);
    animation: loop01 16s linear infinite;
    pointer-events: none;
    overflow: hidden;
    width: 100%;
    height: 32vw;
    background-repeat: repeat-x;
    background-size: auto 32vw;
    position: absolute;
    opacity: .3;
    z-index: -1;
}

.bgSlider-image.-image_top{
    top: 1%;
}

.bgSlider-image.-image_bottom{
    bottom: 1%;
}

.new .deco-img.-confetti1{
    top: min(30rem, 51vw);
    width: 11vw;
    left: 0;
    z-index: 1;
}

.new .deco-img.-confetti2{
    top: -5vw;
    width: 17vw;
    left: 50vw;
}

.new .deco-img.-confetti3{
    top: 19vw;
    width: 5vw;
    right: 11vw;
}

.new .deco-img.-confetti4{
    top: 42vw;
    width: 16vw;
    right: 4vw;
}

.new .deco-img.-confetti5{
    bottom: 5vw;
    width: 14vw;
    left: 2vw;
}
.new .deco-img.-confetti6{
    bottom: 5vw;
    width: 7vw;
    right: 2vw;
}

@media screen and (min-width:769px) {
    .new-intro{
        width: 84rem;
        margin: -22rem auto 0;
        gap: min(6rem,3vw);
    }

    .new-intro_title{
        width: min(56rem, 43vw);
    }

    .new-intro_textArea{
        width: calc((100% - min(6rem,3vw)) - min(56rem, 43vw));
        padding-top: min(10rem,8vw);
    }

    .new-wrapper{
        margin-top: -5rem;
    }

    .new .deco-img.-img1{
        width: min(65rem, 49vw);
        top: min(23rem);
    }
    .new .deco-img.-img2{
        top: 45%;
        width: min(44rem, 34vw);
    }
    .new .deco-img.-img3{
        top: 63%;
        width: min(40rem, 31vw);
    }

    .bgSlider-image{
        height: min(26rem);
        background-size: auto min(26rem);
        animation: loop01 10s linear infinite;
    }

    .bgSlider-image.-image_top{
        top: 1%;
    }

    .bgSlider-image.-image_bottom{
        bottom: 1%;
    }

    .new .deco-img.-confetti1{
        top: min(38rem, 26vw);
        left: min(6rem, 2vw);
        width: min(9rem, 8vw);
        z-index: -1;
    }
    .new .deco-img.-confetti2{
        top: -1rem;
        left: min(70rem, 45vw);
        width: min(8rem, 8vw);
    }
    .new .deco-img.-confetti3{
        top: min(8rem, 5vw);
        right: min(12rem, 5vw);
        width: min(3rem, 3vw);
    }
    .new .deco-img.-confetti4{
        top: min(36rem, 31vw);
        right: min(12rem, 2vw);
        width: min(12rem, 9vw);
    }
    .new .deco-img.-confetti5{
        bottom: 8rem;
        left: min(9rem, 2vw);
        width: min(13rem, 11vw);
    }
    .new .deco-img.-confetti6{
        bottom: 10rem;
        right: min(12rem, 4vw);
        width: min(6rem, 5vw);
    }

    .new-facility .ro-flexContents_items{
        padding: min(4rem, 2vw);
    }
}


@media screen and (min-width:1024px) {
    .new-intro{
        width: 120rem;
        margin: -29rem auto 0;
    }
}


/*-----------*/
/*mokuiku
/*-----------*/
.mokuiku{
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding-bottom: min(20rem, 19vw);
}

.mokuiku-title{
    width: 92vw;
    margin: 0 auto min(12rem,8vw);
    display: flex;
    justify-content: center;
    gap: min(3rem, 4vw);
    align-items: end;
}

.mokuiku-title h2{
    width: calc(100% - (calc(min(10rem,10vw) * 2)));
}

.mokuiku-title h2 img{
    animation: swing linear 4s infinite;
    transform-origin: center -50px 0;
}

@keyframes swing {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(4deg);
    }
    50% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(-4deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.mokuiku-title_illust{
    width: min(10rem,10vw);
    position: relative;
}

.mokuiku-title_illust._illust__pigo img.pigo{
    width: 81%;
}

img.bubble-image{
    position: absolute;
    width: 100%;
}

._illust__tigo img.bubble-image{
    left: -110%;
    top: -11%;
}
._illust__pigo img.bubble-image{
    top: -26%;
    right: -64%;
}


.mokuiku-details{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: min(6rem,6vw);
}

.mokuiku-details_textArea,.mokuiku-details_imageArea{
    width: 100%;
}

.mokuiku-details_wrapper{
    position: relative;
}
.mokuiku-details_wrapper::before{
    position: absolute;
    content: "";
    background: var(--c-brown);
    width: 100%;
    height: 100%;
    transform: rotate(0deg);
}

.scroll-contents.is-active .mokuiku-details_wrapper::before{
    transform: rotate(-6deg);
    transition: .4s cubic-bezier(.37, .49, .35, 1.28) .6s;
}

.mokuiku-details_textArea h3{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: min(3rem, 5vw);
}

.mokuiku-details_textArea h3 span.tree{
    width: min(6rem, 6vw);
    display: block;
}

.mokuiku-details_textArea p{
    color: var(--c-dBrown);
    font-weight: 700;
    font-size: var(--f-24);
}
.mokuiku-details_textArea p strong{
    font-size: 112%;
}

.mokuiku-details_textArea img.mokuiku-titleImage{
    width: 81%;
}

.mokuiku .roContents-decoText{
    width: min(121rem, 96vw);
    z-index: -2;
    opacity: .5;
}

.mokuiku .roContents-decoText.-decoText_top{
    top: 1rem;
    left: 0;
}
.mokuiku .roContents-decoText.-decoText_bottom{
    bottom: 1rem;
    right: 0;
}

.mokuiku .deco-img{
    z-index: -1;
}
.mokuiku .deco-img.-wood_top{
    width: min(27rem, 38vw);
    top: min(16rem, 26vw);
    right: min(4rem, 4vw);
}
.mokuiku .deco-img.-wood_bottom{
    width: min(22rem, 37vw);
    bottom: min(-1rem);
    left: -1rem;
    transform: rotate(-30deg);
}

@media screen and (min-width: 768px){
    .mokuiku{
        padding-bottom: min(16rem, 16vw);
    }

    .mokuiku-title{
        width: min(96rem, 86vw);
    }

    .mokuiku-details{
        flex-direction: row-reverse;
        gap: min(8rem, 6vw);
    }

    .mokuiku-details_imageArea{
        width: min(73rem,100%);
    }

    .mokuiku .deco-img.-wood_top{
        width: min(47rem, 27vw);
        top: min(16rem);
        right: 4rem;
    }

    .mokuiku .deco-img.-wood_bottom{
        width: min(42rem, 22vw);
        bottom: min(3rem);
        left: -8rem;
    }

    .mokuiku-details_textArea img.mokuiku-titleImage{
        width: 75%;
    }

    ._illust__pigo img.bubble-image{
        top: -38%;
    }
    ._illust__tigo img.bubble-image{
        top: -21%;
    }
}

@media screen and (min-width: 1024px){
    .mokuiku-details_textArea{
        width: calc((100% - min(8rem, 6vw)) / 2);
    }

    .mokuiku-details_imageArea{
        width: calc((100% - min(8rem, 6vw)) / 2);
    }
}

@media screen and (max-width: 769px){
    .mokuiku-title{
        flex-wrap: wrap;
    }

    .mokuiku-title h2{
        width: 100%;
        order: 1;
    }
    .mokuiku-title h2 img{
        width: 75vw;
        display: block;
        margin: 0 auto;
    }

    .mokuiku-title_illust{
        width: min(10rem,14vw);
    }

    .mokuiku-title_illust._illust__tigo{
        order: 2;
    }

    .mokuiku-title_illust._illust__pigo{
        order: 3;
    }
}



/*-----------*/
/*bousai
/*-----------*/
.bousai{
    background: var(--c-green);
}

.bousai-intro{
    color: var(--c-beige);
    margin-bottom: min(6rem,8vw);
}

.bousai-intro h2{
    width: min(109rem, 100%);
    margin: 0 auto;
}

.bousai-intro p{
    font-size: var(--f-24);
    line-height: 2;
    font-weight: 700;
    margin: min(4rem,6vw) auto 0;
}

.bousai .ro-flexContents{
    gap: min(4rem);
}

.bousai-contents{
    position: relative;
    background: var(--c-beige);
}
.bousai-contents::before{
    position: absolute;
    content: "";
    background: var(--c-lGreen);
    width: 100%;
    height: 100%;
    top: 0%;
    right: 0%;
    z-index: -1;
}

.scroll-contents.is-active .bousai-contents::before{
    top: 2%;
    right: -2%;
    transition: .4s cubic-bezier(.37, .49, .35, 1.28) .7s;
}

.bousai .ro-flexContents_items .bubble{
    width: min(10rem, 18vw);
    top: -3%;
    left: -3%;
    transform: scale(0.5);
    opacity: 0;
    transform-origin: bottom right;
}

.scroll-contents.is-active .bubble{
    transform-origin: bottom right;
    transform: scale(1);
    opacity: 1;
    transition: .3s cubic-bezier(.37, .49, .35, 1.28) .8s;
}

.bubble{
    position: absolute;
}

.ro-flexContents_textArea{
    padding: min(3rem,5vw) min(4rem,6vw);
}
.ro-flexContents_textArea h3{
    text-align: center;
    padding-bottom: min(.8rem);
}

.bousai .deco-img{
    z-index: -1;
}
.bousai .deco-img.-img1{
    width: 54vw;
    top: 1%;
    left: 2%;
}
.bousai .deco-img.-img2{
    width: 41vw;
    top: 15%;
    right: 2%;
}

@media screen and (min-width: 768px){
    .bousai-intro p{
        width: min(106rem, 100%);
        margin: min(4rem) auto 0;
    }

    .bousai .ro-flexContents{
        gap: min(6rem) min(4rem);
    }

    .bousai .deco-img.-img1{
        top: 4rem;
        left: 4rem;
        width: min(61rem,46vw);
    }
    .bousai .deco-img.-img2{
        top: 37rem;
        right: 0rem;
        width: min(36rem, 26vw);
    }
}


/*-----------*/
/*footer end
/*-----------*/
.footerEnd{
    background: url(img/footer/f-bg.webp) no-repeat center;
    background-size: cover;
    background-color: var(--c-white);
    overflow: hidden;
    position: relative;
    padding: min(18rem, 21vw) 0 min(11rem, 11vw);
}

.footerEnd h2{
    width: min(90rem, 100%);
    margin: 0 auto
}

.footerEnd-illust{
    position: relative;
    width: min(40rem, 45vw);
    margin: min(5rem, 3vw) auto 0;
}

.footerEnd-illust .deco-img.-img1{
    width: min(8rem, 10vw);
    top: -4%;
    left: -10%;
}
.footerEnd-illust .deco-img.-img2{
    width: min(7rem, 9vw);
    bottom: -15%;
    right: -25%;
}

.footerEnd .deco-img{
    width: min(43vw);
}
.footerEnd .deco-img.-flag1{
    top: -3%;
    left: 0;
}
.footerEnd .deco-img.-flag2{
    top: -3%;
    right: 0;
}

/*-----------*/
/*footer
/*-----------*/
footer{
    position: relative;
    text-align: center;
    z-index: 1;
    width: 100%;
    background: var(--t-green);
    color: var(--c-beige);
    padding: min(6rem,10vw) min(6rem,10vw) min(2rem);
}

.footer-logo{
    width: min(38rem, 59vw);
    margin: 0 auto min(2rem, 3vw);
}


@media screen and (min-width: 768px){
    :root{
        --c-margin: 28px;
        --c-width: min(1240px, 84%);
        --f-24: min(2.4rem,2vw);
    }

    /*-----------*/
    /*common
    /*-----------*/
    body{
        font-size: 1.6rem;
    }

    /*-----------*/
    /*footer
    /*-----------*/
    footer{
    }

    .footerEnd .deco-img{
        width: min(55rem, 43vw);
    }
}