@charset "UTF-8";

/* --------------------------------------------------
 news-blc
-------------------------------------------------- */

@media screen and (min-width:1001px) {

  #choose-blc .choose-flex>div>a:hover .img figure {
    transform: scale(1.05);
  }

  #choose-blc .choose-flex>div>a:hover .txt h3::before {
    opacity: 1;
  }
}

#choose-blc .choose-flex {
  display: flex;
}

#choose-blc .choose-flex>div {
  width: calc((100% - 2rem) / 2);
  margin-right: 2rem;
}

#choose-blc .choose-flex>div:last-child {
  margin-right: 0;
}

#choose-blc .choose-flex>div>a {
  display: flex;
  text-decoration: none;
  overflow: hidden;
  transition: all ease-in 0.3s;
  position: relative;
}

#choose-blc .choose-flex>div>a .img {
  width: 181px;
  overflow: hidden;
}

#choose-blc .choose-flex>div>a .img figure {
  width: 100%;
  height: 246px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: all ease-in 0.3s;
  display: block;
}

#choose-blc .choose-flex>div>a .txt {
  width: calc(100% - 181px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 2rem 2rem;
  box-sizing: border-box;
  position: relative;
  transition: all ease-in 0.3s;
}

#choose-blc .choose-flex>div>a .txt figure+h3 {
  margin-top: 1rem;
}

#choose-blc .choose-flex>div>a .txt h3 {
  position: relative;
  padding-bottom: 20px;
  color: #fff;
  font-weight: 500;
  font-size: 180%;
  display: block;
  width: 100%;
  text-align: center;
  line-height: 1;
}

#choose-blc .choose-flex>div>a .txt h3::before {
  opacity: 0;
  content: '\f077';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 15px;
  position: absolute;
  bottom: -5px;
  right: 0;
  left: 0;
  margin: auto;
  transition: all ease-in 0.3s;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}

#choose-blc .choose-flex>div>a .txt {
  background: rgb(34, 108, 199);
  background: linear-gradient(90deg, rgba(34, 108, 199, 1) 0%, rgba(36, 66, 197, 1) 100%);
}

#choose-blc .choose-flex>div>a .img img {
  transform: scale(1.00);
  display: block;
  transition: all ease-in 0.3s;
}

@media screen and (max-width:1000px) {
  #choose-blc .choose-flex>div>a .txt figure+h3 {
    font-size: 150%;
  }

  #choose-blc .choose-flex>div>a .img {
    width: 150px;
  }

  #choose-blc .choose-flex>div>a .txt {
    width: calc(100% - 150px);
  }
}

@media screen and (max-width:767px) {
  #choose-blc .choose-flex>div>a .txt {
    padding: 1rem 1rem;
  }

  #choose-blc .choose-flex>div {
    width: calc((100% - 1rem) / 2);
    margin-right: 1rem;
  }
}

@media screen and (max-width:640px) {
  #choose-blc .choose-flex {
    flex-wrap: wrap;
  }

  #choose-blc .choose-flex>div {
    width: 100%;
    margin-right: 0;
    margin-top: 1rem;
  }

  #choose-blc .choose-flex>div:first-child {
    margin-top: 0;
  }

  #choose-blc .choose-flex>div>a .img {
    width: 181px;
  }

  #choose-blc .choose-flex>div>a .txt {
    width: calc(100% - 181px);
  }
}

@media screen and (max-width:480px) {
  #choose-blc .choose-flex>div>a .img {
    width: 141px;
  }

  #choose-blc .choose-flex>div>a .txt {
    width: calc(100% - 141px);
  }

  #choose-blc .choose-flex>div>a .img figure {
    height: 200px;
  }

  #choose-blc .choose-flex>div>a .txt figure+h3 {
    font-size: 120%;
  }
}

/* --------------------------------------------------
 news-blc
-------------------------------------------------- */

#news-blc .news-flex {
  display: flex;
}

#news-blc .news-flex .news-ttl {
  width: 20%;
  padding-right: 2rem;
  box-sizing: border-box;
}

#news-blc .news-flex .news-ttl h2 {
  font-size: 250%;
  font-weight: 900;
  display: inline-block;
  color: #1a70df;
}

#news-blc .news-flex .news-list {
  width: 80%;
  max-height: 175px;
  overflow: auto;
}

