@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Antique+Soft&family=Lato:wght@700&display=swap');
/* simulation用CSS */
.bootstrap p,
.bootstrap ol,
.bootstrap ul,
.bootstrap dl{
  margin: 0;
}
.bootstrap label{
  margin: 0;
  cursor: pointer;
}
.bootstrap table{
  width: 100%;
}

.font--lato {
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

.text-underline,
.bootstrap a.text-underline{
  color: #272727;
  text-decoration: underline;
}
.text-underline:hover,
.text-underline:focus
.bootstrap .text-underline:hover,
.bootstrap .text-underline:focus {
  color: #bc2739!important;
  text-decoration: none !important;
}

.text,
.bootstrap p.text{
  margin: 22px 0 36px;
}

/* ---------------------------------------
	STEP
--------------------------------------- */
.step-block{
  display: flex;
  align-items: center;
  height: 200px;
  margin: 0;
  background: #F3F3F3;
}
.step-list{
  display: flex;
  justify-content: center;
  gap: 10px;
}
.step-item{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25%;
  min-height: 50px;
  padding: 10px 20px 10px 10px;
  background: #4c4c4c;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  clip-path: polygon(
    0 0,
    calc(100% - 20px) 0,
    100% 50%,
    calc(100% - 20px) 100%,
    0 100%
  );
}
/* 活性 */
.step-item--active{
  background: #cc0033;
}

@media (max-width: 768px) {
  .step-block{
    height: 150px;
  }
  .step-block .content-inner{
    padding: 0 20px;
  }
  .step-list{
    gap: 0;
  }
  .step-item{
    font-size: 14px;
  }
}

.content-block--step{
  position: relative;
  margin: 64px 0;
}
.wizard-inner{
  display: grid;
  align-items: start;
  column-gap: 24px;
  grid-template-columns: minmax(0,1fr) 392px; /* 左=可変 / 右=392px */
  margin: 24px 0 0;
}
@media (max-width: 768px) {
  .content-block--step{
    margin: 26px 0;
  }
  .wizard-inner{
    display: block;
  }
}


/* 右ブロック */
.fee-wrap{
  position: sticky;
  top: 98px;
  border-radius: 20px;
  overflow: hidden;
  z-index: 5;
}

.fee-heading,
.bootstrap h1.fee-heading{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  margin: 0;
  background: #4C4C4C;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.fee-body{
  padding: 20px;
  background: #F3F3F3;
}
.fee-body__inner{
  max-height: calc(100vh - 88px - 60px - 60px);
  overflow-y: auto;
}

.fee-block + .fee-block{
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid #7D7D7D;
}
.fee-block:not(.fee-block--tag) + .fee-block--option{
  border-top: 1px dashed #7D7D7D;
}
.fee-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fee-label,
.fee-unit{
  font-size: 18px;
  font-weight: 700;
}
.fee-unit{
  margin-left: 10px;
  text-align: left;
}
.fee-value--red{
  color: #BC2739;
}
.fee-value--red .fee-unit{
  color: #272727;
}

.fee-block--l .fee-value{
  color: #BC2739;
  font-size: 32px;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-weight: 900;
}
.fee-block--l .fee-unit{
  display: inline-block;
  min-width: 70px;
  font-size: 14px;
}

.fee-block--tag .fee-label{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 24px;
  background: #7D7D7D;
  color: #fff;
  font-size: 16px;
}
.fee-block--tag .fee-value{
  font-size: 26px;
  font-weight: 900;
}

