@charset "utf-8";

/*
* arrangeorder.css
*
* version --- 1.0
* updated --- 2021/03/22
*/
.mb5 {
  margin-bottom: 5px;
}
.n-black {
  color: #4b4b4b;
}

.n-pink {
  color: #CB5D48;
}

.n-darkRed {
  color: #81202D;
}

.bridal02 .mb200 {
  margin-bottom: 180px !important;
}

.diyRole {
  margin-bottom: 100px;
}

.pb80 {
  padding: 0 0 40px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.anchorsTeam li a {
  justify-content: center;
}

.flexBox2,
.spflexBox2 {
  display: flex;
}

.flexBox2 .flex {
  width: 49%;
}

.flexBox2 .flex:nth-child(2n),
.spflexBox2 .flex:nth-child(2n) {
  margin-left: 2%;
}

.flexBox3 {
  display: flex;
  /* min-width: 750px; */
}

.flexBox3 .flex {
  width: calc((100% - 40px) / 3);
  padding-left: 40px;
}

.flex.batsu {
  position: relative;
}

.flexBox3 .flex.batsu::before {
  background-image: url(/cmdty/colorstone/img/batsu.svg);
  background-size: contain;
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  left: 5px;
  top: 27%;
}

.spflexBox2 .img {
  max-width: 186px;
  width: 30%;
  margin-right: 18px;
}

.spflexBox2 .txt {
  width: 68%;
}

.cover {
  border: 1px solid #dbdbdb;
}

#bridal .layoutRole_contents {
  max-width: 1280px;
  margin: 0 auto;
}

#bridal .diyRole .hdM {
  margin-bottom: 30px;
}

#bridal .layoutRole_contents p {
  font-size: 14px;
}

#bridal p.tit {
  font-size: 12px !important;
}

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

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

#bridal .twoline .button.brand {
  flex: 0 50%;
  padding: 0 7px;
}

#bridal .twoline .button a {
  margin: 0;
}

.bg {
  background-color: #fff1eb;
  padding: 50px 0;
}

.bridal02 .bg {
  background-color: #FFF8F5;
  padding: 100px 0;
}

.bridal02 .slick-dots li button::before {
  font-size: 10px;
}

.bggry {
  background-color: #F7F7F7;
  padding: 50px 0;
}

.bridal02 .bggry {
  padding: 5%;
}

.bggrn {
  background-color: #005271;
  padding: 5%;
}

.bgwhite {
  background-color: #fff;
  padding: 45px 5%;
}

.bggrn .common_inner {
  background-color: #fff;
  padding: 35px 0;
}

.nbg {
  background: none !important;
}

.mt20 {
  margin-top: 20px !important;
}

.reservateBox .button a {
  width: 100%;
}

.grn {
  color: #005271;
}

.overflow {
  /* overflow-x: scroll; */
}

.hdM.en {
  font-size: 23px;
}

.hdM span {
  font-size: 12px;
  display: block;
  margin-bottom: 10px;
  font-family: tbudgothic-std, sans-serif;
}

.hdS {
  font-size: 16px;
}

h3.hdS {
  line-height: 1.6;
}

.slide2 li,
.slide3 li {
  padding: 0 10px;
  box-sizing: border-box;
}

.slick-slider .slick-prev,
.slick-slider .slick-next {
  z-index: 10;
  top: initial;
  bottom: -31px;
}

.slick-slider .slick-next {
  right: 25%;
}

.slick-slider .slick-next:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: solid 2px #4b4b4b;
  border-top: solid 2px #4b4b4b;
  transform: rotate(45deg);
}

.slick-slider .slick-prev {
  left: 25%;
}

.slick-slider {
  padding-bottom: 0px;
}

.slide2 li,
.slide3 li {
  padding: 0 10px;
  box-sizing: border-box;
}

.slick-slider .slick-prev,
.slick-slider .slick-next {
  z-index: 10;
  top: initial;
  bottom: -31px;
}

.slick-slider .slick-next {
  right: 25%;
}

.slick-slider .slick-prev {
  left: 25%;
}

.slick-slider .slick-prev:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-left: solid 2px #4b4b4b;
  border-bottom: solid 2px #4b4b4b;
  transform: rotate(45deg);
}

.slick-dots {
  bottom: 0px;
}

.slick-dotted.slick-slider {
  margin-bottom: 30px;
  padding-bottom: 15px;
}

.layoutRole_main,
.topBlock {
  padding: 0;
}

.mainBlock {
  padding: 0;
}

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

.topLayout .topLayout_imgRight.anchorCnt ,
.topLayout .topLayout_imgLeft.anchorCnt {
  padding-top: 60px;
}


.slick-slide {
  padding: 0 5px;
}

