@charset "utf-8";

/* メインイメージ
------------------------------------------------------------ */
#mainimage {
  position: relative;
}
#mainimage .mainimage-in{
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  overflow: hidden;
  margin-bottom: 1em;
}
#mainimage .slick-list {
padding: 0 !important;
margin: 0 -15px;
}
#mainimage .slick-slide {
margin: 0 15px;
width: 100%;
}
#mainimage .slick-vertical .slick-slide{
  border: none;
}
#mainimage .slider-dots {
  position: absolute;
  bottom: 0.5%;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  list-style: none;

  li {
    display: inline-block;
    width: calc(25% - 8px);

  }

  button {
    position: relative;
    width: 100%;
    height: 4px;
    border: 0;
    background-color: #ccc;
    font-size: 0;

    &:after {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      display: block;
      width: 0%;
      height: 100%;
    }
  }

  .slick-active {
    button:after {
      background-color: #000;
      animation: progress 5.5s linear forwards;
    }
  }
}

@keyframes progress {
  from {
    width: 0%;
  }

  to {
    width: 100%;
  }
}
/*
#mainimage .main-mov{
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  overflow: hidden;
  margin-bottom: 1em;
}
 */
#mainimage .main-slider{padding: 0;}
#mainimage .main-slider video{
  width: 100vw;
  height: 100vh;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: cover;
}
#mainimage .mainname{
  position: absolute;
  width: 18%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
#mainimage .mainname h2{}
#maincatch{position: relative;}
#maincatch::before{
    content: "";
    position: absolute;
    display: block;
    background: url(../img/common/bg02_top.png) 50% 0% no-repeat;
    background-size: contain;
    width: 100vw;
    height: 800px;
    min-height: 50vh;
    top: -10%;
    z-index: -2;
  }
#maincatch .catch{
  position: relative;
  display: block;
  width: 100vw;
  height: 40vh;
}
#maincatch .catch-in .catch-ttl{
  position: absolute;
  left: 2%;
}
#maincatch .catch h2{
  font-size: 3.5em;
  letter-spacing: 0.4em;
  display: inline;
}
#maincatch .catch .c-ttl01{
}
#maincatch .catch .c-ttl02{
  margin-top: -0.2em;
  margin-left: 0em;
  display: block;
  background: none;
}
#maincatch .catch .catch-catch{
  position: absolute;
  font-size: 2em;
  letter-spacing: 0.2em;
  bottom: 38%;
  left: 2%;
  line-height: 1.4em;
}

 /*-----画像-----*/
.m-img img{}

@media screen and (min-width:1025px) and ( max-width:1300px) {}
@media screen and (min-width:521px) and ( max-width:1024px) {
  #mainimage .mainname {width: 30%;}
  #maincatch .catch h2 {font-size: 3em;}
  #maincatch .catch .catch-catch {bottom: 40%;}

}
@media screen and (max-width: 520px) {
  #maincatch .catch h2 {
    font-size: 1.8em;
    padding: 0;
}

#maincatch .catch .catch-catch {
    font-size: 1em;
    bottom: 26%;
    left: 2%;
    line-height: 1.6em;
}
#mainimage .mainname { width: 35%;}

}

/* メインコンテンツ
------------------------------------------------------------ */
@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {}
@media screen and (max-width: 375px) {}

 /*-----section05-----*/
#section05{
  position: relative;
  padding: 10vw 0 0vw 0;
  background: #fff;
 }
