
/*-----------*/
/*common
/*-----------*/
html{
    font-size: 62.5%;
}

*,*::after,*::before{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body{
    font-size: min(1.4rem,3.54vw);
    font-weight: 500;
    color: var(--color-black);
    font-family:'Zen Maru Gothic', '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;
}

:root{
    --color-white:#fefefe;
    --color-black:#000;
    --c-blue:#2ca6e0;
    --c-yellow:#fff000;
    --c-red:#e50012;
    --c-lYellow:#fffac6;
    --c-brown:#6a3906;
    --c-yg:#8dc21f;
    --border-radius:min(1em,3vw);
    --transition:cubic-bezier(.4,.4,0,1) .1s ;
    --c-margin: min(48px, 7vw);
    --c-width:min(1140px,84%);
    --roboto:"Roboto", sans-serif;
}

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

a{
    text-decoration: none;
    color: var(--color-1);
    transition: var(--transition);
    position: relative;
}

ul,li,tr,th,td,dl,dt,dd{
    text-decoration: none;
    list-style: none;
}

.section-wrapper{
    padding: 40px 10vw;
}

.contents{
    width: var(--c-width);
    margin: 0 auto;
    z-index: 1;
    position: relative;
}

.mainWrapper{
    position: relative;
    z-index: 1;
}

.frame{
    position: absolute;
    z-index: -1;
}

.frame.frame-yellow{
    background: var(--c-yellow);
    height: 100%;
    width: min(2rem,2vw);
    top: 0;
    right: 0;
}
.frame.frame-blue{
    background: var(--c-blue);
    height: 100%;
    width: min(2rem,2vw);
    top: 0;
    left: 0;
}

.frame.frame-red{
    background: var(--c-red);
    height: min(2rem,2vw);
    width: 100%;
    top: 0;
    left: 0;
}
.frame.frame-green{
    background: var(--c-yg);
    height: min(2rem,2vw);
    width: 100%;
    bottom: 0;
    left: 0;
}

.contents-title{
    margin-bottom: min(10rem,12vw);
}

.contents-title img{
    display: block;
    height: min(6rem,8vw);
    margin: 0 auto;
}


/*----- animation -----*/
.fade-in2.is-active{
    animation: scrollFadeIn .4s cubic-bezier(0.58, 0.02, 0.54, 1) .4s forwards;
}
@keyframes scrollFadeIn {
    0%{
        transform: translate(0, 5%);
    }
    100%{
        transform: translate(0, 0);
        opacity: 1;
    }
}

.menu-scrollFallIn{
    opacity: 0;
    transform: scaleX(0);
}
.menu-scrollFallIn.is-active{
    animation: scrollFallIn .4s cubic-bezier(0.58, 0.02, 0.54, 1) .4s forwards;
}
@keyframes scrollFallIn {
    0%{
        opacity: 0;
        transform: scaleX(0);
    }
    100%{
        transform: scaleX(1);
        opacity: 1;
    }
}

.scroll-bubble{
    transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
}
.scroll-bubble.is-active{
    -webkit-animation: bubblePopIn .6s steps(1) 0s forwards;
    animation: bubblePopIn .6s steps(1) 0s forwards;
}

.scroll-bubble2{
    animation: bubblePopIn .6s steps(1) .4s forwards;
}

@keyframes bubblePopIn {
    0% {
        -webkit-transform: scale(0, 0);
        transform: scale(0, 0);
    }
    60% {
        -webkit-transform: scale(.6, .6);
        transform: scale(.6, .6);
    }
    80% {
        -webkit-transform: scale(1.04, 1.04);
        transform: scale(1.04, 1.04);
    }
    100% {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }
}

.a-bubble{
    transform: scale(0);
    animation: bubblePopIn .4s cubic-bezier(0.58, 0.02, 0.54, 1) calc(var(--delay) * .6s) forwards;
}

.kakukaku{
    animation: kakukaku 2s steps(2, start) infinite;
}
@keyframes kakukaku{
    0% {
        transform: translateY(-8px);
    }
    100% {
        transform: translateY(0px);
    }
}

.kakukaku2{
    animation: kakukaku2 2s steps(2, start) infinite;
}
@keyframes kakukaku2{
    0% {
        transform: translateY(8px);
    }
    100% {
        transform: translateY(0px);
    }
}

.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);
    }
}


