@charset "utf-8";


/* - - - - - - - - - - - - - - - - - - - -
  key-visual
- - - - - - - - - - - - - - - - - - - - */

@media print, screen and (max-width: 767px){
  #rwd-content .rwd-large-keyvisual-caption-title-en,
  #rwd-content .rwd-mainvisual-video-caption-title-en {
    font-size: 2.2rem;
  }

  #rwd-content .rwd-large-keyvisual-caption-title-jp,
  #rwd-content .rwd-mainvisual-video-caption-title-jp {
    font-size: 1.8rem;
    margin-left: 0;
  }
  
  #rwd-content .rwd-large-keyvisual-caption-inner,
  #rwd-content .rwd-mainvisual-video-caption-inner {
    color: #fff;
  }
}

@media print, screen and (min-width: 768px){
  .rwd-block-keyvisual .toEng {
    max-width:1220px;
    margin: 0 auto;
    position:relative;
  }
  .rwd-block-keyvisual .toEng a{
    display:inline-block;
    text-align: right;
    padding:.5em 1em 2em 3em;
    backgroung:#d3d3d3;
    position:absolute;
    top:30px;
    right:0;
  }
  #rwd-content .rwd-large-keyvisual-caption-wrap {
    z-index: 5!important;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  .to-en
- - - - - - - - - - - - - - - - - - - - */

#rwd-content .to-en {
  position: relative;
  z-index: 10;
}
#rwd-content .to-en a {
  height: 36px;
  padding: 0 23px 0 47px;
  display: inline-flex;
  align-items: center;
  background: #d3d3d3 url("/shared/img/icon_arrow_right02_black.svg") no-repeat 24px center / 8px auto;
  font-size: 1.6rem;
  font-family: Roboto;
  line-height: 1;
  color: #000;
  position: absolute;
  right: 0;
  top: -70px;
}

@media print, screen and (min-width: 768px){
  #rwd-content .to-en a:hover {
    opacity: 0.6;
  }
}

@media print, screen and (max-width: 767px){
  #rwd-content .to-en a {
    height: 34px;
    padding: 0 10px 0 32px;
    background-position: 15px center;
    font-size: 1.4rem;
    top: -173px;
    right: -5.2%;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  .top-title
- - - - - - - - - - - - - - - - - - - - */

.top-title img {
  display: block;
  margin: 0 auto;
}

#rwd-content p.lead-text {
  margin-top: 31px;
  font-size: 1.8rem;
  line-height: calc(31 / 18);
  font-weight: bold;
  text-align: center;
}

@media print, screen and (max-width: 767px){
  #rwd-content p.lead-text {
    margin-top: 18px;
    font-size: 1.6rem;
    line-height: calc(26 / 17);
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  #info
- - - - - - - - - - - - - - - - - - - - */

#info {
  margin-top: 34px;
}
#info .bg-white {
  box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
  background: #fff;
  border-radius: 16px;
}

#info .left .title {
  margin-bottom: 1em;
  padding-left: 26px;
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  position: relative;
}
#info .left .title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#info .left .desc {
  font-size: 1.6rem;
  line-height: calc(24 / 16);
}
#info .left .desc + .desc {
  margin-top: 0.7em;
}
#info .left .small {
  font-size: 1.4rem;
  line-height: calc(21 / 14);
}
#info .left .address .title::before {
  width: 17px;
  height: 24px;
  background: url("/jp/showroom/yeb/shared-yeb/img/ico_pin.svg") no-repeat 0 0 / 100% auto;
}
#info .left .station .title::before {
  width: 18px;
  height: 24px;
  background: url("/jp/showroom/yeb/shared-yeb/img/ico_train.svg") no-repeat 0 0 / 100% auto;
  top: 45%;
}
#info .left .time .title::before {
  width: 21px;
  height: 21px;
  background: url("/jp/showroom/yeb/shared-yeb/img/ico_clock.svg") no-repeat 0 0 / 100% auto;
  top: 40%;
}
#info .right .color-desc {
  padding-top: 13px;
  border-top: solid 2px #D6D6D6;
  font-size: 1.4rem;
  line-height: 1;
}
#info .right .color-desc .closed {
  width: 21px;
  height: 21px;
  margin-right: 0.4em;
  display: inline-block;
  background: #CADADD;
  border-radius: 5px;
  vertical-align: -0.3em;
}
#info .right .color-desc .event {
  width: 23px;
  height: 23px;
  margin: 0 0.4em 0 1em;
  display: inline-block;
  background: #407837;
  border-radius: 50%;
  vertical-align: baseline;
  vertical-align: -0.4em;
}