.fee-block--option .fee-label{
  font-size: 16px;
  max-width: 172px;
}
.fee-block--option .fee-value{
  font-size: 24px;
  font-weight: 900;
}
.fee-block--option .fee-unit{
  display: inline-block;
  width: 34px;
  font-size: 14px;
}
@media (max-width: 768px) {
  .fee-wrap{
    position: relative;
    top: 0;
    margin-top: 30px;
  }
  #cboxLoadedContent .fee-wrap{
    margin-top: 0;
  }

  .fee-body__inner{
    max-height: unset;
  }
}
@media (max-width: 420px) {
  .fee-body{
    padding: 15px;
  }
  .fee-label,
  .fee-unit{
    font-size: 16px;
  }
  .fee-unit{
    margin-left: 5px;
  }
  .fee-block--tag .fee-label{
    font-size: 14px;
  }
  .fee-block--tag .fee-value,
  .fee-block--option .fee-value{
    font-size: 22px;
  }
  .fee-block--option .fee-label{
    font-size: 14px;
  }
  .fee-block--option .fee-unit{
    font-size: 12px;
  }
  .fee-block--l .fee-value{
    font-size: 30px;
  }
}
@media (max-width: 376px) {
  .fee-block--option .fee-label{
    max-width: 164px;
  }
}


/* 左ブロック */
.link-block a{
  font-size: 18px;
}
.wizard{
  min-width:0;
}

