@charset "utf-8";

:root {
  --acColor: #ff2c88;
  --enFont: "Open Sans", sans-serif;
}

#site_footer_top,
footer#site_footer {
  position: relative;
  z-index: 4;
}
footer#site_footer #footer_pagetop {
  bottom: 64px;
}
@media screen and (max-width: 1000px) {
  .chatbot-container {
    display: none !important;
  }
}

/*-----------------------------------------
common
-----------------------------------------*/
#campaign {
  position: relative;
  color: #333333;
}
#campaign h1,
#campaign h2,
#campaign h3 {
  margin: 0 auto;
  padding: 0;
  border: 0;
}
#campaign img {
  vertical-align: top;
}
#campaign figure {
  text-align: center;
}
#campaign a {
  color: inherit;
  transition: all .3s;
}
#campaign a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#campaign button {
  width: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}
#campaign sup {
  font-size: 0.6em;
  vertical-align: super;
}
#campaign .inner {
  padding: 0 min(20px,calc(20px / 750px * 100vw));
}
#campaign .notice {
  margin: min(15px,calc(15px / 750px * 100vw)) 0 0;
  font-size: min(18px,calc(18px / 750px * 100vw));
  letter-spacing: 0.02em;
  line-height: 1.333;
}
#campaign .notice li {
  padding-left: 1em;
  text-indent: -1em;
}
#campaign .benefit {
  padding: min(94px,calc(94px / 750px * 100vw)) 0 min(66px,calc(66px / 750px * 100vw));
}
#campaign .benefit-container {
  position: relative;
  margin: min(17px,calc(17px / 750px * 100vw));
  background: #fff;
  border: min(3px,calc(3px / 750px * 100vw)) solid #c8a063;
  box-shadow: 0 0 0 min(17px,calc(17px / 750px * 100vw)) #fff;
}
#campaign .benefit-icon {
  position: absolute;
  top: max(-68px,calc(-68px / 750px * 100vw));
  left: 0;
  right: 0;
  width: min(124px,calc(124px / 750px * 100vw));
  margin: auto;
  z-index: 1;
}
#campaign .link-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(630px,calc(630px / 750px * 100vw));
  height: min(100px,calc(100px / 750px * 100vw));
  margin: min(30px,calc(30px / 750px * 100vw)) auto 0;
  font-weight: bold;
  font-size: min(36px,calc(36px / 750px * 100vw));
  letter-spacing: 0.09em;
  line-height: 1;
  color: #fff;
  background: var(--acColor);
  border-radius: 100px;
}
#campaign .link-btn.soldout {
  background: gray;
  pointer-events: none;
}
#campaign .link-text {
  position: relative;
  display: block;
  width: fit-content;
  margin: min(30px,calc(30px / 750px * 100vw)) 0 0 auto;
  font-size: min(25px,calc(25px / 750px * 100vw));
  letter-spacing: 0.1em;
  text-align: right;
  text-decoration: underline;
}
#campaign .link-text::after {
  content: "";
  display: inline-block;
  width: min(8px,calc(8px / 750px * 100vw));
  height: min(8px,calc(8px / 750px * 100vw));
  margin: 0 0 min(5px,calc(5px / 750px * 100vw)) min(4px,calc(4px / 750px * 100vw));
  border-top: min(2px,calc(2px / 750px * 100vw)) solid #40403F;
  border-right: min(2px,calc(2px / 750px * 100vw)) solid #40403F;
  transform: rotate(45deg);
}
@media screen and (min-width: 1001px) {
  #campaign .for-sp {
    display: none !important;
  }
  #campaign .inner {
    padding: 0 min(20px,calc(20px / 2080px * 100vw));
  }
  #campaign .notice {
    margin: min(15px,calc(15px / 2080px * 100vw)) 0 0;
    font-size: min(18px,calc(18px / 2080px * 100vw));
  }
  #campaign .benefit {
    padding: min(94px,calc(94px / 2080px * 100vw)) 0 min(66px,calc(66px / 2080px * 100vw));
  }
  #campaign .benefit-container {
    margin: min(17px,calc(17px / 2080px * 100vw));
    box-shadow: 0 0 0 min(17px,calc(17px / 2080px * 100vw)) #fff;
  }
  #campaign .benefit-icon {
    top: max(-68px,calc(-68px / 2080px * 100vw));
    width: min(124px,calc(124px / 2080px * 100vw));
  }
  #campaign .link-btn {
    width: min(630px,calc(630px / 2080px * 100vw));
    height: min(100px,calc(100px / 2080px * 100vw));
    margin: min(30px,calc(30px / 2080px * 100vw)) auto 0;
    font-size: min(36px,calc(36px / 2080px * 100vw));
  }
  #campaign .link-text {
    margin: min(30px,calc(30px / 2080px * 100vw)) 0 0 auto;
    font-size: min(22px,calc(22px / 2080px * 100vw));
  }
  #campaign .link-text::after {
    width: min(8px,calc(8px / 2080px * 100vw));
    height: min(8px,calc(8px / 2080px * 100vw));
    margin: 0 0 min(5px,calc(5px / 2080px * 100vw)) min(4px,calc(4px / 2080px * 100vw));
  }
}
@media screen and (max-width: 1000px) {
  #campaign .for-pc {
    display: none !important;
  }
}

