@charset "UTF-8";

main {
  padding-top: 95px;
}

main h1 {
  font-size: 1.563em;
}

main section.content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*  padding-top: 15px; */
}

main#rental section.content {
  padding-top: 80px;
}

@media screen and (max-width: 1600px) {
  main {
    padding-top: 4.69vw;
  }
}

main section.content > div.mv_wr {
  width: 53.25%;
}

main section.content > div.mv_wr img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main section.content .desc {
  width: 45.91%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

main section.content .desc .le {
  border-left: solid 10px #004098;
  padding-left: 12px;
}

main section.content .desc .le p:nth-child(1) {
  font-size: 1.563em;
}

main section.content .desc .le p:nth-child(2) {
  margin-top: 8px;
  font-size: 1.625em;
  font-weight: bold;
}

main section.content .desc .ri {
  color: #fff;
  text-align: center;
  background: #00adec;
  width: 53.33%;
  padding: 11px 0 12px;
  line-height: 1;
}

main section.content .desc .ri p {
  font-weight: bold;
}

main section.content .desc .ri p:nth-child(1) {
  font-size: 1.625em;
}

main section.content .desc .ri p:nth-child(2) {
  margin-top: 13px;
  font-size: 2.313em;
}

main section.content .desc .docu {
  width: 100%;
  padding: 10px 15px 15px;
  justify-content: space-between;
  display: flex;
  flex-wrap: wrap;
}

main section.content .desc .docu main section.content .desc .contact {
  width: 100%;
}

main section.content .desc .docu p {
  width: 100%;
}

main section.content .desc .docu .pdf {
  width: 48.2%;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*  background: #ffe45a; */
  /*  font-size: 1.625em; */
  /*  font-weight: bold; */
  /*  border-radius: 12px; */
  margin-top: 5px;
}

main section.content .desc .contact {
  border: solid 10px #a5a5a5;
  padding: 25px 22px;
  width: 100%;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

main section.content .desc .contact p {
  font-size: 1.063em;
  width: 100%;
  margin-bottom: 16px;
}

main section.content .desc .contact a {
  width: 45.98%;
}

@media screen and (min-width: 1100px) {
  main section.content .desc .contact a {
    height: 69px;
  }
}

.thumb-item-nav {
  max-width: 100%;
  margin-top: 20px;
}

.thumb-item-nav div {
  padding-right: 3px;
  vertical-align: bottom;
}

.thumb-item-nav img {
  width: 100%;
}

section.content > ul {
  margin-top: 37px;
  display: flex;
  justify-content: space-between;
}

section.content > ul li {
  width: 12%;
  position: relative;
  cursor: pointer;
}

section.content > ul li::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.72);
}

section.content > ul li.active::after {
  content: none;
}

section.table {
  margin-top: 63px;
  display: flex;
  justify-content: space-between;
}

section.table h2 {
  border-left: 15px solid #004098;
  padding-left: 14px;
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 30px;
}

section.table .table_info {
  width: 58.333%;
}

section.table .tenpo_info {
  width: 38.91%;
}

section.table .table_info table {
  text-align: left;
  width: 100%;
}

section.table .table_info > table {
  border: #707070 solid 0.3px;
}

section.table .table_info table tr {
  height: 38px;
}

section.table .table_info > table > tbody > tr > th,
section.table .table_info > table > tbody > tr > td {
  border: #707070 solid 0.3px;
  vertical-align: middle;
  padding-left: 6px;
}

section.table .table_info > table > tbody > tr > th {
  background: rgba(57, 157, 38, 0.05);
  width: 28%;
}

section.table .table_info table tr.taiya > td {
  display: flex;
  justify-content: space-between;
  padding: 9px 7px 18px;
  border: none;
}

section.table .table_info table tr.taiya td div.le {
  width: 50%;
}

section.table .table_info table tr.taiya td div.ri {
  width: 50%;
  text-align: center;
  line-height: 23px;
}

section.table .table_info table tr.taiya div.ri p:nth-child(2) {
  margin-top: 12px;
}

section.table .table_info table tr.taiya > td table {
  width: auto;
  text-align: center;
  margin-left: 44px;
  margin-top: 12px;
}

