@charset "UTF-8";

main#mainContents {
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
}

.dh-mainContents,
.dh-mainContents.dh-mainContents-type1 {
  width: unset;
  max-width: 1080px;
}

.dh-mainContents a {
  text-decoration: underline;
}

.bgcolor {
  background-color: white !important;
}

.contsTtl .brownH {
  background: #603814;
}

.contsImg img {
  width: 100%;
}

.contsImg.imgAuto {
  text-align: center;
}

.contsImg.imgAuto img {
  width: auto !important;
}

.choice_point{
  max-width:620px;
  width:100%;
  margin:0 auto;
}

.redBtn {
  background-color: #ed1b24;
  -webkit-box-shadow: 0px -5px 0px 0px #ba141d inset;
  box-shadow: 0px -5px 0px 0px #ba141d inset;
}

.redBtn02 {
  background-color: #ad0003;
  -webkit-box-shadow: 0px -5px 0px 0px #8c0002 inset;
  box-shadow: 0px -5px 0px 0px #8c0002 inset;
}

.txtLink {
  text-decoration: underline;
  display: inline
}

.text-indent02 {
  padding-left: 2em;
  text-indent: -2em;
}

.contsImg02 {
  margin: auto;
  max-width: 630px;
  position: relative;
  padding: 0 10px;
}

.contsImg02 .aboutdbarai_link {
  position: absolute;
  top: 19%;
  left: 4%;
  width: 80vw;
  height: 5vw;
}

.contsImg02 .aboutdbarai_link img {
  width: 1px;
  height: 1px;
}

@media only screen and (min-width: 641px) {
  .dh-mainContents * {
    box-sizing: content-box;
  }

  .contsImg02 .aboutdbarai_link {
    position: absolute;
    top: 159px;
    left: 25px;
    width: 524px;
    height: 32px;
  }
}

/*フローティングバナー*/
.floatBnr {
  width: 100%;
  max-width: 1080px;
  position: fixed;
  padding: 2% 5.21vw 2%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  z-index: 2;
  box-sizing: border-box;
  background-color: #fff;
}

.floatLink {
  display: block;
  max-width: 600px;
  margin: 0 auto;
}

@media only screen and (max-width: 640px) {
  .normalBtnTxt {
    font-size: 15px;
  }

  #dh-footerWrap {
    padding-bottom: 20% !important;
  }

  .flbnpb {
    padding-bottom: 15% !important;
  }
}

/*アコーディオン*/
.accordion {
  background-color: #ffffff;
  border: solid 4px #cc0033;
  max-width: 610px;
  padding: 0;
  font-size: 12px;
  margin: 0 10px;
}

.accordion .contentWrap .accordion_title {
  font-size: 17px;
}

.accordion .contentWrap span {
  font-size: 13px;
}

.accordion a {
  display: inline
}

.accordion .switch {
  background: #ffffff;
  cursor: pointer;
  color: #333333;
  font-size: 16px;
  font-weight: bold;
  padding: 19px 45px 20px;
  position: relative;
  text-align: center;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin: 0 auto;
  line-height: 1.3;
  width: 100%;
  box-shadow: none;
  border-radius: unset !important;
}

.accordion .switch:after {
  content: "";
  position: absolute;
  background-image: url("/keitai_payment/campaign/dpay_reservation/250901/images/icon_open_red.png");
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  margin: auto;
  top: 55%;
  right: 0;
  vertical-align: middle;
  -ms-transform: translate(-50%, -60%) rotate(90deg);
  -webkit-transform: translate(-50%, -60%) rotate(90deg);
  transform: translate(-50%, -60%) rotate(90deg);
}