#section05::before{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg01_md2.png) 50% 50% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  top: -15%;
  z-index: -2;
}
#section05::after{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg02_under.png) 50% 100% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  bottom: 0%;
  z-index: -2;
}
#section05 .ttlbox{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#section05 .ttlbox .more a{
  border-bottom: 1px solid #000;
  padding: 0.2em 2em;
  letter-spacing: 0.4em;
}
#section05 .newsbox{
      padding: 4em 0;
}
#section05 .newsbox li{
  position: relative;
  padding: 2em 1em;
  border-bottom: 1px solid #000;
}
#section05 .newsbox li span{margin-right: 3em;}
#section05 .newsbox li a::after {
    content: "";
    position: absolute;
    right: 1%;
    top: 45%;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 10px;
    border-top: 1px solid #828282;
    border-right: 1px solid #828282;
    transform: rotate(45deg);
    transition: all 0.2s ease-in-out;
}
#section05 .newsbox li a:hover:after {
    right: 0;
    border-top: 1px solid #969696;
    border-right: 1px solid #969696;
}
@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
  #section05::before {
    width: 100vw;
    height: 260px;
    min-height: 25vh;
    top: -38%;
}
#section05 .newsbox { padding: 2em 0;}
#section05 .newsbox li { padding: 1em 0.5em;}
#section05 .newsbox li span {
    margin-right: 1em;
    font-size: 0.8em;
}
#section05 .newsbox li a { font-size: 0.8em;}
#section05 .newsbox li a::after {
    right: 1%;
    top: 46%;
    width: 8px;
    height: 8px;
}

}

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

/*  #scrollimage  */
.slide-animation {
    display: flex;
    gap: 0px;
    overflow: hidden;
}
.slide-contents {
    display: flex;
    gap: 0px;
    animation: loopAnimation 90s linear infinite;
}
.slide-animation li {
    width: calc(100vw / 4);
}
.slide-contents {
    display: flex;
    gap: 0px;
    animation: loopAnimation 90s linear infinite;
}
.slide-contents-right {
    display: flex;
    gap: 0px;
    animation: loopAnimation-right 100s linear infinite;
}
@keyframes loopAnimation {
  from {transform: translateX(0);}
  to {transform: translateX(-100%);}
}
@keyframes loopAnimation-right {
  from {transform: translateX(-100%);}
  to {transform: translateX(0%);}
}
@media screen and (min-width:521px) and ( max-width:1024px) {
  .slide-animation li { width: calc(100vw / 3);}

}
@media screen and (max-width: 520px) {
  .slide-animation li {
    width: calc(100vw / 2);
}
}
@media screen and (max-width: 375px) {}

 /*-----CONCEPT-----*/

 @media screen and (min-width:521px) and ( max-width:1024px) { }
 @media screen and (max-width: 520px) {}

   /*-----LOCATION-----*/
@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {}

/*-----#section01-----*/
#section01 {
    position: relative;
    padding: 5vw 0 1vw;
}
#section01::before{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg02_top.png) 50% 0% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  top: 0%;
  z-index: -2;
}
#section01::after{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg03_under.png) 50% 100% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  bottom: 0%;
  z-index: -2;
}
#section01 .clum02{
  justify-content: space-between;
  margin: 5vw auto 0;
}
#section01 .clum02 .txt{ width: 60%;}
#section01 .clum02 .txt p{
  line-height: 2.5em;
  font-weight: 400;
}
#section01 .clum02 .img{
  position: relative;
  width: 35%;
  text-align: right;
}
#section01 .clum02 .img img{
  width: 70%;
  text-align: right;
}
#section01 .clum02 .img img.img-right02{
  position: absolute;
  bottom: -35%;
  right: 30%;
  width: 80%;
}
#section01 .imgarea{
  position: relative;
  height: 50vw;
  width: 100%;
}
#section01 .imgarea .bgimg01{
  position: absolute;
  top: -10%;
  left: -5%;
  width: 55%;
}
#section01 .imgarea .bgimg02{
  position: absolute;
  left: 42%;
  bottom: 2%;
  width: 20%;
}
#section01 .imgarea-in-right{
  position: absolute;
  top: 30%;
  right: -5%;
  width: 35%;
  }
  #section01 .imgarea2{
    position: relative;
    height: 50vw;
    width: 100%;
  }
  #section01 .imgarea2 .bgimg05{
    position: absolute;
    top: -42%;
    left: 0%;
    width: 35%;
  }
  #section01 .imgarea2 .bgimg02{
    position: absolute;
    top: 1%;
    left: 22%;
    width: 18%;
  }
  #section01 .imgarea2 .bgimg06{
    position: absolute;
    right: -24%;
    top: -17%;
    width: 58%;
}
  #section01 .imgarea2 .bgimg07{
    position: absolute;
    right: 3%;
    bottom: 20%;
    width: 35%;
}