section.table .table_info table tr.taiya > td tr {
  height: 24px;
}

section.table .table_info table tr.taiya > td td,
section.table .table_info table tr.taiya > td th {
  width: 24px;
  padding: 0;
  vertical-align: middle;
}

section.table .table_info table tr.taiya > td th {
  width: 90px;
  text-align: left;
}

section.table .table_info table tr.taiya > td td.num_exist {
  border: solid 0.3px #707070;
}

section.table .table_info > p {
  color: #ff0000;
  margin-top: 20px;
}

section.table .table_info table tr.taiya td {
}

section.table .tenpo_info iframe {
  width: 100%;
  margin-top: 20px;
  height: 312px;
}

section.table .tenpo_info table {
  width: 100%;
  text-align: left;
  margin-top: 25px;
}

section.table .tenpo_info table th {
  background: #efefef;
}

section.table .tenpo_info table th,
section.table .tenpo_info table td {
  border: #a4a4a4 0.3px solid;
  height: 43px;
  vertical-align: middle;
}

section.table .tenpo_info table th {
  text-align: center;
  width: 30%;
}

section.table .tenpo_info table td {
  padding: 0 6px;
}

div.soudan {
  margin-top: 57px;
  padding: 33px 0 35px;
  position: relative;
}

div.soudan::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background: #f1f1f1;
  z-index: -1;
}

div.soudan > div {
  margin-top: 25px;
  display: flex;
  justify-content: center;
}

div.soudan > p {
  font-weight: bold;
  text-align: center;
  font-size: 1.063em;
}

div.soudan > div a {
  width: auto;
  margin: 0 19px;
  height: 69px;
}

section.recom {
  padding: 61px 0 115px;
}

section.recom h2 {
  font-size: 2em;
  margin-bottom: 1.75%;
}

section.recom ul li img {
  width: 211px;
  margin-right: 15px;
}

@media screen and (max-width: 1920px) {
  section.recom ul li img {
    width: 14.5vw;
    margin-right: 0.78vw;
  }

  main section.content .desc .contact {
    padding: 1.3vw 1.21vw;
  }

  main section.content .desc {
    font-size: 16px;
  }
}

@media screen and (min-width: 900px) and (max-width: 1350px) {
  main section.content .desc {
    font-size: 12px;
  }

  main section.content .desc .contact {
    padding: 1vw 1vw;
  }
}

@media screen and (max-width: 900px) {
  main section.content,
  main#rental section.content {
    padding-top: 10px;
  }

  main section.content > div.mv_wr {
    /* order: 1; */
    width: 80%;
    margin: auto;
  }

  section.content > ul {
    order: 2;
    width: 100%;
    margin-top: 10px;
    flex-wrap: wrap;
  }

  section.content > ul li {
    width: 24%;
  }

  main section.content .desc {
    order: 3;
    width: 100%;
    margin-top: 10px;
  }

  main section.content .desc .ri {
    padding: 5px 0 5px;
    width: 50%;
    font-size: 4em !important;
    line-height: 1em !important;
  }

  main section.content .desc .ri p:nth-child(2) {
    margin-top: 5px;
  }

  main section.content .desc .le {
    font-size: 2em !important;
    line-height: 1em !important;
  }

  main section.content .desc .le p:nth-child(1) {
    /* font-size: 2.3vw; */
    font-size: 14px;
  }

  main section.content .desc .docu p {
    text-align: center;
  }

  main section.content .desc .docu a {
    height: 10.67vw;
  }

  main section.content .desc .contact {
    padding: 10px 10px;
  }
}

