/*--------- 余白調整 ---------*/
#wrap_page .pt0 {
  padding-top: 0!important;
}
#wrap_page .pb0 {
  padding-bottom: 0!important;
}
#wrap_page .mt0 {
  margin-top: 0!important;
}
#wrap_page .mb0 {
  margin-bottom: 0!important;
}
#wrap_page .mt10 {
  margin-top: 10px!important;
}
#wrap_page .mb10 {
  margin-bottom: 10px!important;
}

/*--------- セクション ---------*/
section.section_wrapper {
    padding: 25px 0;
    background-color: #fff;
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
}
section.section_wrapper h2 ,
section.section_wrapper h3 {
    margin-bottom: 25px;
    text-align: center;
    font-size: 4.8vw;
    font-weight: bold;
}
section.section_wrapper h3.section_subtitle {
  font-size: 4.3vw;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
section.section_wrapper .h2_text {
    margin: -10px auto 25px;
    padding: 0 2.5%;
    font-size: 3.5vw;
    text-align: center;
    line-height: 1.4;
}
section.section_wrapper .contents_wrap {
    padding: 0 2.5%;
}
@media screen and (min-width: 641px) {
  section.section_wrapper {
    padding: 30px 0;
  }
  section.section_wrapper h2 ,
  section.section_wrapper h3 {
    margin-bottom: 30px;
    font-size: 22px;
  }
  section.section_wrapper h3.section_subtitle {
    font-size:20px;
  }
  section.section_wrapper .h2_text {
    margin: -15px auto 30px;
    font-size: 16px;
  }
}
/*--------- /セクション ---------*/

/*--------- 罫線 ---------*/
.border_bold {
    border-bottom: solid 15px #e8e8e8;
}
.border_topline {
    border-top: solid 15px #e8e8e8;
}
.border_normal {
    border-bottom: solid 2px #e8e8e8;
}
/*--------- /罫線 ---------*/

/*--------- ボタン ---------*/
/*通常ボタン*/
.next {
  border: 2px solid #a7a7a7;
  border-radius: 6px;
  text-align: center;
  margin: 20px auto;
  width: 90%;
  max-width: 480px;
  background-color: #FFFFFF;
}
.next a {
  display: block;
  color: #333;
}
.next a:hover {
  opacity: 0.7;
}
.next p {
  position: relative;
  padding: 16px 30px;
  font-size: 4vw;
  font-weight: bold;
  color: #333;
  line-height: 1.3;
}
.next p::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  vertical-align: middle;
  background: none;
}
@media screen and (min-width: 641px) {
  .next {
    margin: 30px auto;
  }
  .next p{
    font-size: 16px;
  }
}

/* 地図ボタン（.nextと一緒に使う） */
.map_icon {
}
.map_icon p::before {
    position: absolute;
    top: 0;
    left: 3%;
    content: "";
    width: 25px;
    height: 100%;
    display: block;
    background: url(/common/img/icon/ic_search_map.png) no-repeat 50% 50%;
    background-size: 20px;
}
.map_icon a{
    display: block;
}
.map_icon a:hover {
  opacity: 0.7;
}

/* ボタン下注釈 */
.next_note{
  width: 86%;
  max-width: 470px;
  margin: -10px auto 0 auto;
  text-align: left;
  color: #9a9a9a;
  line-height: 1.4;
  font-size: 12px;
  padding-left: 1em;
  text-indent: -1em;
}
.next_note a{
  display: inline;
  color: #9a9a9a;
  text-decoration: underline;
}
.next_note a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 641px) {
  .next_note{
    margin: -20px auto 0 auto;
    font-size: 14px;
  }
}

/* メンテンナンスボタン */
.next.maintenance {
  opacity: 0.4;
  background-color: #333333!important;
  border-color: #333333!important;
}
.next.maintenance a {
  pointer-events: none;
}