/*-----------------------------------------
layout
-----------------------------------------*/
#campaign .campaign_inner {
  display: flex;
  justify-content: center;
  background: #ffeaf3 url(/img/usr/freepage/2026/2603_springcampaign/bg.png) no-repeat top center / cover;
  background-attachment: fixed;
}
#campaign .main_frame {
  position: relative;
  width: 36vw;
  max-width: 750px;
  background: #fff;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
}
#campaign .left_frame,
#campaign .right_frame {
	position: sticky;
	top: 100px;
  flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	max-height: calc(100vh - 100px);
	z-index: 2;
}
@media screen and (max-width: 1000px) {
  #campaign .campaign_inner {
    width: 100%;
  }
  #campaign .left_frame {
    display: none;
  }
  #campaign .right_frame {
    display: none;
    position: fixed;
    top: auto;
    bottom: 10px;
    left: 0;
    width: 100%;
  }
  #campaign .main_frame {
    width: 100%;
    box-shadow: none;
  }
}

/*-----------------------------------------
nav
-----------------------------------------*/
@media screen and (min-width: 1001px) {
  #campaign .nav-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 520px;
  }
  #campaign .nav-list li:nth-child(2n) {
    margin-left: auto;
  }
  #campaign .nav-list li.nav01 img {
    width: min(396px,calc(396px / 1800px * 100vw));
  }
  #campaign .nav-list li.nav02 img {
    width: min(320px,calc(320px / 1800px * 100vw));
  }
  #campaign .nav-list li.nav03 img {
    width: min(360px,calc(360px / 1800px * 100vw));
  }
}
@media screen and (max-width: 1000px) {
  #campaign .nav-list {
    max-width: 750px;
    padding: 0 min(20px,calc(20px / 750px * 100vw));
    margin: 0 auto;
    display: flex;
    gap: min(10px,calc(10px / 750px * 100vw));
  }
  #campaign .nav-list li {
    width: calc((100% - (min(10px,calc(10px / 750px * 100vw)) * 2))/3);
  }
  #campaign .nav-list li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: min(100px,calc(100px / 750px * 100vw));
    background: #ffe0ee;
    border-radius: 10px;
  }
  #campaign .nav-list li a span {
    font-weight: bold;
    font-size: min(26px,calc(26px / 750px * 100vw));
    letter-spacing: 0.04em;
    line-height: 1.38;
    text-align: center;
  }
  #campaign .nav-list li a span span {
    color: var(--acColor);
  }
  #campaign .nav-list li a span strong {
    font-family: var(--enFont);
    font-weight: inherit;
    font-size: min(32px,calc(32px / 750px * 100vw));
    letter-spacing: 0;
  }
  #campaign .nav-list li.nav01 a,
  #campaign .nav-list li.nav02 a {
    padding-top: min(20px,calc(20px / 750px * 100vw));
  }
  #campaign .nav-list li.nav01 a::before,
  #campaign .nav-list li.nav02 a::before {
    content: "";
    position: absolute;
    top: max(-28px,calc(-28px / 750px * 100vw));
    left: 0;
    right: 0;
    width: min(70px,calc(70px / 750px * 100vw));
    height: min(64px,calc(64px / 750px * 100vw));
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #campaign .nav-list li.nav01 a::before {
    background-image: url(/img/usr/freepage/2026/2603_springcampaign/icon_benefit_01.png);
  }
  #campaign .nav-list li.nav02 a::before {
    background-image: url(/img/usr/freepage/2026/2603_springcampaign/icon_benefit_02.png);
  }
}