.wizard-section:not(.is-show){
  display: none;
}
.wizard-section + .wizard-section,
.wizard-item + .wizard-item{
  margin: 54px 0 0;
}
.wizard-block--col2{
  display: flex;
  gap: 24px;
}
.wizard-block--col2 .wizard-item{
  width: calc(50% - 12px);
}
.section-heading,
.bootstrap h2.section-heading,
.bootstrap h3.section-heading{
  position: relative;
  margin: 0 0 20px;
  padding-left: 15px;
  border-left: 5px solid #CC0033;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.section-heading--l,
.bootstrap h2.section-heading--l,
.bootstrap h3.section-heading--l{
  font-size: 44px;
}
.band-heading,
.bootstrap h3.band-heading{
  margin: 0 0 16px;
  padding-left: 15px;
  border-left: 5px solid #7D7D7D;
  background: #E5E5E5;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}
.control-block + h3.band-heading{
  margin-top: 51px;
}

.input-block--col2{
  display: flex;
  align-items: center;
  gap: 24px;
}
.input-block--col2 input,
.input-block--col2 .wizard-links{
  width: calc(50% - 12px);
}
.input-block--col2 .wizard-links{
  margin: 0;
  text-align: left;
}
@media (max-width: 768px) {
  .wizard{
    margin-top: 30px;
  }
  .section-heading--l,
  .bootstrap h2.section-heading--l,
  .bootstrap h3.section-heading--l{
    font-size: 32px;
  }
  .wizard-section + .wizard-section{
    margin-top: 50px;
  }
  .wizard-block--col2{
    flex-direction: column;
  }
  .wizard-block--col2 .wizard-item{
    width: 100%;
  }

  .input-block--col2{
    flex-direction: column;
    gap: 22px;
  }
  .input-block--col2 input,
  .input-block--col2 .wizard-links{
    width: 100%;
  }
  .input-block--col2 .wizard-links{
    text-align: center;
  }
}



/* ラジオボタン */
.control-block{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.control-block--col2 .control-item{
  width: calc(50% - 12px);
}
.control-block--col2 .control-item > label{
  min-height: 69px;
}
.control-block--col3 .control-item{
  width: calc((100% - 48px) / 3);
}
.control-block--col3 .control-item > label{
  min-height: 69px;
}
.control-block--flexstart{
  align-items: flex-start;
}
.control-item {
  position: relative;
  line-height: 1.5;
  margin: 0!important;
  border: 2px solid #E5E5E5;
  border-radius: 10px;
  background: #fff;
  font-size: 18px;
  font-weight: 700;
}
.control-item.is-checked{
  border-color: #CC0033;
}
.control-item > label{
  display: flex!important;
  align-items: center!important;
  width: 100%;
  height: 100%;
  padding: 20px;
  cursor: pointer;
}
.control-item.is-checked{
  border-color: #CC0033;
}
.control-item span + span{
  margin: 10px 0 0;
}

/* ラジオボタン 縦並び */
.control-item--row label{
  flex-direction: column;
  text-align: center;
}
.control-item--row .control-button{
  margin: 0 0 16px!important;
}

/* ラジオボタン 商品系 */
.control-item--product{
  overflow: hidden;
}
.control-item--product > label{
  width: 100%;
  padding: 20px 38px 30px;
}
.control-item--product > label > span{
  display: block;
}
.control-item--product .control-button{
  margin: 0 0 10px !important;
}
.control-item--product .oval-btn{
  margin-top: 114px!important;
}
.control-tag span{
  display: inline-block;
  min-width: 110px;
  background: #272727;
  color: #fff;
}
.control-name{
  font-size: 18px;
}
.control-name--option{
  position: relative;
  display: flex;
  align-items: center;
  min-height: 54px;
  padding-left: 59px;
}
.control-name--option .icon-option{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: inline-block;
  width: 54px;
  height: auto;
}

.control-price{
  font-size: 24px;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  line-height: 1.2;
}
.control-price span{
  font-size: 18px;
}
.control-note{
  font-weight: 400;
}
.control-note--small{
  font-size: 14px;
  text-align: left;
}

.add-box{
  position: absolute;
}
.control-item--product .add-box{
  bottom: 87px;
  left: 38px;
  width: calc(100% - 86px);
}

.control-item--disabled::before{
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background: rgba(0, 0, 0, .3);
  width: 100%;
  height: 100%;
  z-index: 10;
}
.control-item--disabled > label{
  cursor: default;
}

@media (max-width: 768px) {
  .control-block:not(.control-block--spcol2){
    flex-direction: column;
    gap: 18px;
  }
  .control-block--col2:not(.control-block--spcol2) .control-item,
  .control-block--col3 .control-item{
    width: 100%;
  }
}

.oval-btn{
  display: flex!important;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 47px;
  margin: 0 auto!important;
  border-radius: 100vh!important;
  background: #fff;
  font-weight: 700;
}
.oval-btn:hover{
  cursor: pointer;
}
.oval-btn--red{
  border: 2px solid #CC0033;
  color: #CC0033!important;
}
.control-item--negotiable .oval-btn,
.control-item--disabled .oval-btn{
  border: 2px solid #7D7D7D;
  color: #7D7D7D!important;
}
.oval-btn--thin{
  border-width: 1px;
}


/* ラジオボタン 商品系 - 3つ並び */
.control-block--col3 .control-item--product > label{
  padding: 20px 20px 30px;
}
.control-block--col3 .control-name{
  text-align: left;
}
.control-item--simple > label{
  padding-bottom: 67px!important;
}
.control-item--choice > label{
  padding-bottom: 149px !important;
}
.control-item--select > label{
  padding-bottom: 120px !important;
}
.control-item--simple .add-box{
  bottom: 30px;
  left: 20px;
  width: calc(100% - 46px);
  text-align: center;
}
.control-item--simple .add-box a{
  font-weight: 400;
}

.control-item--more > label{
  padding-bottom: 72px;
}
.control-item--more .add-box{
  width: 150px;
  bottom: 20px;
  left: calc((100% - 150px) / 2);
}

/* ラジオボタン設定 */
.control-button {
  margin-right: 16px!important;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  width: 22px;
  height: 22px;
  border: 3px solid #E5E5E5;
  border-radius: 9999px;
  cursor: pointer;
}
.control-button:checked {
  border: none;
  background: #CC0033;
}
.control-button:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  border-radius: 9999px;
  background: #fff;
}

/* 種類選択 */
.choice-block{
  display: flex;
  gap: 10px;
}
a + .choice-block{
  margin-top: 10px;
}
.choice-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2em;
  width: calc(50% - 5px);
  height: 72px;
  border: 2px solid #E5E5E5;
  background: #fff;
  text-align: center;
}
.choice-item.is-checked{
  border-color: #CC0033;
}
.choice-item input[type="radio"] {
  display: none;
}
.choice-item label {
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 14px;
}
.choice-item label::after {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-top: 0.3em;
  border: 2px solid #E5E5E5;
}
.choice-item .color-item--white + label::after {
  background: #fff;
}
.choice-item .color-item--black + label::after {
  background: #272727;
}


/* input */
input[type=text]{
  height: 55px;
  border: 2px solid #E5E5E5;
  border-radius: 10px;
  text-align: center;
}
input[type=text]::placeholder{
  color: #7D7D7D;
}

/* select */
.add-box{
  width: 100%;
}
.select-item{
  position: relative;
  width: 100%;
}
.select-item + .select-item,
a + .select-item{
  margin-top: 10px;
}
.select-item select{
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  height: 43px;
  min-height: auto;
  padding: 0 44px 0 14px;
  background: #fff;
  border: 2px solid #E5E5E5;
  color: #272727;
  font-size: 16px;
}
.select-item:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #272727;
  border-left: 1px solid #272727;
  pointer-events: none;
  transform: translateY(-50%) rotate(-135deg);
}


