.ttl-style-1 {
  text-align: center;
}

.ttl-style-1 .jp, .ttl-style-1 .en {
  display: block;
}

.ttl-style-1 .jp {
  font-weight: 700;
  font-size: 4vw;
  line-height: 1.5;
  letter-spacing: 0;
}

.ttl-style-1 .en {
  font-weight: 700;
  font-size: 10vw;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 70vw;
  margin: 0 auto 2vw;
}

@media screen and (min-width: 1000px) {
  .ttl-style-1 .jp {
    font-size: 24px;
    line-height: 36px;
  }
  .ttl-style-1 .en {
    font-size: 68px;
    width: 100%;
    margin-bottom: 9px;
  }
}

.bgcutout-style-1 {
  position: relative;
}

.bgcutout-style-1::before {
  content: "";
  background: #fff;
  -webkit-clip-path: polygon(calc(100% - 23vw) 0, 100% 13vw, 100% calc(100% - 29vw), 50% 100%, 0% calc(100% - 13vw), 0% 44vw);
  clip-path: polygon(calc(100% - 23vw) 0, 100% 13vw, 100% calc(100% - 29vw), 50% 100%, 0% calc(100% - 13vw), 0% 44vw);
  position: absolute;
  top: -50vw;
  bottom: -29vw;
  left: 0;
  right: 0;
  z-index: -1;
}

@media screen and (min-width: 1000px) {
  .bgcutout-style-1::before {
    -webkit-clip-path: polygon(calc(100% - 348px) 0, 100% 200px, 100% calc(100% - 432px), 50% 100%, 0% calc(100% - 432px), 0% 667px);
    clip-path: polygon(calc(100% - 348px) 0, 100% 200px, 100% calc(100% - 432px), 50% 100%, 0% calc(100% - 432px), 0% 667px);
    top: -422px;
    bottom: -403px;
  }
}

@media screen and (min-width: 1560px) {
  .bgcutout-style-1::before {
    -webkit-clip-path: polygon(calc(100% - 348px) 0, 100% 200px, 100% calc(100% - 432px), 50% 100%, 0% calc(100% - 432px), 0% 667px);
    clip-path: polygon(calc(100% - 348px) 0, 100% 200px, 100% calc(100% - 432px), 50% 100%, 0% calc(100% - 432px), 0% 667px);
    top: -422px;
    bottom: -403px;
  }
}

.bgcutout-style-2 {
  position: relative;
}

.bgcutout-style-2::before {
  content: "";
  background: #f4f4f4;
  -webkit-clip-path: polygon(50% 0%, 100% 29vw, 100% calc(100% - 29vw), 50% 100%, 0% calc(100% - 29vw), 0% 29vw);
  clip-path: polygon(50% 0%, 100% 29vw, 100% calc(100% - 29vw), 50% 100%, 0% calc(100% - 29vw), 0% 29vw);
  position: absolute;
  top: -31vw;
  bottom: -29vw;
  left: 0;
  right: 0;
  z-index: -1;
}

@media screen and (min-width: 1000px) {
  .bgcutout-style-2 {
    padding: 208px 0 362px;
  }
  .bgcutout-style-2::before {
    -webkit-clip-path: polygon(50% 0%, 100% 433px, 100% calc(100% - 220px), 60% 100%, 0% calc(100% - 25vw), 0% 433px);
    clip-path: polygon(50% 0%, 100% 433px, 100% calc(100% - 220px), 60% 100%, 0% calc(100% - 25vw), 0% 433px);
    top: 0;
    bottom: 0;
  }
}

@media screen and (min-width: 1560px) {
  .bgcutout-style-2::before {
    -webkit-clip-path: polygon(50% 0%, 100% 433px, 100% calc(100% - 290px), 60% 100%, 0% calc(100% - 435px), 0% 433px);
    clip-path: polygon(50% 0%, 100% 433px, 100% calc(100% - 290px), 60% 100%, 0% calc(100% - 435px), 0% 433px);
    top: 0;
    bottom: 0;
  }
}

.bgcutout-style-3 {
  position: relative;
}