/*-----------------------------------------
main
-----------------------------------------*/
#campaign #sec_main {
  position: relative;
  padding: 0 0 min(100px,calc(100px / 750px * 100vw));
}
#campaign #sec_main::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: url(/img/usr/freepage/2026/2603_springcampaign/bg_message.png) no-repeat center bottom min(60px,calc(60px / 750px * 100vw)) / 100%;
  pointer-events: none;
}
#campaign #sec_main .mv {
  position: relative;
}
#campaign #sec_main .mv-nav-list li {
  position: absolute;
}
#campaign #sec_main .mv-nav-list li.nav01 {
  left: 0;
  bottom: min(232px,calc(232px / 750px * 100vw));
}
#campaign #sec_main .mv-nav-list li.nav02 {
  right: min(17px,calc(17px / 750px * 100vw));
  bottom: min(166px,calc(166px / 750px * 100vw));
}
#campaign #sec_main .mv-nav-list li.nav03 {
  left: min(120px,calc(120px / 750px * 100vw));
  bottom: min(30px,calc(30px / 750px * 100vw));
}
#campaign #sec_main .mv-nav-list li.nav01 img {
  width: min(396px,calc(396px / 750px * 100vw));
}
#campaign #sec_main .mv-nav-list li.nav02 img {
  width: min(320px,calc(320px / 750px * 100vw));
}
#campaign #sec_main .mv-nav-list li.nav03 img {
  width: min(360px,calc(360px / 750px * 100vw));
}
#campaign #sec_main .message {
  margin: min(8px,calc(8px / 750px * 100vw)) 0 0;
  font-size: min(24px,calc(24px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 2.5;
  text-align: center;
}
#campaign #sec_main .message span {
  font-weight: bold;
  font-size: min(32px,calc(32px / 750px * 100vw));
  line-height: 1.875;
  color: var(--acColor);
}
#campaign #sec_main .main-nav-list {
  display: flex;
  flex-direction: column;
  gap: min(20px,calc(20px / 750px * 100vw));
  margin: min(48px,calc(48px / 750px * 100vw)) 0 0;
}
#campaign #sec_main .main-nav-list li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: min(140px,calc(140px / 750px * 100vw));
  padding: 0 min(30px,calc(30px / 750px * 100vw));
  text-align: center;
  background: #d3f2ff;
  border-radius: 10px;
}
#campaign #sec_main .main-nav-list li a::after {
  content: "";
  display: block;
  width: min(22px,calc(22px / 750px * 100vw));
  height: min(18px,calc(18px / 750px * 100vw));
  background: #4abec8;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#campaign #sec_main .main-nav-list li a span {
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
#campaign #sec_main .main-nav-list li a span span {
  color: var(--acColor);
}
#campaign #sec_main .main-nav-list li a span strong {
  font-family: var(--enFont);
  font-weight: 600;
  font-size: min(62px,calc(62px / 750px * 100vw));
  letter-spacing: 0;
  line-height: 1;
}
#campaign #sec_main .main-nav-list li a span small {
  display: block;
  font-size: min(24px,calc(24px / 750px * 100vw));
  letter-spacing: 0.04em;
}
#campaign #sec_main .main-nav-list li.nav01 a::before {
  content: "";
  width: min(94px,calc(94px / 750px * 100vw));
  height: min(83px,calc(83px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/icon_benefit_01.png) no-repeat center / contain;
}
#campaign #sec_main .main-nav-list li.nav01 a span {
  font-size: min(36px,calc(36px / 750px * 100vw));
}
#campaign #sec_main .main-nav-list li.nav01 a span span {
  font-size: min(50px,calc(50px / 750px * 100vw));
}
#campaign #sec_main .main-nav-list li.nav02 a::before {
  content: "";
  width: min(94px,calc(94px / 750px * 100vw));
  height: min(83px,calc(83px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/icon_benefit_02.png) no-repeat center / contain;
}
#campaign #sec_main .main-nav-list li.nav02 a span {
  font-size: min(46px,calc(46px / 750px * 100vw));
}
#campaign #sec_main .main-nav-list li.nav03 a span {
  font-size: min(42px,calc(42px / 750px * 100vw));
}
#campaign #sec_main .main-nav-list li.nav03 a span small {
  font-size: min(20px,calc(20px / 750px * 100vw));
}
@media screen and (min-width: 1001px) {
  #campaign #sec_main {
    padding: 0 0 min(100px,calc(100px / 2080px * 100vw));
  }
  #campaign #sec_main::after {
    background-position: center bottom min(60px,calc(60px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav01 {
    bottom: min(232px,calc(232px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav02 {
    right: min(17px,calc(17px / 2080px * 100vw));
    bottom: min(166px,calc(166px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav03 {
    left: min(120px,calc(120px / 2080px * 100vw));
    bottom: min(30px,calc(30px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav01 img {
    width: min(396px,calc(396px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav02 img {
    width: min(320px,calc(320px / 2080px * 100vw));
  }
  #campaign #sec_main .mv-nav-list li.nav03 img {
    width: min(360px,calc(360px / 2080px * 100vw));
  }
  #campaign #sec_main .message {
    margin: min(8px,calc(8px / 2080px * 100vw)) 0 0;
    font-size: min(24px,calc(24px / 2080px * 100vw));
  }
  #campaign #sec_main .message span {
    font-size: min(32px,calc(32px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list {
    gap: min(20px,calc(20px / 2080px * 100vw));
    margin: min(48px,calc(48px / 2080px * 100vw)) 0 0;
  }
  #campaign #sec_main .main-nav-list li a {
    height: min(140px,calc(140px / 2080px * 100vw));
    padding: 0 min(30px,calc(30px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li a::after {
    width: min(22px,calc(22px / 2080px * 100vw));
    height: min(18px,calc(18px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li a span strong {
    font-size: min(62px,calc(62px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li a span small {
    font-size: min(24px,calc(24px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav01 a::before {
    width: min(94px,calc(94px / 2080px * 100vw));
    height: min(83px,calc(83px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav01 a span {
    font-size: min(36px,calc(36px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav01 a span span {
    font-size: min(50px,calc(50px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav02 a::before {
    width: min(94px,calc(94px / 2080px * 100vw));
    height: min(83px,calc(83px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav02 a span {
    font-size: min(46px,calc(46px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav03 a span {
    font-size: min(42px,calc(42px / 2080px * 100vw));
  }
  #campaign #sec_main .main-nav-list li.nav03 a span small {
    font-size: min(20px,calc(20px / 2080px * 100vw));
  }
}

/*-----------------------------------------
rusk
-----------------------------------------*/
#campaign #sec_rusk {
  position: relative;
  background: #d3f2ff;
}
#campaign #sec_rusk::before {
  content: "";
  position: absolute;
  top: max(-20px,calc(-20px / 750px * 100vw));
  right: min(242px,calc(242px / 750px * 100vw));
  width: min(58px,calc(58px / 750px * 100vw));
  height: min(51px,calc(51px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/bg_rusk_01.png) no-repeat center / contain;
}
#campaign #sec_rusk::after {
  content: "";
  position: absolute;
  top: min(367px,calc(367px / 750px * 100vw));
  left: min(28px,calc(28px / 750px * 100vw));
  width: min(157px,calc(157px / 750px * 100vw));
  height: min(162px,calc(162px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/bg_rusk_02.png) no-repeat center / contain;
}
#campaign #sec_rusk .benefit-container {
  padding: min(62px,calc(62px / 750px * 100vw)) 0 min(30px,calc(30px / 750px * 100vw));
}
#campaign #sec_rusk .rusk-limited {
  position: absolute;
  top: max(-142px,calc(-142px / 750px * 100vw));
  right: max(-32px,calc(-32px / 750px * 100vw));
  width: min(215px,calc(215px / 750px * 100vw));
}
#campaign #sec_rusk .rusk-title {
  text-align: center;
}
#campaign #sec_rusk .rusk-img {
  margin: min(7px,calc(7px / 750px * 100vw)) 0 0;
}
#campaign #sec_rusk .rusk-text {
  margin: min(25px,calc(25px / 750px * 100vw)) 0 0;
  font-size: min(26px,calc(26px / 750px * 100vw));
  letter-spacing: 0.02em;
  line-height: 1.538;
}
#campaign #sec_rusk .notice:has(+.notice) {
  margin: min(35px,calc(35px / 750px * 100vw)) 0 0;
}
@media screen and (min-width: 1001px) {
  #campaign #sec_rusk::before {
    top: max(-20px,calc(-20px / 2080px * 100vw));
    right: min(242px,calc(242px / 2080px * 100vw));
    width: min(58px,calc(58px / 2080px * 100vw));
    height: min(51px,calc(51px / 2080px * 100vw));
  }
  #campaign #sec_rusk::after {
    top: min(367px,calc(367px / 2080px * 100vw));
    left: min(28px,calc(28px / 2080px * 100vw));
    width: min(157px,calc(157px / 2080px * 100vw));
    height: min(162px,calc(162px / 2080px * 100vw));
  }
  #campaign #sec_rusk .benefit-container {
    padding: min(62px,calc(62px / 2080px * 100vw)) 0 min(30px,calc(30px / 2080px * 100vw));
  }
  #campaign #sec_rusk .rusk-limited {
    top: max(-142px,calc(-142px / 2080px * 100vw));
    right: max(-32px,calc(-32px / 2080px * 100vw));
    width: min(215px,calc(215px / 2080px * 100vw));
  }
  #campaign #sec_rusk .rusk-img {
    margin: min(7px,calc(7px / 2080px * 100vw)) 0 0;
  }
  #campaign #sec_rusk .rusk-text {
    margin: min(25px,calc(25px / 2080px * 100vw)) 0 0;
    font-size: min(26px,calc(26px / 2080px * 100vw));
  }
  #campaign #sec_rusk .notice:has(+.notice) {
    margin: min(35px,calc(35px / 2080px * 100vw)) 0 0;
  }
}

/*-----------------------------------------
mile
-----------------------------------------*/
#campaign #sec_mile {
  position: relative;
  background: #ffe0ee;
}
#campaign #sec_mile::before {
  content: "";
  position: absolute;
  top: min(56px,calc(56px / 750px * 100vw));
  right: min(86px,calc(86px / 750px * 100vw));
  width: min(55px,calc(55px / 750px * 100vw));
  height: min(48px,calc(48px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/bg_mile_01.png) no-repeat center / contain;
  z-index: 1;
}
#campaign #sec_mile::after {
  content: "";
  position: absolute;
  top: min(740px,calc(740px / 750px * 100vw));
  left: max(-7px,calc(-7px / 750px * 100vw));
  width: min(118px,calc(118px / 750px * 100vw));
  height: min(115px,calc(115px / 750px * 100vw));
  background: url(/img/usr/freepage/2026/2603_springcampaign/bg_mile_02.png) no-repeat center / contain;
}
#campaign #sec_mile .mile-mv {
  position: relative;
}
#campaign #sec_mile .mile-mv-01 {
  position: absolute;
  top: max(-54px,calc(-54px / 750px * 100vw));
  left: min(18px,calc(18px / 750px * 100vw));
  width: min(167px,calc(167px / 750px * 100vw));
}
#campaign #sec_mile .mile-mv-02 {
  position: absolute;
  top: min(172px,calc(172px / 750px * 100vw));
  right: max(-20px,calc(-20px / 750px * 100vw));
  width: min(166px,calc(166px / 750px * 100vw));
}
#campaign #sec_mile .mile-text-01 {
  margin: min(48px,calc(48px / 750px * 100vw)) 0 0;
  font-weight: bold;
  font-size: min(34px,calc(34px / 750px * 100vw));
  letter-spacing: 0.1em;
  line-height: 1.47;
  text-align: center;
}
#campaign #sec_mile .mile-text-01 span {
  color: var(--acColor);
}
#campaign #sec_mile .mile-text-02 {
  margin: min(14px,calc(14px / 750px * 100vw)) 0 0;
  font-size: min(28px,calc(28px / 750px * 100vw));
  letter-spacing: 0.1em;
  line-height: 1.428;
  text-align: center;
}
#campaign #sec_mile .mile-notice {
  margin: min(17px,calc(17px / 750px * 100vw)) 0 0;
  padding: min(20px,calc(20px / 750px * 100vw));
  font-size: min(26px,calc(26px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 1.538;
  text-align: center;
  background: #ededed;
  border-radius: 10px;
}
#campaign #sec_mile .mile-notice a {
  color: #0000ff;
  text-decoration: underline;
}
#campaign #sec_mile .mile-title {
  margin: min(60px,calc(60px / 750px * 100vw)) max(-8px,calc(-8px / 750px * 100vw)) 0;
  text-align: center;
}
#campaign #sec_mile .link-btn-text {
  width: min(372px,calc(372px / 750px * 100vw));
  margin: min(28px,calc(28px / 750px * 100vw)) auto 0;
}
#campaign #sec_mile .mile-rate {
  margin: min(50px,calc(50px / 750px * 100vw)) 0 0;
  padding: 1px 0 min(33px,calc(33px / 750px * 100vw));
  background: #f6f5ec;
}
#campaign #sec_mile .mile-rate-img {
  margin: min(38px,calc(38px / 750px * 100vw)) max(-8px,calc(-8px / 750px * 100vw)) 0;
}
#campaign #sec_mile .mile-tate-notice {
  margin: min(27px,calc(27px / 750px * 100vw)) 0 0;
  padding: min(17px,calc(17px / 750px * 100vw)) min(20px,calc(20px / 750px * 100vw));
  font-size: min(22px,calc(22px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 1.45;
  background: #ffffff;
  border-radius: 10px;
}
@media screen and (min-width: 1001px) {
  #campaign #sec_mile::before {
    top: min(56px,calc(56px / 2080px * 100vw));
    right: min(86px,calc(86px / 2080px * 100vw));
    width: min(55px,calc(55px / 2080px * 100vw));
    height: min(48px,calc(48px / 2080px * 100vw));
  }
  #campaign #sec_mile::after {
    top: min(740px,calc(740px / 2080px * 100vw));
    left: max(-7px,calc(-7px / 2080px * 100vw));
    width: min(118px,calc(118px / 2080px * 100vw));
    height: min(115px,calc(115px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-mv-01 {
    top: max(-54px,calc(-54px / 2080px * 100vw));
    left: min(18px,calc(18px / 2080px * 100vw));
    width: min(167px,calc(167px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-mv-02 {
    top: min(172px,calc(172px / 2080px * 100vw));
    right: max(-20px,calc(-20px / 2080px * 100vw));
    width: min(166px,calc(166px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-text-01 {
    margin: min(48px,calc(48px / 2080px * 100vw)) 0 0;
    font-size: min(34px,calc(34px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-text-02 {
    margin: min(14px,calc(14px / 2080px * 100vw)) 0 0;
    font-size: min(28px,calc(28px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-notice {
    margin: min(17px,calc(17px / 2080px * 100vw)) 0 0;
    padding: min(20px,calc(20px / 2080px * 100vw));
    font-size: min(26px,calc(26px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-title {
    margin: min(60px,calc(60px / 2080px * 100vw)) max(-8px,calc(-8px / 2080px * 100vw)) 0;
  }
  #campaign #sec_mile .link-btn-text {
    width: min(372px,calc(372px / 2080px * 100vw));
    margin: min(28px,calc(28px / 2080px * 100vw)) auto 0;
  }
  #campaign #sec_mile .mile-rate {
    margin: min(50px,calc(50px / 2080px * 100vw)) 0 0;
    padding: 1px 0 min(33px,calc(33px / 2080px * 100vw));
  }
  #campaign #sec_mile .mile-rate-img {
    margin: min(38px,calc(38px / 2080px * 100vw)) max(-8px,calc(-8px / 2080px * 100vw)) 0;
  }
  #campaign #sec_mile .mile-tate-notice {
    margin: min(27px,calc(27px / 2080px * 100vw)) 0 0;
    padding: min(17px,calc(17px / 2080px * 100vw)) min(20px,calc(20px / 2080px * 100vw));
    font-size: min(22px,calc(22px / 2080px * 100vw));
  }
}

/*-----------------------------------------
uv
-----------------------------------------*/
#campaign #sec_uv {
  padding: min(50px,calc(50px / 750px * 100vw)) 0 min(70px,calc(70px / 750px * 100vw));
  text-align: center;
  background: #fffddc url(/img/usr/freepage/2026/2603_springcampaign/bg_uv.png) no-repeat center top / 100%;
}
#campaign #sec_uv .uv-title {
  width: min(721px,calc(721px / 750px * 100vw));
  margin: 0 0 0 max(-64px,calc(-64px / 750px * 100vw));
}
#campaign #sec_uv .uv-item {
  width: min(640px,calc(640px / 750px * 100vw));
  margin: min(20px,calc(20px / 750px * 100vw)) auto 0;
}
#campaign #sec_uv .uv-offer {
  margin: min(25px,calc(25px / 750px * 100vw)) 0 0;
}
#campaign #sec_uv .uv-text {
  margin: min(30px,calc(30px / 750px * 100vw)) 0 0;
  font-weight: bold;
  font-size: min(30px,calc(30px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 1.466;
  text-align: center;
}
@media screen and (min-width: 1001px) {
  #campaign #sec_uv {
    padding: min(50px,calc(50px / 2080px * 100vw)) 0 min(70px,calc(70px / 2080px * 100vw));
  }
  #campaign #sec_uv .uv-title {
    width: min(721px,calc(721px / 2080px * 100vw));
    margin: 0 0 0 max(-64px,calc(-64px / 2080px * 100vw));
  }
  #campaign #sec_uv .uv-item {
    width: min(640px,calc(640px / 2080px * 100vw));
    margin: min(20px,calc(20px / 2080px * 100vw)) auto 0;
  }
  #campaign #sec_uv .uv-offer {
    margin: min(25px,calc(25px / 2080px * 100vw)) 0 0;
  }
  #campaign #sec_uv .uv-text {
    margin: min(30px,calc(30px / 2080px * 100vw)) 0 0;
    font-size: min(30px,calc(30px / 2080px * 100vw));
  }
}

/*-----------------------------------------
vital
-----------------------------------------*/
#campaign #sec_vital {
  padding: min(50px,calc(50px / 750px * 100vw)) 0 min(40px,calc(40px / 750px * 100vw));
  text-align: center;
  background: #d9f6ff url(/img/usr/freepage/2026/2603_springcampaign/bg_vital.jpg) no-repeat center top / 100%;
}
#campaign #sec_vital .vital-title img {
  width: min(350px,calc(350px / 750px * 100vw));
}
#campaign #sec_vital .vital-text {
  margin: min(12px,calc(12px / 750px * 100vw)) 0 0;
  font-weight: bold;
  font-size: min(30px,calc(30px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 1.466;
  text-align: center;
}
#campaign #sec_vital .vital-item {
  width: min(719px,calc(719px / 750px * 100vw));
  margin: max(-70px,calc(-70px / 750px * 100vw)) 0 0 auto;
}
#campaign #sec_vital .vital-point {
  margin: min(20px,calc(20px / 750px * 100vw)) 0 0;
  padding: min(10px,calc(10px / 750px * 100vw)) min(7px,calc(7px / 750px * 100vw)) min(30px,calc(30px / 750px * 100vw));
  background: #fff;
  border: min(3px,calc(3px / 750px * 100vw)) solid #00a2e0;
  border-radius: min(10px,calc(10px / 750px * 100vw));
}
#campaign #sec_vital .vital-point .vital-text {
  color: #00a2e0;
}
#campaign #sec_vital .vital-point .vital-text-sub {
  margin: min(15px,calc(15px / 750px * 100vw)) 0 0;
  font-size: min(24px,calc(24px / 750px * 100vw));
  letter-spacing: 0.04em;
  line-height: 1.4166;
  text-align: center;
}
#campaign #sec_vital .link-text {
  margin: min(5px,calc(5px / 750px * 100vw)) min(10px,calc(10px / 750px * 100vw)) 0 auto;
}
#campaign #sec_vital .notice {
  margin: min(30px,calc(30px / 750px * 100vw)) 0 0;
  text-align: left;
}
@media screen and (min-width: 1001px) {
  #campaign #sec_vital {
    padding: min(50px,calc(50px / 2080px * 100vw)) 0 min(40px,calc(40px / 2080px * 100vw));
  }
  #campaign #sec_vital .vital-title img {
    width: min(350px,calc(350px / 2080px * 100vw));
  }
  #campaign #sec_vital .vital-text {
    margin: min(12px,calc(12px / 2080px * 100vw)) 0 0;
    font-size: min(30px,calc(30px / 2080px * 100vw));
  }
  #campaign #sec_vital .vital-item {
    width: min(719px,calc(719px / 2080px * 100vw));
    margin: max(-70px,calc(-70px / 2080px * 100vw)) 0 0 auto;
  }
  #campaign #sec_vital .vital-point {
    margin: min(20px,calc(20px / 2080px * 100vw)) 0 0;
    padding: min(10px,calc(10px / 2080px * 100vw)) min(7px,calc(7px / 2080px * 100vw)) min(30px, calc(30px / 2080px * 100vw));
  }
  #campaign #sec_vital .vital-point .vital-text-sub {
    margin: min(15px,calc(15px / 2080px * 100vw)) 0 0;
    font-size: min(24px,calc(24px / 2080px * 100vw));
  }
  #campaign #sec_vital .link-text {
    margin: min(5px,calc(5px / 2080px * 100vw)) min(10px,calc(10px / 2080px * 100vw)) 0 auto;
  }
  #campaign #sec_vital .notice {
    margin: min(30px,calc(30px / 2080px * 100vw)) 0 0;
  }
}