/* リンクブロック */
.wizard-links{
  margin: 27px 0 0;
  text-align: center;
}

/* 検索エリア */
.search-block{
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
}
.search-block input{
  width: calc(50% - 12px);
}
.search-block .oval-btn{
  width: 140px;
  height: 44px;
  margin: 0!important;
  border: 1px solid #CC0033;
  border-radius: 100vh;
  background: #fff;
  color: #CC0033;
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .search-block{
    gap: 22px;
  }
  .search-block--sprow{
    flex-direction: column;
  }
  .search-block input{
    width: calc(100% - 88px);
  }
  .search-block--sprow input{
    width: 100%;
  }
  .search-block:not(.search-block--sprow) .oval-btn{
    width: 88px;
  }
}


/* スイッチ切り替えボタン */
.switch-block {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 0;
  margin: 30px 0 0;
}
.switch-block + .control-block{
  margin: 36px 0 0;
}
.switch-item{
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 185px;
  font-size: 18px;
  font-weight: 700;
}
.switch-box{
  cursor: pointer;
  margin: 0!important;
}
@media (max-width: 768px) {
  .switch-block{
    gap: 10px 24px;
  }
  .switch-item{
    min-width: auto;
    width: calc(50% - 12px);
  }
}

/* スイッチボタン見た目 */
.switch-box {
  position: relative;
  margin: auto;
  width: 56px;
  background: #fff;
}
.switch-box input[type="checkbox"] {
  display: none;/* チェックボックス非表示 */
}
.switch-box label {
  display: block;
  box-sizing: border-box;
  height: 28px;
  background: #7D7D7D;
  border-radius: 100vh;
}
.switch-box .switch-img {
  position: absolute;/* 親要素からの相対位置*/
  width: 24px;
  height: 24px;
  background: #F3F3F3;
  top: 2px;
  left: 2px;
  border-radius: 50%;
  transition: .2s;
  pointer-events: none;
}

/* ON時設定 */
.switch-box input[type="checkbox"]:checked +label {
  background: #BC2739;
}
.switch-box input[type="checkbox"]:checked ~ .switch-img {
  transform: translateX(28px);
  background: #fff;
}


/* モーダル */
#colorbox,
#cboxWrapper,
#cboxContent{
  overflow: unset;
}
#cboxLoadedContent{
  padding: 0;
  background: none;
}
#cboxClose{
  top: -30px;
  right: -30px;
  width: 60px;
  height: 60px;
  background: url(/sites/default/files/media/service/mobile/quotation/image/icon_close.webp) no-repeat center / 100%;
}

.modal-wrap{
  height: 100%;
  padding: 48px 0 33px;
  background: #fff;
}
.modal_content{
  overflow-y: auto;
  height: 100%;
}
.modal-wrap .modal-inner{
  width: 600px;
  margin: 0 auto;
}

/* 選択モーダル */
.modal-wrap .control-item > label{
  padding: 20px 20px 30px;
}