@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
  #section01 {padding: 5vw 0 10vw;}
  #section01 .clum02 .txt { width: 100%;}
#section01 .clum02 .txt p {font-size: 0.9em;}
#section01 .clum02 .img {
  width: 100%;
  margin: 1em auto;
}
#section01 .clum02 .img img.img-right01 {
    width: 50%;
}
#section01 .clum02 .img img.img-right02 {
  bottom: -10%;
  right: 30%;
  width: 60%;
}
#section01 .imgarea {
    height: 80vw;
}
#section01 .imgarea .bgimg01 {
    position: absolute;
    top: 6%;
    left: -5%;
    width: 68%;
}
#section01 .imgarea .bgimg02 {
    position: absolute;
    left: 71%;
    bottom: 34%;
    width: 33%;
}
#section01 .imgarea-in-right {
    position: absolute;
    top: 57%;
    right: unset;
    width: 60%;
    left: 20%;
}
}

/*-----#section02-----*/
#section02{
   position: relative;
   padding: 8vw 0;
   background: #fff;
 }
#section02 .ttl01{letter-spacing: 0.1em;}
#section02 .tab-container{ margin: 5vw auto;}
#section02 .tab-container-btn{
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #aaaaaa;
}
 #section02 .tab {
   height: 3em;
   width: 10em;
   line-height: 3em;
   text-align: center;
   font-size: 16px;
   background: #ebebeb;
margin-right: 1em;
   cursor: pointer;
   transition: .3s;
 }
#section02 .tab::after{
 content: "";
display: inline-block;
background-color: #000;
width: 12px;
height: 10px;
margin-left: 10px;
clip-path: polygon(0 0, 100% 0%, 50% 100%);
transition: .3s;
}
 #section02 .tab:hover{
   background-color: black;
   color: white;
 }
 #section02 .tab:hover:after{
   background-color: #fff;
 }
#section02 .selected {
     background-color: black;
     color: white;
     border: none;
 }
#section02 .selected.tab:after{
  background-color: #fff;
}
 #section02 #Tabcontainer {
   position: relative;
   width: 60em;
   height: 55em;
   overflow: hidden;
   margin: 6em auto 3em;
 }

 #section02 .box {
  display: inline-block;
  white-space: nowrap;
  position: absolute;
  width: 60em;
  height: 60em;
  cursor: pointer;
 }

 #section02 #first {
     top: 0px;
     left: 0px;
 }

 #section02 #second {
     top: 0px;
     left: 60em;
 }

 #section02 #third {
     top: 0px;
     left: 120em;
 }

 #section02 #four {
     top: 0px;
     left: 180em;
 }
 #section02 #five {
     top: 0px;
     left: 240em;
 }
 #section02 #slide {
     transition: transform 1s ease-in-out 0s;
     -moz-transition: -moz-transform 1s ease-in-out 0s;
     -webkit-transition: -webkit-transform 1s ease-in-out 0s;
 }

 .move-to-second {
     transform: translateX(-60em);
     -moz-transform: translateX(-60em);
     -webkit-transform: translateX(-60em);
 }

 .move-to-third {
     transform: translateX(-120em);
     -moz-transform: translateX(-120em);
     -webkit-transform: translateX(-120em);
 }

 .move-to-first {
     transform: translateX(0px);
     -moz-transform: translateX(0px);
     -webkit-transform: translateX(0px);
 }

 .move-to-four {
     transform: translateX(-180em);
     -moz-transform: translateX(-180em);
     -webkit-transform: translateX(-180em);
 }
 .move-to-five {
     transform: translateX(-240em);
     -moz-transform: translateX(-240em);
     -webkit-transform: translateX(-240em);
 }
 #section02 .sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}
 #section02 .slick_thumb .slick-track {