@media screen and (min-width:768px) {
    .mainWrapper{
    }
}

/*-----------*/
/*KV
/*-----------*/
.KV{
    overflow: hidden;
    position: relative;
    z-index: -1;
}

.KV-souseiLogo{
    position: absolute;
    z-index: 2;
    width: min(20rem, 32vw);
    top: min(2rem, 1vw);
    right: min(5rem, 6vw);
}
.KV-souseiLogo a{
    background: var(--color-white);
    display: block;
    padding: min(2rem, 3vw);
}

.KV-main{
    position: relative;
    background: url(img/KV-bg.png) no-repeat top;
    background-size: cover;
    z-index: 1;
}
.KV-main::before{
    position: absolute;
    content: "";
    background: url(img/KV-deco-cloud.png) no-repeat bottom;
    background-size: 100%;
    width: 160%;
    height: min(37vw);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: -1;
}

.KV-main_wrapper{
    width: 84vw;
    margin: 0 auto;
    padding-top: min(20vw);
    position: relative;
}

.KV-main_title{
    width: min(65%);
    margin: -5% auto 0;
}

.KV-main_days{
    position: absolute;
    width: min(21vw);
    right: -4%;
    bottom: 3%;
}

.KV-main_chara{
    position: absolute;
    bottom: 5%;
    left: -10%;
    width: min(31vw);
}

.KV-intro{
    padding: min(8rem, 8vw) 0;
    font-size: min(2.24rem, 3.83vw);
    line-height: 2;
    font-weight: 600;
}

@media screen and (min-width:768px) {
/*-----------*/
/*KV
/*-----------*/

    .KV-main::before{
        width: 100%;
        height: min(21vw);
    }

    .KV-main_title{
        width: min(60%);
        margin: -5% auto 0;
    }

    .KV-main_wrapper{
        width: min(68vw);
        padding-top: min(8vw);
    }

    .KV-main_days{
        width: min(18vw);
        bottom: 0%;
        right: -8%;
    }

    .KV-main_chara{
        left: -18%;
        bottom: 0;
        width: min(26vw);
    }

    .KV-souseiLogo a:hover{
        transform: scale(.95);
    }
}

@media screen and (min-width:1024px) {
    .KV-main_wrapper{
        width: min(50vw);
        padding-top: min(2.4vw);
    }

    .KV-main_days{
        width: min(13vw);
        bottom: 0%;
        right: -8%;
    }

    .KV-main_chara{
        left: -20%;
        bottom: 0;
        width: min(21vw);
    }
}

/*-----------*/
/*links
/*-----------*/
.linkBtn{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius);
    font-weight: 600;
    font-size: min(4.83vw, 2.4rem);
    color: var(--color-white);
    padding: min(5vw, 3rem);
    z-index: 1;
    gap: min(2rem,3vw);
}

.linkBtn span{
    z-index: 3;
    position: relative;
    transform: translate(-2%, -8%);
    transition: var(--transition);
}

.linkBtn.--blue{
    background: var(--c-blue);
}
.linkBtn.--red{
    background: var(--c-red);
}

.linkBtn .linkBtn-icon{
    width:min(5rem,10vw);
}

/*-----------*/
/*present
/*-----------*/
.present{
    position: relative;
}

.present-mainTitle{
    position: absolute;
    width: min(81rem, 92vw);
    top: 0;
    left: 50%;
    transform: translate(-50%, -67%);
    z-index: 2;
}

.present-wrapper{
    overflow: hidden;
    position: relative;
    background: var(--c-red);
    z-index: 1;
    padding: min(9rem, 10vw) 0 min(8rem, 12vw);
    margin: min(14rem, 14vw) 0 min(14rem, 14vw);
}
.present-wrapper::before{
    position: absolute;
    content: "";
    background: #c30d23;
    width: min(79rem, 78vw);
    height: 100%;
    left: 71%;
    top: 0;
    transform: translateX(-50%) skewX(10deg);
    z-index: -2;
}

.present-contents{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(2rem);
}

.present-contents_image{
    position: relative;
}
.present-contents_image span{
    position: absolute;
    width: min(8rem,18vw);
    bottom: -2%;
    right: -2%;
}