#news-blc .news-flex .news-list dl {
  width: 100%;
  border-bottom: 1px solid #d9d9d9;
  padding: 20px 0;
  display: flex;
  box-sizing: border-box;
}

#news-blc .news-flex .news-list dl:first-child {
  padding-top: 0;
}

#news-blc .news-flex .news-list dl dt {
  max-width: 150px;
  width: 100%;
  font-weight: bold;
  display: block;
}

#news-blc .news-flex .news-list dl dd {
  width: calc(100% - 150px);
  padding-left: 20px;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

@media screen and (max-width:640px) {
  #news-blc .news-flex .news-ttl {
    width: 100%;
    padding-right: 0;
  }

  #news-blc .news-flex {
    flex-wrap: wrap;
  }

  #news-blc .news-flex .news-list {
    width: 100%;
    max-height: 255px;
  }

  #news-blc .news-flex .news-list dl:first-child {
    padding-top: 20px;
  }

  #news-blc .news-flex .news-list dl dt {
    max-width: 100%;
  }

  #news-blc .news-flex .news-list dl {
    flex-wrap: wrap;
  }

  #news-blc .news-flex .news-list dl dd {
    width: 100%;
    padding-left: 0;
  }
}

/* --------------------------------------------------
 recommended-flex
-------------------------------------------------- */

@media screen and (min-width:1001px) {
  .recommended-flex>li a:hover figure .img {
    transform: scale(1.05);
  }

  .recommended-flex>li a:hover {
    background-size: 100% var(--qodef-underline-height);
    background-position: 0 var(--qodef-underline-position-y);
    text-decoration: none;
  }
}

.recommended-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.recommended-flex>li {
  width: calc((100% - 3rem) / 4);
  margin-right: 1rem;
  margin-top: 1rem;
  background-color: #fff;
}

.recommended-flex>li a {
  display: block;
  transition: all ease-in 0.3s;
  text-decoration: none;
  box-sizing: border-box;
  --qodef-underline-position-y: calc(100% - 0px);
  --qodef-underline-height: 5px;
  background-repeat: no-repeat;
  background-image: linear-gradient(90deg, #196fdd 0, #196fdd 100%);
  transition: background-size .4s cubic-bezier(.51, .5, .07, .99), color .27s ease-out;
  background-position: 100% var(--qodef-underline-position-y);
  background-size: 0 var(--qodef-underline-height);
}

.recommended-flex>li:nth-child(4n+4) {
  margin-right: 0;
}

.recommended-flex>li:last-child {
  margin-right: 0 !important;
}

.recommended-flex>li:nth-child(-n+4) {
  margin-top: 0;
}

.recommended-flex>li figure {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 167px;
}

.recommended-flex>li figure .img {
  margin: auto;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  transform: scale(1.00);
  transition: all ease-in 0.3s;
}

.recommended-flex>li .txt-blc {
  padding: 15px 10px;
  box-sizing: border-box;
}

.recommended-flex>li .txt-blc .ttl {
  font-weight: 600;
  font-size: 110%;
  display: block;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #1a70df;
  box-sizing: border-box;
}

.recommended-flex>li .txt-blc .price {
  font-weight: 600;
  font-size: 120%;
  display: block;
  color: #1a70df;
  box-sizing: border-box;
  line-height: 1;
}

.recommended-flex>li .txt-blc .price+.txt {
  margin-top: 5px;
}

@media screen and (max-width:1000px) {
  .recommended-flex>li a {
    background-size: 100% var(--qodef-underline-height);
    background-position: 0 var(--qodef-underline-position-y);
    text-decoration: none;
  }
}

@media screen and (max-width:767px) {

  .recommended-flex>li {
    width: calc((100% - 2rem) / 3);
  }

  .recommended-flex>li:nth-child(4n+4) {
    margin-right: 1rem;
  }

  .recommended-flex>li:nth-child(-n+4) {
    margin-top: 1rem;
  }

  .recommended-flex>li:nth-child(3n+3) {
    margin-right: 0;
  }

  .recommended-flex>li:nth-child(-n+3) {
    margin-top: 0;
  }
}

@media screen and (max-width:640px) {

  .recommended-flex>li {
    width: calc((100% - 1rem) / 2);
  }

  .recommended-flex>li:nth-child(3n+3) {
    margin-right: 1rem;
  }

  .recommended-flex>li:nth-child(-n+3) {
    margin-top: 1rem;
  }

  .recommended-flex>li:nth-child(2n+2) {
    margin-right: 0;
  }

  .recommended-flex>li:nth-child(-n+2) {
    margin-top: 0;
  }
}

@media screen and (max-width:480px) {
  .recommended-flex>li figure {
    height: 50vw;
  }

  .recommended-flex>li {
    width: 100%;
    margin-right: 0 !important;
    margin-top: 1rem !important;
  }

  .recommended-flex>li:first-child {
    margin-top: 0 !important;
  }
}

/* --------------------------------------------------
 access-blc
-------------------------------------------------- */

@media screen and (min-width:1001px) {

  #access-blc .access-flex .txt-blc .btn-style-comm .btn-tel:hover::before {
    opacity: 1;
  }
}