@media print, screen and (min-width: 768px){
  #info {
    padding-bottom: 50px;
  }
  #info .bg-white {
    padding: 50px 0 30px;
    display: flex;
    justify-content: space-between;
  }
  #info .bg-white .left {
    width: calc(90% - 291px);
    margin-left: 5%;
    margin-right: 4%;
  }
  #info .left .address {
    position: relative;
  }
  #info .left .address .desc {
    margin-left: 26px;
  }
  #info .left .address .btn-type1 {
    width: 234px;
    position: absolute;
    right: 10%;
    bottom: 2px;
  }
  #info .col2 {
    margin-top: 37px;
    padding-top: 34px;
    display: flex;
    border-top: solid 2px #D6D6D6;
  }
  #info .col2 > div {
    width: 50%;
    padding: 8px 0;
    position: relative;
    box-sizing: border-box;
  }
  #info .col2 > div:first-child {
    padding-right: 23px;
  }
  #info .col2 > div:last-child {
    padding-left: 23px;
  }
  #info .col2 > div:last-child::before {
    width: 2px;
    height: 100%;
    background: #D6D6D6;
    display: block;
    content: "";
    position: absolute;
    left: -1px;
    top: 0;
  }
  #info .bg-white .right {
    width: 291px;
    margin-right: 5%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1100px){
  #info .left .address .btn-type1 {
    margin-top: 10px;
    position: relative;
    right: 0;
    bottom: 0;
  }
}

@media print, screen and (max-width: 767px){
  #info {
    margin-top: 32px;
    padding-bottom: 22px;
  }
  #info .bg-white {
    padding: 30px 19px;
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.12);
  }

  #info .left .title {
    margin-bottom: 1.2em;
    font-size: 1.8rem;
  }
  #info .left .desc + .desc {
    margin-top: 1em;
  }
  
  #info .left .item:not(.address) {
    margin-top: 30px;
    padding-top: 30px;
    border-top: solid 2px #D6D6D6;
  }
  
  #info .left .address .title {
    font-size: 1.6rem;
  }
  #info .left .address .desc {
    font-size: 1.5rem;
  }
  #info .left .address .btn-type1 {
    margin-top: 16px;
  }
  #info .right {
    margin-top: 27px;
    padding-top: 20px;
    border-top: solid 2px #D6D6D6;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  #in-page-nav
- - - - - - - - - - - - - - - - - - - - */

#rwd-content #in-page-nav {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 3px 0 rgba(0,0,0,0.3);
  border-radius: 16px;
  background: #40773e;
}
#rwd-content #in-page-nav li {
  font-size: 1.6rem;
  line-height: 1;
  padding-top:4px;
}
#rwd-content #in-page-nav li a {
  padding-right: 1em;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  position: relative;
}

@media print, screen and (min-width: 768px){
  #rwd-content #in-page-nav {
    margin-top: -28px;
    gap: 0 calc(60 / 1220 * 100%);
    position: relative;
    z-index: 4;
  }
  #rwd-content #in-page-nav li a:hover {
    color: #e3ff17;
  }
  #rwd-content #in-page-nav li a::after {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    width: 0.4em;
    height: 0.4em;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0.2em;
    transform: rotate(45deg);
  }
  #rwd-content #in-page-nav li a:hover::after {
    border-color: #e3ff17;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 980px){
  #rwd-content #in-page-nav {
    gap: 0 22px;
  }
  #rwd-content #in-page-nav li {
    font-size: 1.4rem;
  }
}