.present-contents .present-contents_item>h3>img{
    height: min(3rem, 6vw);
    margin: min(1.4rem, 3vw) auto 0;
    display: block;
}

.present-text{
    margin: min(5rem,10vw) auto 0;
}
.present-text img{
    display: block;
    width: min(15rem, 30vw);
    margin: 0 auto;
}

.present-contents .scroll-bubble.is-active{
    -webkit-animation: bubblePopIn .6s steps(1) calc(var(--delay) * .5s) forwards;
    animation: bubblePopIn .6s steps(1) calc(var(--delay) * .5s) forwards;
}

@media screen and (min-width:768px) {
    .present-mainTitle{
        width: min(81rem, 60vw);
    }

    .present-wrapper::before{
        width: min(79rem, 59vw);
        left: 65%;
        transform: translateX(-65%) skewX(20deg);
    }

    .present-contents .present-contents_item{
        width: calc((100% - calc(min(2rem) * 1)) / 2);
    }

    .linkBtn:hover{
        transform: scale(.96);
    }

    .linkBtn.--red:hover{
        background: #c1000f;
    }

    .linkBtn.--blue:hover{
        background: #2592c5;
    }
}

@media screen and (min-width:1024px) {
    .present-contents .present-contents_item{
        width: calc((100% - calc(min(2rem) * 2)) / 3);
    }
}


/*-----------*/
/*interview
/*-----------*/
.interview{
    margin-bottom: calc(var(--c-margin) * 3);
}

.interview-contents{
    border-top: solid 2px var(--c-blue);
    border-bottom: solid 2px var(--c-blue);
    border-right: solid 2px var(--c-blue);
    position: relative;
    padding: min(5rem,8vw) min(5rem,4vw) min(5rem,4vw) 0;
}

.interview-contents.-contents1{
    margin-bottom: calc(var(--c-margin) * 2);
}

.interview-contents h3{
    position: absolute;
    background: var(--color-white);
    padding-right: min(7rem, 2vw);
    top: -3vw;
}
.interview-contents h3 img{
    height: min(3.6rem,6vw);
}

.interview-contents_wrapper{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(4rem,4vw);
}

.interview-contents_wrapper>.interview-contents_image,
.interview-contents_wrapper>.interview-contents_textArea{
    width: 100%;
}

.interview-contents_image picture{
    display: block;
    border-radius: calc(var(--border-radius) * 2);
    overflow: hidden;
    padding-top: min(62.25%);
    position: relative;
}
.interview-contents_image picture img{
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
}

.interview-contents_textArea .name{
    font-weight: 500;
    font-size: min(2rem, 4.24vw);
    display: flex;
    align-items: center;
    gap: min(1.4rem, 2vw);
}
.interview-contents_textArea .name span{
    font-size: 80%;
}

.interview-contents_textArea h4{
    font-weight: 700;
    font-size: min(2.83rem, 5vw);
}

.interview-contents_textArea>.linkBtn{
    margin-top: min(4rem, 4vw);
    font-size: min(3.83vw, 1.83rem);
    padding: min(3vw, 2rem);
    transition: var(--transition);
}