.modal-wrap .other-link{
  margin-top: 21px;
}
.modal-wrap .other-link .oval-link{
  width: 235px;
  padding: 8px 40px;
}
@media (max-width: 768px) {
  #cboxClose{
    top: -15px;
    right: -15px;
    width: 50px;
    height: 50px;
    z-index: 20;
  }

  .modal-wrap .modal-inner{
    width: calc(100% - 56px);
  }
  .modal-wrap .radio-like__input{
    margin-bottom: 5px;
  }
  .modal-wrap .control-item span + span{
    margin-top: 5px;
  }
}

/* 角丸リンク関係 */
.oval-link--noicon::after{
  display: none;
}
.other-link--row{
  display: flex;
  align-items: center;
  flex-direction: column;
}
.other-link .oval-link + .text-underline{
  margin-top: 15px;
}
.other-link .oval-link + .oval-link{
  margin-top: 24px;
}
.oval-link--red.oval-link--m{
  width: 278px;
}
.modal_body a.oval-link--border--red{
  color: #BC2739;
  text-decoration: none;
}
.oval-link--border--red.oval-link--m{
  width: 237px;
}
.other-link .oval-link--pdf{
  width: 332px;
}
.oval-link--pdf::after{
  width: 24px;
  height: 24px;
  background: url(/sites/default/files/media/service/mobile/quotation/image/icon_dl.webp) no-repeat center / 100%;
}
.other-link__nest .oval-link--video,
.oval-link--video{
  padding: 9px 10px 9px 20px!important;
}
.oval-link--video::after{
  right: auto;
  left: 24px;
  width: 24px;
  height: 24px;
  background: url(/sites/default/files/media/service/mobile/quotation/image/icon_video.webp) no-repeat center / 100%;
}
.other-link__nest{
  margin-top: 24px;
}
.other-link__nest .oval-link + .oval-link{
  margin: 0 0 0 24px;
}
.other-link__nest .oval-link{
  padding: 9px 10px;
}
@media (max-width: 768px) {
  .other-link__nest{
    margin-top: 40px;
  }
  .other-link__nest .oval-link + .oval-link{
    margin: 24px 0 0;
  }
}



/* 説明モーダル */
.divider-heading{
  position: relative;
  padding: 0 0 13px;
  font-size: 32px!important;
  font-weight: 700!important;
  text-align: center;
}
.divider-heading:not(:first-of-type){
  margin-top: 50px;
}
.divider-heading::after{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: inline-block;
  width: 55px;
  height: 3px;
  background: #CC0033;
}
.modal-text{
  margin: 44px 0 0;
  font-size: 22px;
}
.modal-lists{
  display: flex;
  justify-content: center;
  margin: 32px 0 0;
}
.modal-list__item{
  position: relative;
  padding-left: 37px;
  font-size: 21px;
  font-weight: 700;
}
.modal-list__item::before{
  position: absolute;
  top: calc(.5em - 7px);
  left: 0;
  content: "";
  display: inline-block;
  width: 27px;
  height: 27px;
  background: url(/sites/default/files/media/service/mobile/quotation/image/icon_check.webp) no-repeat center / 100%;
}
.modal-list__item:nth-child(n + 2){
  margin-top: 18px;
}
@media (max-width: 768px) {
  .modal-list__item{
    padding-left: 29px;
  }
  .modal-list__item::before{
    top: calc(.5em - 3px);
    width: 19px;
    height: 19px;
  }
}


.fixed-block{
  display: none;
}
@media (max-width: 768px) {
  .fixed-block{
    position: fixed;
    right: 16px;
    bottom: 66px;
    z-index: 15;
  }
  .fixed-block button{
    padding: 0;
    border: 0;
    background: no-repeat;
  }
  .fixed-block img{
    width: 29.5vw;
    height: 25.2vw;
  }

}