/* もっとみるボタン */
.more {
  border: 2px solid #a7a7a7;
  border-radius: 6px;
  text-align: center;
  margin: 20px auto;
  width: 90%;
  max-width: 480px;
  padding: 0;
  cursor: pointer;
  background-color: #FFFFFF;
}
.more a {
  display: block;
}
.more p {
  position: relative;
  padding: 16px 30px;
  font-size: 4vw;
  font-weight: bold;
  color: #333;
  line-height: 1.3;
}
.more p::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  border-left: none;
  -webkit-transform: translateY(-50%) rotate(135deg);
  -ms-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  vertical-align: middle;
  background: none;
}
@media screen and (min-width: 641px) {
  .more {
    margin: 30px auto;
  }
  .more p{
    font-size: 16px;
  }
}
/*--------- /ボタン ---------*/

/*--------- テキストのリンク ---------*/
/* テキスト＋arrowのリンク */
.text_arrow_link {
  text-align: right;
  margin: 20px;
}
.text_arrow_link a {
  position: relative;
  display: initial;
  color: #333333;
  font-size: 14px;
  padding-right: 16px;
}
.text_arrow_link a:before{
  position: absolute;
  content: '';
  width: 7px;
  height: 7px;
  display: block;
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%) rotate(45deg);
  -ms-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
}
.text_arrow_link a:hover{
  text-decoration:underline;
}
@media screen and (min-width: 641px) {
  .text_arrow_link a {
    font-size: 16px;
  }
}

/* グレー文字（text_arrow_linkと一緒に使う） */
.text_arrow_link_gray a {
  color: #9a9a9a;
}
.text_arrow_link_gray a:before{
  border-top: 2px solid #9a9a9a;
  border-right: 2px solid #9a9a9a;
}
/*--------- /テキストのリンク ---------*/

/*--------- 検索 ---------*/
.form_searchBox_outline {
  text-align: center;
  height: 52px;
  font-size: 0;
  margin: 0 auto;
  max-width: 480px;
}
.searchTextWrap {
  position: relative;
  width: 80%;
  display: inline-block;
}
.form_input_searchText {
  width: 100%;
  padding-left: 30px;
  box-sizing: border-box;
  border: 1px solid #8b7b74;
  color: #8b7b74;
  border-radius: 6px 0 0 6px;
  font-size: 15px;
  background: url(/common/img/icon/search_bar_icon.png) 7px no-repeat;
  background-size: 14px;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  line-height: 50px;
}
/* IE11 調節 */
_:-ms-lang(x)::-ms-backdrop, .form_input_searchText {
  height: 52px;
}
.form_input_searchText::placeholder{
  color: #8b7b74;
}
.form_input_searchText:focus {
  background: none;
  padding-left: 10px;
}
/*テキストリセットボタン*/
.resetBttnWrap {
  display: none;
  position: absolute;
  top: 35%;
  right: 2.5%;
}
.resetBttn {
  background: url(/common/img/icon/ic_suggest_clear.png) no-repeat;
  background-size: 18px 18px;
  text-indent: -9999px;
  white-space: nowrap;
  width: 18px;
  height: 18px;
  overflow: hidden;
  cursor: pointer;
}
/*IE11,Edge デフォルトの✕マーク隠す*/
  input::-ms-clear {
    visibility:hidden
  }
/* 検索ボタン */
.form_input_searchBtn {
  width: 20%;
  box-sizing: border-box;
  font-size: 14px;
  background-color: #8b7b74;
  cursor: pointer;
  color: white;
  vertical-align: middle;
  border: 1px solid #8b7b74;
  border-radius: 6px 0 0 6px;
  line-height: 50px;
}
input[type="submit"] {
  border-radius: 0 6px 6px 0;
}
/*--------- /検索 ---------*/