@media print, screen and (max-width: 767px){
  #rwd-content .nav-wrap {
    padding: 24px 0;
    background: #40773e;
  }
  #rwd-content #in-page-nav {
    max-width: 340px;
    height: auto;
    margin: 0 auto;
    padding: 21px 11px 18px;
    box-sizing: border-box;
    flex-wrap: wrap;
    align-content: flex-start;
    background: #335f32;
    box-shadow: none;
    border: solid 2px #fff;
  }
  #rwd-content #in-page-nav li {
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
  }
  #rwd-content #in-page-nav li:nth-child(1) {
    padding-bottom: 0.9em;
    margin-bottom: 0.9em;
    border-bottom: solid 1px #fff;
  }
  #rwd-content #in-page-nav li:nth-child(2) {
    padding-bottom: 0.9em;
    margin-bottom: 0.9em;
    border-bottom: solid 1px #fff;
  }
  #rwd-content #in-page-nav li:nth-child(3) {
    padding-bottom: 0.9em;
    margin-bottom: 0.9em;
    border-bottom: solid 1px #fff;
  }
  #rwd-content #in-page-nav li:nth-child(4) {
    padding-bottom: 0.9em;
    margin-bottom: 0.9em;
    border-bottom: solid 1px #fff;
  }
  #rwd-content #in-page-nav li:nth-child(5) {
    
  }
  #rwd-content #in-page-nav li:nth-child(6) {
    
  }
  #rwd-content #in-page-nav li:nth-child(7) {
    
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  #feature1
- - - - - - - - - - - - - - - - - - - - */

#feature1 .feature + .feature {
  margin-top: 7px;
}
#feature1 .feature .texts .title {
  line-height: 1;
  position: relative;
}
#feature1 .feature .texts .title .e,
#feature1 .feature .texts .title .e .blue,
#feature1 .feature .texts .title .e .point-col {
  font-family: 'Montserrat';
  font-weight: 700;
  font-size: 6rem;
}
#feature1 .feature .texts .title .j {
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
  margin-left: 1em;
}
#feature1 .feature .texts .desc {
  margin-top: 50px;
  font-size: 1.8rem;
  line-height: calc(30 / 18);
  text-align: left;
}
#feature1 .feature .texts .btn {
  width: 100%;
  max-width: 406px;
  height: 56px;
  margin-top: 27px;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  border: solid 2px #40773e;
  background: #5c935c;
  position: relative;
  transition:
    color 0.2s ease-out,
    background 0.2s ease-out;
}
#feature1 .feature .texts .btn::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 0.45em;
  height: 0.45em;
  content: "";
  display: block;
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.2s ease-out;
}
#feature1 .feature .texts .links {
  max-width: 323px;
  margin-top: 33px;
}
#feature1 .feature .texts .links li {
  line-height: 1;
}
#feature1 .feature .texts .links li + li {
  margin-top: 27px;
}
#feature1 .feature .texts .links li a {
  padding: 0 0 10px 10px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #40773e;
  display: block;
  border-bottom: solid 1px #a7a7a7;
  position: relative;
  transition: color 0.2s ease-out;
}
#feature1 .feature .texts .links li a::after {
  border-top: solid 2px #344b2c;
  border-right: solid 2px #344b2c;
  width: 0.5em;
  height: 0.5em;
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 14%;
  transform: rotate(45deg);
  transition: border-color 0.2s ease-out;
}