/* ---------------------------------------
	見積り確認ページ
--------------------------------------- */
/* 上部設定 */
.estimate-top{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78px;
  margin: 30px 0 0;
  border-radius: 20px;
  background: #F3F3F3;
}
.estimate-top .fee-block{
  display: flex;
  align-items: center;
  gap: 50px;
}
.estimate-top .fee-value{
  margin-left: 20px;
}

/* 見出し */
.estimate-top + .section-heading,
.bootstrap .estimate-top + .section-heading{
  margin-top: 40px;
}
.table-wrap + .section-heading,
.bootstrap .table-wrap + .section-heading{
  margin-top: 50px;
}

/* テーブル */
.table-wrap,
.bootstrap .table-wrap{
  background: #fff;
}
.table-wrap--main{
  margin: 0;
  border-bottom: 2px solid #7D7D7D;
}
.table-wrap--sub{
  width: calc(504px + ((100% - 504px) / 3));
  margin: 0 0 0 auto;
  border-bottom: 1px solid #7D7D7D;
}
.estimate-table__fee{
  width: 504px;
}
.estimate-table th{
  background: #E5E5E5;
  color: #000;
}
.estimate-table th,
.estimate-table td{
  border: none!important;
  vertical-align: middle;
}
.estimate-table th + th,
.estimate-table th + td,
.estimate-table td + td,
table.estimate-table thead tr:first-child th + th{
  border-left: 1px solid #7D7D7D!important;
}
table.estimate-table thead tr:first-child th,
.estimate-table thead th{
  border-bottom: 2px solid #7D7D7D!important;
}
.estimate-table tbody tr:nth-child(n + 2) th,
.estimate-table tbody tr:nth-child(n + 2) td{
  border-top: 1px solid #7D7D7D!important;
}
.estimate-table th,
.estimate-table td{
  padding: 19px 15px;
  font-weight: 700;
}
.quantity,
.fee-value{
  text-align: right;
  font-size: 24px;
  font-weight: 900;
}
.estimate-table__total .fee-value{
  padding: 17px 15px;
  font-size: 32px;
}


/* 注意事項 */
.note-list,
.bootstrap ul.note-list{
  counter-reset: note;
  margin: 30px 0 0;
}
.note-list__item{
  margin-left: 2em;
  font-size: 14px;
  text-indent: -2em;
}
.note-list__item::before {
  counter-increment: note;
  content: "※" counter(note) ". ";
}