.switch.open {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.switch.open:after {
  background-image: url("/keitai_payment/campaign/dpay_reservation/250901/images/icon_close_red.png");
  transform: translate(-50%, -60%) rotate(180deg);
}

.switch img {
  width: 95% !important;
}

.switch .switchTxt {
  font-size: 12px;
}

.contentWrap {
  padding: 0 1.2rem;
}

.contentWrap .accordion_title {
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .switch:after {
    width: 20px;
    height: 20px;
  }
}

.switchBox {
  background: #f6f6f6;
  padding: 10px 30px;
  border-radius: 10px;
  line-height: 1.6;
}

.switchFont {
  color: #666666;
}

.txtIndent02 {
  text-indent: -3.5em;
  padding-left: 3.5em;
}

@media only screen and (min-width: 641px) {
  .contentWrap {
    padding: 0 2.0rem;
  }

  .accordion {
    margin: auto;
    width: 100%;
    font-size: 16px;
  }

  .switch {
    font-size: 30px;
  }

  .switch.open {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .switch:after {
    width: 45px;
    height: 45px;
  }

  .switch:after {
    top: 56%;
    right: 5px;
  }

  .switch img {
    width: 85% !important;
  }

  .switch .switchTxt {
    font-size: 16px;
  }

  .accordion .contentWrap .accordion_title {
    font-size: 26px;
  }

  .accordion .contentWrap span {
    font-size: 16px;
  }
}

.black {
  border: solid 4px #090909;
}

.black .switch {
  text-align: unset;
}

.black .switch span {
  color: #ff002b;
}

.black .switch.open {
  border-bottom: solid 4px #090909;
}

.black .contentWrap {
  background: #ffffd9;
}

.black .switch:after {
  background-image: url("/keitai_payment/campaign/dpay_reservation/250901/images/icon_open_tou.png");
}

.black .switch.open:after {
  background-image: url("/keitai_payment/campaign/dpay_reservation/250901/images/icon_close_tou.png");
}

/*表*/
.simulation-donation-table-data table {
  text-align: left;
}

@media only screen and (max-width: 640px) {
  .simulation-section__title {
    font-size: 26px;
    text-align: center;
    line-height: 1 !important;
  }

  .simulation-section__title span {
    display: block;
    position: relative;
    margin-bottom: 5px;
    font-size: 13px;
  }

  .simulation-section__title span:before,
  .simulation-section__title span:after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 20px;
    background-color: #16160e;
    vertical-align: middle;
    position: relative;
    top: -0.1em;
  }

  .simulation-section__title span:before,
  .simulation-section__title span:after {
    height: 15px;
  }

  .simulation-section__title span:after {
    margin-left: 15px;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }

  .simulation-section__title span:before {
    margin-right: 15px;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }

  .simulation-section__title {
    font-weight: bold;
    margin-top: 40px;
    font-size: 17px !important;
  }

  .simulation-section p {
    font-size: 12px;
  }

  .simulation-section__lead {
    margin-top: 20px;
    text-align: left;
  }

  .simulation-donation-example {
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 30px;
    background-color: #f6f6f6;
    border-radius: 10px;
  }

  .simulation-donation-example dl {
    display: flex;
    font-weight: 600;
    font-size: 12px;
  }

  .simulation-donation-example dt {
    white-space: nowrap;
    margin-right: 10px;
    line-height: 1.6;
  }

  .simulation-donation-example dd {
    flex: 1;
    line-height: 1.6;
  }

  .simulation-inner-table {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .simulation-donation-table {
    font-size: 13px;
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-top: 0px;
    margin-bottom: 20px;
  }

  .simulation-donation-table table {
    margin-right: 0px;
    border-collapse: collapse;
  }

  .simulation-donation-table .simulation-donation-table-data {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .simulation-donation-table .simulation-donation-table-data table {
    width: 160%;
    border: solid 1px #e0e0e0;
  }

  .simulation-donation-table-data table tr th,
  .simulation-donation-table-data table tr td {
    border: solid 1px #e0e0e0;
  }

  .simulation-donation-table .simulation-donation-table-col {
    width: 20%;
    padding: 10px;
    height: 48px;
    vertical-align: middle;
    background: #fff;
  }

  .simulation-donation-table .simulation-donation-table-col:first-child {
    position: sticky;
    left: 0;
    width: 16%;
  }

  .simulation-section.detail p {
    padding: 0;
    line-height: 1.6;
  }

  .simulation-donation-table th.simulation-donation-table-col {
    background: #f6f6f6;
  }

  .simulation-donation-table tr:first-child th {
    height: 100px;
    font-weight: bold;
  }


  .simulation-donation-table-notes {
    padding: 0;
    margin-top: 20px;
    color: #666;
  }
}

@media only screen and (min-width: 641px) {
  .simulation-section__title {
    font-size: 26px !important;
    text-align: center;
    line-height: 1 !important;
  }

  .simulation-section__title span {
    display: block;
    position: relative;
    margin-bottom: 10px;
    font-size: 16px;
  }

  .simulation-section__title span:before,
  .simulation-section__title span:after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 20px;
    background-color: #16160e;
    vertical-align: middle;
    position: relative;
    top: -0.1em;
  }

  .simulation-section__title span:before,
  .simulation-section__title span:after {
    height: 24px;
  }

  .simulation-section__title span:after {
    margin-left: 15px;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }

  .simulation-section__title span:before {
    margin-right: 15px;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }

  .simulation-section__title {
    font-weight: bold;
    margin-top: 40px;
    font-size: 24px;
  }

  .simulation-section p {
    font-size: 16px;
  }

  .simulation-section__lead {
    margin-top: 20px;
    text-align: left;
  }

  .simulation-donation-example {
    padding: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
    background-color: #f6f6f6;
    border-radius: 10px;
  }

  .simulation-donation-example dl {
    display: flex;
    font-weight: 600;
    font-size: 16px;
  }

  .simulation-donation-example dt {
    white-space: nowrap;
    margin-right: 10px;
    line-height: 1.6;
  }

  .simulation-donation-example dd {
    flex: 1;
    line-height: 1.6;
  }

  .simulation-inner-table {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .simulation-donation-table {
    font-size: 13px;
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-top: 0px;
    margin-bottom: 30px;
  }

  .simulation-donation-table table {
    margin-right: 0px;
    border-collapse: collapse;
  }

  .simulation-donation-table .simulation-donation-table-data table {
    width: 100%;
    border: solid 1px #e0e0e0;
  }

  .simulation-donation-table-data table tr th,
  .simulation-donation-table-data table tr td {
    border: solid 1px #e0e0e0;
  }

  .simulation-donation-table .simulation-donation-table-col {
    width: 20%;
    padding: 10px;
    height: 48px;
    vertical-align: middle;
    background: #fff;
  }

  .simulation-section.detail p {
    padding: 0;
    line-height: 1.6;
  }

  .simulation-donation-table th.simulation-donation-table-col {
    background: #f6f6f6;
  }

  .simulation-donation-table tr:first-child th {
    height: 100px;
    font-weight: bold;
  }


  .simulation-donation-table-notes {
    padding: 0 !important;
    margin-top: 20px;
    color: #666;
  }

  .black .switch {
    font-size: 23px;
  }

  .black .switch span {
    font-size: 35px;
  }
}

/* 20250421 */

.align_c {
  text-align: center;
  margin: 0 auto;
  max-width: 600px;
}

.btn_flex {
  display: flex;
  gap: 30px;
  margin: 0 auto;
  max-width: 600px;
}

.btn_flex div {
  width: 100%;
}

.contsImg {
  margin: 0 auto;
  margin-top: 30px;
  max-width: 1000px;
}

.pb40p {
  margin-top: 50px !important;
}

.plr40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt60 {
  margin-top: 60px !important;
}

@media only screen and (max-width: 768px) {
  #bodyInr {
    padding-top: 84px;
  }

  .btn_flex {
    gap: 3.91vw;
  }

  .btn_flex a img {
    height: unset;
  }

  .contsImg {
    margin: 25px 0 auto;
  }

  .plr40 {
    padding-left: 5.21vw !important;
    padding-right: 5.21vw !important;
  }

  .mt30 {
    margin-top: 3.91vw !important;
  }

  .mt40 {
    margin-top: 5.21vw !important;
  }

  .mt60 {
    margin-top: 7.81vw !important;
  }
}

/* テキストボタン */
.normalBtn {
  margin: 0 auto;
  padding: 0 7.40741% 2.77778%;
}

.normalBtnLink {
  width: auto;
}

.normalBtnLink:after {
  content: "";
  position: absolute;
  background-image: url("/keitai_payment/campaign/dpay_reservation/250901/images/btn_arrrow.png");
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  margin: auto;
  top: 50%;
  right: 13px;
  vertical-align: middle;
  -ms-transform: translate(-50%, -60%);
  -webkit-transform: translate(-50%, -60%);
  transform: translate(-50%, -60%);
}

.normalBtnSpan {
  display: table-cell;
  text-align: center;
}

.normalBtnTxt {
  display: inline-block;
}

@media only screen and (max-width: 640px) {
  .normalBtnLink:after {
    width: 20px;
    height: 20px;
  }
}

@media only screen and (min-width: 641px) {
  .normalBtn {
    font-size: 36px;
    max-width: 540px;
  }

  .normalBtnLink {
    font-size: 30px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }

  .normalBtnLink:after {
    width: 30px;
    height: 30px;
  }
}

/* ご注意事項 */
.cpNotesBtnWrap {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.cpNotesBtnWrap {
  position: relative;
  padding-bottom: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0px -3px 0px 0px #d00e31 inset;
  box-shadow: 0px -3px 0px 0px #d00e31 inset;
  border: 2px solid #D00E31;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  background-color: #fff;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.cpNotesBtn {
  display: table;
  width: 100%;
}

.cpNotesBtn a {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.cpNotesFlame {
  display: none;
  border-left: 2px solid #D00E31;
  border-right: 2px solid #D00E31;
  border-bottom: 2px solid #D00E31;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-radius: 0 0 3px 3px;
  -webkit-border-radius: 0 0 3px 3px;
}

.cpNotesList {
  padding: 10px;
  font-size: 12px;
  text-align: left;
}

.cpNotesTtl {
  font-weight: bold;
  text-align: center;
  font-size: 12px;
}

.cpNotesSubttl {
  margin-top: 1em;
}

.cpNotesItem {
  text-indent: -1.0em;
  padding: 0px 0px 0px 1em;
}

@media only screen and (min-width: 361px) {
  .cpNotesList {
    padding: 20px;
  }

  .cpNotesTtl,
  .cpNotesList {
    font-size: 14px;
  }

  .cpNotesBtnWrap {
    padding-bottom: 4px;
    -webkit-box-shadow: 0px -4px 0px 0px #d00e31 inset;
    box-shadow: 0px -4px 0px 0px #d00e31 inset;
    border-width: 3px;
  }

  .cpNotesFlame {
    border-width: 3px;
  }
}

@media only screen and (min-width: 641px) {
  .cpNotesBtnWrap {
    padding-bottom: 6px;
    -webkit-box-shadow: 0px -6px 0px 0px #d00e31 inset;
    box-shadow: 0px -6px 0px 0px #d00e31 inset;
  }
}

.shadowJs {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
}

.furusato_btn {
  text-align: center;
}

.furusato_btn .furusato_fukidashi {
  margin-top: 20px;
}

.furusato_btn .furusato_btn {
  margin-top: 15px;
}

@media only screen and (max-width: 768px) {
  .furusato_btn .furusato_fukidashi {
    margin-top: 2.6vw;
  }

  .furusato_btn .furusato_btn {
    margin-top: 1.95vw;
  }

  .furusato_btn .furusato_fukidashi img {
    width: 70vw;
    max-width: 400px;
  }
  .choice_point{
    padding:0 10px;
  }
}

.osusume_banner {
  display: flex;
  gap: 20px;
  flex-direction: column;
}