/*--------- エラーパーツ ---------*/
.ulp_errorpage #inner_footer small {
  margin-top: 10px;
}
  #errorpage_wrap {
  margin-top: 56px;
}
/* error contents */
.error_wrap {
  background: #ffffff;
  padding: 30px 15px;
  max-width: 980px;
  margin: 0 auto;
}
.error_wrap .error_title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  color: #333333;
  margin-bottom: 16px;
  text-align: center;
}
@media screen and (min-width: 641px) {
  .error_wrap .error_title {
    font-size: 25px;
    margin-bottom: 32px;
  }
}
.error_wrap .error_title:before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url(/common/img/icon/icon_alert.gif) center no-repeat;
    background-size: contain;
    vertical-align: baseline;
    color: #cc0033;
    position: relative;
    margin-right: 14px;
    top: 2px;
}
@media screen and (max-width: 640px) {
  .error_wrap .error_title:before {
    top: 1px;
  }
}
.error_wrap .error_block {
  border-top: #cc0033 1px solid;
  padding: 30px 12px 0 12px;
  -webkit-box-sizing: border-box;
      box-sizing: border-box;
}
.error_wrap .error_text {
  font-size: 14px;
  font-weight: bold;
  color: #cc0033;
  line-height: 1.5;
  text-align: center;
}
.error_wrap .error_text a {
  color: #cc0033;
  text-decoration: underline;
}
@media screen and (min-width: 641px) {
  .error_wrap .error_text {
    font-size: 18px;
  }
}
/*--------- /エラーパーツ ---------*/

/*--------- アコーディオン(ボタン) ---------*/
.acd-wrap {
  border: 2px solid #a7a7a7;
  border-radius: 6px;
  position: relative;
  margin: 0 auto 10px auto;
  max-width: 640px;
}
.acd-check{
  display: none;
}
.acd-label{
  background: #ffffff;
  border-radius: 6px;
  display: block;
  padding: 10px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}
.acd-label::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #333333;
  border-left: solid 2px #333333;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -ms-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  position: absolute;
  top: 50%;
  right: 15px;
  border-radius: 0;
  -webkit-transition-duration: .2s;
  transition-duration: .2s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.acd-content{
  border: 1px solid #ffffff;
  border-radius: 6px;
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .1s;
  visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
  height: auto;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}