.bgcutout-style-3::before {
  content: "";
  background: #f8f6f0;
  -webkit-clip-path: polygon(27vw 0, 100% 41vw, 100% calc(100% - 42vw), 27vw 100%, 0 calc(100% - 15vw), 0 15vw);
  clip-path: polygon(27vw 0, 100% 41vw, 100% calc(100% - 42vw), 27vw 100%, 0 calc(100% - 15vw), 0 15vw);
  position: absolute;
  top: -44vw;
  bottom: calc(-44vw - 1px);
  left: 0;
  right: 0;
  z-index: -1;
}

.bgcutout-style-3.reverse {
  color: #000;
}

.bgcutout-style-3.reverse::before {
  background: #fff;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

@media screen and (min-width: 1000px) {
  .bgcutout-style-3::before {
    -webkit-clip-path: polygon(31vw 0, 100% 21vw, 100% calc(100% - 28vw), 37vw 100%, 0 calc(100% - 14vw), 0 15vw);
    clip-path: polygon(31vw 0, 100% 21vw, 100% calc(100% - 28vw), 37vw 100%, 0 calc(100% - 14vw), 0 15vw);
    top: -21.2vw;
    bottom: -20vw;
    right: 8vw;
  }
  .bgcutout-style-3.reverse {
    margin-left: 8vw;
  }
  .bgcutout-style-3.reverse::before {
    right: 0;
  }
}

@media screen and (min-width: 1560px) {
  .bgcutout-style-3 {
    min-width: 1350px;
    margin-right: 150px;
  }
  .bgcutout-style-3::before {
    -webkit-clip-path: polygon(528px 0, 100% 389px, 100% calc(100% - 392px), 529px 100%, 0 calc(100% - 255px), 0 254px);
    clip-path: polygon(528px 0, 100% 389px, 100% calc(100% - 392px), 529px 100%, 0 calc(100% - 255px), 0 254px);
    top: -270px;
    bottom: -346px;
    right: 0;
  }
  .bgcutout-style-3.reverse {
    margin-left: 150px;
    margin-right: 0;
  }
  .bgcutout-style-3.reverse::before {
    right: 0;
  }
}

section {
  padding: 72vw 0 54vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  section {
    padding-top: 80vw;
  }
}

@media screen and (min-width: 1000px) {
  section {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 800px 0 459px;
  }
}

@media screen and (min-width: 1200px) {
  section {
    padding-top: 497px;
  }
}

.section-2imgs .img1 img, .section-2imgs .img2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.section-2imgs .img1 {
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.section-2imgs .img2 {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

@media screen and (min-width: 1000px) {
  .section-2imgs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .section-2imgs .img1, .section-2imgs .img2 {
    width: 50%;
    height: 864px;
  }
  .section-2imgs .img2 {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

#sec1 {
  padding-bottom: 16vw;
}

#sec1 h2.ttl {
  font-weight: 500;
  font-size: 5.8vw;
  line-height: 1.9;
  letter-spacing: 0;
}

#sec1 .txtbox {
  margin-top: 8vw;
}

#sec1 .txtbox .txt {
  font-size: 15.5px;
  line-height: 1.9;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 768px) {
  #sec1 .txtbox .txt {
    font-size: 20px;
    line-height: 46px;
    letter-spacing: 0.02em;
  }
}

@media screen and (min-width: 1000px) {
  #sec1 {
    margin-bottom: -30px;
    padding: 12px 0 44px;
  }
  #sec1 h2.ttl {
    font-size: 40px;
    line-height: 1.9;
    letter-spacing: -0.01em;
    max-width: 647px;
    width: 100%;
    margin-left: auto;
  }
  #sec1 h2.ttl br.tablet {
    display: none;
  }
  #sec1 .ttlbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  #sec1 .txtbox {
    margin-top: 97px;
  }
  #sec1 .txtbox .txt br.tablet {
    display: none;
  }
}

#sec2 {
  margin-top: -56vw;
  padding-bottom: 16vw;
}
#sec2 h2{
  margin-bottom: 6vw;
}
#sec2 .row{
  text-align: left;
  margin-bottom: 5vw;
}
#sec2 .sttl{
  font-weight: 700;
}
#sec2 dl{
  padding-left: 15px;
  margin-bottom: 19px;
}
#sec2 dl dd{
  padding-left: 15px;
}
@media screen and (min-width: 768px) {
  #sec2 h2{
    margin-bottom: 45px;
  }
  #sec2 .row{
    margin-bottom: 36px;
  }
  #sec2 dl{
    padding-left: 20px;
    margin-bottom: 36px;
  }
  #sec2 dl dd{
    padding-left: 20px;
    letter-spacing: 0.06em;
  }
}