@media print, screen and (min-width: 768px){
  #feature1 {
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
  }
  #feature1 .feature {
    display: flex;
    /*min-height: 600px;*/
    min-height: 500px;
    background-size: auto 100% !important;
  }
  #feature1 .feature:nth-child(odd) {
    /*background-position: calc((581 - 25) / 1446 * 100vw) bottom !important;*/
    background-position: calc(580 / 1446 * 100vw) bottom !important;
  }
  #feature1 .feature:nth-child(odd).bg3 {
    background-position: calc(580 / 1446 * 100vw) 30% !important;
  }
  #feature1 .feature:nth-child(even) {
    background-position: right calc(580 / 1446 * 100vw) bottom !important;
    flex-direction: row-reverse;
  }
  #feature1 .bg1 { background: url("/jp/showroom/yeb/img2026/bg_001.jpg") no-repeat; }
  #feature1 .bg2 { background: url("/jp/showroom/yeb/img2026/bg_002.jpg") no-repeat; }
  #feature1 .bg3 { background: url("/jp/showroom/yeb/img2026/bg_003.jpg") no-repeat; }
  #feature1 .bg4 { background: url("/jp/showroom/yeb/img2026/bg_004.jpg") no-repeat; }
  #feature1 .bg5 { background: url("/jp/showroom/yeb/img2026/bg_005.jpg") no-repeat; }
  
  #feature1 .feature .texts {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  #feature1 .feature:nth-child(even) .texts {
    justify-content: flex-start;
    text-align: right;
  }
  #feature1 .feature .texts .group {
    max-width: 610px;
    box-sizing: border-box;
  }
  #feature1 .feature:nth-child(odd) .texts .group {
    padding-right: min(16% , 150px);
  }
  #feature1 .feature:nth-child(even) .texts .group {
    padding-left: min(16% , 150px);
  }
  #feature1 .feature .texts .title {
    padding-bottom: 23px;
  }
  #feature1 .feature .texts .title::after {
    content: "";
    width: 50vw;
    max-width: 610px;
    height: 8px;
    background: #0a2d82;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #feature1 .feature:nth-child(even) .texts .title::after {
    left: auto;
    right: 0;
  }
  #feature1 .feature .texts .title .j {
    margin-top: 0.5em;
  }
  
/*  #feature1 .feature .texts .title .e .blue {
    color: #0074b4;
  }*/
  #feature1 .feature .texts .title .e .point-col {
    color: #cf3c3c;
  }
  
  #feature1 .feature:nth-child(even) .texts .btn {
    display: inline-flex;
  }
  #feature1 .feature .texts .btn:hover {
    color: #0074b4;
    background: #e7efe7;
  }
  #feature1 .feature .texts .btn:hover::after {
    border-color: #0074b4;
  }
  #feature1 .feature .texts .links li a:hover {
    color: #15b716;
  }
  #feature1 .feature .texts .links li a:hover::after {
    border-color: #15b716;
  }
}

@media print, screen and (min-width: 1440px){
  #feature1 .feature {
    background-size: calc(885 / 1440 * 100vw) auto !important;
  }
  #feature1 .feature:nth-child(odd).bg3 {
    background-size: calc((885 + 24) / 1440 * 100vw) auto !important;
    background-position: calc((581 - 25 - 34) / 1446 * 100vw) 30% !important;
  }
  #feature1 .feature .texts .group {
    width: 610px;
  }
  #feature1 .feature .texts .title {
    white-space: nowrap;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1305px){
  #feature1 .feature:nth-child(odd) .texts .group {
    margin-left: 2.2%;
  }
  #feature1 .feature:nth-child(even) .texts .group {
    margin-right: 2.2%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 950px){
  #feature1 .feature:nth-child(odd) .texts .group {
    margin-right: 30px;
  }
  #feature1 .feature:nth-child(even) .texts .group {
    margin-left: 30px;
  }
  #feature1 .feature .texts .title .e,
  #feature1 .feature .texts .title .e .blue {
    font-size: 4.5rem;
  }
  #feature1 .feature:nth-child(odd) .texts .desc {
    margin-top: 20px;
  }
}