.acd-check:checked + .acd-label::after{
  border-top: solid 2px #333333;
  border-left: solid 2px #333333;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
/*--------- /アコーディオン(ボタン) ---------*/

/*--------- アコーディオン ---------*/
.accordion_wrap {
  width: 100%;
  padding: 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: solid 1px #e8e8e8;
  border-bottom: solid 1px #e8e8e8;
}
.accordion_wrap .accordion_ttl {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  color: #333333;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
  padding: 15px 6%;
  outline: none;
  position: relative;
  cursor: pointer;
}
.accordion_wrap .accordion_ttl::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #333333;
  border-left: solid 2px #333333;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -ms-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  position: absolute;
  top: 50%;
  right: 6%;
  border-radius: 0;
  -webkit-transition-duration: .4s;
  transition-duration: .4s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.accordion_wrap .accordion_ttl.acd-open::after {
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.accordion_wrap .accordion_content {
  display: none;
  opacity: 0;
  border-top: 1px solid #e8e8e8;
  padding: 20px 6%;
  line-height: 1.6;
  font-size: 13px;
}
.accordion_wrap .accordion_content.acd-open {
  display: block;
  opacity: 1;
  animation-duration: .8s;
  animation-name: fadein;
  -moz-animation-duration: .8s;
  -moz-animation-name: fadein;
  -webkit-animation-duration: .8s;
  -webkit-animation-name: fadein;
}
.accordion_wrap .accordion_content.acd-open::after {
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 641px) {
  .accordion_wrap .accordion_ttl {
      font-size: 16px;
  }
  .accordion_wrap .accordion_content {
      font-size: 16px;
  }
}
/*--------- /アコーディオン ---------*/

/*--------- 改行制御 ---------*/
br.sp_none{
  display: none;
}
br.pc_none{
  display: block;
}
@media screen and (min-width: 641px) {
  br.sp_none{
    display: block;
  }
  br.pc_none{
    display: none;
  }
}
/*--------- /改行制御 ---------*/

/*--------- dポイントクラブアプリバナー ---------*/
.app_banner img {
  display: block;
  margin: 0 auto;
  width: 96%;
  height: auto;
}
@media screen and (min-width: 641px) {
  .app_banner img {
    max-width: 600px;
    width: 100%;
  }
}
/*--------- /dポイントクラブアプリバナー ---------*/

/*--------- コンテンツカセット ---------*/
ul.contents_item_list {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
ul.contents_item_list li {
  width: calc(50% - 5px);
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-right: 5px;
  margin-bottom: 10px;
}
ul.contents_item_list li:nth-child(even){
  margin-right: 0;
}
ul.contents_item_list li a {
  display: block;
  color: #333333;
}
ul.contents_item_list li a:hover {
  opacity: 0.7;
}
ul.contents_item_list li .contents_item_list_img_wrap .img {
  width: 100%;
  height: auto;
  border-radius: 6px 6px 0 0;
}
ul.contents_item_list li .contents_item_list_textarea {
    line-height: 1.4;
    padding: 4%;
}
ul.contents_item_list li .contents_item_list_textarea .title {
    font-size: 15px;
    padding-bottom: 3%;
}
ul.contents_item_list li .contents_item_list_textarea .description {
  /*max-height: 5.4rem;*/
  font-size: 14px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
ul.contents_item_list li .contents_item_list_textarea.with_logo {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
ul.contents_item_list li .contents_item_list_textarea.with_logo .description ,
ul.contents_item_list li .contents_item_list_textarea.with_logo .description_label{
  width: 75%;
}
ul.contents_item_list li .contents_item_list_textarea.with_logo .description_label .description {
  width: 100%;
}
ul.contents_item_list li .contents_item_list_textarea.with_logo .description_label .label {
    border-left: solid;
    color: #9a9a9a;
    padding: 0 4px;
    margin: 3% 0;
}
ul.contents_item_list li .contents_item_list_textarea.with_logo .logo {
  width: 20%;
  height: 20%;
  margin-left: 5%;
}
ul.contents_item_list li .bottominfo{
  font-size: 11px;
  padding-bottom: 3%;
  margin: 3%;
}
ul.contents_item_list li .bottominfo .date {
}
ul.contents_item_list li .bottominfo .info {
  color: #333333;
  background-color: #FFEA48;
  margin-right: 5px;
  text-align: center;
  font-weight: bold;
  padding: 1px 5px;
}
@media screen and (min-width: 641px) {
  ul.contents_item_list.wide_list li {
    width: calc(33.3% - 10px);
    margin-right: 10px;
  }
  ul.contents_item_list.wide_list li:nth-of-type(3n){
    margin-right: 0;
  }
  ul.contents_item_list li .contents_item_list_textarea .description {
    /*max-height: 5.6rem;*/
    -webkit-line-clamp: 3;
  }
  ul.contents_item_list li .bottominfo{
    font-size: 14px;
  }
  ul.contents_item_list li .contents_item_list_textarea.with_logo .description,
  ul.contents_item_list li .contents_item_list_textarea.with_logo .description_label {
    width: 80%;
  }
  ul.contents_item_list li .contents_item_list_textarea.with_logo .logo {
    width: 20%;
    height: 20%;
  }
}
/*--------- /コンテンツカセット ---------*/


/*--------- サービスなどのリスト ---------*/
.list_service {
  overflow: hidden;
  max-width: 640px;
  margin: 0 auto;
}
.servicelist_wrap {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #e8e8e8;
}
.servicelist_wrap:nth-of-type(1) {
  border-top: 1px solid #e8e8e8;
}
.servicelist_wrap .servicelist_linkarea {
  width: 100%;
  box-sizing: border-box;
  padding: 15px 5px;
  position: relative;
  letter-spacing: -.6em;
  opacity: 1;
  transition: all .2s ease-in-out;
  cursor: pointer;
  color: #333;
}
.servicelist_wrap .servicelist_linkarea:hover {
  cursor: pointer;
  opacity: .7;
}
.servicelist_wrap .servicelist_image_wrap,
.servicelist_wrap .servicelist_textarea {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
}
.servicelist_wrap .servicelist_image_wrap {
  width: 32%;
  padding-right: 3%;
}
.servicelist_wrap .servicelist_image_wrap .servicelist_image {
  display: block;
  width: 100%;
  height: auto;
}
.servicelist_wrap .servicelist_textarea {
  width: 67%;
  padding-right: 20px;
}
.servicelist_wrap .servicelist_title {
  font-size: 3.7vw;
  font-weight: bold;
  line-height: 1.45;
  margin-bottom: 6px;
}
.servicelist_wrap .servicelist_text {
  font-size: 3.5vw;
  line-height: 1.55;
}
.servicelist_wrap .servicelist_linkarea::after {
  content: '';
  width: 9px;
  height: 9px;
  border-top: solid 3px #333333;
  border-right: solid 3px #333333;
  position: absolute;
  top: 50%;
  right: 12px;
  /* 20210908追記 */
  display: inline-block;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 641px) {
  .servicelist_wrap .servicelist_title {
    font-size: 16px;
    margin-bottom: 14px;
  }
  .servicelist_wrap .servicelist_text {
    font-size: 14px;
  }
  .servicelist_wrap .servicelist_linkarea::after {
    width: 12px;
    height: 12px;
    right: 14px;
  }
}
/*プラチナ・スペシャルクーポンなどのリスト*/
.servicelist_wrap.platinam_coupon{
  background-color: #00134d;
}
.servicelist_wrap.special_coupon{
  background-color: #892121;
}
.servicelist_wrap.platinam_coupon a,
.servicelist_wrap.special_coupon a{
  color: #fff;
}
.servicelist_wrap.platinam_coupon .servicelist_linkarea::after,
.servicelist_wrap.special_coupon .servicelist_linkarea::after{
  border-color: #fff;
}
/*--------- /サービスなどのリスト ---------*/


/*--------- スライダーUI ---------*/
#wrap_page .common-slick.common-slick-wide {
    overflow: hidden;
}
#wrap_page .common-slick li a:hover {
    opacity: 0.7;
}
/* スライダーdots */
#wrap_page .common-slick .slick-dots {
    background: unset;
    width: 100%;
}
#wrap_page .common-slick .slick-dots li button {
    width: 6px;
    height: 6px;
}
#wrap_page .common-slick .slick-dots li.slick-active button:before {
    background: #C01733;
    border-radius: 50px;
}
/* PCのとき */
@media screen and (min-width: 980px) {
  #wrap_page .common-slick.common-slick-wide {
      overflow: visible;
  }
  #wrap_page .common-slick.common-slick-wide .slick-prev ,
  #wrap_page .common-slick.common-slick-wide .slick-next {
      position: absolute;
      top: 50%;
      display: block;
      width: 50px;
      height: 50px;
      padding: 0;
      -webkit-transform: translate(0, -30%);
      -ms-transform: translate(0, -30%);
      transform: translate(0, -30px);
      cursor: pointer;
      color: transparent;
      border: none;
      outline: none;
      background: transparent;
      z-index: 800;
  }
  #wrap_page .common-slick.common-slick-wide .slick-prev:before ,
  #wrap_page .common-slick.common-slick-wide .slick-next:before {
      font-size: 0;
      line-height: 0;
      display: block;
      width: 50px;
      top: 50%;
      border-radius: 50%;
      height: 50px;
      line-height: 50px;

      background-repeat: no-repeat;
      background-size: 20px;
      background-position: center;
      background-color: #000000;

      opacity: 0.75;
  }
  #wrap_page .common-slick.common-slick-wide .slick-prev:before {
      left: -70px;
      background-image: url(/img/icon/arrow_left.png);
  }
  #wrap_page .common-slick.common-slick-wide .slick-next:before {
      right: -70px;
      background-image: url(/img/icon/arrow_right.png);
      
  }
  #wrap_page .common-slick.common-slick-wide .slick-prev.slick-disabled:before ,
  #wrap_page .common-slick.common-slick-wide .slick-next.slick-disabled:before{
      display: none;
  }
}
/*--------- /スライダーUI ---------*/