#bridal .slick-slide p {
  font-size: 13px;
}

.slick-dots li.slick-active button:before {
  color: #7f212f;
}

/* .slick-cloned p {
display: none;
}
.slick-active p {
display: block;
} */
#bridal .twoline .button a {
  color: #fff;
  border-radius: 20px;
  background: url(/img_2021/common/ico_link04.svg) right 26px center no-repeat;
  background-color: #7f212f;
  border: none;
}

#bridal .twoline .button.brand a {
  border-radius: 0px;
}

.slist {
  background-color: #fff;
  padding: 40px 3%;
  border: 1px solid #7f212f;
}

.slist li {
  padding-bottom: 20px;
  border-bottom: 1px solid #7f212f;
  margin-bottom: 20px;
}

.slist li:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}

#kodawari ul {
  max-width: 350px;
  margin: auto;
}

#kodawari ul li {
  background: url(/img_2021/common/ico_select_down.svg) right 0px center no-repeat;
  background-size: 10px;
  display: inline-flex;
  width: 100%;
  align-items: center;
  margin-bottom: 15px;
}

#kodawari ul li a {
  display: flex;
  align-items: center;
  color: #4b4b4b;
  line-height: 1.6;
  text-decoration: none;
  width: 100%;
}

#kodawari ul li a>span {
  font-size: 14px;
}

#kodawari ul li a>span:first-of-type {
  font-size: 25px;
  padding-right: 10px;
  width: 34px;
  text-align: center;
}

#kodawari .common_inner {
  padding: 0 5px;
}

.mainBlock {
  padding: 0 15px;
}

.stepSlText {
  display: flex;
}

.stepSlText h4 {
  font-size: 25px;
  padding-right: 4px;
}

#bridal .layoutRole_contents .pickupBlock p {
  font-size: 14px;
}

@media screen and (min-width: 960px) {
  .hdM.en {
    font-size: 28px;
  }

  .topLayout.width02 .topLayout_img {
    width: 50.25%;
  }

  .topLayout .topLayout_box {
    width: 49.75%;
  }

  #bridal .layoutRole_contents p {
    font-size: 16px;
  }

  .pb80 {
    padding: 0 0 80px !important;
  }

  .slick-slider .slick-next {
    right: 30%;
  }

  .slick-slider .slick-prev {
    left: 30%;
  }

  .slick-slide {
    padding: 0 7px;
  }

  .slick-dots {
    bottom: -20px;
  }

  .slide1 {
    max-width: 1000px;
    margin: auto;
  }


  .cover .aboutMarin185 {
    max-width: 920px;
    margin: auto;
    padding: 50px 15px !important;
  }

  .mainBlock {
    max-width: 1110px;
  }

  .secBlock {
    max-width: 1000px;
  }

  .topLayout.width02.mainBlock .cover .topLayout_img {
    width: 39.25%;
  }

  .topLayout.width02.mainBlock .cover .topLayout_box {
    padding-left: 37px;
    width: 63.75%;
  }

  .topLayout.width02.secBlock .topLayout_img {
    width: 50.25%;
  }

  .topLayout.width02.secBlock .topLayout_box {
    padding-left: 30px;
  }

  .stepBlock.topLayout .topLayout_img {
    width: 53%;
  }

  .stepBlock.topLayout .topLayout_box {
    padding-left: 40px;
  }

  .mainImg {
    margin-top: 50px;
  }

  /* .bgImg .topLayout_img {
visibility: hidden;
} */

  .bgImg {
    background-repeat: no-repeat;
    background-size: contain;
  }

  .bgImg#od {
    background-image: url(/cmdty/colorstone/img/od_s.jpg);
    min-height: 425px;
    background-position: right bottom;
  }

  .bgImg#sel {
    background-image: url(/cmdty/colorstone/img/sel_kv.jpg);
    min-height: 425px;
    background-position: left bottom;
  }

  .bgImg .topLayout_box {
    padding: 0 !important;
    width: 44% !important;
  }

  #bridal .shopRole_display .swiper-slide {
    width: 270px;
    margin-right: 40px;
  }

  #bridal .shopRole_display .swiper-slide img {
    border: 1px solid #dedede;
  }

  #bridal .swiper-slide .noteStyle {
    font-size: 12px;
  }

  #bridal .twoline {
    max-width: 470px;
    margin: 0 auto;
  }

  .topLayout.width02 .bg .topLayout_box {
    padding-left: 35px;
    width: 54%;
  }

  #kodawari ul {
    max-width: 980px;
    margin: auto;
  }

  #kodawari ul li {
    display: inline-block;
    width: 42%;
    margin: 30px 3%;
  }

  #kodawari ul li a>span {
    font-size: 16px;
  }

  #kodawari ul li a>span:first-of-type {
    font-size: 26px;
    width: 54px;
  }

  #arrangeorder .mw270 {
    max-width: 370px;
  }

  #after.pt0,
  #anc05.pt0 {
    padding-top: 80px !important;
  }

  #after .topLayout_imgRight {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .slist li {
    width: 45%;
    display: inline-block;
    margin: 20px 2%;
  }

  li:nth-child(-n + 2) {
    margin-top: 0;
  }

  li:nth-last-child(-n + 2) {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
  }

  .slist li.layout {
    vertical-align: top;
    margin-top: 4%;
  }

  .mw300 {
    max-width: 300px;
  }

  .mw400 {
    max-width: 400px;
  }

  .mw845 {
    max-width: 890px;
    margin: auto;
  }

   .mw640 {
    max-width: 640px;
    margin: auto;
  }

  .mw1000 {
    max-width: 1040px;
    margin: auto;
  }

  .mw1100 {
    max-width: 1140px;
    margin: auto;
  }

  .fs13 {
    font-size: 13px;
  }

  .fs18 {
    font-size: 18px;
  }

  .topLayout_box>.common_inner {
    padding: 0;
  }

  .bggrn {
    padding: 15px;
    max-width: 810px;
    margin: auto;
  }

  .reservateBox {
    border: none;
    padding: 0;
    right: 0;
    left: 0;
    margin: auto;
    max-width: 300px;
  }

  #bridal .slick-slide p {
    font-size: 14px;
  }

  .hdM span {
    font-size: 14px;
  }
}