@media print, screen and (max-width: 767px){
  #feature1 {
    border-top: solid 2px #e2f2eb;
    margin-bottom: 60px;
  }
  
  #feature1 .feature {
    padding-top: calc(282 / 375 * 100vw);
    position: relative;
  }
  #feature1 .bg1 { background: url("/jp/showroom/yeb/img2026/bg_001_sp.jpg") no-repeat center top / 100% auto; }
  #feature1 .bg2 { background: url("/jp/showroom/yeb/img2026/bg_002_sp.jpg") no-repeat center top / 100% auto; }
  #feature1 .bg3 { background: url("/jp/showroom/yeb/img2026/bg_003_sp.jpg") no-repeat center top / 100% auto; }
  #feature1 .bg4 { background: url("/jp/showroom/yeb/img2026/bg_004_sp.jpg") no-repeat center top / 100% auto; }
  #feature1 .bg5 { background: url("/jp/showroom/yeb/img2026/bg_005_sp.jpg") no-repeat center top / 100% auto; }
  
  #feature1 .feature + .feature {
    margin-top: 56px;
  }
  #feature1 .feature .texts .title {
    padding: 14px 18px 14px 20px;
    background: #0a2d82;
    display: inline-block;
    box-shadow: 2px 3px 4px 0 rgba(0,0,0,0.3);
  }
 #feature1 .feature:nth-child(5) .texts .title {
    padding: 14px 25px 14px 20px;
  }
  #feature1 .feature .texts .title .e,
  #feature1 .feature .texts .title .e .blue,
  #feature1 .feature .texts .title .e .point-col  {
    font-size: 3.2rem;
    color: #fff;
  }
  #feature1 .feature .texts .title .j {
    font-size: 1.6rem;
    color: #fff;
  }
  #feature1 .feature .texts .desc {
    width: calc(341 / 375 * 100%);
    margin: calc(45 / 375 * 100vw) auto 0;
    font-size: 1.6rem;
    line-height: calc(28 / 16);
  }
  #feature1 .feature .texts .btn {
    height: 45px;
    width: calc(341 / 375 * 100%);
    margin: 25px auto 0;
    margin-top: 19px;
    font-size: 1.6rem;
  }
  #feature1 .feature .texts .links {
    width: calc(327 / 375 * 100%);
    max-width: 390px;
    margin: 27px auto 0;
  }
  #feature1 .feature .texts .links li {
    line-height: 1;
    position: relative;
    border-bottom: solid 1px #fff;
  }
  #feature1 .feature .texts .links li + li {
    margin-top: 22px;
  }
  #feature1 .feature .texts .links li a {
    padding: 0 0 10px 14px;
    display: block;
    font-size: 1.6rem;
  }
  #feature1 .feature .texts .links li a::after {
    right: 14px;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  #other-contents
- - - - - - - - - - - - - - - - - - - - */

#other-contents li {
  line-height: 1;
}
#other-contents li a {
  width: 100%;
  height: 163px;
  border-radius: 20px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.12);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.1em;
  transition: background 0.2s ease-out;
}
#other-contents li a span {
  height: 68px;
  padding-top: 58px;
  display: inline-block;
  box-sizing: border-box;
  width: 120px;
  text-align: center;
}
#other-contents li.note a span {
  background: url("/jp/showroom/yeb/img/ico_note.svg") no-repeat center 5px / 117px auto;
}
#other-contents li.faq a span {
  background: url("/jp/showroom/yeb/img/ico_ques.svg") no-repeat center top / 45px auto;
}
#other-contents li.contact a span {
  background: url("/jp/showroom/yeb/img/icon_mail_phone.svg") no-repeat center top / 100px auto;
}

@media print, screen and (min-width: 768px){
  #other-contents {
    max-width: 968px;
    width: 96%;
    /*margin: 87px auto 79px;*/
    margin: 87px auto 20px;
    display: flex;
    justify-content: center;
    gap: 0 calc(28 / 968 * 100%);
  }
  p.contact-note{
    text-align: center;
    padding-bottom:60px;
  }

  #other-contents li {
    width: calc(304 / 968 * 100%);
  }
  #other-contents li a:hover {
    background: #80CB72;
    color: #fff;
  }
  #other-contents li.note a:hover span {
    background-image: url("/jp/showroom/yeb/img/ico_note_wt.svg");
  }
  #other-contents li.faq a:hover span {
    background-image: url("/jp/showroom/yeb/img/ico_ques_wt.svg");
  }
  #other-contents li.contact a:hover span {
    background-image: url("/jp/showroom/yeb/img/icon_mail_phone_wt.svg");
  }
}