@media screen and (max-width: 768px) {
  main {
    padding-top: 16px;
  }

  section.table {
    display: block;
    margin-top: 30px;
  }

  section.table .table_info {
    width: 100%;
  }

  section.table .table_info table tr {
    height: 25px;
  }

  section.table h2 {
    margin-bottom: 15px;
  }

  section.table .table_info table tr.taiya > td table {
    margin-left: 20px;
  }

  section.table .table_info table tr.taiya > td td,
  section.table .table_info table tr.taiya > td th {
    width: 20px;
  }

  section.table .table_info table tr.taiya div.ri p:nth-child(2) {
    margin-top: 8px;
  }

  section.table .tenpo_info {
    width: 100%;
    margin-top: 30px;
  }

  section.table .tenpo_info table th,
  section.table .tenpo_info table td {
    height: 25px;
  }

  div.soudan > div a {
    width: auto;
    margin: 0 5px;
    height: auto;
  }

  section.recom ul li img,
  section.recom ul li p {
    width: 32.5vw;
  }

  section.recom {
    padding: 30px 0 40px;
    display: none;
  }

  div.soudan {
    padding: 30px 0 30px;
    margin-top: 30px;
  }
}

/* rental page style */
#rental section.content > ul {
  justify-content: flex-start;
}

#rental section.content > ul li {
  margin-right: 10px;
}

#rental section.content > ul {
  width: 100%;
}

main#rental section.content .desc .le {
  border-color: #940014;
  line-height: 1;
}

main#rental section.content .desc {
}

main#rental section.content .desc .fee {
  margin-top: 16px;
  background: #f5f5f5;
  padding: 19px 0;
  position: relative;
  width: 100%;
}

main#rental section.content .desc .fee > span {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  line-height: 2.29;
  left: 0;
  background: #989898;
  color: #fff;
  font-weight: bold;
  border-radius: 9px;
  padding-bottom: 1em;
  padding-top: 1em;
  left: 10px;
}

main#rental section.content .desc .fee div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: 12.88%;
  font-weight: bold;
}

main#rental section.content .desc .fee div:nth-of-type(1) {
  border-bottom: #707070 solid 0.2px;
}

main#rental section.content .desc .fee div p:nth-of-type(1) {
  font-size: 1.75em;
}

main#rental section.content .desc .fee div p:nth-of-type(2) {
  font-size: 1.25em;
}

main#rental section.content .desc .fee div p span {
  font-size: 1.65em;
  color: #e60e0e;
}

main#rental section.content .desc .contact {
  margin-top: 11px;
}

main#rental section.content .desc .le p:nth-child(2) {
  color: #940014;
}

#rental section.table .table_info > img {
  width: 60.42%;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

#rental section.table .tenpo_info > p {
  font-weight: bold;
  text-align: center;
}

#rental section.table .tenpo_info > p:nth-of-type(1) {
  background: #00adec;
  font-size: 1.625em;
  color: #fff;
  margin-bottom: 8px;
}

main#rental {
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  /* 20 */
  main h1 {
    font-size: 1.429em;
  }

  /* 18 */
  main section.content .desc .ri p:nth-child(2),
  main section.content .desc .le p:nth-child(2),
  section.table h2,
  main#rental section.content .desc .le p:nth-child(2) {
    font-size: 1.286em;
  }

  /* 16 */
  main section.content .desc .ri p:nth-child(1),
  main section.content .desc .docu a,
  div.soudan > p,
  main#rental section.content .desc .fee div p:nth-of-type(2),
  main#rental section.content .desc .fee div p:nth-of-type(1),
  main section.content .desc .contact p,
  #rental section.table .tenpo_info > p:nth-of-type(1) {
    font-size: 1.143em;
  }

  /* 12 */
  main section.content .desc .docu p,
  main#rental section.content .desc .fee > span {
    font-size: 0.857em;
  }

  main#rental section.content .desc {
    font-size: 14px;
  }
}

section.table .table_info > table > tbody > tr > th.va_top {
  vertical-align: top;
  padding-top: 9px;
}

#rental section.table .table_info > table > tbody > tr > th.va_top + td {
  padding: 9px 7px 9px;
}

/* add style 2021 03 08 */
section.content {
  align-items: flex-start;
}

main#rental section.content .desc .fee {
  margin-top: 3.2%;
  padding: 4.5% 0;
}

main#rental section.content .desc .contact {
  padding: 2.2% 3.99%;
  margin-top: 1.99%;
}

main section.content .desc .contact p {
  margin-bottom: 2.9%;
}

main:not(#rental) section.content .desc .contact {
  padding: 4% 3.99%;
}

