h3 {
  font-size: 18px;
}

.fs14 {
  font-size: 14px !important;
}

.price {
  text-decoration: underline;
  font-size: 15px !important;
}

.twoline {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.twoline {
  margin-bottom: 75px;
}

.twoline {
  margin-bottom: 0;
}

.twoline .button {
  flex: 0 50%;
  padding: 0 5px;
  box-sizing: border-box;
  margin: 0;
  margin-bottom: 10px;
}

.twoline .button a {
  margin: 0;
}

.titleRole .sub {
  margin-bottom: 30px !important;
}

.titleEn img {
  max-width: 795px;
  width: 100%;
  margin: auto;
}

.titleEn img.sp {
  max-width: 276px;
}

.flexBox2 {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.flexBox2 div {
  width: 50%;
}

.flexBox2 div:nth-of-type(2) {
  margin-left: 2%;
}

.bg {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f9e0fc+0,ffffff+100 */
  background: #f9e0fc;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f9e0fc 0%, #FEFBFF 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f9e0fc 0%, #FEFBFF 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f9e0fc 0%, #FEFBFF 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9e0fc', endColorstr='#FEFBFF', GradientType=0);
  /* IE6-9 */
  padding: 70px 0;
  position: relative;
  z-index: 0;
}

.bg p,
.bg a,
.bg .hdM,
.bg .hdS,
.bg .headingTitle,
.bg h2,
.bg h3 {
  color: #9D5E94 !important;
}

#rapunzel .teaser {
  background-image: none;
  height: auto;
}

#rapunzel .teaser img {
  width: 100%;
}

.downloadFlie.style2 li .info {
  width: 43%;
  margin-left: 5%;
}

.downloadFlie.style2 img {
  max-width: 300px;
  border: 1px solid #ccd6da;
  width: 53%;
}

#reccomend img {
  width: 100%;
}

/* rapunzel */
.fadein {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1s;
}

.fadein.active {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein.delay {
  transition-delay: 0.3s;
}

.rapunzel_header {
  position: fixed;
  top: 80px;
  width: 100%;
  border: 1px solid #9D5E94;
  border-width: 0 0 1px 0;
  background-color: #fff;
  z-index: 1;
  display: none;
}

.rapunzel_header ul {
  display: flex;
  justify-content: center;
  padding: 15px 10px;
}

.rapunzel_header ul li {
  margin: 0 3%;
}

.rapunzel_header ul li a {
  font-size: 15px;
  color: #9D5E94;
}

#rapunzel .layoutRole_main a {
  color: #4b4b4b;
}

#rapunzel .layoutRole_contents .bg a {
  color: #9D5E94 !important;
}

#rapunzel .layoutRole_contents {
  position: relative;
  z-index: 0;
}

.artimg {
  max-width: 760px;
  margin: auto;
  border-radius: 25px;
}

.artimg img {
  border-radius: 25px;
}

.top_ring {
  position: relative;
  z-index: 0;
  max-width: 634px;
  margin: auto;
}

.ring_moto {
  position: relative;
  z-index: 1;
}

.hikari {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

.flexlist {
  display: flex;
  justify-content: center;
}

.flexlist li {
  max-width: 315px;
  margin: 0 15px;
}

.flexlist li img {
  border-radius: 7%;
}

.flexlist li p a {
  text-decoration: underline;
}

/* contents */
#rapunzel .cover {
  background-color: #FCF8FD;
}

.sub-button .twoline {
  max-width: 445px;
}

#rapunzel .sub-button .twoline .button a {
  background: #9D5E94 url(/img_2021/common/ico_link04.svg) right 11px center no-repeat;
  color: #fff !important;
}

#rapunzel .sub-button p a {
  color: #9D5E94;
}

#rapunzel .sub-button .detailLink a {
  padding-right: 20px;
  background: url(/img_2021/disney/bridal/rapunzel/ico_link02_pink.svg) right center no-repeat;
  background-size: 4px auto;
  font-size: 13px;
}

#rapunzel .layoutRole_main .button.pink a {
  background: #9D5E94 url(/img_2021/common/ico_link04.svg) right 26px center no-repeat;
  color: #fff !important;
  border: 1px solid #9D5E94;
}

#rapunzel .layoutRole_main .button a {
  color: #9D5E94 !important;
  border: 1px solid #9D5E94;
  max-width: 295px;
  background: url(/img_2021/disney/bridal/rapunzel/ico_link02_pink.svg) right 16px center no-repeat;
}

.metal {
  max-width: 285px;
  margin: 30px auto;
}

.metal .flexlist {
  flex-wrap: wrap;
}

.metal .flexlist div {
  width: 46%;
  text-align: center;
  font-size: 12px;
  min-width: 130px;
  margin: 0px 2% 10px;
  padding: 8px 0;
}

.metal .flexlist div p {
  line-height: 1;
  vertical-align: middle;
}

.metal .pl {
  border: 1px solid #ccc;
}

.metal .yg {
  background-color: #fff1c4;
}

.metal .wg {
  background-color: #f5f5f5;
}

.metal .pg {
  background-color: #ffdddd;
}

.metal .combi {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border: 1px solid #ccc;
}

.metal .combi::before,
.metal .combi::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.metal .combi::before {
  z-index: -1;
  height: 100%;
  background: #ffffff;
  transform: skewY(372deg);
  transform-origin: top left;
}

.metal .combi::after {
  z-index: -2;
  height: 100%;
  background: #fff1c4;
  transform: skewY(5deg);
  transform-origin: top right;
}

.float {
  width: 50%;
  float: right;
}

.setring {}

.setring .flexlist {}

.setring .flexlist .box {
  width: 50%;
  margin: 0 10px;
}

.setring .flexlist .box .img {
  border: 1px solid #e0e0e0;
}