@media print, screen and (max-width: 767px){
  #other-contents {
    width: 260px;
    /*margin: 76px auto;*/
    margin: 76px auto 20px;
  }
  p.contact-note{
    width: 80%;
    display:block;
    margin: 0 auto;
    padding-bottom: 30px;
  }
  #other-contents li + li {
    margin-top: 23px;
  }
  #other-contents li a {
    height: 120px;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  emergency
- - - - - - - - - - - - - - - - - - - - */

.emergency p{
  font-size:1.8rem;
  font-weight: bold;
  color:#e32525;
  text-align: center;
  padding: 1em 1.5em .8em;
  border: solid 2px #e32525;
  margin-top:1.5em;
  line-height: 1.4;
}

/* - - - - - - - - - - - - - - - - - - - -
  Mov Embed
- - - - - - - - - - - - - - - - - - - - */

.article-mov {
  width: calc(1050 / 1220 * 100%);
  height: 590px;
  margin: 0 auto;
  display: block;
  box-shadow: 0px 5px 14px -5px #000000;
  border-radius: 0px;
}
.mv-bg{
  background: #e6e2d1;
  padding:50px 0;
  margin-top: 55px;
  margin-bottom:55px;
}

@media print, screen and (min-width:768px) and (max-width:1260px) {
  .article-mov {
    height: calc(600 / 1260 * 100vw);
  }
}

@media screen and (max-width:767px) {
  .article-mov {
    width: 100%;
    height: 52vw;
  }
}

/* - - - - - - - - - - - - - - - - - - - -
  緊急告知文　
- - - - - - - - - - - - - - - - - - - - */

.emergencyBlock{
  padding: 1em 1.5em .8em;
  border: solid 2px #E22222;
  margin: 2em 0;
}
.emergencyBlock p{
  color:#E22222;
}
.emergencyBlock p.hd_txt{
  font-size:1.8rem;
  font-weight: bold;
  text-align: center;
}
.emergencyBlock .rwd-table{
  margin-top:.5em;
  margin-bottom:.5em!important;
}
.emergencyBlock .rwd-table td{
  background: #fff;
}
.emergencyBlock .rwd-table th{
  background: #f7e9e0!important;
}
@media screen and (max-width:767px) {
.emergencyBlock{
  padding: 1em 1em .8em;
}
.emergencyBlock .rwd-table th{
  width: 6em;
}
}

/* 過去バナー */
.bottom-bnr{
  background: #eef1f2;
  padding: 34px 0;
}
.bottom-bnr img{
box-shadow: 3px 4px 6px 0px rgba(0, 0, 0, 0.5);
}

/*SPメインイメージタイトル*/
@media screen and (max-width:767px) {
    #rwd-content .rwd-large-keyvisual-caption-title-jp {
        font-size: 1.6rem!important;
    }
}


/* ----------------------------------------
   リニューアルオープン記念プレゼントキャンペーン
---------------------------------------- */
#rwd-content .present-campaign {
  margin: 55px auto 0;
  padding: 48px 5% 52px;
  border: 1px solid #777;
  box-sizing: border-box;
  background: #f8f8f8;
}
#rwd-content .present-campaign-title {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 60px;
  padding: 0 0 24px;
  border-bottom: 6px solid #777;
  color: #000;
  font-size: 3.2rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