@media screen and (min-width: 1000px) {
  #sec2 {
    margin: -433px 0 0;
    padding: 30vw 0 30vw;
  }
}
@media screen and (min-width: 1560px) {
  #sec2 {
    padding: 202px 0 320px;
  }
}

#sec4 {
  margin-top: calc(60vw - 1px);
  padding-bottom: 9vw;
}

#sec4 .shopinfo {
  margin-top: 10vw;
}

#sec4 .shopinfo .link-map {
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#sec4 .shopinfo .link-map:hover {
  text-decoration: none;
}

#sec4 .shopinfo dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#sec4 .shopinfo dl + dl {
  margin-top: 27px;
}

#sec4 .shopinfo dl dt {
  width: 90px;
  font-weight: 500;
}

#sec4 .shopinfo dl dd {
  width: calc(100% - 90px);
}

#sec4 .shopinfo dl dd span {
  display: block;
}

#sec4 .shopinfo dl dd span + span {
  margin-top: 27px;
}
#sec4 .shopinfo dl dd a.link{
  text-decoration: underline;
}
#sec4 .shopinfo ul {
  list-style-type: decimal;
}
/* 
#sec4 .btn-link {
  margin-top: 12vw;
}

#sec4 .btn-link a {
  display: block;
  background: #de8903;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 21px;
  text-align: center;
  border-radius: 16px;
  position: relative;
  padding: 5px;
}
#sec4 .btn-link a:hover{
  text-decoration: none;
}
#sec4 .btn-link a:after {
  content: '';
  width: 17px;
  background-image: url("../img/shared/icon_arrow.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
} */

@media screen and (min-width: 768px) {
  /* #sec4 .btn-link{
    margin: 69px 0 0 0;
  }
  #sec4 .btn-link a{
   width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    font-size: 24px;
    padding: 22px;
    border-radius: 50px;
    transition: 0.3s all ease-in-out;
  }
  #sec4 .btn-link a:after{
    width: 22px;
    right: 38px;
  }
  #sec4 .btn-link a:hover{
    opacity: 0.8;
  } */
}

@media screen and (min-width: 1000px) {
  #sec4 {
    margin-top: 9.7vw;
    padding-bottom: 0;
  }
  #sec4 .ttl-style-1 .jp{
    margin-top: 10px;
  }
  #sec4 .ttlbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  #sec4 .shopinfo {
    max-width: 810px;
    width: 100%;
    margin: 60px auto 0;
  }
  #sec4 .shopinfo dl {
    font-size: 20px;
    line-height: 36px;
  }
  #sec4 .shopinfo dl + dl {
    margin-top: 36px;
  }
  #sec4 .shopinfo dl dt {
    width: 155px;
  }
  #sec4 .shopinfo dl dd {
    width: calc(100% - 155px);
    letter-spacing: 0.1em;
  }
  #sec4 .shopinfo dl dd span + span{
    margin-top: 18px;
  }
  #sec4 .shopinfo dl dd a.link:hover{
    text-decoration: none;
  }
  /* #sec4 .btn-link{
   margin-right: 116px;
  }
  #sec4 .btn-link a{
    width: 695px;
  } */
}
@media screen and (min-width: 1560px){
  #sec4 {
    margin-top: 90px;
  }
}

#sec5 {
  margin-top: 51vw;
  padding: 10vw 0 18vw;
  text-align: center;
}


#sec5 h2 {
  font-size: 5.1vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 6vw;
}
#sec5 h2 span{
  display: block;
  color: #ea7128;
  font-size: 8vw;
  line-height: 10vw;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 2vw;
}

#sec5 .txt {
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
  margin: 3vw 0 7vw;
}

#sec5 dl dt {
  text-align: left;
  font-size: 16px;
  letter-spacing: 0;
  margin-bottom: 1vw;
}

#sec5 dl + dl {
  margin-top: 4vw;
}

#sec5 ul {
  display: flex;
  margin: 0 -1%;
}

#sec5 ul li {
  width: 24%;
  margin: 0 1%;
}