.tag {
  margin: 20px auto 10px;
}

.tagbox {
  display: inline-block;
  padding: 5px 7px;
  background-color: #F4F4F4;
  font-size: 14px;
  color: #9B9B9B;
  margin-right: 5px;

}

.round {
  border-radius: 20px;
}

.mw387 {
  max-width: 410px;
  margin: auto;
  display: block;
}

@media screen and (min-width: 700px) {
  .mw270 {
    max-width: 300px;
    margin: auto;
    display: block;
  }

  h3.hdS {
    font-size: 20px;
  }

  .bridal02 #step .hdM {
    font-size: 22px;
  }

  .bridal02 #step .hdM.en {
    font-size: 24px;
  }
}

@media screen and (max-width: 959px) {
  .bgwhite {
    padding: 30px 5%;
  }

  .mainBlock {
    padding: 0px;
  }

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

  .bridal02 .mb200 {
    margin-bottom: 80px !important;
  }

  .bridal02 .mb10 {
    margin-bottom: 10px !important;
  }

  .pt60 {
    padding: 30px 0 0 !important;
  }

  #bridal .layoutRole_contents .pickupBlock p {
    font-size: 13px;
  }

  /* .pickupBlock .topLayout_imgRight {
    transform: translateX(20px);
  }
  .pickupBlock .topLayout_imgLeft {
    transform: translateX(-20px);
  } */
  .pickup {
    padding-bottom: 30px;
  }

  #step .pt60 {
    padding: 20px 0 0 !important;
  }

  .bridal02 #step .hdM {
    font-size: 16px;
  }

  .bridal02 #step .hdM.en {
    font-size: 20px;
  }

  .bridal02 .mb100 {
    margin-bottom: 60px !important;
  }

  /* .step3Box {
    padding: 10px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #ececec;
  } */


  .fs18 {
    font-size: 15px;
  }

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

  .cover {
    padding: 30px 5% 50px;
  }

  .slick-dotted.slick-slider {
    margin-bottom: 40px;
    padding-bottom: 30px;
  }

  #bridal .noteStyle {
    font-size: 12px;
  }

  #bridal .diyRole .hdM {
    margin-bottom: 20px;
  }

  #bridal .diyRole h1.hdM {
    margin-top: 0;
  }

  .mt-70 {
    margin-top: -70px;
  }

  .mt30-s {
    margin-top: 30px !important;
  }

  #arrangeorder .topLayout {
    padding: 0;
  }

  .mainImg img {
    width: 100%;
  }

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

  .mw387 {
    max-width: 315px;
  }

  .stepBlock,
  .pickupBlock {
    padding: 0;
  }

  .stepSlText {
    min-height: 95px;
  }
}