#rwd-content .present-campaign-inner {
  max-width: 896px;
  margin: 0 auto;
}
#rwd-content .present-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 24px;
}
#rwd-content .present-item + .present-item {
  margin-top: 68px;
}
#rwd-content .present-number {
  width: 46px;
  padding-bottom: 5px;
  border-bottom: 8px solid #5ec2eb;
  box-sizing: border-box;
  color: #5ec2eb;
  font-family: Roboto, Arial, sans-serif;
  font-size: 8.4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  align-self: start;
}
#rwd-content .present-item-body {
  min-width: 0;
}
#rwd-content .present-images {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
#rwd-content .present-images img {
  max-width: 100%;
  height: auto;
}
#rwd-content .present-item01 .present-images img {
  width: calc((100% - 24px) / 2);
}
#rwd-content .present-description {
  margin: 16px 0 14px;
  color: #003b82;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.7;
}
#rwd-content .present-note {
  border: 2px solid #003b82;
  box-sizing: border-box;
  color: #003b82;
  font-size: 1.8rem;
  line-height: 1.6;
}
#rwd-content .present-note01 {
  padding: 8px 15px;
  text-align: center;
}
#rwd-content .present-note01 strong {
  margin-right: 20px;
  font-size: 2rem;
  font-weight: 700;
}
#rwd-content .present-item02 .present-item-body {
  display: flex;
  gap: 24px;
  align-items: center;
}
#rwd-content .present-item02 .present-images {
  flex: 0 0 288px;
}
#rwd-content .present-item02 .present-item-text {
  flex: 1;
  min-width: 0;
}
#rwd-content .present-item02 .present-description {
  margin: 0 0 16px;
}
#rwd-content .present-note02 {
  padding: 10px 16px;
  font-weight: 700;
}
#rwd-content .present-shop-prefix {
  font-size: 1.8rem;
}
#rwd-content .present-shop-detail {
  font-size: 2rem;
}
#rwd-content .present-sp-only {
  display: none;
}

@media screen and (max-width: 767px) {
  #rwd-content .present-campaign {
    margin-top: 32px;
    padding: 35px 15px 48px;
  }
  #rwd-content .present-campaign-title {
    margin-bottom: 48px;
    padding-bottom: 16px;
    border-bottom-width: 3px;
    font-size: 2.2rem;
    line-height: 1.5;
  }
  #rwd-content .present-item {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 8px;
    position: relative;
  }
  #rwd-content .present-item + .present-item {
    margin-top: 55px;
  }
  #rwd-content .present-number {
    width: 4.6rem;
    padding-bottom: 4px;
    font-size: 5.5rem;
  }
  #rwd-content .present-description {
    margin-top: 12px;
    margin-bottom: 12px;
    font-size: 1.8rem;
    line-height: 1.6;
    text-align: center;
  }
  #rwd-content .present-note {
    font-size: 1.5rem;
  }
  #rwd-content .present-note01 {
    padding: 6px 10px;
  }
  #rwd-content .present-note01 strong {
    display: block;
    margin-right: 0;
    font-size: 1.6rem;
  }
  #rwd-content .present-note01 span {
    display: block;
    text-align: center;
  }

  /* プレゼント1：合成画像を幅いっぱいに表示し、番号を重ねる */
  #rwd-content .present-item01 {
    display: block;
  }
  #rwd-content .present-item01 .present-number {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }
  #rwd-content .present-item01 .present-item-body,
  #rwd-content .present-item01 .present-images,
  #rwd-content .present-item01 .present-images img {
    width: 100%;
  }

  /* プレゼント2：PC用画像を非表示 */
  #rwd-content .present-item02 .present-images.present-pc-only {
    display: none;
  }

  /* プレゼント2：画像だけを右に10px移動 */
  #rwd-content .present-item02 .present-item-body {
    display: block;
  }
  #rwd-content .present-item02 .present-images {
    width: min(100%, 205px);
    margin-left: 10px;
  }
  #rwd-content .present-item02 .present-images img {
    width: 100%;
  }
  #rwd-content .present-item02 .present-item-text {
    margin-left: -54px;
  }
  #rwd-content .present-item02 .present-description {
    margin: 12px 0;
    line-height: 1.6;
    text-align: center;
  }
  #rwd-content .present-note02 {
    padding: 8px 10px;
    text-align: center;
  }
  #rwd-content .present-shop-prefix {
    font-size: 1.5rem;
  }
  #rwd-content .present-shop-detail {
    font-size: 1.6rem;
  }
  #rwd-content .present-sp-only {
    display: block;
  }
  #rwd-content br.present-sp-only {
    display: inline;
  }
}