/* ボタン下テキスト */
.point-note{
  margin: 24px 0 0;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.point-note + .oval-link{
  margin-top: 24px;
}
.point-note__heading,
.bootstrap h3.point-note__heading{
  font-size: 14px;
}
.point-note__list li{
  margin-left: .85em;
  text-indent: -.85em;
}


@media (max-width: 768px) {
  .estimate-top{
    padding: 20px 10px;
  }
  .estimate-top .fee-block{
    flex-direction: column;
    gap: 20px;
  }


  /* テーブル */
  .estimate-table__fee{
    width: 100%;
  }

  .table-wrap--main .estimate-table{
    min-width: 700px;
  }
  .table-wrap--main .estimate-table__item{
    width: 26%;
  }
  .table-wrap--main .estimate-table__quantity{
    width: 14%;
  }
  .table-wrap--main .estimate-table__price{
    width: 28%;
  }
  .table-wrap--main .estimate-table__fee{
    width: 32%;
  }

  .table-wrap--sub{
    width: 100%;
  }
  .table-wrap--sub th{
    width: 107px;
  }

  /* ボタン下テキスト */
  .point-note,
  .point-note__heading,
  .bootstrap h3.point-note__heading{
    font-size: 12px;
  }

}





/* ---------------------------------------
	見積書印刷ページ
--------------------------------------- */
/* 画面用（自由にレイアウト） */
.print-block{
  margin: 32px auto;
  width: 600px;
  font-size: 14px;
}

.print-block table th{
  background: #fff;
  color: #000;
}
.print-block table th,
.print-block table td,
.print-block table tbody tr:first-child th,
.print-block table tbody tr:last-child th{
  border: none;
}

/* お見積もり日 */
.print-date table{
  width: auto;
  margin-left: auto;
}
.print-date table th,
.print-date table td{
  padding: 0;
}

/* 上部エリア */
.print-top{
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 10px 0 0;
}
.print-top__block--left{
  width: 57%;
}
.print-top__block--right{
  width: calc(43% - 20px);
  text-align: center;
}
/* 上部エリア - 見出し */
.print-heading,
.bootstrap h1.print-heading{
  line-height: 1;
  font-size: 20px;
  font-weight: bold;
  text-align: right;
}
/* 上部エリア - 御中 */
.print-for{
  margin: 5px 0 0;
  font-size: 18px;
  font-weight: bold;
}
.print-for span{
  display: inline-block;
  border-bottom: 1px solid #000;
}

/* 詳細・住所 */
.print-flex{
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin: 15px 0 0;
}
/* 詳細・住所 - 詳細 */
.print-total,
.bootstrap table.print-total{
  table-layout: auto;
  width: calc(100% - 220px);
}
.print-total th{
  text-align: left;
}
.print-total th,
.print-total td{
  padding: 3px 0;
}
.print-total th,
.print-total td{
  border-bottom: 1px solid #000!important;
}
.print-total tr:not(:first-of-type) th,
.print-total tr:not(:first-of-type) td{
    border-bottom: 2px double #000!important;
}
/* 詳細・住所 - 住所 */
.print-address{
  width: 200px;
}
.print-address__item{
  font-size: 10px;
}

/* 商品名 */
.print-product__heading,
.bootstrap h2.print-product__heading{
  margin: 15px 0 0;
  font-size: 14px;
}
/* 商品名 - テーブル */
.print-product{
  table-layout: auto;
  width: 100%;
  margin-top: 10px;
  font-size: 12px;
}
.print-product + .print-product{
  margin-top: 15px;
}
.print-product th,
.print-product td,
.print-block table.print-product th,
.print-block table.print-product td{
  padding: 3px 5px;
  border: 1px solid #000;
}
.print-product th,
.print-block table.print-product th{
  background: #ffcc99;
  text-align: center;
}
.print-product .table-item{
  width: 34%;
}
.print-product .table-quantity{
  width: 14%;
}
.print-product .table-price{
  width: 11%;
}
.print-product .table-fee,
.print-block table.print-product .table-fee{
  background: #fabf8f;
  width: 11%;
}
.print-product .table-note{
  width: 30%;
}
.print-product .table-cost,
.print-block table.print-product .table-cost{
  background: #fde9d9;
  text-align: left;
}

.print-product td{
  height: 20px;
}
.print-product tbody tr:last-of-type td{
  border-top: 2px double #000;
}

/* 商品名 - 枠線付きブロック */
.print-border__box {
  margin: 10px 0 0;
  padding: 5px 10px;
  border: 1px solid #000;
}
.print-border__box--note{
  padding: 0;
}
.print-border__box--notification{
  margin: 0;
  font-size: 10px;
}
.print-note__heading,
.bootstrap h2.print-note__heading{
  padding: 5px 10px;
  border-bottom: 1px solid #000;
  font-size: 12px;
}
.print-note__list{
  padding: 5px 10px;
}
.print-note__list li{
  margin-left: 1em;
  text-indent: -1em;
  font-size: 10px;
}
.print-contact__list{
  margin-top: 5px;
  font-size: 10px;
}
.print-contact__heading,
.bootstrap h2.print-contact__heading{
  font-size: 12px;
}

/* 見積もり画面 - 選択されてないときのアラートブロック */
.alert-message{
  font-weight:bold;
  padding-bottom:15px;
}

/* 見積もり画面 - スマホ表示時のパンくず非表示 */
@media screen and (max-width: 768px) {
    .footer-breadcrumb {
        display:none!important;
    }
}

