@charset "UTF-8";
/* general 
-------------------------------------------- */
:root {
  --color-pink: #f2559e;
  --color-red: #ff0000;
  --color-blue: #005178;
  --color-blue2: #000333;
  --color-yellow: #ebd679;
  --color-yellow2: #fff000;
  --color-yellow3: #fff8ca;
  --color-mint: #00b3c4;
  --color-iyo: #007260;
  --color-black: #1c1c1c;
  --color-gray: #f5f5f5;
  --color-green: #407a80;
  --color-gold: #d4a659;
  --gradation: linear-gradient(180deg,rgba(11, 19, 43, 1) 0%, rgba(29, 32, 135, 1) 52%, rgba(93, 193, 207, 1) 95%);
  --fs-small: 14px;
  --fs-medium: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
  --fs-large: 1.5rem;
  --ff-gothic: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --ff-yu-go: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --ff-yu-go-l: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --ff-rubik: "Rubik", sans-serif;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 16px;
  /* scroll-behavior: smooth; */
}
body {
  font-family: var(--ff-gothic);
  line-height: 1.75;
  color: var(--color-black);
}
h1,h2,h3,h4,h5,h6,p,a,li,figcaption,dt,dd,th,td,input,textarea,label {
  color: var(--color-black);
  color: inherit;
}

