/*--------------------------------------
base
--------------------------------------*/

:root {
    --color-main-blue:#00A0E9;
    --color-blue:#64B3D1;
    --color-pink:#D494AF;
    --color-dark-pink:#dc4682;
    --color-light-pink:#f6e9ef;
    --color-yellow:#EBC397;
    --color-light-yellow:#f7ede1;
    --color-red:#f29c97;
    --color-light-red:#fdecea;
    --color-green:#8EBA6D;
    --color-main-green:#89C997;
    --color-brown:#bd980f;
    --color-gray:#9d9d9d;
    --color-light-blue:#CCECFB;
    --color-dark-blue:#0071b9;
    --color-font-gray:#898989;
    --color-font-light-gray:#C9CACA;
    --color-font-black:#595757;
}


body {
    font-family: "M PLUS 1p", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    position:relative;
    color:var(--color-font-gray);
}
p {
    margin:0;
}
ul {
    margin:0;
    padding:0;
}
li {
    list-style: none;
}
a {
    opacity:1;
    transition:opacity .15s ease-in-out;
}
a:hover {
    text-decoration:none;
    opacity:.5;
}
img {
    max-width: 100%;
    height: auto;
}



/*--------------------------------------
bootstrap-hacks
--------------------------------------*/

/*-----gutter-----*/

.gutter-1 {
    margin-right: -1px;
    margin-left: -1px;
}
.gutter-1 > [class^='col-'] {
    padding-top: 1px;
    padding-right: 1px;
    padding-bottom: 1px;
    padding-left: 1px;
}
.gutter-2p5 {
    margin-right: -2.5px;
    margin-left: -2.5px;
}
.gutter-2p5 > [class^='col-'] {
    padding-top: 2.5px;
    padding-right: 2.5px;
    padding-bottom: 2.5px;
    padding-left: 2.5px;
}
.gutter-5 {
    margin-right: -5px;
    margin-left: -5px;
}
.gutter-5 > [class^='col-'] {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}
.gutter-7p5 {
    margin-right: -7.5px;
    margin-left: -7.5px;
}
.gutter-7p5 > [class^='col-'] {
    padding-top: 7.5px;
    padding-right: 7.5px;
    padding-bottom: 7.5px;
    padding-left: 7.5px;
}
.gutter-10 {
    margin-right: -10px;
    margin-left: -10px;
}
.gutter-10 > [class^='col-'] {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
}
.gutter-15 {
    margin-right: -15px;
    margin-left: -15px;
}
.gutter-15 > [class^='col-'] {
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}
.gutter-20 {
    margin-right: -20px;
    margin-left: -20px;
}
.gutter-20 > [class^='col-'] {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
}

.container {
    padding-left:285px;
}
@media (min-width: 1200px){
    .container {
        max-width: 1230px;
    }
}
@media(max-width:1199.98px) {
    .container {
        max-width:none;
        padding-left:270px;
    }
}
@media(max-width:767.98px) {
    .container {
        padding-left:10px;
        padding-right:10px;
    }
    .row {
        margin-left:-10px;
        margin-right:-10px;
    }
}

/*--------------------------------------
utils
--------------------------------------*/

/*-----icons-----*/


/*-----texts-----*/

.bg-yellow {
  background-color:var(--color-yellow);
}
.bg-blue {
  background-color:var(--color-blue);
}
.bg-pink {
  background-color:var(--color-pink);
}
.bg-red {
  background-color:var(--color-red);
}

/*300~700*/
.ff-quicksand {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.ff-marugothic {
  font-family: "Zen Maru Gothic", serif;
  font-style: normal;
}

.ff-normal {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}


/*--------------------------------------
fadeinAnimations
--------------------------------------*/

.fadeIn.is-active {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

.overlay {
  position: relative;
}
.overlay::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #303030;
}
.fadein.delay-1 {
  transition-delay: .1s;
}
.fadein.delay-2 {
  transition-delay: .2s;
}
.fadein.delay-3 {
  transition-delay: .3s;
}
.fadein.delay-4 {
  transition-delay: .4s;
}


/*--------------------------------------
modules
--------------------------------------*/

#js-loadingOverlay {
    display:flex;
    align-items:center;
    justify-content:center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
}
#js-loadingOverlay.is-fin {
    opacity: 0;
}
#js-loadingOverlay img {
    width:100%;
    max-width:300px;
}


/*--------------------------------------
left-nav
--------------------------------------*/
.rf-body {
    position:relative;
    display:flex;
    flex-direction:column;
}
.rf-body.modal,
.rf-body.show {
    overflow:hidden;
}
.rf-nav {
    position:absolute;
    top:0;
    bottom:10px;
    left:calc((100vw - 1200px) / 2);
    z-index:2000;
    width:240px;
    display:flex;
    flex-direction:column;
}
.rf-nav-inner {
    display:flex;
    flex-direction:column;
    position:sticky;
    top:0;
    left:0;
    border-radius:10px;
    box-shadow: 2px 0px 3px #848484;
    height:100vh;
    overflow:auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.rf-nav-inner::-webkit-scrollbar{
  display: none;
}

.rf-nav-logo {
    text-align:center;
    background-image: linear-gradient(0deg,
    #58c4f3 25%, #09b9f0 25%, #09b9f0 50%, #58c4f3 50%, #58c4f3 75%,#09b9f0 75%, #09b9f0
  );
    background-size: 100% 15px;
}
.rf-nav-logo a {
    display:block;
    padding:18px 0;
}
.rf-nav-button {
    display:block;
    color:#fff !important;
    font-size:12px;
    background:var(--color-gray);
    text-align:center;
    padding:10px 5px;
    position:relative;
}
.rf-nav-button img {
    height:30px;
    margin-right:10px;
}
.rf-login-text .rf-login-menu {
    display:none;
    position:absolute;
    top:100%;
    left:5px;
    right:5px;
    background:#fff;
    padding:5px 0;
}
.rf-login-text:hover .rf-login-menu {
    display:block;
}
.rf-login-menu a {
    display:block;
    padding:5px;
}
.rf-nav-links {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.rf-nav-links > li:last-of-type a {
    border-bottom:1px solid var(--color-gray);
}
.rf-nav-links a {
    border-top:1px solid var(--color-gray);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:5px 5px;
    font-size:14px;
    text-align:center;
    color:var(--color-font-gray);
    min-height:60px;
}
.rf-nav-banner {
    display:block;
    text-align:center;
}
.rf-nav-banner img {
    width:100%;
}
.rf-nav-sns {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:20px;
    margin-bottom:auto;
    text-align:center;
}
.rf-nav-sns li a {
    display:block;
    padding:5px;
}
.rf-nav-sns img {
    width:40px;
}
.rf-nav-footer {
    margin-top:auto;
    text-align:center;
}
.rf-nav-logo {
    text-align:center;
    display:block;
    margin-bottom:0px;
    margin-left:auto;
    margin-right:auto;
    position:sticky;
    top:0;
    z-index:1;
}
.rf-nav-copy {
    text-align:center;
    font-size:10px;
}
.rf-nav-main {
  padding:0 10px;;
}
.rf-left-links-title {
  position:relative;
  border-radius: 10px;
  padding:3px 5px;
  margin-bottom:13px;
  background:#323B95;
  color:#fff;
  font-size:14px;
}
.rf-left-links-title::after {
  content:'';
  position:absolute;
  left:30px;
  top:100%;
  display:block;
  width:0;
  height:0;
  border-top:10px solid #323B95;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
}
.rf-left-links {

}
.rf-left-links li {
}
.rf-left-links a {
  display:flex;
  align-items:center;
  background:#fff;
  padding-left:3px;
}
.rf-left-links picture {
  flex:0 0 auto;
  margin-right:3px;
}
.rf-left-links p {
  font-family: "Zen Maru Gothic", serif;
  margin-right:auto;
  padding:10px 3px 10px 0px;
  line-height: 1.3;
  letter-spacing:-1px;
  font-size:15px;
  font-weight:bolder;
  color:var(--color-font-gray);
}
.rf-left-links li + li {
  margin-top:5px;
}
.rf-left-links .menu-arrow {
  display:flex;
  align-items:center;
  justify-content: center;
  align-self: stretch;
  width:20px;
  flex:0 0 auto;
}
.rf-left-links .menu-arrow::before {
  content:'';
  display:block;
  width:10px;
  height:10px;
  border-top:1px solid #fff;
  border-right:1px solid #fff;
  transform-origin: left;
  transform: rotate(45deg) translateX(-3px);
}
.rf-left-links > li:nth-child(1) .menu-arrow {
  background:var(--color-blue);
}
.rf-left-links > li:nth-child(2) .menu-arrow {
  background:var(--color-pink);
}
.rf-left-links > li:nth-child(3) .menu-arrow {
  background:var(--color-yellow);
}
.rf-left-links > li:nth-child(4) .menu-arrow {
  background:var(--color-green);
}
.rf-nav-items {
    background-image: linear-gradient(0deg,
    #58c4f3 25%, #09b9f0 25%, #09b9f0 50%, #58c4f3 50%, #58c4f3 75%,#09b9f0 75%, #09b9f0
  );
    background-size: 100% 15px;
}
.rf-nav-images {
  margin-top:15px;
  margin-bottom: 10px;
  padding:0 10px;
}
.rf-nav-images a {
  display:block;
}
.rf-nav-images a + a {
  margin-top:15px;
}
.rf-nav-news {
  display:block;
  padding:0 10px 10px 10px;
  color:var(--color-font-black);
  font-size:14px;
}

.rf-sp-nav-01 {
  transform: translateX(110%);
  position: fixed;
  top: 113px;
  bottom: 0;
  right: 0;
  z-index: 2000;
  width: 340px;
  height: calc(100vh - 113px);
  overflow: auto;
  background: var(--color-main-blue);
  transition: .3s;
  padding-left:40px;
  border-left:7px solid #E08C7A;
}
.rf-sp-nav-02 {
  transform: translateX(110%);
  position: fixed;
  top: 113px;
  bottom: 0;
  right: 0;
  z-index: 2000;
  width: 333px;
  height: calc(100vh - 113px);
  overflow: auto;
  background: var(--color-main-blue);
  transition: .3s;
  padding-left:40px;
  border-left:7px solid #E6B482;
}
.rf-sp-nav-inner {
  overflow:auto;
}
.rf-sp-nav-close {
  padding:10px;
  margin-bottom:10px;
  display:block;
  text-align:right;
}
.rf-sp-nav-assist {
  display:block;
  text-align:center;
  margin-bottom:10px;
}
.rf-sp-nav-back {
  font-family: "Zen Maru Gothic", serif;
  position:relative;
  display:block;
  padding:10px 10px 10px 30px;
  text-align:left;
  color:#fff;
  font-size:17px;
  margin-bottom:10px;
}
.rf-sp-nav-links a {
  font-family: "Zen Maru Gothic", serif;
  position:relative;
  display:block;
  padding:10px;
  text-align:left;
  color:#fff;
  font-size:17px;
  border-top:1px solid #fff;
}
.rf-sp-nav-links > li:last-of-type a {
  border-bottom:1px solid #fff;
}
.rf-sp-nav-links a::after {
  content:'';
  display:block;
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  width:10px;
  height:10px;
  margin-left:10px;
  border-right:1px solid #fff;
  border-bottom:1px solid #fff;
  transform: rotate(-45deg);
}
.rf-sp-nav-back::before {
  content:'';
  display:block;
  position: absolute;
  left:0;
  top:0;
  bottom:0;
  margin:auto;
  width:10px;
  height:10px;
  margin-left:10px;
  border-right:1px solid #fff;
  border-bottom:1px solid #fff;
  transform: rotate(135deg);
}

.rf-sp-nav-01.show ,
.rf-sp-nav-02.show {
  transform: translateX(0);
}

@media(max-width:1199.98px) {
    .rf-nav {
        left:15px;
    }
}
@media(max-width:991.98px) {
}
@media(max-width:767.98px) {
    .rf-body {
        min-height:auto !important;
    }
    .rf-nav-inner {
    }
    .rf-nav .hamburger-menu {
    }
    .rf-nav-button {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        flex-direction:column;
        color:#fff !important;
        font-size:10px;
        background:var(--color-gray);
        text-align:center;
        padding:0px 0 3px;
        position:relative;
        width:55px;
        height:55px;
    }
    .rf-nav-button img {
        margin-right:0;
        margin-bottom:5px;
        height:25px;
    }
    .rf-nav {
      display:none;
        /*transform:translateX(-110%);
        position:fixed;
        top:56px;
        bottom:0;
        left:0;
        right:0;
        z-index:2000;
        width:100%;
        height:calc(100vh - 56px);
        overflow:auto;
        background:#fff;
        transition:.3s;*/
    }
    .rf-body.show .rf-nav {
        transform:translateX(0);
    }
}
@media(max-width:575.98px) {
}

/*--------------------------------------
header
--------------------------------------*/

#rf-header {
    position:sticky;
    top:0;
    left:0;
    z-index:1000;
}
.rf-header-top {
    background:var(--color-main-blue);
    overflow:hidden;
}
.rf-header-nav {
    display:flex;
    justify-content:flex-end;
}
.rf-header-nav ul {
    display:flex;
    width:100%;
}
.rf-header-nav li {
    position:relative;
    flex:1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rf-header-nav li::before {
    content:'';
    position:absolute;
    left:-1px;
    top:0;
    bottom:0;
    display:block;
    height:100%;
    width:1px;
    background:#fff;
}
.rf-header-nav ul > li:last-child::after {
    content:'';
    position:absolute;
    right:-1px;
    top:0;
    bottom:0;
    display:block;
    height:100%;
    width:1px;
    background:#fff;
}
.rf-header-nav a {
  position:relative;
  z-index:1;
    width:100%;
    padding:18px 3px;
    display:flex;
    align-items:center;
    justify-content: center;
    text-align:center;
    font-size:14px;
    color:#fff;
    font-weight:bold;
}
.rf-header-nav a img {
    transform: translateY(-3px);
}
.rf-header-nav .last-nav-bg {
  display:block;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:100vw;
  background: var(--color-green);
}
.rf-header-nav .has-child {
    width:100%;
    padding:20px 3px;
    display:flex;
    align-items:center;
    justify-content: center;
    text-align:center;
    font-size:14px;
    color:#fff;
    font-weight:bold;
}

.rf-header-nav .has-child::after {
  content:'';
  display:block;
  width:10px;
  height:10px;
  margin-left:10px;
  border-left:1px solid #fff;
  border-bottom:1px solid #fff;
  transform: rotate(-45deg) translateY(-3px);
}

.rf-header-bottom {
  margin-bottom:10px;
  padding:8px 5px;
  background:#F7F8F8;
  box-shadow: 0px 3px 3px #848484;
}
.rf-header-user-info {
  display:flex;
  align-items:center;
}
.rf-login-text {
  display:flex;
  align-items:center;
}
.rf-login-text span {
}
.rf-login-text p {
  font-size:14px;
  color:var(--color-gray);
  margin-right:10px;
}
.rf-login-text a {
  position:relative;
  font-size:14px;
  color:var(--color-gray);
}
.rf-login-text a::before {
  content:'';
  display: block;
  bottom:0px;
  left:0;
  right:0;
  position:absolute;
  border-bottom:1px solid var(--color-main-blue);
}
.rf-login-text a span {
  color:var(--color-main-blue);
}

.rf-header-user {
  margin-left:auto;
  display:flex;
  align-items:center;
}
.rf-header-user li + li {
  margin-left:20px;
}
.rf-header-user li a {
  display: flex;
  align-items:center;
  color:var(--color-gray);
  font-size:14px;
}
.rf-header-user li img {
  margin-right:3px;
}
.rf-header-user .rf-user-badge {
  font-family: "Quicksand", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  border:2px solid #fff;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#fff;
  font-size:16px;
  box-shadow: 2px 2px 3px #848484;
  margin-left:5px;
}
.badge-pink {
  background:var(--color-pink);
}
.badge-yellow {
  background:var(--color-yellow);
}

.rf-header-menu {
    display:flex;
    align-items:center;
}
.rf-header-buttons {
    display:flex;
    align-items:center;
}
.rf-header-buttons a + a {
    margin-left:1px;
}
.hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items:center;
    width: 55px;
    height: 40px;
    cursor: pointer;
}
.line {
    width: calc(100% - 20px);
    height: 2px;
    background-color: var(--color-font-gray);
    border-radius:3px;
    transition:.3s;
}
.hamburger-menu.open .line:nth-child(1) {
  transform: translateY(15px) rotate(45deg);
}
.hamburger-menu.open .line:nth-child(2) {
  opacity: 0;
}
.hamburger-menu.open .line:nth-child(3) {
  transform: translateY(-12px) rotate(-45deg);
}

.rf-header-middle {
    display:flex;
    align-items:center;
    justify-content:center;
    background: var(--color-blue);
    padding:5px 0;
}
@media(max-width:1199.98px) {
    .rf-header-nav a {
    }
}
@media(max-width:991.98px) {
}
@media(max-width:767.98px) {
  #rf-header {
    background: rgba(255, 255, 255, .9);
    /*border-bottom: 1px solid var(--color-blue);*/
    padding: 0;
  }

  .rf-header-top {
    background: #fff;
  }

  .rf-header-logo {
    width: 100%;
    padding:3px 15px 0;
    text-align:center;
  }
  .rf-header-logo img {
    max-width:100%;
    margin-left:5%;
  }

  .rf-header-nav {
    margin-right: -10px;
    margin-left: -10px;
    background: #fff;
  }

  .rf-header-nav a {
    font-size: 10px;
    padding: 5px;
    color: var(--color-font-gray);
  }

  .rf-header-menu {
    margin-right: -10px;
    margin-left: -10px;
  }
    .rf-login-text {
      font-size:13px;
    }
    .rf-login-text p {
      color:#fff;
      font-size:13px;
    }
    .rf-login-text a {
      color:#fff;
      font-size:13px;
    }
    .rf-login-text a span {
      color:#FFF100;
    }
    .rf-login-text a::before {
      display:none;
    }
    .rf-header-user {
      margin-left:0;
      width:100%;
    }
    .rf-header-user > li:first-of-type {
      margin-right:auto;
    }
  .rf-header-user li a {
    font-size:12px;
  }
  .rf-header-user .rf-user-badge {
    width:23px;
    height:23px;
    font-size:14px;
    margin-left:5px;
  }
  .rf-header-user li img {
    max-width:18px;
  }
  .rf-header-bottom {
    margin-bottom:0;
    padding:5px 0;
  }
  .hamburger-menu {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items:center;
      width: 18px;
      height: 18px;
      cursor: pointer;
      margin-left:15px;
  }
}
@media(max-width:575.98px) {
}