transform:unset!important;
}
 #section02 .slick-slide {
  margin: 0 5px;
}

 #section02 .slick-slide img {
  width: 100%;
  height: auto;
}
 #section02 .slick-prev, .slick-next {
  z-index: 1;
}
 #section02 .slick-prev:before, .slick-next:before {
  color: #000;
}
 #section02 .slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
 #section02 .slick-active {
  opacity: 1;
}
 #section02 .slick-current {
  opacity: 1;
}
 #section02 .thumb {
  margin: 20px 0 0;
}
 #section02 .thumb .slick-track {
transform:unset!important;
}
 #section02 .thumb .slick-slide {
  cursor: pointer;
}
 #section02 .thumb .slick-slide:hover {
  opacity: .7;
}

 #section02 .pdf-btn{
  margin: auto;
  width: 100%;
  text-align: center;
  padding: 2em 0 0em;
}
 #section02 .pdf-btn .btn a {
    background: #323232;
    color: #fff;
}
 #section02 .pdf-btn .btn a::before { background: #ebebeb;}
 #section02 .pdf-btn .btn a:hover { color: #323232;}
@media screen and (min-width:521px) and ( max-width:1024px) {
  #section02 .box {
    width: 50em;
    height: 30em;
}
  #section02 .sliderArea { padding: 0px 10px;}

}
@media screen and (max-width: 520px) {
  #section02 .tab-container-btn {
    border-bottom: none;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#section02 .tab {
  height: 3em;
  width: 48%;
  line-height: 3em;
  text-align: center;
  font-size: 0.8em;
  background: #ebebeb;
  margin-right: 0.5em;
  cursor: pointer;
  transition: .3s;
  margin-bottom: 0.5em;
}
#section02 .selected {
    background-color: black;
    color: white;
    border: none;
}
#section02 .tab::after {
    width: 10px;
    height: 8px;
    margin-left: 8px;
}
#section02 #Tabcontainer {
    width: 100%;
    height: 22em;
    margin: 2em auto;
}
#section02 .box {
    width: 100%;
    height: 22em;
}
#section02 .sliderArea {
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 0px;
}
#section02 .pdf-btn {
    padding: 0em;
}
}

/*-----#section03-----*/
#section03{
  position: relative;
  padding: 8vw 0 0;
}
#section03::before{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg03_top.png) 50% 0% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  top: 0%;
  z-index: -2;
}
#section03::after{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg01_md2.png) 50% 50% no-repeat;
  background-size: cover;
  width: 100vw;
  height: 300px;
  min-height: 50vh;
  bottom: -20%;
  z-index: -2;
}
#section03 .servicearea02 .txtarea{
border-top: 1px solid #999999;
padding-top: 4em;
margin-top: 4em;
}
#section03 .servicearea02 .imagearea ul,
#section03 .servicearea02 .txtarea ul{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#section03 .servicearea02 .imagearea ul li,
#section03 .servicearea02 .txtarea ul li {
    width: 32%;
    margin-bottom: 3%;
    margin-right: 1%;
}
#section03 .servicearea02 .imagearea ul li:nth-child(3n),
#section03 .servicearea02 .txtarea ul li:nth-child(3n){
  margin-right: 0%;
}
#section03 .servicearea02 ul li .txt {
    margin: 1em auto 0;
}
#section03 .servicearea02 ul li .txt h3 {
    position: relative;
    border-bottom: 1px solid #cacaca;
    padding: 0 0 0.5em 0.5em;
    letter-spacing: 0.1em;
}
#section03 .servicearea02 ul li .txt h3 span {
    font-size: 0.8em;
    margin-left: 1em;
}
#section03 .servicearea02 ul li .txt p{ padding: 1em 0.5em;}