#sec5 ul li{
  background: #199fd7;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  border-radius: 15px;
  padding: 5px;
}
#sec5 ul li a{
  display: block;
  width: 100%;
  height: 100%;
}
#sec5 ul li a:hover{
  text-decoration: none;
}
@media screen and (max-width: 999px){
  #sec5:before {
    clip-path: polygon(69% 0%, 100% 15vw, 100% calc(100% - 29vw), 70% 100%, 0% calc(100% - 40vw), 0% 39vw);
  }
}
@media screen and (min-width: 1000px){
  #sec5{
    margin-top: 9.8vw;
    padding: 279px 0 419px 0;
  }
  #sec5:before{
    clip-path: polygon(55vw 0%, 100% calc(100% - 60vw), 100% calc(100% - 20vw), 60vw 100%, 0% calc(100% - 25vw), 0% 30vw);
    left: 4vw;
  }
  #sec5 h2{
    font-size: 30px;
    line-height: 36px;
  }
  #sec5 h2 span{
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 15px;
  }
  
  #sec5 .txt{
    font-size: 18px;
    line-height: 28px;
    margin: 19px 0 76px;
  }
  #sec5 dl{
    width: 100%;
    display: table;
    padding-left: 63px;
  }
  #sec5 dl dt {
    width: 130px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 20px;
    margin-bottom: 0;
  }

  #sec5 dl + dl {
    margin-top: 20px;
  }
  #sec5 dl dd{
    display: table-cell;
    vertical-align: middle;
    padding-left: 15px;
  }
  #sec5 ul {
    margin: 0;
  }

  #sec5 ul li {
    width: 156px;
    margin: 0 8px;
  }

  #sec5 ul li{
    font-size: 20px;
    border-radius: 25px;
    transition: 0.3s all ease-in-out;
    padding: 4px;
  }
  #sec5 ul li a:hover{
    opacity: 0.8;
  }
}
@media screen and (min-width: 1560px){
  #sec5{
    margin-top: 95px;
    padding-left: 148px;
  }
  #sec5:before{
    clip-path: polygon(61% 0%, 100% 255px, 100% calc(100% - 255px), 60% 100%, 0% calc(100% - 392px), 0% 392px);
    left: 148px;
  }
}

#sec6 {
  margin-top: 62vw;
  padding-bottom: 10vw;
  color: #000;
}

#sec6:before {
  background: #fff;
}

#sec6 .policy {
  margin-top: 15px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  font-size: 16px;
}

#sec6 .policy dt {
  font-weight: 600;
}

#sec6 .policy dd {
  font-weight: 100;
}

#sec6 .set2 {
  margin-top: 10vw;
}

#sec6 .set2 .txtbox {
  margin-bottom: 5vw;
}

@media screen and (min-width: 768px) {
  #sec6 {
    margin: 63.2vw 0 0 0;
  }
  #sec6:before{
    bottom: -220px;
  }
  #sec6 .ttl-style-1 .jp{
    margin-top: 16px;
  }
  #sec6 .policy {
    margin-top: 49px;
    padding: 17px 31px 13px;
    line-height: 26px;
  }
  #sec6 .set2 {
    margin-top: 38px;
  }
  #sec6 .set2 .txtbox {
    margin-bottom: 50px;
  }
  #sec6 .set2 .txtbox .txt {
    font-size: 16px;
    line-height: 30px;
  }
}

@media screen and (min-width: 1000px) {
  #sec6 {
    padding: 0;
    margin-left: 4vw;
    margin-top: 26vw;
  }
  #sec6:before{
    clip-path: polygon(31vw 0, 100% 33vw, 100% calc(100% - 22vw), 37vw 100%, 0 calc(100% - 17vw), 0 15vw);
    bottom: -360px;
    right: 0;
  }
  #sec6 .fc-form .form-value:not(.pr0) {
    padding-right: 113px;
  }
  #sec6 .set1 {
    width: 810px;
    margin: 0 auto;
  }
  #sec6 .set2 {
    width: 810px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 1560px){
  #sec6{
    margin-left: 148px;
    margin-top: 404px;
    padding-top: 62px;
  }
  #sec6:before{
    clip-path: polygon(528px 0, 100% 389px, 100% calc(100% - 392px), 529px 100%, 0 calc(100% - 255px), 0 254px);
  }
}