h1,h2,h3,h4,h5,h6 {
  font-weight: 700;
  font-family: var(--ff-gothic);
  font-feature-settings: "palt";
}
ol,ul {
  list-style: none;
}
img {
  max-width: 100%;
}
a {
  transition: all 0.3s ease-in-out;
  &:hover {
    text-decoration: none;
    opacity: 0.7;
    color: inherit;
  }
}
:is(p, ul):last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 640px) {
  a[href^="tel"] {
    pointer-events: none;
  }
}
@media screen and (min-width: 745px) {
  .sp-only {display: none !important}
}
@media screen and (max-width: 744px) {
  .pc-only {display: none !important}
}
/* parts
-------------------------------------------- */
.fs-small { font-size: var(--fs-small);}
.fs-medium { font-size: var(--fs-medium);}
.fs-large { font-size: var(--fs-large);}
.fs-20 { font-size: clamp(1.125rem, 0.911rem + 0.95vw, 1.625rem);}
.font-gothic { font-family: var(--ff-gothic);}
.color-pink { color: var(--color-pink);}
.color-white { color: #fff;}
.color-red { color: var(--color-red);}
.color-iyo {color: var(--color-iyo);}
.color-yellow {color: var(--color-yellow);}
.color-mint {color: var(--color-mint)}
.link-txt {
  text-decoration: underline;
  color: var(--color-pink);
  &:hover {
    color: var(--color-pink);
  }
}
[class*="link-arrow"] {
  font-weight: 700;
}
.link-arrow::before, .link-arrow-r::after, .link-arrow-l::before {
  content: "";
  background: url(../img/sevenstar-2609_arrow-down.svg) no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-right: 3px;
  vertical-align: center;
}
.link-arrow-r, .link-arrow-r:hover {
  color: var(--color-pink);
}
.link-arrow-r::after {
  transform: rotate(-90deg);
  margin-inline: 3px 0;
}
.link-arrow-l {
  color: #fff;
}
.link-arrow-l::before {
  transform: rotate(-90deg);
}
:where(ul, ol).fineindent {
  padding-left: 15px;
  & > li {
    text-indent: -1em;
  }
}
p.fineindent {
  margin-left: 1em;
  text-indent: -1em;
}
.fineindent._4em {
  padding-left: 4em
}
.fineindent._4em > li {
  text-indent: -4em;
}

.list-disc  {padding: 0}
.list-disc > li {
  padding-left: 1em;
  text-indent: -1em;
}
.list-disc > li::before {
  content: '●';
  color: #b2b2b2;
  font-size: 14px;
  margin-right: 2px;
}
.bg-yellow { background-color: var(--color-yellow);}
.bg-wht { background-color: #fff;}
.bg-pink { background-color: var(--color-pink);}
.bg-blue { background-color: var(--color-blue);}
.bg-gradation { background: var(--gradation);}
.bg-gray { background: var(--color-gray);}

#wrap {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media screen and (min-width: 640px) {
  body {}
}
@media screen and (max-width: 640px) {
  body {}
}


/* header
-------------------------------------------- */
header {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-inline: 10px;
  z-index: 100;
}
@media screen and (min-width: 960px) {
  header {position: fixed !important;}
  .uk-sticky-placeholder {display: none}
}
.header__iyogin {
  text-align: center;
  background: #fff;
}
.header__logo {
  padding: 10px 10px 10px 30px;
}
.header__nav {
  padding-right: 22px;
}
.header__nav .header__nav-inner {
  display: flex;
}
.header__nav .header__nav-inner > li {
  padding: 0 10px;
}
.header__container {
  background: #fff;
  position: relative;
  max-width: 1200px;
  margin: 10px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 2em;
}
.header.uk-sticky-fixed .header__container {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.header__nav-item::after {
    content: "";
    background: url(../img/sevenstar-2609_arrow-down.svg) no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    display: inline-block;
    margin-left: 3px;
    width: 16px;
    height: 16px;
    vertical-align: center;
}
@media screen and (max-width: 960px) {
  .header__container {
    display: block;
    background: #fff;
    border-radius: 2em;
  }
  .header__logo {
    padding: 10px;
    margin: auto;
    text-align: center;
  }
  .header__nav {
    display: block;
    overflow: scroll;
    display: none;
  }
  .header__nav .header__nav-inner {
    display: block;
    width: max-content;
    display: block;
    padding-bottom: 10px;
  }
  .header__nav .header__nav-inner > li {
    display: inline-block;
    width: auto;
  }
}
/* main
-------------------------------------------- */
main {
  display: block;
  background: #222;
  background: url(../img/sevenstar-2609_bg-star.svg);
  background-color: var(--color-pink);
}
@media screen and (min-width: 768px) {
  main{background-size: 75%;background-attachment: fixed;}
}
@media screen and (max-width: 767px) {
  main{
    background-image: url(../img/sevenstar-2609_bg-star_sp.svg);
    background-position: 50% -10vw;
    background-size: 106%;
  }
}
section {
  margin: 0;
  padding-block: 60px;
}
[class*="sec__inner"] {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.sec__inner-small {
  max-width: 1080px;
}
.sec__inner-x-small {
  max-width: 840px;
}
.sec__inner-xx-small {
  max-width: 640px;
}
@media screen and (max-width: 1100px) {
  section {
    padding-block: 40px;
  }
  [class*="sec__inner"] {
    padding-left: 10px;
    padding-right: 10px;
  }
  .sec__inner,
  .sec__inner-small,
  .sec__inner-x-small {
    max-width: 100%;
  }
}
#kv__area {
  margin: 0 auto;
  padding-block: 40px 30px;
  background: url(../img/sevenstar-2609_kv-bg.svg) no-repeat;
  background-size: cover;
  background-color: var(--color-pink);
  background-position: 100% 50%;
}
.kv__bottom {
  padding-inline: 10px;
}
@media screen and (min-width: 745px) {
  .kv__bottom {
    position: absolute;
    bottom: -184px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: 1;
  }
}
@media screen and (max-width: 744px) {
  #kv__area {
    background-image: url(../img/sevenstar-2609_kv-bg_sp.svg);
    padding-top: 0;
    padding-bottom: 45%;
    background-position: 50% -2vw;
  }
}
#kv__area .kv__container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
.sec__title {
  position: relative;
  text-align: center;
  color: var(--color-pink);
  font-weight: 700;
  font-size: clamp(1.75rem, 1.643rem + 0.48vw, 2rem);
  margin-bottom: min(7vw,40px);
}
.sec__title::before {
  content: '';
  background: url(../img/sevenstar-2609_kago.svg) no-repeat;
  background-color: #fff;
  background-position: 44% 50%;
  background-size: 55%;
  border-radius: 50%;
  display: inline-block;
  width: 110px;
  height: 110px;
  vertical-align: bottom;
  position: absolute;
  left: 50%;
  top: -110px;
  transform: translateX(-50%);
  padding: 20px;
  box-sizing: border-box;
}
@media screen and (max-width:640px) {
  .sec__title::before {
    display: block;
    margin-inline: auto;
    margin-bottom: 10px;
  }
}
.lead {
  font-size: 1.125rem;
  /* font-family: var(--ff-yu-go-l); */
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .lead { font-size: 1.3125rem;}
}
.support-list {
  gap: min(2vw, 20px);
}
.support-list > div:first-child {
  min-width: 3em;
}
.round {
  border-radius: 30px;
}
@media screen and (max-width: 640px) {
  .round {
    border-radius: 40px;
  }
}
.bg-wht.round {
  padding: min(15vw,60px) min(3vw,20px) min(3vw,20px);
}
.bg-wht.round:not(.narrow) {
  padding: min(15vw,60px) min(5vw,120px) min(10vw,60px);
}
.bg-pink-star {
  /* background: url(../img/sevenstar-2609_bg-star.svg) repeat-y;
  background-color: var(--color-pink); */
  background-size: 100%;
  background-attachment: fixed;
}
.bg-pink-star.rond-l {
  border-radius: 0 0 0 min(15vw,80px);
  position: relative;
  padding-top: 180px;
  padding-bottom: min(6vw, 60px);
}
@media screen and (max-width:744px) {
  .bg-pink-star.rond-l {
    padding-top: 0;
    margin-top: -25%;
  }
  .sec__privilege {
    padding-top: 0
  }
}
.bg-pink-star.rond-r {
  border-radius: 0 min(15vw,80px) 0 0;
  position: relative;
  padding-block: min(12vw, 120px);
}

/* 特典 */
.sec__privilege .bg-wht {
  position: relative
}
.sec__privilege .bg-wht::before{
  content: '';
  background: url(../img/torikaeru-1.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  width: 215px;
  height: 199px;
  right: 40px;
  top: -60px;
}
@media screen and (max-width:744px) {
  .sec__privilege .bg-wht::before{
    right: 0;
    width: max(20vw,107px);
    height: max(20vw,99px);
  }
}

.privilege-box {
  border: 4px solid var(--color-pink);
  border-radius: 30px;
  background-color: #feeef5;
}
.privilege-box .item h2 {
  margin-bottom: 10px;
}
.privilege-box.__2 {
  border-color: var(--color-gold);
  background-color: #f4e9d5;
  margin-top: 30px;
}
.privilege-box > div:not(.coupon) {
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.privilege-box > div:first-child .tokuten {
  color: #fff;
  background: var(--color-pink);
  display: grid;
  place-content: center;
  font-size: 1.625rem;
  font-weight: 700;
  width: 8em;
  height: 1.5em;
  text-align: center;
  transform: rotate(-45deg);
  position: absolute;
  left: -2em;
  top: 1em;
}
.privilege-box.__2 > div:first-child .tokuten {
  background: var(--color-gold);
}
.privilege-box:not(.__2) > div:first-child::after {
  content: '';
  display: block;
  width: 0;
  height: calc(100% - 40px);
  position: absolute;
}
.privilege-box .item .uk-flex {
  gap: min(2vw,15px);
}
@media screen and (min-width:960px) {
  .privilege-box .coupon {
    position: absolute;
    right: -5%;
    top: -30%;
  }
}
@media screen and (min-width:745px) {
  .privilege-box {
    border: 4px solid var(--color-pink);
  }
}
@media screen and (min-width:641px) {
  .privilege-box > div:first-child::after {
    border-right: 1px solid var(--color-pink);
    top: 20px;
    right: 0;
  }
}
@media screen and (max-width:640px) {
  .privilege-box:not(.__2) > div:first-child::after {
    width: calc(100% - 20px);
    height: 0;
    border-bottom: 1px solid var(--color-pink);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
  }
  
}
@media screen and (max-width:820px) and (min-width:641px) {
  .privilege-box > div:first-child .tokuten {
    left: -2.5em;
    top: 0.75em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width:640px) {
  .privilege-box > div:not(.coupon) {
    padding-top: 40px;
  }
  .privilege-box > div:first-child .tokuten {
    font-size: 1.25rem;
    left: -10vw;
    top: 5vw;
  }
}
/*ご利用方法*/
.uses-box {
  background: #ccf0f3;
  border: 4px solid #fff;
  border-radius: 40px;
  padding: 20px 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.uses-box .color-red {
  text-decoration: underline
}
.uses-anc {
  border-top:2px solid #ddd;
  border-bottom:2px solid #ddd;
  padding: min(3vw,20px) 10px;
  gap: min(1.5vw,15px);
}
@media screen and (max-width:640px) {
  .uses-anc {
    padding: min(3vw,20px) calc((100% - 8.25em) /2) 0;
    border-bottom: none;
  }
  .uses-anc > a {
    text-align: left;
  }
}
/*対象店舗*/
.shop-anc {
  --gap: 15px;
  gap: var(--gap);
  margin-inline: auto;
}
.shop-anc li {
  width: calc((100% - (var(--gap) * 2)) / 3);
  text-align: center;
}
@media screen and (max-width:960px) {
  .shop-anc li {
    width: calc((100% - (var(--gap) * 1)) / 2);
  }
}
@media screen and (max-width:640px) {
  .shop-anc li {
    width: 100%;
  }
}
.shop-anc li:not(:has(a)) {
  background: var(--color-blue);
  color: #fff;
  font-weight: 700;
  padding: 20px;
  border-radius: 10px;
}
.shop-anc li a {
  color: ;
  display: block;
  height: 100%;
  background: #f5f5f5;
  padding: 20px;
  position: relative;
  border: 1px solid #ccc;
  border-radius: 10px;
}
.shop-anc li a::after {
  content: '';
  background: url(../img/sevenstar-2609_blank-p.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 10px;
  top: calc(50% - 10px)
}
.btn-blank a {
  background: var(--color-pink);
  color: #fff;
  padding: 20px 40px;
  width: min(100%, 366px);
  margin-inline: auto;
  display: block;
  border-radius: 10px;
  position: relative;
  font-weight: 700;
  text-align: center;
}
.btn-blank a::after {
  content: '';
  background: url(../img/sevenstar-2609_blank-b.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width: 821px) {
  .trikaeru {
    position: absolute;
    /* right: 10vw; */
    left: min(calc(50% + 15vw), calc(50% + 220px));
    bottom: -105px;
    z-index: 1;
    width: min(30vw,426px);
  }
}

@media screen and (max-width: 820px) {
  .trikaeru {
    margin-top: -50px;
    padding-inline: 10px;
    text-align: center;
  }
}


/*対象カード*/
.sec__cards {
  background: #222;
  position: relative;
  z-index: 0;
  --size: 120px;
}
.sec__cards::before {
  content: '';
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23222%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M0%2C0h0c0%2C66.27%2C53.73%2C120%2C120%2C120h0s-120%2C0-120%2C0V0Z%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  display: inline-block;
  width: var(--size);/*  */
  height: var(--size);
  top: calc(-1 * var(--size));
  position: absolute;
}
.sec__cards::after {
  content: '';
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23222%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M0%2C0h0c66.27%2C0%2C120%2C53.73%2C120%2C120h0V0H0Z%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  display: inline-block;
  width: var(--size);/*  */
  height: var(--size);
  bottom: calc(-1 * var(--size));
  position: absolute;
  right: 0;
}
@media screen and (max-width: 744px) {
  .sec__cards {
    --size: 60px;
  }
}

.sec__cards .sec__title {
  color: #fff;
}
.sec__cards .sec__title::before,
.sec__summary .sec__title::before {
  content: none;
}
.sec__summary .sec__title {
  color: var(--color-blue);
}
.title-sub {
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 0;
}
.sec__cards .bg-gray {
  padding: min(5vw,30px);
  border-radius: 10px;
  text-align: center;
  border: 1px solid #666;
  background: #333;
  color: #fff;
}
.sec__cards .bankcard .bg-gray {
  height: 100%;
  display: flex;
  flex-direction: column;
  & .uk-text-center {
    flex-grow: 1;
    align-content: flex-end;
  }
}
.sec__cards .bg-gray p {
  margin-block: 0;
}
.sec__cards .bg-gray img {
  max-height: 101px;
}
@media screen and (max-width: 960px) and (min-width: 640px) {
  .sec__cards .bg-gray .uk-child-width-1-3 {
    justify-content: center;
    width: calc(140px * 3 + 30px);
    margin-inline: auto;
    column-gap: 15px;
  }
  .sec__cards .bg-gray .uk-child-width-1-3 > * {
    padding-left: 0;
    width: calc((100% - 30px) / 3);
  }
}
@media screen and (max-width: 640px) {
  .sec__cards .bg-gray img {
    max-height: 17vw;
  }
  .sec__cards .bankcard .bg-gray .uk-text-center{
    width: calc(100% / 3 - 15px);
    margin-inline: auto;
  }
}

/*概要*/
.summary-cont {
  background: rgba(255,255,255,0.9);
  border: 4px solid #fff;
  border-radius: 40px;
  position: relative;
  z-index: 0;
  padding: min(8vw,60px) min(5vw,60px);
}
.summary-cont dl dt {
  background: var(--color-blue);
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  padding: min(1vw, 10px) 10px;
  border-radius: 10px;
}
.summary-cont dl dd + dt {
  margin-top: 30px;
}
.summary-cont dl dd * {
}
.summary-cont dl dd {
  margin-top: 20px;
}
.link-blank::after {
  content: '';
  mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.44%22%20height%3D%2211.52%22%20viewBox%3D%220%200%2013.44%2011.52%22%3E%3Cg%20id%3D%22c%22%3E%3Cpath%20d%3D%22M3.102%2C0V4.189H0v7.331H9.305v-3.142h4.135V0H3.102Zm5.222%2C10.526H.981V6.284H3.102v2.095h5.222v2.148Zm4.082-3.196H4.135V3.142H12.406V7.331Zm0-5.236H4.135V1.047H12.406v1.047Z%22%20fill%3D%22%232d2d2d%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: contain;
  background-color: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: center;
  margin-left: 2px;
}
.trans-box {
  background: rgba(0,0,0,0.75);
  border-radius: min(10.25vw, 80px);
  padding: 10px;
  margin-top: 30px;
}
.gra-box {
  padding: 10px;
  position: relative;
  padding: min(10vw,40px) min(5vw,40px);
}
.gra-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 70px;
  border-radius: min(9.125vw, 70px);
  padding: 6px;
  background: linear-gradient(90deg,#c9e4cc,#f4f6cf,#f8ceb9, #f6c8dd, #c5bede, #c6e7f9);
  background: linear-gradient(90deg, rgba(201, 228, 204, 0.75), rgb(244, 246, 207, 0.75), rgba(248, 206, 185, 0.75), rgba(246, 200, 221, 0.75), rgba(197, 190, 222, 0.75), rgba(198, 231, 249, 0.75));
  -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask-composite: add, add;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.gra-box * {
  color: #fff;
}
.gra-box h3 ~ * {
  position: relative;
  z-index: 0;
}
.rond-box {
  border: 2px solid rgba(255,255,255,0.5);
  border-radius: min(4vw,2em);
  width: fit-content;
  padding: 5px min(5vw,30px);
  margin: 30px auto;
}
.tokutoku {
  margin: 60px auto;
  position: relative;
  text-align: center;
  width: fit-content;
}
.tokutoku .seven {
  position: absolute;
  right: -110px;
  right: max(-14vw,-110px);
  top: -65px;
}

@media screen and (max-width: 640px) {
  .tokutoku {
    width: 85%;
  }
  .tokutoku .seven {
    max-width: 159px;
  }
}

.sec__cp {
  padding-block: 50px;
}
.sec__cp h2 {
  font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
  margin-bottom: min(6vw,30px);
}


#contact h3 {
  font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
  font-family: var(--ff-yu-go-l);
  font-weight: 700;
}
#contact h3 + * {
  margin: 20px auto;
  font-size: 1.25rem;
  color: var(--color-iyo);
  font-weight: 700;
}
#totop {
  transition: ease 0.3s all;
  position: fixed;
  bottom: 20px;
  bottom: 5px;
  right: 20px;
  z-index: 100;
}
#totop a {
  content: '';
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%204%204%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23407a80%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20stroke-width%3A%20.15px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E6%96%87%E5%AD%97%22%20data-name%3D%22%E6%96%87%E5%AD%97%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%222%22%20cy%3D%222%22%20r%3D%222%22%2F%3E%20%3Cg%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%221%202%202%201%203%202%22%2F%3E%20%3Cline%20class%3D%22cls-2%22%20x1%3D%222%22%20y1%3D%223%22%20x2%3D%222%22%20y2%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
}
@media screen and (max-width: 640px) {
  #totop {
    right: 50%;
    transform: translateX(50%);
  }
}
.footer {
  padding: 60px 0 30px;
  background: #fff;
}
@media screen and (max-width: 640px) {
  #totop { bottom: 0}
  .footer {
    padding-bottom: 60px;
  }
}
.footer .contact {
  position: relative;
}

.footer .contact .color-iyo {
  font-size: clamp(0.875rem, 0.714rem + 0.71vw, 1rem)
}
.footer__copyright-top {line-height: 1.45}
.footer__copyright {font-size: 0.85rem;}


a.btn {
  display: block;
  background: var(--color-blue);
  border-radius: 2em;
  color: #fff;
  font-weight: 700;
  position: relative;
  padding: 10px 2em;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  width: clamp(318px,46cqw, 420px);
}
a.btn::after {
  content: '';
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20stroke-width%3A%201.5px%3B%7D%20.cls-2%20%7B%20fill%3A%20%23f2559e%3B%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%2F%3E%20%3Cg%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2215%207.5%2022.5%2015%2015%2022.5%22%2F%3E%20%3Cline%20class%3D%22cls-1%22%20x1%3D%227.5%22%20y1%3D%2215%22%20x2%3D%2222.5%22%20y2%3D%2215%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
a.btn._wht {
  background-color: #fff;
  color: var(--color-black);
  border: 1px solid var(--color-black);
}
a.btn._wht::after {
  background-color: var(--color-black);
}