@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
  #section03::after {
    content: "";
    position: absolute;
    display: block;
    background: url(../img/common/bg01_md2.png) 50% 100% no-repeat;
    background-size: contain;
    width: 100vw;
    height: 200px;
    min-height: 25vh;
    bottom: -3%;
    z-index: -2;
}
  #section03 .servicearea02 .imagearea ul li,
  #section03 .servicearea02 .txtarea ul li {
    width: 100%;
    margin-bottom: 3%;
    margin-right: 0%;
}
#section03 .servicearea02 ul li .txt h3 { font-size: 0.9em;}
#section03 .servicearea02 ul li .txt p { font-size: 0.9em;}
#section03 .servicearea02 .txtarea {
    padding-top: 2em;
    margin-top: 1em;
}

}

/*-----#section04-----*/
#section04{
  position: relative;
  padding: 8vw 0;
}
#section04::after{
  content: "";
  position: absolute;
  display: block;
  background: url(../img/common/bg03_under.png) 50% 100% no-repeat;
  background-size: contain;
  width: 100vw;
  height: 800px;
  min-height: 50vh;
  bottom: 0%;
  z-index: -2;
}
#section04 .ttl01{
letter-spacing: 0.1em;
}

#section04 .ttl03{
  padding: 1em 0.5em;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #aaaaaa;
}
#section04 .ttl03 span{
display: block;
font-size: 0.8em;
letter-spacing: 0;
}
#section04 .price{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 2em 0.5em 0;
}

#section04 .price dl{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  letter-spacing: 0.2em;
  font-size: 1.1em;
}
#section04 .price dl:first-child{ margin-right: 5em;}
#section04 .price dt{
    margin-right: 2em;
  }
#section04 .price dt::after{
  content: "：";
}
#section04 .s-list{ margin: 2em 0 2em 0.5em;}
#section04 .s-list ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
#section04 .s-list li {
    margin-right: 1em;
    margin-bottom: 1em;
    min-width: 11em;
}
#section04 .s-list li:last-child {
    margin-right: 0;
}
#section04 .s-list .poss {
    padding: 0.5em 1.5em 0.5em 1em;
    background: #000;
    color: #fff;
}
#section04 .s-list .poss::before {
    content: "○";
    padding-right: 1em;
}
#section04 .txt{
  margin: 2em 0 2em 0.5em;
  line-height: 2em;
}
#section04 .image .clum{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#section04 .image .clum .img{width: 48%;}
#section04 .optionarea{ margin: 8em auto;}
#section04 .optionarea .optionarea-txt{ padding: 2em 0.5em 0;}
#section04 .optionarea .optionarea-txt p{ margin-bottom: 1em;}
#section04 .optionarea .optionarea-txt p:last-child{margin-bottom: 0em;}

@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
  #section04 { margin-top: 4em;}
  #section04 .ttl03 {
    padding: 2em 0.5em 0.5em;
    font-size: 1.2em;
}
#section04 .price { padding: 2em 0em 0;}

#section04 .price dl {
  width: 100%;
  font-size: 1em;
}
#section04 .price dl:first-child {
  margin-right: 0;
  margin-bottom: 0.5em;
}
#section04 .price dt {
  width: 100%;
  border-bottom: 1px solid #000;
  padding: 0.5em;
  margin-right: 0em;
  font-size: 0.9em;
}
#section04 .price dd{
  width: 100%;
  font-size: 0.9em;
  padding: 0.5em;
}
#section04 .s-list{ margin: 2em 0 2em 0em;}
#section04 .s-list li {
    margin-right: 0.4em;
    margin-bottom: 0.5em;
}
#section04 .s-list li:nth-child(2n){
  margin-right: 0;
}
#section04 .s-list .poss {
    padding: 0.5em 0.8em;
    font-size: 0.8em;
    min-width: 31vw;
}
#section04 .s-list .poss::before {
    content: "○";
    padding-right: 0.5em;
}
#section04 .txt {
    margin: 2em 0 2em 0em;
    font-size: 0.9em;
}
#section04 .image .clum .img { width: 100%;}
#section04 .image .clum .img:first-child{margin-bottom: 0.5em;}
#section04 .optionarea { margin: 2em auto;}
#section04 .optionarea .optionarea-txt {
    padding: 1em 0.5em 0;
}
#section04 .optionarea .optionarea-txt p {
    margin-bottom: 1em;
    font-size: 0.9em;
}
}