main:not(#rental) section.content .desc .docu {
  padding: 1.8% 2.7% 4%;
}

main:not(#rental) section.content .desc .ri {
  padding: 2% 2.18%;
}

main:not(#rental) section.content .desc .ri p:nth-child(2) {
  margin-top: 2.36%;
}

@media screen and (max-width: 1920px) {
  main section.content .desc {
    font-size: 0.83vw;
  }
}

@media screen and (max-width: 1700px) {
  main:not(#rental) section.content .desc .docu {
    padding: 1.8% 2.7% 2.7%;
  }
}

@media screen and (max-width: 1500px) {
  main section.content .desc {
    font-size: 1.08vw;
  }
}

@media screen and (max-width: 1280px) {
  main section.content .desc {
    font-size: 0.97vw;
  }
}

.thumb-item.thumb-sp,
.thumb-item-nav.thumb-nav-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .thumb-item.thumb-pc,
  .thumb-item-nav.thumb-nav-pc {
    display: none;
  }

  .thumb-item.thumb-sp,
  .thumb-item-nav.thumb-nav-sp {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  .thumb-item-nav {
    width: 100%;
    margin: 37px auto 0;
    display: flex;
    /* justify-content: space-between; */
    flex-wrap: wrap;
  }

  .thumb-item-nav div {
    flex: 0 1 6.667%;
    margin-bottom: 10px;
    box-sizing: border-box;
    position: relative;
  }

  .thumb-item-nav div:after {
    content: '';
    background-color: rgba(255, 255, 255, 0.72);
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: 0.3s opacity linear;
  }

  .thumb-item-nav div.thumbnail-current:after {
    opacity: 0;
  }

  .thumb-item-nav div img {
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }
}