@media screen and (max-width: 700px) {
  .flexBox2 {
    flex-wrap: wrap;
  }

  .flexBox2 .flex {
    width: 100%;
  }

  .flexBox2 .flex:nth-child(2n) {
    margin-left: 0%;
    margin-top: 20px;
  }

  .spflexBox2 .hdS {
    margin-bottom: 5px;
    font-size: 14px;
  }

  #bridal .spflexBox2 p {
    font-size: 12px;
    line-height: 1.6;
  }

  .spflexBox2 .img {
    margin-right: 13px;
  }

  .overflow {
    /* */
    border: 1px solid #dedede;
    margin: auto 5%;
  }

  .flexBox3 {
    display: block;
  }

  .flexBox3 .flex {
    width: 100%;
    padding-left: 0;
    padding: 20px;
  }

  .flex.batsu {
    position: relative;
    padding-top: 50px;
    margin-top: 0px;
  }

  .flexBox3 .flex.batsu::before {
    left: 0;
    top: 0;
    bottom: auto;
    right: 0;
    margin: auto;
  }

  #arrangeorder .mw270 {
    max-width: 270px;
    margin: auto;
    display: block;
  }

  .tagbox {
    font-size: 13px;
  }

  .pickup .slide1,
  #step3 .slide1 {
    margin: auto;
    width: 112%;
    position: relative;
    left: -6%;
  }

  #step3 .slide1 {
    width: 125%;
    left: -13%;
    background: #fff;
  }

  .pickupBlock,
  #step3 {
    position: relative;
  }
}

@media only screen and (min-width: 960px) {
  .topLayout .topLayout_box a {
    font-size: 16px;
  }
}

.topLayout .topLayout_box a {
  font-size: 14px;
}

/**** junshimusubi ****/
#bridal.junshimusubi .diyRole .hdM,
#bridal.junshimusubi .diyRole .hdS,
#bridal.junshimusubi .diyRole p {
  color: #624141;
}

.junshimusubi .bggry {
  padding: 5%;
}

.junshimusubi .hdM span {
  font-size: 24px;
}

.junshimusubi .mw400 {
  margin: 0px auto 30px;
}

.junshimusubi .flexBox2 .cont_col2 {
  display: flex;
  justify-content: space-around;
}
.junshimusubi .flexBox2 .cont_col2 .colbox {
  width: 45%;
}

#bridal.junshimusubi .flexBox2 .cont_col2 .colbox p {
  font-size: 12px;
}

.junshimusubi .musubi {
  padding: 0;
}

/* sp_button */
.sp_buttonBox {
  text-align: center;
}
.sp_buttonBox > .button {
  margin-top: 20px; 
}

.sp_buttonBox .buttonCaption {
  text-align: center;
  color: #8F2E2E;
  position: relative;
  display: inline-block;
  padding: 0px 10px;
}

.sp_buttonBox .buttonCaption::before,
.sp_buttonBox .buttonCaption::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 5rem;
  background: #8F2E2E;
}

.sp_buttonBox .buttonCaption::before {
  transform: rotate(-30deg);
  left: -10px;
}
.sp_buttonBox .buttonCaption::after {
  transform: rotate(30deg);
  right: -10px;
}

.sp_buttonBox .button a{
  min-width: 288px;
  margin: 0px auto 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 70px;
  background: #F4F4F4;
  color: #4B4B4B;
  border: none;
  border-radius: 50px;
  font-family: tbudgothic-std, sans-serif;
  box-shadow: 2px 2px 6px #bcbcbc;
  font-size: 16px;
}

.sp_buttonBox .button a.btnreserve {
  background: #FAE2E2;
  color: #4B4B4B;
}

.sp_buttonBox .button a > span {
  font-size: 10px;
}


@media only screen and (min-width: 960px) {
  .sp_buttonBox > .button {
    margin: 0 auto;
    margin-top: 20px;
    max-width: 730px;
  }
}

/**** add movie ****/

#bridal .img.er-visual {
  max-width: 960px;
  margin: 0 auto;
}

#bridal .movie {
  margin: 0px 20px;
}


/**** add headerparts ****/

.headerParts .shopRole_nav {
  border: none;
}

.headerParts .headerNaviRole_right a {
    display: block;
    font-size: 1.2rem;
    padding: 5px;
    color: #fff;
    border: 1px solid #005271;
    background: #005271 url(../img_2021/common/ico_link04.svg) right 26px center no-repeat;
    background-size: 4px 11px;
  }

#bridal.headerParts .layoutRole .layoutRole_contents {
  padding-top: 111px;
}

.headerParts .shopRole_nav.shopRole_nav_short ul {
  margin-top: 10px;
  justify-content: space-around;
}

.headerParts .shopRole_nav li {
  width: 100%;
  text-align: center;
}

.headerParts .shopRole_nav li a {
  width: 100%;
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
}

.headerParts .shopRole_nav li a::after {
  position: absolute;
  right: 0;
  content: "";
  width: 1px;
  height: 10px;
  background: #9B9B9B;
  top: calc(50% - 6px);
}

.headerParts .shopRole_nav li:last-of-type a::after {
  display: none;
}