/*-----#section06-----*/
#section06{
  padding: 6em 0;
  background: #fff;
}
#section06 .ava-area-in{
  width: 100%;
  margin: 5em 0.5em 2em;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#section06 .ava-area-in dl{
  width: 32%;
  margin-right: 1%;
}
#section06 .ava-area-in dl:last-child{
margin-right: 0%;
}
#section06 .ava-area-in dt{}
#section06 .ava-area-in dt a{
}
#section06 .ava-area-in dt a:hover img {
    opacity: 0.5;
}
#section06 .ava-area-in dt img{
		width: 100%;
		height: auto;
		max-width: 100%;
}
#section06 .ava-area-in dd{ padding: 1em 0;}
#section06 .ava-area-in dd h3{
  font-size: 1.1em;
  letter-spacing: 0.1em;
  padding: 0 1em 0.6em;
  border-bottom: 1px solid #bbbbbb;
}
#section06 .ava-area-in dd .txt{
  padding: 1.2em 1em;
  font-weight: normal;
  min-height: 8em;
  font-size: 0.9em;
}
#section06 .ava-area .txtlink{text-align: right;}
@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
#section06 {padding: 3em 0;}
#section06 .ava-area-in {
    width: 100%;
    margin: 2em 0em 2em;
    padding: 0 0.5em;
}
#section06 .ava-area-in dl {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1em;
}
#section06 .ava-area-in dd h3 {
    font-size: 0.9em;
    padding: 0 0.5em 0.6em;
}
#section06 .ava-area-in dd .txt {
    padding: 1em 0.6em;
    min-height: 8em;
    font-size: 0.8em;
}

}

/*-----#section07-----*/
#section07 {
  position: relative;
  padding: 5vw 0 8vw;
}
#section07::before{
content: "";
position: absolute;
display: block;
background: url(../img/common/bg02_top.png) 50% 0% no-repeat;
background-size: contain;
width: 100vw;
height: 800px;
min-height: 50vh;
top: 0%;
z-index: -2;
}
#section07::after{
content: "";
position: absolute;
display: block;
background: url(../img/common/bg03_under.png) 50% 100% no-repeat;
background-size: contain;
width: 100vw;
height: 800px;
min-height: 50vh;
bottom: 0%;
z-index: -2;
}
#section07 .txtbox{ margin: 4em auto;}
#section07 .txtbox h3{
  font-size: 1.4em;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
#section07 .maparea{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#section07 .maparea .left-txt{
  position: relative;
  width: 48%;
}
#section07 .maparea dl{ margin-bottom: 3em;}
#section07 .maparea dt{
  border-bottom: 1px solid #999999;
  padding: 0.5em 1em;
}
#section07 .maparea dd{
  padding: 0.5em 1em;
}
#section07 .maparea .maplink{
  position: absolute;
  bottom: 0;
  right: 0;
}
#section07 .maparea .right-img{width: 50%;}
#section07 .maparea .right-img .img{
  background: #fff;
  padding: 0.5em;
}
@media screen and (min-width:521px) and ( max-width:1024px) {}
@media screen and (max-width: 520px) {
  #section07 {padding: 8vw 0;}
  #section07 .txtbox { margin: 2em auto;}
  #section07 .txtbox h3 {
    font-size: 1.2em;
    margin-bottom: 1em;
}
  #section07 .txtbox .txt{font-size: 0.9em;}
  #section07 .maparea .left-txt {width: 100%;}
  #section07 .maparea dl {
    margin-bottom: 1em;
    font-size: 0.9em;
  }
  #section07 .maparea dl:last-child{margin-bottom: 3em;}
  #section07 .maparea dt {padding: 0.5em;}
  #section07 .maparea .maplink {
    bottom: -15%;
    right: 0;
}
  #section07 .maparea .right-img {
    width: 100%;
    padding: 5em 0 2em;
}
}