@media print {
  .page_nav {
    display: none;
  }

  .print {
    display: block;
  }

  body {
    margin: 0;
    width: 100%;
    width: 210mm;
    height: 297mm;
    font-size: 14px;
    -webkit-print-color-adjust: exact;
  }

  .wrap {
    width: 100%;
  }

  header {
    display: block;
    position: fixed;
    top: 0pt;
    left: 0pt;
    width: 100%;
    width: 210mm;
  }

  main h1 {
    display: block;
    position: fixed;
    top: 80pt;
    left: 0pt;
    width: 100%;
    width: 210mm;
  }

  header .head_menu {
    width: 100%;
    padding: 0 2.8%;
    box-sizing: border-box;
    align-items: flex-start;
    padding-bottom: 3%;
  }

  header .logo {
    flex: 0 1 19%;
  }

  header .logo img {
    width: 100%;
  }

  nav,
  .logo .pc,
  .head_info.pc,
  .soudan,
  .recom,
  section.table .table_info > p,
  section.table .tenpo_info > img,
  section.table .tenpo_info iframe,
  footer {
    display: none;
  }

  main {
    margin-top: 200px;
    width: 100%;
    padding: 0 2.8%;
    box-sizing: border-box;
    font-size: 12px;
  }

  main h1 {
    margin-top: 3.8%;
    font-size: 26px;
    color: #004098;
  }

  main section.content {
    display: none;
    margin-top: 4.2%;
    page-break-after: avoid;
  }

  section.table {
    margin-top: 20px;
  }

  section.table h2,
  .thumb-print h2 {
    font-size: 22px;
    border-left: none;
    padding-left: 0;
    margin-bottom: 10px;
  }

  section.table h2:before {
    content: '■';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    font-size: 14px;
  }

  section.table .table_info {
    width: 66.7%;
  }

  section.table .tenpo_info {
    width: 31%;
  }

  section.table .tenpo_info table {
    margin-top: 0;
    margin-bottom: 60px;
  }

  section.table .table_info table th,
  section.table .table_info table td,
  section.table .tenpo_info table th,
  section.table .tenpo_info table td {
    height: auto;
    line-height: 1;
    box-sizing: border-box;
    padding: 10px 0 10px 5px;
    text-align: left;
  }

  section.table .table_info > table > tbody > tr > th {
    background-color: #e6e6e6;
  }

  section.table .table_info table tr {
    height: auto;
  }

  section.table .tenpo_info > p {
    color: #ff0000;
    margin-top: 10px;
  }

  section.table .table_info table tr.taiya div.ri p:nth-child(2) {
    margin-top: 0;
  }

  section.table .table_info table tr.taiya > td td {
    text-align: center;
  }

  .print-number {
    flex: 0 1 35%;
    line-height: 1.2;
  }

  .print-date {
    display: none;
  }

  .rental-fee-box {
    display: none;
  }

  .table_info img {
    display: none !important;
  }

  .print-number-box {
    display: flex;
    box-sizing: border-box;
    margin-bottom: 10px;
  }

  .number-title {
    border: 1px solid #707070;
    padding: 3% 1.2%;
    text-align: center;
    flex: 0 1 35%;
    line-height: 1;
  }

  .number {
    color: #e60e0e;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    flex: 1;
    line-height: 1;
    padding: 3% 1.2%;
    border: 1px solid #707070;
    border-left: none;
  }

  .number-text {
    font-weight: bold;
  }

  .print-tel {
    font-weight: bold;
    line-height: 1;
  }

  .print-tel-red {
    font-size: 30px;
    color: #e60e0e;
    /* padding-left: 70px; */
    position: relative;
    flex: 0 1 33%;
    line-height: 1.5;
  }

  .tel-img-wrapper {
    display: inline-block;
    width: 50px;
    vertical-align: middle;
  }

  .thumb-print {
    max-width: 100%;
  }

  .thumb-print img {
    object-fit: contain;
  }

  .thumb-nav-print {
    padding-top: 220px;
    page-break-before: always;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .thumb-nav-print::after {
    content: '';
    width: 32%;
  }

  .thumb-nav-print div {
    width: 32%;
    margin-bottom: 2%;
  }

  .thumb-nav-print div img {
    vertical-align: bottom;
  }
}

.fav-btn-wrapper {
  box-sizing: border-box;
  width: 26.5%;
  margin-left: auto;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.fav-btn {
  margin: 0;
}

.fav-label::before {
  width: 155px;
  height: 32px;
  content: '';
  display: inline-block;
  background-image: url(../images/fav-btn@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.fav-btn:checked ~ .fav-label:before {
  background-image: url(../images/fav-btn2@2x.png);
}

@media screen and (max-width: 768px) {
  .fav-btn-wrapper {
    width: auto;
    justify-content: flex-end;
  }
}

.fav-btn-wrapper img {
  width: 155px;
  height: 32px;
}

.contact-part2 {
  background: white;
  padding: 4% 3.99%;
  margin: 0 auto;
  width: 100%;
  border: 10px solid #a5a5a5;
}

.contact-part2 p {
  font-size: 1.063em;
  width: 100%;
  margin-bottom: 16px;
  text-align: center;
  font-weight: bold;
}

.contact-ttl {
  color: #000;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 10px;
}

.contact-mail {
  background-color: #399d26;
  height: 65px;
  text-align: center;
  line-height: 65px;
  border-radius: 5px;
  margin: 0 auto 10px;
}

.contact-mail a {
  display: inline-block;
  width: 100% !important;
  font-size: 18px;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  height: inherit !important;
  margin: 0px !important;
}

.contact-mail a:hover {
  opacity: 0.6;
}

.contact-tell {
  background-color: #f38200;
  /*  height: auto; */
  text-align: center;
  border-radius: 5px;
  margin: 0 auto;
  height: 65px;
}

.contact-tell a {
  display: inline-block;
  width: 100% !important;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  line-height: 0.1;
  padding-top: 5px;
  height: inherit !important;
  margin: 0px !important;
}

.contact-tell a:hover {
  opacity: 0.6;
}

.contact-mail,
.contact-tell {
  width: 100%;
  margin: 5px;
}

.contact-flex {
  display: flex;
  justify-content: space-between;
}

.txt-sm {
  font-size: 14px;
  line-height: 1.4;
}

.txt-md {
  font-size: 13px;
  line-height: 1;
}

.txt-lg {
  font-size: 18px;
  line-height: 1.4;
}