/*--------------------------------------
fv
--------------------------------------*/
.rf-fv-slider-item {
    position:relative;
    display:block;
    width:830px;
    padding:0 5px;
    transform:translateX(135px);
}
.rf-fv-slider-progress {
  background:#DCDDDD;
}
/*.rf-fv-slider-progress::before,*/
.rf-fv-slider-progress span {
  display:block;
  content:'';
  height:5px;
  width:0;
  background:var(--color-main-blue);
}
/*.slick-active.slick-current .rf-fv-slider-progress::before {
  transition:8s linear;
  width:100%;
}*/

.rf-fv-slider-item img {
    width:100%;
}
.rf-fv .slick-dots {
    padding-left:270px;
    bottom:-30px;
}
.rf-fv .slick-dots li button::before {
    color:#C9CACA;
    font-size:14px;
    opacity:1;
}
.rf-fv .slick-dots li.slick-active button:before {
    color:var(--color-main-blue);
}
.rf-fv .slick-dots li button::before {
}
/*.rf-fv .slick-prev {
    background:url(./img/icon-arrow-left.svg) no-repeat center / cover !important;
    width:25px;
    height:25px;
    z-index:10;
    left:calc((100vw - 1200px) / 2  + 300px);
}
.rf-fv .slick-next {
    background:url(./img/icon-arrow-right.svg) no-repeat center / cover !important;
    width:25px;
    height:25px;
    z-index:10;
    right:calc((100vw - 1200px) / 2 + 30px);
}*/
.rf-fv .slick-prev:before,
.rf-fv .slick-next:before {
    display:none;
}
.rf-detail-thumbnail .slick-track {
    width: auto !important;
    transform: unset !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rf-detail-info-imgs .slick-img,
.rf-detail-info-imgs .rf-thumbnail-img {
    aspect-ratio: 4 / 3;
    overflow:hidden;
}
 .rf-thumbnail-img.slick-current {
     position:relative;
 }
 .rf-thumbnail-img.slick-current::before {
     content:'';
     display:block;
     width:100%;
     height:100%;
     position:absolute;
     top:0;
     bottom:0;
     right:0;
     left:0;
     border:5px solid #666;
 }
@media(max-width:1199.98px) {
    .rf-fv .slick-dots {
        padding-left:255px;
    }
    .rf-fv-slider-item {
        width:70vw;
    }
    .rf-fv .slick-prev {
        left:calc(2vw + 260px);
    }
    .rf-fv .slick-next {
        right:2vw;
    }
}
@media(max-width:991.98px) {
}
@media(max-width:767.98px) {
    .rf-fv .slick-dots {
        padding-left:0;
    }
    .rf-fv.slick-dotted.slick-slider {
      margin-bottom:65px;
    }
    .rf-fv .slick-dots {
      bottom:-40px;
    }
    .rf-fv-slider-item {
        width:85vw;
        transform:none;
    }
    .rf-fv .slick-prev {
        left:7.5vw;
    }
    .rf-fv .slick-next {
        right:7.5vw;
    }
}


/*--------------------------------------
product
--------------------------------------*/

.rf-product-section {
    overflow:hidden;
}
.rf-product-panel {
    display:flex;
    flex-direction:column;
    width:100%;
}
.rf-product-panels > article {
    display:flex;
}
.rf-product-img {
    aspect-ratio:4 / 3;
    flex:0 0 auto;
}
.rf-product-img img {
    height:100%;
    width:100%;
    object-fit:cover;
}
.rf-product-titles {
  border-left:10px solid;
  padding:3px 3px 3px 8px;
  margin-top:10px;
  margin-bottom:10px;
}
.product-01 .rf-product-titles {
  border-left:10px solid #64B3D1;
}
.product-02 .rf-product-titles {
  border-left:10px solid var(--color-pink);
}
.product-03 .rf-product-titles {
  border-left:10px solid var(--color-yellow);
}
.rf-product-info {
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    padding:15px 15px 30px;
    background:#fff;
}
.rf-product-cat ,
.rf-product-titles > span:nth-of-type(1) {
    font-family: "Zen Maru Gothic", serif;
    font-size:22px;
    font-weight:bold;
    color:var(--color-font-black)
}
.rf-product-title ,
.rf-product-titles > span:nth-of-type(2) {
    font-family: "Zen Maru Gothic", serif;
    font-size:38px;
    font-weight:bold;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:0;
    line-height:1.2;
    color:var(--color-font-black)
}
.rf-product-course,
.rf-product-titles > span:nth-of-type(3) {
    font-family: "Zen Maru Gothic", serif;
    font-size:24px;
    color:var(--color-font-gray)
}
.rf-product-tags {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  margin-left: -2.5px;
  margin-right: -2.5px;
}
.rf-product-tag {
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  display: inline-block;
  text-align: left;
  background: #C9CACA;
  margin: 2.5px 10px 2.5px 2.5px;
  padding: 3px 2px 3px 4px;
  min-width: 60px;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
}
.rf-product-tag::before {
  content:'';
  display:inline-block;
  vertical-align:middle;
  width:5px;
  height:5px;
  background:#fff;
  border-radius:50%;
  margin-right:4px;
}
.rf-product-tag::after {
  content:'';
  position:absolute;
  display:block;
  left:100%;
  width:7px;
  top:0;
  bottom:0;
  background:#C9CACA;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.rf-product-badge {

}
.rf-product-badge img {
    max-height:50px;
    width:auto;
}
.rf-product-text {
  margin-bottom: 15px;
  font-size: 18px;
}
.rf-product-price {
  font-family: "Quicksand", sans-serif;
  color: #EB6153;
  font-size: 44px;
  font-weight: 600;
  line-height: 1.1;
}
.rf-product-price span {
  font-family: "M PLUS 1p", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-size: 24px;
  font-weight: normal;
}
 .rf-product-desc {
  font-size:14px;
  color:var(--color-font-light-gray);
 }
.rf-product-info .rf-product-desc {
    margin-top:auto;
}
.rf-product-price .rf-product-tax {
    margin-left:5px;
    font-size:19px;
    color:var(--color-font-gray);
    font-weight:normal;
}
.rf-product-button-area {
    position:relative;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
}
.rf-product-button-area::after {
  content:'';
  position: absolute;
  right:0;
  bottom: 0;
  display: block;
  width:40px;
  height:40px;
  background:#BDA889;
  opacity:.75;
}

.product-01 .rf-product-button-area::after {
  background:#8DA6B8;
}
.product-02 .rf-product-button-area::after {
  background:#B299A5;
}
.product-03 .rf-product-button-area::after {
  background:#BDA889;
}
.product-01 .rf-product-large-button {
  background:#A6C3D8;
}
.product-02 .rf-product-large-button {
  background:#D2B4C2;
}
.product-03 .rf-product-large-button {
  background:#DFC5A1;
}

.rf-product-large-button {
  display:flex;
  align-items:center;
  justify-content: center;
  padding:20px;
  color:#fff !important;
  font-size:16px;
  letter-spacing:5px;
}
.rf-product-large-button::after {
  content:'>>>';
  margin-left:10px;
  letter-spacing: 0px;
}
.rf-product-large-button img {
  margin-right:10px;
}
.rf-product-button {
    padding:10px 0;
    text-align:center;
}
.rf-main-button {
    display:inline-block;
    padding:15px 25px;
    line-height:1;
    font-size:18px;
    color:#fff !important;
    border-radius:30px;
    text-align:center;
    background:var(--color-dark-blue);
}
.rf-main-button img {
    width:28px;
    margin-right:5px;
}
.rf-main-button::after {
    content:'＞';
    margin-left:5px;
}
.rf-secondary-button {
    display:block;
    padding:15px 10px;
    line-height:1.2;
    cursor:pointer;
    font-size:18px;
    color:#fff !important;
    border-radius:50px;
    text-align:center;
    background:var(--color-dark-blue);
    margin-bottom:15px;
}
.rf-product-section-button-area {
  margin:30px 0;
}
.rf-product-section-button {
  padding:5px;
  margin:auto;
  display:block;
  max-width:700px;
  border-radius:60px;
  background:#fff;
}
.rf-product-section-button-inner {
  display:flex;
  align-items:center;
  justify-content: flex-end;
  text-align:center;
  font-size:24px;
  border-radius:60px;
  padding:15px;
  color:#E4007F;
}
.product-01 .rf-product-section-button-inner {
  border:1px solid #64B3D1;
}
.product-02 .rf-product-section-button-inner {
  border:1px solid var(--color-pink);
}
.product-03 .rf-product-section-button-inner {
  border:1px solid var(--color-yellow);
}
.rf-product-section-button-inner span {
  width:100%;
  text-align:center;
}
.rf-product-section-button-inner img  {
  margin-left:20px;
}

.rf-product-data {
    border-bottom:1px solid var(--color-blue);
}
.rf-product-attention {
    border-bottom:1px solid var(--color-pink);
}
.rf-product-data ,
.rf-product-attention {
    padding:20px 50px;
    margin-top:40px;
    background:#fff;
}
.rf-product-data h3 {
    font-weight:bold;
    font-size:24px;
    color:var(--color-blue);
    margin-bottom:15px;
}
.rf-product-data {
    font-size:16px;
}
.img-text {
    display:flex;
}
.img-text > div:first-of-type {
    margin-right:30px;
}
.img-text > div:last-of-type {
    flex:1 1 auto;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:350px;
}
.img-text.img-min > div:first-of-type {
    margin-right:30px;
    flex:1 1 auto;
}
.img-text.img-min > div:last-of-type {
    flex:0 0 auto;
    min-width:auto;
}
.img-text > div:last-of-type img {
    max-width:450px;
}
.rf-product-data .marker {
    display:inline-block;
    margin-right:5px;
    position:relative;
}
.rf-product-data .marker span {
    position:relative;
    z-index:1;
    color:var(--color-font-gray);
}
.rf-product-data .marker::before {
    content:'';
    position:absolute;
    height:8px;
    display:block;
    left:-2px;
    right:-2px;
    bottom:0;
    background:#EFC295;
    z-index:1;
}
.rf-product-data .red.marker::before {
    background:#f86a36;
}
.rf-product-data .feature {
    padding:10px;
    display:inline-block;
    background:var(--color-blue);
    color:#fff;
    text-align:center;
}
.rf-product-data .feature + p {
    margin-top:20px;
}

.rf-product-data .orders {
    margin:20px 0;
}
.rf-product-data .order {
    display:flex;
    align-items:center;
    font-size:14px;
    line-height:1.8;
}
.rf-product-data .order span {
    font-size:16px;
}
.rf-product-data .order img {
    margin-right:5px;
}
.rf-product-data .desc {
    font-size:14px;
    background:var(--color-light-blue);
    padding:7px 10px 5px;
    font-weight:bold;
}
.rf-product-data .label {
    display:inline-block;
    color:#fff;
    background:#FF931E;
    border-radius:20px;
    padding:5px 8px;
    font-size:16px;
    text-align:center;
    margin:20px 0 0 0;
}
.rf-product-data .img {
    display:flex;
    flex-direction:column;
}
.rf-product-data .img img {
    margin-top:20px;
}
.rf-product-data span.label {
    vertical-align:middle;
    margin:5px 5px 5px 0;
}
.rf-product-data .lead {
    margin-top:20px;
    font-size:16px;
    color:var(--color-blue);
    line-height:1.8;
}
.rf-product-data .min {
    margin-bottom:15px;
    font-size:14px;
}
.rf-product-data h3 + p + .min {
    margin-top:15px;
    margin-bottom:0;
}
.rf-product-data span {
    color:var(--color-blue);
}
.rf-product-attention > div {
    position:relative;
    padding-left:40px;
}
.rf-product-attention > div::before {
    position:absolute;
    left:0;
    top:-2px;
    content:url(./img/icon-attention.png);
}
.rf-product-attention h4 {
    font-size:18px;
    font-weight:600;
    color:var(--color-pink);
}
.rf-product-attention span {
    color:var(--color-pink);
}
.rf-product-attention > div + div {
    margin-top:30px;
}

.rf-product-data .contact {
    margin-top:20px;
    font-size:16px;
    font-weight:bold;
    background:#FFEFDD;
    padding:10px;
    font-weight:bold;
}


@media(max-width:991.98px) {
}

@media(max-width:767.98px) {
    .rf-product-panel {
    }
    .rf-product-img {
        width:100%;
        flex:1 0 auto;
    }
    .rf-product-title {
        font-size: 20px;
    }
    .rf-product-tag {
        font-size:12px;
        padding:2px 5px;
        min-width:50px;
    }
    .rf-product-text {
    }
    .rf-product-price {
    }
    .rf-product-price .rf-product-tax {
    }
    .rf-main-button {
    }
    .rf-product-info {
      padding:10px 10px 20px;
    }
    .rf-product-large-button {
      padding:10px;
    }
    .img-text {
        flex-direction:column;
    }
    .img-text > div:first-of-type {
        margin-right:0;
        margin-bottom:20px;
    }
    .rf-product-data, .rf-product-attention {
        padding:10px 20px;
    }
    .img-text > div:last-of-type {
        min-width:auto;
    }
    .rf-product-data .img {
        text-align:center;
    }
    .img-text > div:last-of-type img {
        max-width:100%;
    }
    .rf-product-section-button-inner {
      justify-content:center;
      font-size:18px;
      text-align:left;
      padding: 5px 20px;
    }
    .rf-product-section-button-inner span {
      text-align:left;
    }
}
@media(max-width:575.98px) {
    .rf-product-panel {
    }
    .rf-product-img {
        width:100%;
    }
    .rf-product-price {
    }
    .rf-main-button {
        padding:10px 20px;
        font-size:16px;
    }
    .rf-product-button {
        padding:10px 0;
    }
    .rf-product-text {
    }
}


/*--------------------------------------
topic
--------------------------------------*/
.rf-topics-section {
    margin-top:40px;
    background:#EFEFEF;
    padding:30px 0 60px;
}
.rf-topics-title {
    font-family: "Zen Maru Gothic", serif;
    color:#fff;
    max-width:590px;
    display: block;
    margin:auto;
    font-weight:bold;
    margin-bottom:30px;
    padding:20px 0;
    font-size:28px;
    line-height:1;
    text-align:center;
    position:relative;
    background:#F9C270;
    letter-spacing: 10px;
    border-radius:50px;
}
.rf-topics-title::before {
    content:'';
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin:auto;
    display:block;
    width:0;
    height:0;
    border-top:15px solid #F9C270;
    border-left:10px solid transparent;
    border-right:10px solid transparent;
}
.rf-topics {
  position:relative;
    background:#fff;
    padding:22px 27px 0;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
}
.rf-topics::after {
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  display:block;
  height:40px;
  width:40px;
  background: #DCDDDD;
}
.rf-topics > article:last-of-type {
    border-bottom:2px dotted var(--color-font-gray);
}
.rf-topic {
    display: flex;
    padding:20px;
    border-top:2px dotted var(--color-font-gray);
}
.rf-topic-img {
  width:200px;
  margin-right:20px;
}
.rf-topic-texts {

}
.rf-topic-info {
  display: flex;
  align-items:center;
  margin-bottom:20px;
}
.rf-topic-date {
  font-size:18px;
  margin-right:30px;
}
.rf-topic-cat {
  color:#fff;
  display: inline-block;
  text-align:center;
  width:135px;
  font-size:16px;
  padding:5px;
  border-radius:20px;
  line-height:1;
}
.cat-sale {
  background:#F39800;
}
.rf-topic-text {
  font-size:18px;
}
.rf-topic-text a {
  color: var(--color-main-blue);
  text-decoration:underline;
}
.rf-topic-text a::after {
  content:'＞';
}
.rf-topics-link {
  padding:15px 30px;
  text-align:right;
}
.rf-topics-link a {
  color: var(--color-font-gray);
  text-decoration:underline;
  font-size:16px;
}
.rf-topics-link a::after {
  content:'＞';
}
.rf-paginate-dots {
  margin-top:45px;
  display:flex;
  align-items:center;
  justify-content: center;
}
.rf-paginate-dot {
  display:block;
  width:12px;
  height:12px;
  margin:0 10px;
  border-radius:50%;
  background:#DCDDDD;
}

@media(max-width:767.98px) {
  .rf-topics-section {
    padding:20px 0 60px;
  }
    .rf-topics-title {
      margin-bottom:20px;
      padding:10px 0;
      max-width:180px;
      font-size:20px;
      letter-spacing: 5px;
    }
    .rf-topics-title::before {
      border-top: 8px solid #F9C270;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
    }
    .rf-topics {
      padding:14px 10px;
    }
    .rf-topic-img {
      width:150px;
      margin-right:0;
    }
    .rf-topic {
      flex-wrap:wrap;
      align-items:center;
    }
    .rf-topic-date {
      font-size:22px;
      margin-right:0;
      text-align:center;
    }
    .rf-topic-title {
      font-size:16px;
    }
    .rf-topic-info {
      flex: 1 1 auto;
      padding:0 5px;
      margin-bottom: 0;
    }
    .rf-topic-texts {
      margin-top:15px;
      margin-right:-10px;
      margin-left:-10px;
    }
    .rf-topic-text {
      font-size:16px;
    }
    .rf-topics-link {
      padding:20px 0 0;
      text-align:center;
    }
    .rf-topics-link a {
        text-decoration: none;
    }
}

/*--------------------------------------
reason
--------------------------------------*/
.rf-reason-section {
  background:linear-gradient(#c9caca, #e8e9e9);
  box-shadow: 2px 2px 3px #848484;
}
.rf-reason-inner {
  position:relative;
}
.rf-reason-ribon {
  position:absolute;
  top:-20px;
  left:0;
}
.rf-reason-ribon {
  width:180px;
}
.rf-reason-contents {
  display: flex;
  justify-content: center;
  padding-top:20px;
}
.rf-reason-text {
  font-family: "Zen Maru Gothic", serif;
  font-size:28px;
  font-weight:bolder;
  color:var(--color-font-gray);
  -webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;
  text-shadow:0 0 2px #fff;
}
.rf-reason-text span {
  position:relative;
}
.rf-reason-text span picture {
  position:absolute;
  bottom:100%;
  left:50%;
  transform: translateX(-50%);
}
.rf-reason-text > span:nth-of-type(1) {
  color:#64B3D1;
}
.rf-reason-text > span:nth-of-type(2) {
  color:#D494AF;
}
.rf-reason-text > span:nth-of-type(3) {
  color:#EBC397;
}
.rf-reason-right {
  display:flex;
  align-items:flex-end;
}
.rf-anchor {
  margin-top:10px;
  margin-right:auto;
  margin-left:auto;
  width:680px;
  padding-bottom:40px;
}

.rf-anchor-text {
  font-family: "Zen Maru Gothic", serif;
  font-size:28px;
  font-weight:bolder;
  padding:15px;
  background:#323D8A;
  color:#fff;
  border-radius:40px;
  text-align:center;
  line-height: 1;
}
.rf-anchor-links {
  display:flex;
  justify-content: space-evenly;
  width:100%;
  max-width:760px;
  margin:auto;
}
.rf-anchor-links a {
  position:relative;
  display: flex;;
  flex-direction: column;
  align-items: center;
  text-align:center;
  font-family: "Zen Maru Gothic", serif;
  line-height:1.2;
  font-size:18px;
  opacity:1 !important;;
  color:var(--color-font-gray) !important;
}
.rf-anchor-text + .rf-anchor-links a {
  padding-top:30px;
}
.rf-anchor-text + .rf-anchor-links a::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    margin:auto;
    display:block;
    width:0;
    height:0;
    border-top:15px solid #323D8A;
    border-left:10px solid transparent;
    border-right:10px solid transparent;
}
.rf-anchor-links a::after {
  content:'';
  display:block;
  width:10px;
  height:10px;
  margin-top:10px;
  border-left:1px solid var(--color-font-gray);
  border-bottom:1px solid var(--color-font-gray);
  transform: rotate(-45deg) translateY(-3px);
}

@media(max-width:767.98px) {
  .rf-anchor {
    margin-top:0;
    width:100%;
    padding-bottom:20px;
  }
  .rf-anchor-text {
    font-size:20px;
    padding:12px;
  }
  .rf-reason-ribon {
    width:130px;
    top:-15px;
  }
  .rf-reason-contents {
    padding-top:60px;
  }
  .rf-reason-text {
    margin-right:-10px;
    margin-left:-10px;
  }
  .rf-anchor-links li {
    width:33.333333%;
  }
  .rf-anchor-links a {
    padding-top:20px;
    font-size:13px;
  }
  .rf-anchor-links a::before {
    border-top: 8px solid #323D8A;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }
}

/*--------------------------------------
product
--------------------------------------*/
.rf-product-large-title-sect {
  position:relative;
  overflow: hidden;
}
.rf-product-bg {
  position:absolute;
  top:0;
  left:0;
  right:0;
  max-width:1920px;
  margin:auto;
  z-index:-1;
}
.rf-product-bg img {

}
.rf-product-large-title-sect-inner {
  padding:140px 0;
  /*background:url(./img/bg-product-01.png) no-repeat center/ auto auto;*/
}
.rf-product-large-title {
  position:relative;
  padding:5px;
  max-width:700px;
  margin:0 auto 60px;
  border-radius:60px;
}
.product-01 .rf-product-large-title {
  background:var(--color-blue);
}
.product-02 .rf-product-large-title {
  background:var(--color-pink);
}
.product-03 .rf-product-large-title {
  background:var(--color-yellow);
}
.rf-product-large-title > picture:nth-of-type(1) {
  position:absolute;
  bottom:calc(100% + 1px);
  left:10%;
}
.rf-product-large-title > picture:nth-of-type(2) {
  position:absolute;
  bottom:calc(100% + 1px);
  left:calc(10% + 120px);
}
.rf-product-large-title-inner {
  display: flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-family: "Zen Maru Gothic", serif;
  font-size:37px;
  font-weight:bolder;
  padding:5px 20px;
  color:#fff;
  border:1px solid #fff;
  margin:0;
  letter-spacing: 0;
  line-height:1;
  text-align:center;
  border-radius:60px;
  min-height:80px;
}
.rf-product-section {
  padding:30px 0 60px;
}
.rf-product-section.product-01 {
  background:linear-gradient(#c1e1ed, #e1f0f6);
}
.rf-product-section.product-02 {
  background:linear-gradient(#f0d9e2, #f7e9ef);
}
.rf-product-section.product-03 {
  background:linear-gradient(#f8e7d6, #fbf3ea);
}
.rf-product-section-title {
  font-family: "Zen Maru Gothic", serif;
  font-size:30px;
  margin-bottom:10px;
  text-align:center;
  font-weight:bolder;
  color:var(--color-font-black);
}
.rf-product-section-lead {
  display: flex;
  align-items:center;
}
.rf-product-section-lead p {
  font-size:20px;
  line-height:1.7;
  margin-right:5px;
}
.rf-product-section-lead picture {
  flex:0 0 auto;
  width:170px;
}

@media(max-width:767.98px) {
  .rf-product-section {
    position:relative;
    overflow:visible;
  }
  .rf-product-large-title-sect {
    display:flex;
    align-items:center;
    justify-content:center;
    height:335px;
  }
  .rf-product-bg {
    bottom:0;
  }
  .rf-product-large-title-sect-inner {
    padding:0;
    /*background:url(./img/bg-product-01.png) no-repeat center/ auto auto;*/
  }
  .rf-product-large-title {
    margin-bottom:10px;
  }
  .rf-product-large-title-inner {
    letter-spacing: 0;
    font-size:20px;
    padding:3px;
    min-height:50px;
  }
  .rf-product-large-title > picture:nth-of-type(1) {
    width: 60px;
  }
  .rf-product-large-title > picture:nth-of-type(2) {
    width:60px;
    left: calc(10% + 70px);
  }
  .rf-product-section-lead picture {
    position:absolute;
    bottom:calc(100% + 10px);
    right:15px;
    width:120px;
  }
  .rf-product-section-title {
    font-size:22px;
    text-align:left;
  }
  .rf-product-section-lead p {
    font-size:18px;
    line-height:1.5;
  }
}

/*--------------------------------------
lineup
--------------------------------------*/
.rf-fv-section {
    position:relative;
}
.rf-title-area {
    position:absolute;
    top:30px;
    left:0;
    right:0;
    margin:auto;
}
.rf-fv-img img {
    width:100%;
}
.rf-lineup-wrap {
  background:#eeeeef;
  padding:30px 0 50px;
}
.rf-lineup-area {
  padding:45px 0;
  background:#fff;
}
.rf-lineup-box {
  display:block;
}
.rf-lineup-box + .rf-lineup-box {
  margin-top:100px;
}
.rf-lineup-panel {
    display:flex;
    padding:0 0 20px 30px;
}
.rf-lineup-img {
    margin-top:30px;
    width:55%;
    flex:0 0 auto;
}
.rf-lineup-01 {
    background:url(./img/bg-lineup-01.png) no-repeat center / contain;
}
.rf-lineup-02 {
    background:url(./img/bg-lineup-02.png) no-repeat center / contain;
}
.rf-lineup-03 {
    background:url(./img/bg-lineup-03.png) no-repeat center / contain;
}
.rf-lineup-03 .rf-lineup-img {
    margin-top:60px;
}
.rf-lineup-texts {
    padding-right:15px
}
.rf-lineup-title {
    margin-bottom:10px;
    text-align:center;
}
.rf-lineup-lead {
    font-size:22px;
    margin-bottom:5px;
}
.rf-lineup-text {
    margin-bottom:10px;
    font-size:18px;
}
.rf-lineup-tags {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    width:100%;
}
.rf-lineup-tags div {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:78px;
    height:78px;
    margin:5px;
    background:#fff;
    border:1px solid var(--color-dark-blue);
    color:var(--color-dark-blue);
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-size:14px;
    text-align:center;
    border-radius:50%;
    line-height:1.2;
}
.rf-lineup-button {
    margin-top:30px;
    margin-bottom:70px;
    text-align:center;
}
.rf-lineup-list {
    margin-top:50px;
    padding:20px 0 20px 90px;
}
.rf-lineup-list .rf-lineup-title {
}
.rf-lineup-triple-img {

}
.rf-lineup-triple-img img {
    width:100%;
}
.rf-lineup-title-min {
    margin-top:10px;
    font-size:18px;
    text-align:center;
}

@media(max-width:1199.98px) {
    .rf-lineup-list {
        margin-top:50px;
        padding:10px 10px 10px 40px;
    }
    .rf-lineup-panel {
        display:flex;
        margin-top:50px;
        padding:10px 10px 10px 40px;
    }
}
@media(max-width:767.98px) {
   .rf-lineup-01 {
        background-position:top;
    }
    .rf-lineup-02 {
        background-position:top;
    }
    .rf-lineup-03 {
        background-position:top;
    }
    .rf-lineup-texts {
        position:relative;
        z-index:1;
        max-width:400px;
        padding-right:0;
    }
    .rf-lineup-03 .rf-lineup-img {
        margin-top:-120px;
    }
    .rf-lineup-img {
        margin-top:-120px;
        margin-left:auto;
        width:70%;
        text-align:right;
    }
    .rf-lineup-title {
        margin-bottom:20px;
    }
    .rf-lineup-lead {
        font-size:18px;
        margin-bottom:10px;
    }
    .rf-lineup-text {
        font-size:14px;
    }
    .rf-lineup-list {
        margin-top:30px;
        padding:10px 10px 10px 10px;
    }
    .rf-lineup-panel {
        display:block;
        margin-top:50px;
        padding:10px 10px 10px 10px;
    }
}

@media(max-width:575.98px) {
    .rf-title-area {
        top:15px;
    }
    .rf-title-area img {
        max-width:40%;
    }
    .rf-lineup-texts {
        margin:auto;
    }

    .rf-lineup-03 .rf-lineup-img {
        margin-top:20px;
    }
    .rf-lineup-img {
        margin-top:20px;
        margin-left:auto;
        width:100%;
        text-align:right;
    }
    .rf-lineup-button {
        margin-top: 15px;
    }
}

/*--------------------------------------
sort
--------------------------------------*/
.rf-sort-section {
    overflow:hidden;
}
.rf-sort-title {
    padding:40px 0;
    text-align:center;
}
.rf-sort-area {
    display:flex;
    align-items:center;
    padding:10px;
    border-top:1px solid var(--color-gray);
    border-bottom:1px solid var(--color-gray);
}
.rf-sort-area-text {
    white-space:nowrap;
    margin-right:10px;
    font-size:14px;
}
.rf-sort-selects {
    margin-left:auto;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
}
.rf-sort-selects div {
    margin:7px;
}
.rf-select-wrap {
    position:relative;
    min-width:150px;
    display:inline-block;
}
.rf-select-wrap::after {
    content:'';
    position:absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
    display:block;
    width:12px;
    height:8px;
    background:url(./img/icon-select.svg) no-repeat center / cover;
}
.rf-select {
    border-radius:4px;
    background:var(--color-light-gray);
    border:1px solid var(--color-gray);
    padding:8px;
    font-size:14px;
    display:block;
    width:100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    line-height:1;
}
.rf-sort-button {
    border-radius:4px;
    background:var(--color-light-gray);
    border:1px solid var(--color-gray);
    padding:9px 8px;
    line-height:1;
    font-size:14px;
    display:inline-block;
}


@media(max-width:767.98px) {
    .rf-sort-area {
        flex-direction:column;
    }
    .rf-sort-area-text {
        margin-right:0;
        margin-bottom:10px;
        font-size:16px;
    }
    .rf-sort-selects {
        justify-content:center;
    }
    .rf-sort-button {
        margin-top:10px;
    }
}


/*--------------------------------------
detail
--------------------------------------*/
.rf-detail-section {
    margin-top:40px;
}
.rf-detail-title {
    border-top:1px solid var(--color-gray);
    border-bottom:1px solid var(--color-gray);
    font-size:30px;
    margin-bottom:25px;
    padding:10px;
}
.rf-product-caption {
    font-size:16px;
    line-height:1.5;
}
.rf-detail-product {
    padding:40px 30px 20px 40px;
    background:url(./img/bg-lineup-01.png) no-repeat top / contain;
}
.rf-detail-name {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    font-weight:bold;
    font-size:38px;
}

.rf-detail-name-cat {
    display:inline-block;
    text-align:center;
    background:var(--color-pink);
    margin:2.5px;
    padding:3px 8px;
    min-width:70px;
    color:#fff;
    font-weight:bold;
    font-size:.6em;
    vertical-align:middle;
    border-radius:5px;
    margin-right:5px;
}
.rf-detail-info {
    display:flex;
}
.rf-detail-info-texts {
    flex:0 0 auto;
    width:285px;
    margin-right:15px;
}
.rf-select-wrap {
    margin-top:10px;
}
.rf-select-wrap .rf-select {
}
.rf-product-selects > div {
    margin-top:10px;
    width:100%;
}
.rf-detail-info-texts .rf-product-price {
}
.rf-detail-info-imgs {
    width:calc(100% - 300px);
}
.rf-detail-thumbnail {
    margin-top:10px;
}
.rf-thumbnail-img {
    margin:10px;
}
.rf-thumbnail-img img {
    width:100px;
}
.rf-detail-feature {
    padding-left:30px;
}
.rf-detail-feature > div + div {
}
.rf-feature-box {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    margin-top:50px;
    position:relative;
    padding:15px 15px 15px 55px;
    border-bottom:1px solid var(--color-pink);
    background:#fff;
    line-height:1.8;
}
.rf-feature-point {
    position:absolute;
    left:-40px;
    top:-10px;
}
.rf-feature-box-title {
    font-size:24px;
    color:var(--color-pink);
    margin-bottom:20px;
}
.rf-feature-title {
    font-weight:bold;
    font-size:16px;
}
.rf-feature-text {
    margin-bottom:15px;
    font-size:14px;
}
.rf-feature-list {
    font-size:14px;
    margin-bottom:15px;
}
.rf-feature-list li {
    display:flex;
}
.rf-feature-list li::before {
    content:'・';
}
.rf-feature-imgs {
    display:flex;
}
.rf-feature-img {
    margin-bottom:15px;
}
.rf-feature-texts {
    margin-right:15px;
}
.rf-detail-spec {
    margin-top:50px;
}
.rf-table-spec {
    width:100%;
}
.rf-table-spec tr {
    border-top:1px solid var(--color-font-gray);
    border-bottom:1px solid var(--color-font-gray);
}
.rf-table-spec th ,
.rf-table-spec td {
    padding:15px;
    font-size:15px;
    vertical-align:middle;
}
.rf-table-spec th {
    text-align:center;
    background:var(--color-light-gray);
    white-space:nowrap;
}
.rf-table-spec td {
    background:#fff;
}

@media(max-width:767.98px) {
    .rf-detail-feature,
    .rf-detail-spec {
        padding-left:0;
    }
    .rf-detail-product {
        padding: 20px 10px 20px 10px;
        background: url(./img/bg-lineup-01.png) no-repeat top / contain;
    }
    .rf-table-spec th {
        width:140px;
        white-space:wrap;
    }
    .rf-feature-box {
        padding:45px 10px 10px;
        margin-top:50px;
    }
    .rf-feature-box-title {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .rf-feature-point {
        top:-30px;
        left:0;
    }
}
@media(max-width:575.98px) {
    .rf-detail-info {
        flex-direction:column;
    }
    .rf-detail-info-texts {
        width:100%;
        margin-right:0;
        order:2;
    }
    .rf-detail-info-imgs {
        order:1;
    }
    .rf-detail-info-imgs {
        width:100%;
        margin-bottom:20px;
    }
    .rf-detail-name {
        margin-bottom:5px;
        font-size:30px;
    }
    .rf-detail-info-texts .rf-product-price {
        margin-top:10px;
    }
    .rf-table-spec ,
    .rf-table-spec tbody ,
    .rf-table-spec tr ,
    .rf-table-spec th ,
    .rf-table-spec td {
        display:block;
        width:100%;
    }

    .rf-table-spec tbody {
        border-top:1px solid var(--color-font-gray);
        border-bottom:1px solid var(--color-font-gray);
    }
}

/*--------------------------------------
qa
--------------------------------------*/
.rf-page-fv-section {
  position:relative;
}
.rf-page-fv-section > .container {
  display:flex;
  position:absolute;
  margin:auto;
  top:0;
  bottom:0;
  right:0;
  left:0;
}
.rf-page-fv-img {

}
.rf-page-fv-img img {
    width:100%;
}
.rf-page-fv-inner {
  width:100%;
    position:relative;
}
.rf-page-fv-title {
    position:absolute;
    top:30px;
    left:30px;
    right:0;
}
.rf-page-fv-lead {
    position:absolute;
    bottom:30px;
    left:30px;
    right:0;
}
.rf-qa-section {
  background:#eeeeef;
  padding:30px 0 100px;
}
.rf-qa-anchor {
    display:flex;
    flex-wrap:wrap;
    margin-left:-10px;
    margin-right:-10px;
    margin-top:10px;
}
.rf-qa-anchor a {
    display:flex;
    align-items:center;
    padding:10px;
    font-size:14px;
    color:var(--color-font-gray);
}
.rf-qa-anchor a::before {
    content:url(./img/icon-down.svg);
    display:block;
    width:15px;
    margin-right:5px
}
.rf-qa-area {
    margin-top:40px;
    background:#fff;
    padding:40px;
}
.rf-qa-title {
  font-family: "Zen Maru Gothic", serif;
  font-size:28px;
  font-weight:bolder;
  margin-bottom:40px;
  margin-right: auto;
  margin-left: auto;
  max-width: 680px;
  padding:15px;
  background:var(--color-main-blue);
  color:#fff;
  border-radius:40px;
  text-align:center;
  line-height: 1;
}
.rf-qa-box {
    overflow:hidden;
    border-radius:3px;
    word-break:break-all;
}
.rf-qa-box + .rf-qa-box {
    margin-top:30px;
}
.rf-q {
    display:flex;
    align-items:center;
    padding:10px;
    background:#9fa0a0;
    cursor:pointer;
}
.rf-q > div:first-of-type {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-size:28px;
    color:#fff;
    line-height:1;
    padding-right:15px;
    border-right:1px solid #fff;
    margin-right:5px;
    flex:0 0 auto;
}
.rf-q > div:last-of-type {
    font-family: "Zen Maru Gothic", serif;
    margin-right:auto;
    font-size:18px;
    color:#fff;
    line-height:1.5;
}
.rf-q::after {
    content:'▼';
    margin-left:10px;
    line-height:1;
    color:#fff;
    transition:.3s;
    font-size:20px;
    flex:0 0 auto;
}
.open.rf-q::after {
    transform:rotate(90deg);
}
.rf-a {
    font-family: "Zen Maru Gothic", serif;
    background:#fff;
    padding:15px;
    font-size:16px;
    display:none;
}

@media(max-width:767.98px) {
    .rf-page-fv-img {
    }
    .rf-page-fv-inner {
        margin-left:-10px;
        margin-right:-10px;
    }
    .rf-qa-title {
      font-size: 18px;
      padding: 12px 5px;
    }
    .rf-qa-area {
      padding:15px;
    }
    .rf-qa-box + .rf-qa-box {
        margin-top: 20px;
    }
    .rf-q > div:first-of-type {
        display:flex;
        align-items:center;
        justify-content:center;
        align-self:stretch;
        font-size:24px;
    }
    .rf-q > div:last-of-type {
        font-size:16px;
    }
    .rf-a {
        font-size:14px;
    }
    .rf-q::after {
      margin-left:2px;
    }
    .rf-page-fv-title {
        top:15px;
        left:15px;
    }
}
@media(max-width:575.98px) {
    .rf-qa-anchor {
        justify-content:center;
    }
    .rf-page-fv-title {
        top:10px;
        left:10px;
    }
    .rf-page-fv-title {
        max-width:40%;
    }
    .rf-qa-anchor {
        margin-left:-5px;
        margin-right:-5px;
    }
    .rf-qa-anchor a {
        font-size:12px;
        padding:5px;
    }
}

/*--------------------------------------
lp
--------------------------------------*/
.rf-beginner-section {
    overflow:hidden;
}

.rf-beginner-section > div {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.rf-beginner-area {
    overflow:hidden;
}
.rf-beginner-area-01 {
  padding: 60px 0 80px;
  background: var(--color-light-yellow);
}
.rf-beginner-area-02 {
  padding: 0px 0 80px;
}
.rf-beginner-area-03 {
  padding: 0px 0 80px;
  background-color: var(--color-light-red);
}
.rf-beginner-area-04 {
  padding: 60px 0 150px;
  background-color: var(--color-light-blue);
}
.rf-beginner-area-05 {
  padding: 0 0 80px;
  background-color: var(--color-light-pink);
}
.rf-beginner-area-06 {
  padding: 60px 0 80px;
  background-color: var(--color-light-blue);
}
.rf-beginner-area-07 {
  padding: 0px 0 80px;
  background-color: var(--color-light-pink);
}
.rf-beginner-area-08 {
  padding: 60px 0 60px;
}
.rf-page-large-title {
  position:relative;
  padding:5px;
  max-width:700px;
  margin:auto;
  border-radius:60px;
}
.rf-page-large-title-inner {
  display:flex;
  align-items:center;
  justify-content: center;
  color:#fff;
  font-family: "Zen Maru Gothic", serif;
  font-size:37px;
  font-weight:bolder;
  padding:0 20px;
  color:#fff;
  border:1px solid #fff;
  letter-spacing: 10px;
  line-height:1;
  text-align:center;
  border-radius:60px;
  min-height:80px;
}

.rf-product-large-title-inner .fraction {
    display:inline-block;
    font-size:36px;
    min-width:40px;
    vertical-align:middle;
    margin:0 10px;
}
.rf-product-large-title-inner .fraction span {
    display:block;
}
.rf-product-large-title-inner .fraction span + span {
  margin-top:5px;
    border-top:2px solid #fff;
}

.rf-beginner-title {
    text-align:center;
    color:var(--color-blue);
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-weight:bold;
    font-size:50px;
    margin-bottom:40px;
}
.rf-beginner-title span {
    margin-top:10px;
    display:block;
    font-size:30px;
}
.rf-beginner-single-img {
    text-align:center;
}
.rf-beginner-single-img + .rf-beginner-single-img {
    margin-top:30px;
}
.rf-beginner-start {
    margin-top:40px;
}
.rf-beginner-compare {
    position:relative;
    margin-top:30px;
    text-align:center;
}
.rf-compare-desc {
  margin-top:20px;
  margin-bottom:20px;
  font-family: "Zen Maru Gothic", serif;
  font-size: 12px;
  text-align: center;
}
.rf-compare-desc span {
  font-size:24px;
  margin-bottom:10px;
}
.rf-beginner-middle-title {
  margin-bottom:30px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold;
  font-size: 52px;
  text-align: center;
  color:var(--color-main-blue);
}
.rf-beginner-lead {
  margin-top:30px;
  margin-bottom:20px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}
.rf-beginner-lead span {
  color:var(--color-blue);
}

.rf-beginner-bg-text {
    text-align:center;
    background:var(--color-blue);
    color:#fff;
    padding:10px;
    font-size:25px;
    border-radius:30px;
    margin:30px 0;
}
.rf-beginner-reform-text {
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
  margin: 30px 0;
  text-align: center;
  font-size: 26px;
  line-height: 2;
}
.rf-beginner-reform-text span {
    color:var(--color-red);
}
.rf-beginner-reform-img {
  margin-top:10px;
  text-align:center;
}
.rf-beginner-assistant-img {
  margin-top:-70px;
  text-align:center;
}

.rf-beginner-lead {
    margin:30px 0;
    text-align:center;
    font-size:26px;
    line-height:2;
}
.rf-beginner-lead span {
    color:var(--color-blue);
}
.rf-check-title {
  transform: translateY(-50%);
  margin-bottom:20px;
}
.rf-lp-title-ornament {
    display:flex;
    justify-content:center;
}
.rf-lp-title-ornament::before,
.rf-lp-title-ornament::after {
    content:'';
    display:block;
    width:4px;
    height:auto;
    background:var(--color-blue);
    border-radius:3px;
}
.rf-lp-title-ornament::before {
    margin-right:40px;
    transform:scale(1) rotate(-20deg);
}
.rf-lp-title-ornament::after {
    margin-left:40px;
    transform:scale(1) rotate(20deg);
}
.rf-beginner-icon-img {
    margin:30px 0;
}
.rf-beginner-icon-img img {
    margin:auto;
    width:40px;
    height:auto;
    display:block;
}
.rf-beginner-down.rf-beginner-icon-img {
    margin:-20px;
}
.rf-beginner-mid-title {
    font-size:30px;
    text-align:center;
}
.rf-beginner-mid-title span {
    display:block;
    color:var(--color-blue);
    font-size:50px;
}
.rf-beginner-large-title {
    display:flex;
    align-items:center;
    background:var(--color-blue);
    min-height:100px;
    margin-bottom:50px;
    padding:15px 0;
    text-align:center;
}
.rf-beginner-large-title p {
    position:relative;
    text-align:center;
    font-size:32px;
    color:#fff;
}
.rf-beginner-large-title p::after {
    content:'';
    position:absolute;
    top:100%;
    right:0;
    left:0;
    margin:auto;
    display:block;
    width:0;
    height:0;
    border-top:40px solid var(--color-blue);
    border-right:30px solid transparent;
    border-left:30px solid transparent;
}
.rf-beginner-large-title p .fraction {
    display:inline-block;
    font-size:36px;
    min-width:40px;
    vertical-align:middle;
    margin:0 10px;
}
.rf-beginner-large-title p .fraction span {
    display:block;
}
.rf-beginner-large-title p .fraction span + span {
    border-top:2px solid #fff;
}
.rf-beginner-point-title {
    font-size:28px;
    color:var(--color-blue);
    text-align:center;
    margin-bottom:15px;
}
.rf-beginner-point-text {
    font-size:16px;
    line-height:1.8;
}
.rf-beginner-button {
    margin:40px 0;
    text-align:center;
}
.rf-beginner-action {
    margin-top:20px;
}
.rf-beginner-action + .rf-beginner-action {
    margin-top:60px;
}
.rf-beginner-action-img {
    margin-bottom:10px;
    padding:0 20px;
    flex:0 0 auto;
}
.rf-beginner-action-text {
    line-height:2;
}
.rf-beginner-triple {
    display:flex;
    align-items:center;
    justify-content:center;
}
.rf-beginner-triple img {
    margin:30px;
}
.rf-assistant-click-area {
    margin:30px 0;
    text-align:center;
}
.rf-assistant-click {
    margin-top:30px;
    display:block;
    opacity:1 !important;
    text-align:center;
    /*animation:bounce 1.6s ease-out infinite;*/
}
.rf-assistant-click:hover {

}
/*.rf-assistant-click img {
    transform:translateX(10%);
    max-width: 600px;
    width: 80%;
}*/

@keyframes bounce {
    0%, 40%, 60%, 80% {
        transform:scale(1.0);
    }
    50%, 70% {
        transform:scale(.95);
    }
}
.rf-beginner-lead-point {
    padding:10px 0 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    margin-bottom:40px;
    border-bottom:2px solid var(--color-blue);
}
.rf-beginner-lead-point::after {
    content:'';
    position:absolute;
    top: calc(100% + 1px);
    left:0;
    right:0;
    margin:auto;
    display:block;
    width:30px;
    height:30px;
    background:rgb(255,250,242);
    border-left:2px solid var(--color-blue);
    border-bottom:2px solid var(--color-blue);
    transform:translateY(-50%) rotate(-45deg);
}
.rf-beginner-lead-point img {
    margin-right:30px;
}
.rf-beginner-lead-point-text {
    color:var(--color-blue);
    font-size:18px;
    font-weight:bold;
}
.rf-beginner-point-img {
  text-align:center;
}

@media(max-width:767.98px) {
    .rf-beginner-area-01 {
      padding: 40px 0 60px;
      background: var(--color-light-yellow);
    }
    .rf-beginner-area-02 {
      padding: 0px 0 60px;
    }
    .rf-beginner-area-03 {
      padding: 0px 0 60px;
      background-color: var(--color-light-red);
    }
    .rf-beginner-area-04 {
      padding: 40px 0 60px;
      background-color: var(--color-light-blue);
    }
    .rf-beginner-area-05 {
      padding: 0 0 40px;
      background-color: var(--color-light-pink);
    }
    .rf-beginner-area-06 {
      padding: 40px 0 60px;
      background-color: var(--color-light-blue);
    }
    .rf-beginner-area-07 {
      padding: 0px 0 40px;
      background-color: var(--color-light-pink);
    }
    .rf-beginner-area-08 {
      padding: 40px 0 40px;
    }
    .rf-page-large-title-inner {
      letter-spacing: 0;
      font-size:24px;
      padding:10px;
    }
    .rf-beginner-title {
        font-size:30px;
    }
    .rf-beginner-title span {
        font-size:20px;
    }
    .rf-beginner-bg-text {
        font-size:20px;
    }
    .rf-beginner-lead {
        margin:10px 0;
        font-size:18px;
    }
    .rf-beginner-mid-title {
        font-size:20px;
    }
    .rf-beginner-middle-title {
      font-size: 25px;
    }
    .rf-beginner-mid-title span {
        font-size:30px;
    }
    .rf-compare-desc {
      margin-top:10px;
      margin-bottom:10px;
      font-family: "Zen Maru Gothic", serif;
      font-size: 12px;
      text-align: center;
    }
    .rf-compare-desc span {
      font-size:18px;
      margin-bottom:10px;
    }
    .rf-beginner-large-title {
        margin-bottom:30px;
    }
    .rf-beginner-large-title p {
        font-size:22px;
    }
    .rf-beginner-large-title p .fraction {
        font-size:25px;
        min-width:30px;
        margin:0 5px;
    }
    .rf-check-title {
      margin-bottom:-10px;
    }

    .rf-beginner-compare-icon {
        width: 40%;
        top: 280px;
        right: -20px;
    }
    .rf-beginner-compare-panels > div:first-of-type img {
        /*max-width:50%;*/
    }
    .rf-beginner-imgs > div {
        padding:15px;
    }
    .rf-lp-title-ornament {
        overflow:hidden;
    }
    .rf-beginner-point-title {
        font-size:24px;
    }
    .rf-beginner-point-text {
    }
    .rf-beginner-action {
        width: 65%;
        margin-right: auto;
        margin-left: auto;
        flex-direction:column;
    }
    .rf-beginner-action-img {
        width:90%;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
        margin-bottom:10px;
    }
    .rf-beginner-reform-text {
      font-family: "Zen Maru Gothic", serif;
      font-weight: normal;
      font-size: 18px;
      text-align: center;
      margin: 0px 0;
      text-align: center;
      line-height: 1.6;
    }
    .rf-beginner-reform-text span {
        color:var(--color-red);
    }
    .rf-beginner-reform-text br {
      display:none;
    }
    .rf-product-large-title-inner .fraction {
        display:inline-block;
        font-size:20px;
        min-width:30px;
        vertical-align:middle;
        margin:0 5px;
    }
    .rf-product-large-title-inner .fraction span {
        display:block;
    }
    .rf-product-large-title-inner .fraction span + span {
      margin-top:3px;
        border-top:2px solid #fff;
    }
    .rf-beginner-lead-point {
        flex-direction:column;
    }
    .rf-beginner-lead-point img {
        margin-right:0;
        margin-bottom:15px;
    }
    .rf-beginner-lead-point-text {
        text-align:center;
        font-size:16px;
    }
    .rf-assistant-click-area {
        margin:30px 0 10px;
    }
    .rf-beginner-button {
        margin: 20px 0 10px;
    }
    .rf-beginner-start img {
        width:280px;
    }
}

@media(max-width:575.98px) {
    .rf-lp-title-ornament::before {
        margin-left:10px;
        margin-right:20px;
        transform:scale(1) rotate(-20deg);
    }
    .rf-lp-title-ornament::after {
        margin-right:10px;
        margin-left:20px;
        transform:scale(1) rotate(20deg);
    }
}

/*--------------------------------------
process
--------------------------------------*/
.rf-process-section {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.rf-process-title-wrap {
    margin:20px 0 40px;
}
.rf-process-title {
    font-size:32px;
    text-align:center;
    color:var(--color-blue);
}
.rf-process-title-img {
  text-align:center;
}
.rf-process-title-area {
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rf-process-title-area-01 {
    background:url(./img/bg-process-01.png) no-repeat center / cover !important;
}
.rf-process-title-area-02 {
    background:url(./img/bg-process-02.png) no-repeat center / cover !important;
}
.rf-process-lead {
  margin:0 auto 50px;
  width: 80%;
  line-height: 2;
  font-size: 20px;
}
.rf-step-area {
    padding-bottom:40px;
    position:relative;
    background:#fff;
}
.rf-step-arrow {
  padding:20px 0;
  text-align:center;
}
.rf-step-num {
    font-size: 30px;
    font-family: "Quicksand", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    text-align: center;
    color: #fff;
    line-height:1;
    padding:10px;
}
.rf-process-area-01 {
  padding-bottom:100px;
  background:var(--color-light-blue);
}
.rf-process-area-01 .rf-step-num {
  background:var(--color-blue);
}
.rf-process-area-02 {
  padding-bottom:100px;
  background:var(--color-light-pink);
}
.rf-process-area-02 .rf-step-num {
  background:var(--color-pink);
}
.rf-step-title {
    font-family: "Zen Maru Gothic", serif;
    font-weight:bold;
    margin:30px 0 30px;
    font-size:30px;
    line-height:1.6;
    text-align:center;
}
.rf-process-area-01 .rf-step-title {
    color:var(--color-blue);
}
.rf-process-area-02 .rf-step-title {
    color:var(--color-pink);
}
.rf-step-texts {
    display:flex;
    justify-content:space-between;
    max-width:650px;
    padding:0 10px;
    margin:auto;
}
.rf-step-img {
  width:calc(50% - 10px);
}
.rf-step-img img {
    width:100%;
}
.rf-step-text {
    width:calc(50% - 10px);
    font-size:16px;
    line-height:1.8;
}
.rf-step-text small {
    display:block;
    margin-top:10px;
}
.rf-step-text span {
    color:var(--color-pink);
}
.rf-step-desc {
    font-family: "Zen Maru Gothic", serif;
    margin:auto;
    margin-top:20px;
    font-size:16px;
    max-width:650px;
    padding:0 10px;
}
.rf-step-desc span {
    color:var(--color-dark-pink);
}
.rf-step-img-cap {
    background:var(--color-pink);
    color:#fff;
    margin-top:30px;
    line-height:1.7;
    padding:10px;
}
.rf-process-box {
    padding-top:20px;
}
.rf-process-anchor {
  padding:30px 0 0;
  background:#eeeeef;
}


@media(max-width:767.98px) {
    .rf-process-title {
        font-size:24px;
    }
    .rf-process-lead {
        font-size:16px;
    }
    .rf-step-area {
      padding-bottom:15px;
    }
    .rf-step-title {
        font-size:22px;
    }
    .rf-step-title {
        font-size:20px;
        line-height:1.6;
        margin:15px 0;
    }
    .rf-step-texts {
        display:flex;
        flex-direction:column;
    }
    .rf-step-texts > div {
        width:100%;
    }
    .rf-step-img {
        margin-bottom:10px;
        text-align:center;
    }
    .rf-step-img img {
      width:80%;
    }
    .rf-process-title-area {
      min-height:200px;
    }
    .rf-process-title-area-01 {
        background:url(./img/bg-process-01-sp.png) no-repeat center / cover !important;
    }
    .rf-process-title-area-02 {
        background:url(./img/bg-process-02-sp.png) no-repeat center / cover !important;
    }

}

/*--------------------------------------
guide
--------------------------------------*/
.rf-guide-section {
    margin-top:20px;
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.rf-guide-lead {
    text-align:center;
    line-height:2;
    font-size:22px;
    margin-bottom:20px;
}
.rf-guide-check {
    display:flex;
    margin-top:40px;
}
.rf-guide-check-title {
    font-size:24px;
}
.rf-guide-check-icons {
    margin-top:-40px;
    margin-bottom:40px;
}
.rf-guide-check-icons img {
    width:100%;
}
.rf-guide-check-desc {
    font-size:14px;
    margin-top:10px;
}
.rf-guide-check-desc span {
    color:var(--color-pink);
}
.rf-guide-check-img {
    margin-left:30px;
    flex:0 0 auto;
    width:280px;
}
.rf-guide-check-img img {
    width:100%;
}
.rf-check-img-single {
    margin:30px 0;
    text-align:left;
    max-width:830px;
    display:inline-block;
}
.rf-guide-title-wrap {
    padding:80px 0 0;
    margin-bottom:30px;
}
.rf-flow-area {
    max-width:730px;
    width:100%;
    margin:auto;
}
.rf-flow {
    margin-top:40px;
}
.rf-flow-title {
    font-size:26px;
    display:flex;
    align-items:center;
    padding-bottom:5px;
    margin-bottom:10px;
    border-bottom:1px solid #4F4F4F;
}
.rf-flow-title img {
    width:30px;
    margin-right:10px;
    flex:0 0 auto;
}
.rf-flow-lead {
    font-size:24px;
    color:var(--color-blue);
    line-height:1.65;
}
.rf-flow-large-text {
    font-size:22px;
}
.rf-flow-large-text span {
    color:var(--color-pink);
}
.rf-flow-large-text small {
    font-size:14px;
}
.rf-flow-mid-text {
    line-height:1.8;
    font-size:20px;
}
.rf-flow-text {
    line-height:1.8;
    font-size:16px;
}
.rf-flow-desc {
    line-height:1.8;
    font-size:14px;
}
.rf-flow-desc span {
    color:var(--color-pink);
}
.rf-flow-twin {
    display:flex;
    justify-content:space-between;
}
.rf-flow-twin > div {
    flex:0 0 auto;
    width:calc(50% - 15px);
}
.rf-reform-section {

}
.rf-reform-box {
  padding:40px 0;
}
.rf-reform-section > div:nth-of-type(odd) {
  background:var(--color-light-blue);
}
.rf-reform-section > div:nth-of-type(even) {
  background:var(--color-light-yellow);
}
.rf-reform-single-img {
    text-align:center;
}
.rf-reform-lead {
    font-size:26px;
    margin:20px 0 40px;
    text-align:center;
    color:var(--color-blue);
}
.rf-type-icon {
    max-width:90px;
}
.rf-reform-points {
    display:flex;
    margin:0 -15px;
}
.rf-reform-point {
    margin:30px 15px;
    position:relative;
    padding:50px 15px 30px;
    border-radius:10px;
}
.rf-reform-section {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    overflow:hidden;
}
.rf-reform-point img {
    margin-top:30px;
}
.rf-reform-point.blue {
    background:#E5F5FD;
}
.rf-reform-point.pink {
    background:#FDF0F6;
}
.rf-reform-point.green {
    background:#E5F6EB;
}
.rf-reform-point-icon {
    display:block;
    text-align:center;
    position:absolute;
    left:0;
    right:0;
    top:0;
    transform:translateY(-50%);
}
.rf-reform-point-icon img {
    margin:0 5px;
    width:75px;
}

.rf-reform-point-desc span {
    color:var(--color-pink);
}

@media(max-width:991.98px) {
    .rf-guide-check-icons {
        margin-top:-20px;
    }
    .rf-guide-lead br {
        display:none;
    }
}
@media(max-width:767.98px) {
    .rf-guide-title-wrap {
        padding-top:50px;
        margin-bottom:20px;
    }
    .rf-process-title-wrap {
        margin-bottom:20px;
    }
    .rf-guide-lead {
        text-align:left;
        line-height:1.65;
        font-size:18px;
    }
    .rf-guide-check {
        flex-direction:column;
    }
    .rf-guide-check-icons {
        text-align:center;
    }
    .rf-guide-check-icons img {
        width:auto;
    }
    .rf-guide-check-img {
        margin-top:30px;
        margin-left:0;
        width:100%;
        text-align:center;
    }
    .rf-guide-check-img img {
        width:auto;
    }
    .rf-flow-area {
        padding:0 10px;
    }
    .rf-flow-title {
        font-size:22px;
    }
    .rf-flow-lead {
        font-size:20px;
    }
    .rf-flow-large-text {
        font-size:18px;
    }
    .rf-flow-large-text small {
        font-size:12px;
    }
    .rf-flow-mid-text {
        font-size:18px;
    }
    .rf-flow-text {
        font-size:14px;
    }
    .rf-flow-desc {
        font-size:12px;
    }
    .rf-reform-lead {
        font-size:20px;
    }
    .rf-reform-points {
        flex-wrap:wrap;
    }
    .rf-reform-points.points-01 {

    }
    .rf-reform-point {
        width:100%;
    }
    .rf-check-img-single img {
        width:100%;
    }
}

@media(max-width:575.98px) {
    .rf-flow-twin {
        flex-direction:column;
    }
    .rf-flow-twin > div {
        width:100%;
    }
    .rf-flow-twin > div:last-of-type {
        margin-top:20px;
    }
}



/*--------------------------------------
notes
--------------------------------------*/

.notes-title {
    text-align:center;
    font-size:20px;
    color:#fff;
    background:var(--color-blue);
    padding:5px;
    margin-bottom:20px;
}
.notes-texts div {
}
.notes-texts div + div {
    margin-top:30px;
}
.notes-texts h3 {
    font-size:16px;
}
.notes-texts p {
    font-size:14px;
}
.notes-texts p::before {
    content:'●';
}
.notes-texts span {
    color:var(--color-pink);
}

/*--------------------------------------
company
--------------------------------------*/
.company-logo-area {
    margin:40px 0;
    text-align:center;
}
.company-logo-area img {
    width:350px;
}
/*--------------------------------------
footer
--------------------------------------*/
.rf-footer-wrap {
    margin-top:auto;
}
#rf-footer {
    background:var(--color-main-blue);
}
.rf-footer-top {
  background:#fff;
  overflow:hidden;
  position:relative;
}
.rf-footer-logo {
  padding:120px 0 80px;
  text-align:center;
  margin-bottom:5vw;
}
.rf-footer-button {
  position:absolute;
  right:20px;
  bottom:0px;
  margin-bottom:3vw;
}
.rf-footer-bottom {
  padding:30px 0;
  position:relative;
  background:#00A0E9;
}
.rf-footer-bottom::after {
  content:'';
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:100%;
  background:url(./img/bg-footer-bottom.png) no-repeat center bottom / auto 322px;
  width:100%;
  height:322px;
}
.rf-footer-links {
  display:flex;
}
.rf-footer-link-list {
  border-left:1px solid #fff;
  padding:5px 15px 5px 10px;
  flex:1 1 auto;
}
.rf-footer-link-list p {
  color:#fff;
  opacity:.8;
  font-size:16px;
  margin-bottom:10px;
}
.rf-footer-link-list ul {
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  height:120px;
}
.rf-footer-link-list a {
  font-family: "Zen Maru Gothic", serif;
  font-weight:bold;
  font-size:16px;
  color:#fff;
  line-height:1.8;
}
.rf-footer-nav {
    margin-top:40px;
    display:flex;
    justify-content:flex-end;
    margin-bottom:30px;
}
.rf-footer-nav ul {
    display:flex;
}
.rf-footer-nav a {
    padding:5px 20px;
    display:block;
    text-align:center;
    color:#fff;
    font-size:14px;
}
.footer-copy {
  font-family: "Quicksand", sans-serif;
  text-align:center;
  color:#fff;
}
@media(max-width:1399.98px) {
  .rf-footer-button {
    width:400px;
    right:10px;
  }
}
@media(max-width:1199.98px) {
}
@media(max-width:767.98px) {
    #rf-footer {
        padding:0;
        background:#fff;
        border-top:1px solid var(--color-font-gray);
    }

    .rf-footer-nav {
        display:flex;
        justify-content:center;
        flex-direction: column;
    }
    .rf-footer-nav ul {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        flex-direction:column;
    }
    .rf-footer-nav li {
    }
    .rf-footer-nav a {
        padding:5px 10px;
        display:block;
        text-align:center;
        color:#fff;
        font-size:14px;
    }
    .rf-footer-logo {
      padding:60px 0;
    }
    .rf-footer-links {
      flex-direction:column;
    }
    .rf-footer-link-list {
      border-left:0;
      text-align:center;
      padding:5px 0 5px 0;
      margin-top:30px;
    }
    .rf-footer-link-list ul {
      height:auto;
    }
    .rf-footer-link-list p {
      opacity:.5;
    }
    .footer-copy {
      opacity:.6;
    }
}

@media(max-width:575.98px) {
}


/*--------------------------------------
assistant
--------------------------------------*/
.assistant-area {
    overflow:hidden;
}
.assistant-title {
    margin-top:40px;
    margin-bottom:30px;
    text-align:center;
}
.assistant-support-title {
    text-align:center;
}
.assistant-panel-title {
    text-align:center;
    font-size:28px;
    font-weight:bold;
}
.assistant-panels {
    position:relative;
    overflow:hidden;
    transition:.5s;
}
.assistant-panel {
    position:absolute;
    top:0;
    left:0;
    background: rgb(255,250,242);
    padding:30px 0 0;
}
.assistant-buttons {
    margin-top:30px;
    margin-right: -15px;
    margin-left: -15px;
}
.assistant-buttons > div {
    display:flex;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}
.assistant-other {
    margin-right: -15px;
    margin-left: -15px;
}
.assistant-other > div {
    display:flex;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}
.assistant-button {
    width:100%;
    display:flex;
    align-items:center;
    padding:10px 15px;
    font-size:18px;
    border:1px solid var(--color-gray);
    background:#fff;
    border-radius:10px;
    cursor:pointer;
    color:inherit;
    min-height:80px;
}
.assistant-button-disable {
    opacity:.5;
    cursor:not-allowed;
}
.assistant-button::after {
    line-height:1;
    width:15px;
    content:url(./img/icon-right.svg);
    flex:0 0 auto;
    margin-left:auto;
}
.assistant-button-icon {
    flex:0 0 auto;
    margin-right:10px;
}
.assistant-button-icon img {
    width:80px;
}
.assistant-button-icon-01 img {
    transform: scale(1.2);
    transform-origin: center;
    padding-top:4%;
    padding-bottom:7%;
}
.assistant-button-icon-05 img {
transform: scale(1.1);
    transform-origin: left;
    margin-top: -5%;
    padding-bottom: 4%;
}
.assistant-button-text {
    display:flex;
    align-items:center;
    font-size:18px;
    justify-content:center;
    flex:1 1 auto;
}
.assistant-button-large-text {
    text-align:center;
    font-size:18px;
    padding-right:30px;
    flex:1 1 auto;
}
.assistant-button-icon + .assistant-button-text  {
    justify-content:flex-start;
}
.assistant-button-text::before {
    content:url(./img/icon-check.svg);
    width:20px;
    margin-right:5px;
    line-height:1;
}
.assistant-other {
    justify-content:center;
}
.assistant-desc {
    color:var(--color-pink);
    font-size:16px;
}
.assistant-panel.current {
    position:relative;
}
.assistant-panel-child {
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
    transform:translateX(100%);
    transition: all .5s ease-in-out;
    opacity:0;
}
.assistant-panel-child.selected {
    opacity:1;
    transform:translateX(0%);
}
[id^="assistant-02"] {
    z-index:20;
}
[id^="assistant-03"] {
    z-index:30;
}
[id^="assistant-04"] {
    z-index:40;
}
[id^="assistant-05"] {
    z-index:50;
}

.assistant-complete-title-area.rf-lp-title-ornament::before,
.assistant-complete-title-area.rf-lp-title-ornament::after {
    background:var(--color-pink);
}
.assistant-complete-title {
    font-size:28px;
    text-align:center;
    color:var(--color-pink);
}

@media(max-width:767.98px) {
    .assistant-panels {
    }

    .assistant-buttons {
        margin-top:20px;
        margin-right: -10px;
        margin-left: -10px;
    }
    .assistant-buttons > div {
        display:flex;
        padding-top: 5px;
        padding-right: 10px;
        padding-bottom: 5px;
        padding-left: 10px;
    }
    .assistant-other {
        margin-right: -15px;
        margin-left: -15px;
    }
    .assistant-other > div {
        display:flex;
        padding-top: 5px;
        padding-right: 15px;
        padding-bottom: 5px;
        padding-left: 15px;
    }
    .assistant-button {
        min-height:70px;
    }
    .assistant-title {
        margin-top:10px;
        margin-bottom:10px;
    }
    .assistant-title img {
        max-width:70%;
    }
    .assistant-button-text {
        font-size:16px;
    }
    .assistant-button-large-text {
        font-size:16px;
        padding-right:15px;
    }
    .assistant-panel {
        padding-top:15px;
    }
    .assistant-panel-title {
        font-size:22px;
    }
    .assistant-complete-title {
        font-size:22px;
    }
}
@media(max-width:575.98px) {
    .assistant-button {
        padding:5px 10px;
    }
    .assistant-button-icon {
        width:60px;
    }
    .assistant-button {
        min-height:70px;
    }
}

/*--------------------------------------
modal
--------------------------------------*/
.rf-modal-wrap {
    display:none;
}
.rf-modal {
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    right:0;
    width:calc(100vw - 100px);
    height:calc(100vh - 100px);
    max-width:1000px;
    margin:auto;
    background:var(--color-blue);
    padding:10px;
    display:flex;
    flex-direction:column;
    z-index:9999;
}
.modal-title {
    width:100%;
    color:#fff;
    text-align:center;
    font-size:18px;
    margin-bottom:10px;
}
.modal-texts {
    width:100%;
    overflow:auto;
    background:#fff;
    padding:30px;
}
.rf-overlay {
    display:none;
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    right:0;
    width:100vw;
    height:100vh;
    margin:auto;
    background:rgba(0, 0, 0, .6);
    z-index:5000;
}
.rf-modal-button {
    display:inline-block;
    position:absolute;
    right:0;
    top:0;
    transform:translate(50%, -50%);
    cursor:pointer;
    opacity:1 !important;
}

@media(max-width:767.98px) {
    .rf-modal {
        width:calc(100vw - 60px);
        height:calc(100vh - 80px);
        padding:10px;
    }
    .modal-title {
        font-size:16px;
    }
    .modal-texts {
        padding:10px;
    }
    .rf-modal-button {
        transform:translate(30%, -30%);
    }
}

/*--------------------------------------
bootstrap
--------------------------------------*/
.form-check-input {
    position:static;
    margin-top:0;
    margin-left:0;
}
/*--------------------------------------
ec-cube
--------------------------------------*/
.ec-inlineBtn {
    background-color: #EBEBEB;
}

.ec-inlineBtn--action,
.ec-blockBtn--action {
    background:#DF588E;
}
.ec-cartRole__error
.ec-inlineBtn--cancel,
.ec-blockBtn--cancel {
background:#9D9D9D;
}
.ec-cartRole .ec-cartRole__cart {
    margin:0;
}
.ec-pageHeader {
    margin-top:40px;
}
.ec-pageHeader h1 {
    border-top: 1px solid var(--color-gray);
    border-bottom: 1px solid var(--color-gray);
    margin-top:0;
    margin-left:0;
    margin-right:0;
    font-size: 30px;
    font-weight:normal;
    margin-bottom: 25px;
    padding: 10px;
}
.ec-cartRole__progress {

}
.ec-cartRole__progress.hidden {
    height:0;
    transition:.5s;
}
.ec-progress .ec-progress__number {
    background:#9D9D9D;
}
.ec-progress .ec-progress__item:after {
    background:#9D9D9D;
}
.ec-progress .is-completed {
    cursor:pointer;
}
.ec-progress .is-completed .ec-progress__number {
    background:#99D9F6;
}
.ec-progress .is-completed .ec-progress__label {
    color:#99D9F6;
}
.ec-progress .is-complete .ec-progress__number {
    background:#4CBCF0;
}
.ec-progress .is-complete .ec-progress__label {
    color:#4CBCF0;
}
.ec-cartHeader .ec-cartHeader__label {
    background:#B2E2F8;
}
.ec-rectHeading h1, .ec-rectHeading .h1, .ec-rectHeading h2, .ec-rectHeading .h2, .ec-rectHeading h3, .ec-rectHeading .h3, .ec-rectHeading h4, .ec-rectHeading .h4, .ec-rectHeading h5, .ec-rectHeading .h5, .ec-rectHeading h6, .ec-rectHeading .h6 {
    background: #EBEBEB;
}
.ec-totalBox {
    background: #EBEBEB;
}
.ec-select.ec-select__delivery {
    display:none;
}
.ec-select.ec-select__time {
    display:none;
}
.ec-select-attention {
    display:inline-block;
    margin-top:15px;
    font-size:14px;
}
.ec-checkbox-note {
    font-size:14px;
}
.ec-AddAddress,
.ec-cartRole__error,
#shopping-form > div[class^="ec-"][class$="ole"],
.ec-layoutRole__main > div[class^="ec-"][class$="ole"],
.ec-layoutRole__main > form > div[class^="ec-"][class$="ole"],
.rf-main > div[class^="ec-"][class$="ole"] {
    padding-left:285px;
    margin-left:auto;
    margin-right:auto;
}
.ec-input {
    font-size:14px;
}
#coupon .ec-input input {
    width:auto;
    display:inline-block;
    margin-bottom:0;
}
.ec-halfInput.inline input[type='text'] {
    display: inline-block;
}
#page_help_tradelaw .ec-borderedDefs li {
    display:flex;
}
#page_help_tradelaw .ec-borderedDefs li::before {
    content:'・';
    margin-right:5px;
}

#page_help_agreement .ec-off1Grid__cell li,
#page_help_security .ec-off1Grid__cell li,
#page_help_privacy .ec-off1Grid__cell li {
    display:flex;
}
#page_help_agreement .ec-off1Grid__cell li span,
#page_help_security .ec-off1Grid__cell li span,
#page_help_privacy .ec-off1Grid__cell li span {
    margin-right:5px;
}
.ec-cartRow__imgColumn {
    border-bottom: 1px dotted #ccc;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}
.ec-cartRow .ec-cartRow__img {
    display: block;
    width: 100%;
    margin:auto;
    min-width: 80px;
    max-width: 100px;
    vertical-align: middle;
    padding-right: 0;
}
.ec-orderPayment .ec-radio img {
    width:auto;
}
.ec-orderPayment .ec-radio p {
    display:inline-block;
}
.ec-orderPayment .ec-radio > div {
    margin-top:1rem;
}
.ec-totalBox__taxLabel {
    display:inline-block;
}
@media (min-width: 1200px){
    .ec-AddAddress,
    .ec-cartRole__error,
    #shopping-form > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > form > div[class^="ec-"][class$="ole"],
    .rf-main > div[class^="ec-"][class$="ole"] {
        max-width: 1230px;
    }
}
@media(max-width:1199.98px) {
    .ec-AddAddress,
    .ec-cartRole__error,
    #shopping-form > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > form > div[class^="ec-"][class$="ole"],
    .rf-main > div[class^="ec-"][class$="ole"] {
        max-width:none;
        padding-left:270px;
    }
}
@media(max-width:767.98px) {
    .ec-AddAddress,
    .ec-cartRole__error,
    #shopping-form > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > div[class^="ec-"][class$="ole"],
    .ec-layoutRole__main > form > div[class^="ec-"][class$="ole"],
    .rf-main > div[class^="ec-"][class$="ole"] {
        padding-left:10px;
        padding-right:10px;
    }
    .ec-cartRow .ec-cartRow__contentColumn {
        padding:10px;
    }
    .ec-cartRow .ec-cartRow__delColumn {
        padding:0 10px;
        width:auto;
    }
}
@media(max-width:575.98px) {
    .ec-cartRow .ec-cartRow__delColumn {
        border-bottom:none;
        margin-right:10px;
    }
    .ec-cartRow .ec-cartRow__contentColumn {
        width:calc(100% - 90px);
        border-bottom:none;
    }
    .ec-cartRow .ec-cartRow__amountColumn {
        border-bottom:none;
        margin-left:auto;
        padding-bottom:10px;
        width:90px;
        flex:0 0 auto;
    }
    .ec-cartRow {
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        border-bottom: 1px dotted #ccc;
        padding-top:10px;
    }
    .ec-orderDelivery .ec-orderDelivery__title {
        padding-right:70px;
    }
}