#access-blc .access-flex {
  display: flex;
}

#access-blc .access-flex>div {
  width: 50%;
}

#access-blc .access-flex .map-blc iframe {
  width: 100%;
  height: 410px;
  display: block;
}

#access-blc .access-flex .map-blc .txt {
  padding: 20px 20px;
  box-sizing: border-box;
}

#access-blc .access-flex .txt-blc {
  padding: 4rem 2rem calc(4rem + 88px) 2rem;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

#access-blc .access-flex .txt-blc .ttl {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 130%;
  font-weight: bold;
}

#access-blc .access-flex .txt-blc .btn-blc {
  display: block;
  width: 100%;
  margin-top: 1rem;
}

#access-blc .access-flex .txt-blc .btn-blc .tel {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  font-size: 300%;
  font-weight: 900;
  line-height: 1;
}

#access-blc .access-flex .txt-blc .btn-blc .tel span {
  position: relative;
  padding-left: 45px;
  box-sizing: border-box;
}

#access-blc .access-flex .txt-blc .btn-blc .tel span::before {
  content: "";
  background-image: url(../img/common/tel_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: 0;
  top: 15px;
  width: 37px;
  height: 53px;
}

#access-blc .access-flex .txt-blc .txt {
  width: 100%;
  display: block;
  text-align: center;
  /* max-width: 150px; */
  margin: 1rem auto auto;
}

#access-blc .access-flex .txt-blc .btn-style-comm {
  display: block;
  width: 100%;
  margin-top: 1rem;
  text-align: center;
}

#access-blc .access-flex .txt-blc .btn-style-comm .btn-tel {
  font-size: 120%;
  font-weight: bold;
  color: #fff;
  position: relative;
  transition: all ease-in 0.3s;
}

#access-blc .access-flex .txt-blc .btn-style-comm .btn-tel::before {
  opacity: 0;
  content: '\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 15px;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 20px;
  margin: auto;
  transition: all ease-in 0.3s;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}

#access-blc .access-flex .txt-blc .btn-style-comm .btn-tel>span {
  padding-left: 40px;
  box-sizing: border-box;
  position: relative;
}

#access-blc .access-flex .txt-blc .btn-style-comm .btn-tel>span::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: 0;
  top: 4px;
  background-image: url(../img/common/email_icon_contact.png);
  width: 29px;
  height: 20px;
}

@media screen and (max-width:1000px) {
  #access-blc .access-flex>div {
    width: 100%;
  }

  #access-blc .access-flex {
    flex-wrap: wrap;
  }

  #access-blc .access-flex .map-blc iframe {
    height: 350px;
  }

  #access-blc .access-flex .txt-blc {
    padding: 0;
    margin-top: 4rem;
  }
}

@media screen and (max-width:767px) {
  #access-blc .access-flex .txt-blc .btn-blc .tel span::before {
    top: 6px;
  }
}

@media screen and (max-width:480px) {
  #access-blc .access-flex .txt-blc .btn-blc .tel {
    font-size: 250%;
  }

  #access-blc .access-flex .txt-blc .btn-blc .tel span::before {
    top: 6px;
    width: 27px;
    height: 43px;
  }

  #access-blc .access-flex .txt-blc .btn-blc .tel span {
    padding-left: 35px;
  }

  #access-blc .access-flex .map-blc iframe {
    height: 250px;
  }
}