/*-- 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.3);
}

.modalWindow>.modalWindow-wrapper{
  width: min(920px, 90%);
  height:80svh;
  max-height: 58rem;
  position: absolute;
  background: var(--c-lYellow);
  padding: min(6rem, 12vw) min(4rem, 6vw);
  overflow-x: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--border-radius);
}

.modalWindow-wrapper>span.modalClose{
  position: absolute;
  top: 1rem;
  right: 2rem;
  cursor: pointer;
  transition: var(--transition);
}

.modalWindow-wrapper>span.modalClose::before{
  content: "閉じる";
  border-radius: 50%;
  display: block;
  font-weight: 600;
  cursor: pointer;
  color: #f7b52c;
}
.modalWindow-wrapper>span.modalClose:hover{
  opacity: .6;
}

.modalWindow-supplement{
  background: #ededed;
  padding: min(2rem, 3vw);
  margin-top: min(5rem, 10vw);
  text-align: center;
}

.modalWindow-supplement p{
  font-size: min(1.34rem, 2.83vw);
}

.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_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_otherArea{
margin-bottom: calc(var(--c-margin) * 3);
}

.modalWindow-interview_otherArea .contents{
    background: var(--c-lYellow);
    padding: min(4rem, 4vw);;
}

.modalWindow-interview_otherArea h3{
    font-weight: 700;
    font-size: min(2.83rem, 5vw);
    padding-bottom: min(3rem, 6vw);
    text-align: center;
}

.modalWindow-interview_otherArea h3 span{
    background: linear-gradient(transparent 70%, var(--c-yellow) 30%);
}

.modalWindow-interview_linkArea{
    display: flex;
    flex-wrap: wrap;
    gap: min(2rem, 4vw);
    justify-content: center;
    margin-top: min(2rem, 4vw);
}
.modalWindow-interview_linkArea li{
    width: 100%;
}
.modalWindow-interview_linkArea li a{
    font-size: min(3.83vw, 1.83rem);
    padding: min(4vw, 2rem);
    text-align: center;
}

@media screen and (min-width:768px) {
  .googleMap{
    padding-bottom: 35.25%;
  }

  .modalWindow>.modalWindow-wrapper{
    height: 78vh;
    max-height: 65rem;
  }

  .fixedMenu.page-top a:hover{
    opacity: .6;
  }

  .modalWindow-interview_otherArea{
    margin-bottom: calc(var(--c-margin) * 6);
    }

    .modalWindow-interview_imageArea>.modalWindow-interview_image{
        width: calc((100% - min(2rem)) / 2);
    }

    .modalWindow-interview_linkArea li{
        width: calc((100% - min(2rem)) / 2);
    }
}




@media screen and (min-width:768px) {
    .interview{
        margin-bottom: calc(var(--c-margin) * 6);
    }

    .interview-contents{
    border-top: solid 4px var(--c-blue);
    border-bottom: solid 4px var(--c-blue);
    border-right: solid 4px var(--c-blue);
    }

    .interview-contents h3{
        top: -4%;
    }

    .interview-contents_wrapper>.interview-contents_image,
    .interview-contents_wrapper>.interview-contents_textArea{
        width: calc((100% - min(4rem,4vw)) / 2);
    }

    .interview-contents.-contents2 .interview-contents_wrapper{
        flex-direction: row-reverse;
    }

    .interview-contents.-contents1{
        margin-bottom: calc(var(--c-margin) * 3);
    }
}


/*-----------*/
/*flow
/*-----------*/
.flow{
    margin-bottom: calc(var(--c-margin) * 3);
}

.flow-list{
    display: flex;
    flex-wrap: wrap;
    gap:min(19rem,24vw);
    position: relative;
    margin-bottom: min(5rem,10vw);
    margin-top: min(10rem, 18vw);
}

.flow-list_item{
    position: relative;
    background: var(--c-lYellow);
}

.flow-list .scroll-bubble.is-active{
    -webkit-animation: bubblePopIn .6s steps(1) calc(var(--delay) * .5s) forwards;
    animation: bubblePopIn .6s steps(1) calc(var(--delay) * .5s) forwards;
}

.flow-list_step{
    width: min(10rem, 18vw);
    position: absolute;
    left: 50%;
    top: 4%;
    transform: translate(-50%, -88%);
}

.flow-list_image{
    padding: min(3rem,7vw) 0 min(2rem,2vw);
}

.flow-list_image img{
    display: block;
    margin: 0 auto;
    width: min(39rem, 83%);
}

.flow-list_item p{
    font-size: min(1.7rem, 4vw);
    font-weight: 600;
    padding: 0 min(2rem, 4vw) min(3rem, 6vw);
}

.flow-arrow{
    position: absolute;
    width: min(2rem, 3vw);
    transform: translateX(-50%);
    left: 50%;
}

.flow-arrow.-arrow1{
    top: 24%;
}
.flow-arrow.-arrow2{
    top: 62%;
}

.flow-arrow picture{
    display: block;
}

.flow-notes{
    display: flex;
    flex-direction: column;
    gap: min(2rem);
    margin-bottom: min(6rem, 8vw);
}

.flow-notes_item{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(2rem, 3vw);
}

.flow-notes_item h3{
    text-align: center;
    border-radius: var(--border-radius);
    width: 100%;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    letter-spacing: .5rem;
    min-height: min(4rem);
    font-size: min(2.24rem, 4.4vw);
}