.setring .flexlist .box .detailLink a {
  text-decoration: underline;
  padding-right: 24px;
  background: url(/img_2021/common/ico_select_down.svg) right 0px center no-repeat;
  background-size: 10px auto;
  font-size: 14px;
}

#rapunzel .spe03 .cover {
  background-color: #F9EFFC;
  padding: 30px 5%;
}

.textWrap {
  max-width: 864px;
  margin: auto;
}

.innerCover {
  background-color: #fff;
  padding: 15px;
}

@media only screen and (min-width: 960px) {
  .layoutRole_main {
    padding-top: 0;
  }

  .twoline {
    max-width: 720px;
    margin: 0 auto;
  }

  .mb130 {
    margin-bottom: 130px;
  }

  #rapunzel .teaser {
    background-image: url(/img_2021/disney/bridal/rapunzel/img_teaser.jpg);
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .cover .topLayout {
    max-width: 895px;
    padding: 40px 20px;
  }

  .topLayout.width02 .cover .topLayout_img {
    width: 29%;
  }

  .topLayout.width02 .cover .topLayout_img img {
    max-width: 236px;
  }

  .cover .topLayout .topLayout_imgRight .topLayout_box {
    width: 71%;
    padding-right: 35px;
    padding-left: 0;
  }

  .cover .topLayout .topLayout_imgLeft .topLayout_box {
    width: 71%;
    padding-left: 35px;
  }

  .topLayout.mainRing .topLayout_img {
    width: 45.25%;
  }

  .topLayout.mainRing .topLayout_box {
    width: 54.75%;
    padding-left: 30px;
  }

  #spe.topLayout.width02 .topLayout_img {
    width: 50%;
  }

  #spe.topLayout.width02 .topLayout_box {
    padding-left: 45px;
    width: 50%;
  }

  #spe.topLayout .topLayout_imgRight {
    padding-left: 0;
  }

  #spe.topLayout .topLayout_imgRight .topLayout_box {
    padding: 0 45px 0 0;
  }

  #rapunzel .spe03 h4.hdS {
    font-size: 18px;
  }

  #spe p.hdS {
    font-size: 16px;
  }
}

@media only screen and (min-width: 960px) and (max-width: 1040px) {
  .top-list .flexlist li {
    width: 30%;
  }
}

@media only screen and (min-width: 960px) and (max-width: 1069px) {
  #rapunzel .teaser {
    background-position-x: 48%;
  }
}

@media only screen and (min-width: 589px) and (max-width: 959px) {
  .pctaC {
    text-align: center !important;
  }
}

@media screen and (max-width: 959px) {
  .fs14 {
    font-size: 13px !important;
  }

  h2.hdM:not(.titletext) {
    font-size: 20px;
  }

  .titletext {
    font-size: 15px;
  }

  #rapunzel .layoutRole_main {
    padding-top: 0;
  }

  .top-list .common_inner {
    padding: 0 15px;
  }

  .top-list .flexlist {
    flex-wrap: wrap;
  }

  .top-list .flexlist li {
    margin: 0 2% 30px;
    width: 46%;
  }

  .top-list .mb80 {
    margin-bottom: 20px !important;
  }

  #rapunzel .layoutRole_contents .bg a {
    font-size: 13px;
  }

  .rapunzel_header {
    top: 60px;
  }

  .rapunzel_header ul li {
    margin: 0 2.5%;
  }

  .rapunzel_header ul li a {
    font-size: 13px;
  }

  .setring .flexlist .box .detailLink a {
    font-size: 13px;
  }

  .cover .sub-button .twoline .button {
    flex: 100%;
  }

  .cover .sub-button .twoline {
    max-width: 225px;
    margin: auto;
  }

  .sub_spBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }

  .sub_spBox div:first-of-type {
    margin: 0 5% 0 0;
  }

  .sub_spBox>div {
    width: 47.5%;
  }

  .sub_spBox p {
    padding: 15px 3px 0;
    font-size: 13px !important;
  }

  .float {
    padding: 0px 0px 5px 10px;
    max-width: 250px;
  }

  .cover .topLayout .topLayout_img img {
    max-width: 250px;
    display: block;
    margin: auto;
  }

  .price {
    font-size: 14px !important;
  }

  .sub-button {
    margin-top: 20px;
  }

  .mb150 {
    margin-bottom: 90px !important;
  }

  .bg {
    padding: 50px 0 20px;
  }

  .bg_image {
    bottom: 21%;
  }

  .common_inner.inner3 {
    padding: 0 7px;
  }

  .common_inner.mb50 {
    margin-bottom: 50px !important;
  }

  .topLayout .topLayout_imgLeft,
  .topLayout .topLayout_imgRight {
    padding: 0px;
  }

  .topLayout {
    padding: 0;
  }

  .mb130 {
    margin-bottom: 70px;
  }

  .spmt20 {
    margin-top: 20px;
  }

  .cover {
    padding: 30px 5%;
  }

  .cover>.topLayout {
    margin-bottom: 20px;
  }

  .cover .topLayout_imgLeft,
  .cover .topLayout_imgRight {
    margin-bottom: 0 !important;
  }

  .spreverse {
    flex-direction: column-reverse;
    display: flex;
    flex-wrap: wrap;
  }

  .cover .topLayout .topLayout_img {
    margin-bottom: 20px;
  }

  .twoline .button a {
    background-position: right 7px center;
  }

  #spe.topLayout .topLayout_img {
    margin-bottom: 10px;
  }

  #spe div.mb30 {
    margin-bottom: 30px !important;
  }

  #spe div.mb40 {
    margin-bottom: 60px !important;
  }

  .mw650 {
    max-width: 650px;
    display: block;
    margin: auto;
  }
}