.flow-notes_item:nth-of-type(1) h3{
    background: var(--c-red);
}

.flow-notes_item:nth-of-type(2) h3{
    background: var(--c-brown);
}

.flow-notes_details>ul{
    display: flex;
    flex-wrap: wrap;
    font-weight: 600;
    gap: min(.5rem);
}

.flow-notes_details>ul li{
    position: relative;
    padding-left: min(2rem,4vw);
}
.flow-notes_details>ul li::before{
    position: absolute;
    content: "";
    background: var(--c-red);
    width: min(1.7rem, 3vw);
    height: min(1.7rem, 3vw);
    border-radius: 50%;
    top: min(18%, 1.4vw);
    left: 0;
}

.flow-notes_details._address{
    font-weight: 600;
}

.flow-notes_details._address p.tel{
    font-family: var(--roboto);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(0.6rem);
    padding-top: min(1rem);
}
.flow-notes_details._address p.tel span{
    font-size: min(2.6rem,6vw);
    line-height: 1;
}

.flow-links{
    width: min(54rem,100%);
    margin: 0 auto;
}

.flow-links p{
    text-align: center;
}

.flow-links_wanted{
    padding-top: min(1rem, 2vw);
}

@media screen and (min-width:768px) {
    /*-----------*/
    /*flow
    /*-----------*/
    .flow{
        margin-bottom: calc(var(--c-margin) * 6);
    }

    .flow-notes_item h3{
        width: min(18rem);
        min-height: min(7rem);
        letter-spacing: .5rem;
    }

    .flow-notes_details{
        width: calc((100% - min(2rem)) - min(18rem));
    }

    .flow-notes_details._address p.tel a:hover{
        opacity: .5;
    }
}

@media screen and (min-width:1024px) {
    .flow-list{
        gap: min(3rem);
        margin-top: min(14rem);
        margin-bottom: min(5rem);
    }

    .flow-list_item{
        width: calc((100% - calc(min(3rem) * 2)) / 3);
    }

    .flow-list_image img{
        width: 100%;
    }

    .flow-arrow{
        top: -6%;
        width: min(24rem,18vw);
        transform: none;
    }
    .flow-arrow.-arrow1{
        left: 22%;
        top: -6%;
    }
    .flow-arrow.-arrow2{
        left: 56%;
        top: -6%;
    }

    .flow-list_step{
        width: min(11rem, 8vw);
    }

}

/*-----------*/
/*QA
/*-----------*/
.QA{
    margin-bottom: calc(var(--c-margin) * 3);
}

.QA-wrapper{
    border-left: solid 2px var(--c-brown);
    border-right: solid 2px var(--c-brown);
    padding: min(6rem,6vw) 0;
}

.QA-wrapper>.contents-title{
    margin-bottom: min(10rem, 4vw);
}

.QA-contents{
    padding: 0 min(10rem,4vw);
}

ul.QA-contents_list li{
    border-bottom: dotted 2px var(--c-brown);
    padding: min(2.4rem, 4vw) 0;
}

/*------accordion-----*/
ul.QA-contents_list .title{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

ul.QA-contents_list .title h5{
    display: flex;
    align-items: center;
    gap: min(2rem, 2vw);
    font-size: min(2.24rem, 3.83vw);
}

ul.QA-contents_list .title h5 span.question{
    width: min(3rem, 6vw);
}

ul.QA-contents_list .title .title-icon{
    width: min(2.6rem, 5vw);
    height: min(2.6rem, 5vw);
    position: relative;
    background: var(--c-yg);
    border-radius: 50%;
}

ul.QA-contents_list .title .title-icon::before,
ul.QA-contents_list .title .title-icon::after{
    position: absolute;
    content: "";
    background: var(--color-white);
    width: 50%;
    height: 2px;
    transition: var(--transition);
}

ul.QA-contents_list .title .title-icon::before{
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
ul.QA-contents_list .title .title-icon::after{
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
}
ul.QA-contents_list .title.close .title-icon::after{
    transform: translate(-50%, -50%) rotate(0deg);
}

.QA-contents_answerBox{
    background: var(--c-lYellow);
    padding: min(2.4rem, 3vw);
    margin-top: min(2rem, 3vw);
    display: flex;
    gap: min(1rem);
}

.QA-contents_answerBox span.answer{
    width: min(3rem, 6vw);
}

.answerBox-textArea{
    width: calc(100% - min(3rem, 6vw));
}

.answerBox-textArea a{
    color: var(--c-red);
    font-weight: 600;
    text-decoration: underline;
}

.box{
    display: none;
}

/*-----------*/
/*supporter
/*-----------*/
.supporter{
    padding-bottom: calc(var(--c-margin) * 3);
}

.supporter-list{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}

.supporter-list>dl.supporter-list_item{
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem, 3vw);
    align-items: flex-start;
    border-bottom: dotted 2px #f7b52c;
    padding: min(2rem) 0;
    margin: 0 min(1.5rem);
}

.supporter-list>dl.supporter-list_item>dt{
    color: var(--c-red);
    background: var(--c-yellow);
    text-align: center;
    border-radius: var(--border-radius);
    padding: min(1rem, 1.4vw);
    font-weight: 600;
    font-size: min(1.83rem, 4.24vw);
    width: 100%;
}

.supporter-list>dl.supporter-list_item>dd{
    font-weight: 600;
    line-height: 2;
    width: 100%;
}

@media screen and (min-width:768px) {
    /*-----------*/
    /*QA
    /*-----------*/
    .QA{
        margin-bottom: calc(var(--c-margin) * 6);
    }

    .QA-wrapper{
        border-left: solid 4px var(--c-brown);
        border-right: solid 4px var(--c-brown);
    }

    ul.QA-contents_list .title:hover{
        opacity: .6;
    }

    /*-----------*/
    /*supporter
    /*-----------*/
    .supporter{
        padding-bottom: calc(var(--c-margin) * 6);
    }

    .supporter-list>dl.supporter-list_item>dt{
        width: min(15rem);
        letter-spacing: .2em;
    }
    .supporter-list>dl.supporter-list_item>dd{
        width: calc((100% - min(1rem, 3vw)) - min(15rem));
    }


}

@media screen and (min-width:1024px) {
    .supporter-list{
        grid-template-columns: repeat(2, 1fr);
    }
}

/*-----------*/
/*footer
/*-----------*/
footer{
    background: var(--c-brown);
    color: var(--color-white);
    position: relative;
    padding: min(6rem, 8vw) 0 min(2rem, 8vw);
    text-align: center;
}

ul.footer-links{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: min(4rem,4vw);
}

ul.footer-links li{
    width: 100%;
}

.linkBtn-tel .linkBtn-text{
    font-size: min(1.7rem,3.24vw);
    text-align: left;
    line-height: 1.3;
}

.linkBtn-tel .linkBtn-text p.tel{
    font-family: var(--roboto);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding-top: min(.6rem);
}

.linkBtn-tel .linkBtn-text p.tel span{
    font-size: min(3.54rem, 8vw);
    line-height: 1;
}

.linkBtn-tel .linkBtn-text p.company span{
    display: block;
    font-size: 82%;
}

.linkBtn-tel .linkBtn-text p.company{
    padding-bottom: min(.5rem);
}

.footer-bottom{
    padding: min(4rem, 6vw) 0 min(2rem, 2vw);
}

.footer-bottom p{
    font-size: min(2.24rem,4.4vw);
}


@media screen and (min-width:768px) {
    /*-----------*/
    /*footer
    /*-----------*/
    footer small{
        display: block;
        text-align: center;
        font-weight: 400;
        font-size: min(1.14rem);
    }

    a.pageTop{
        position: absolute;
        top: -24px;
        right: 4vw;
        width: 66px;
    }

    .linkBtn-tel .linkBtn-text p.company span{
        display: contents;
    }
}


@media screen and (min-width:1024px) {
    ul.footer-links li{
        width: calc((100% - min(4rem)) / 2);
    }

    ul.footer-links .linkBtn{
        min-height: 17rem;
    }
}

@media screen and (min-width: 768px){
    :root{
        --c-margin: 28px;
    }
    /*-----------*/
    /*common
    /*-----------*/
    body{
        font-size: 1.6rem;
    }

    .section-wrapper {
        padding: 56px 52px;
    }
}