@charset "UTF-8";
/**
 * Swiper 5.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 8, 2020
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  background-color: #000;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  max-width: 62.3rem;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition: background-color 1s ease;
  -o-transition: background-color 1s ease;
  transition: background-color 1s ease;
}

.swiper-slide a {
  cursor: default;
}

.swiper-slide img {
  opacity: .7;
}

@media screen and (max-width: 768px) {
  .swiper-slide {
    background-color: transparent;
  }
  .swiper-slide img {
    opacity: 1;
  }
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-slide-active {
  background-color: #fff;
}

.swiper-slide-active a {
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  cursor: pointer;
}

.swiper-slide-active a:hover {
  opacity: .8;
}

.swiper-slide-active img {
  opacity: 1;
}

/* ----------------------------
 swiper-button
------------------------------*/
.swiper-button-prev, .swiper-button-next {
  line-height: 1;
  border-radius: 5rem;
  background: #f9c451 url(/jushinryo/assets/images/top/swiper_arrow.svg) 50% 50% no-repeat;
  background-size: contain;
  margin-top: -5rem;
  width: 5rem;
  height: 5rem;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  cursor: pointer;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.swiper-button-prev:hover, .swiper-button-next:hover {
  opacity: .8;
}

.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev {
  margin-left: -41.15rem;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.swiper-button-prev::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.swiper-button-next {
  margin-left: 36.15rem;
}

.swiper-button-lock {
  display: none;
}

@media screen and (max-width: 768px) {
  .swiper-button {
    display: none;
  }
}

/* ----------------------------
 swiper-pagination
------------------------------*/
.swiper-pagination {
  text-align: center;
  margin: 2rem 0;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-bullet {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-block;
  vertical-align: top;
  border-radius: 100%;
  background: #dcdcdc;
  margin: 0 .6rem;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #0885c5;
}

@media screen and (max-width: 768px) {
  .swiper-pagination {
    margin: 1.2rem 0;
    height: .7rem;
  }
  .swiper-pagination-bullet {
    width: .7rem;
    height: .7rem;
    margin: 0 .3rem;
  }
}

/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}

/* remodal */
.remodal-overlay {
  background-color: #f8f8f8;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  top: -100px;
  right: -100px;
  bottom: -100px;
  left: -100px;
  z-index: 101;
}

.remodal-overlay.purple {
  background: #ebeeff;
  background: -webkit-linear-gradient(100deg, #ebeeff 0%, #f5eefc 100%);
  background: -o-linear-gradient(100deg, #ebeeff 0%, #f5eefc 100%);
  background: linear-gradient(-10deg, #ebeeff 0%, #f5eefc 100%);
}

.remodal-overlay.blue {
  background: #ebf9ff;
  background: -webkit-linear-gradient(100deg, #ebf9ff 0%, #e6f2fc 100%);
  background: -o-linear-gradient(100deg, #ebf9ff 0%, #e6f2fc 100%);
  background: linear-gradient(-10deg, #ebf9ff 0%, #e6f2fc 100%);
}

.remodal-overlay.remodal-is-opened {
  opacity: 1;
}

.remodal-overlay.remodal-is-opened.purple {
  opacity: .9;
}

.remodal-overlay.remodal-is-opened.blue {
  opacity: .9;
}

.remodal-wrapper {
  cursor: pointer;
}

.remodal {
  width: 100%;
  margin-bottom: 10px;
  -webkit-transition: opacity .3s ease-out;
  -o-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
  opacity: 0;
  position: static;
  cursor: default;
}

.remodal-is-opened .remodal {
  opacity: 1;
}

.remodal, .remodal-wrapper:after {
  vertical-align: middle;
}

/* ------------------------------------------------
 design
------------------------------------------------ */
.remodal.jushinryo_movie {
  max-width: 800px;
}

.remodal.jushinryo_movie > .body {
  text-align: left;
  padding: 1rem;
}

.remodal.jushinryo_movie > .body .caption {
  font-size: 1.4rem;
  line-height: 1.75;
  padding: 1em .5em 0;
}

.remodal.jushinryo_movie .btn.close {
  border-width: 0;
  background: #dcdcdc url(../images/common/icon_close.svg) 50% 50% no-repeat;
  background-size: 3rem auto;
  padding: 0;
  width: 8rem;
  height: 8rem;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  outline: none;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .remodal.jushinryo_movie {
    max-width: 100%;
    width: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .remodal.jushinryo_movie > .body .caption {
    font-size: 1.3rem;
    padding: 1.5rem 1.25rem 0;
  }
  .remodal.jushinryo_movie .btn.close {
    background-size: 2rem auto;
    width: 4rem;
    height: 4rem;
    opacity: 1 !important;
  }
}

/*----- top -----*/
/* ------------------------------------------------
 topics
------------------------------------------------ */
#topics .body.foldable_list {
  border: 3px solid #0885c5;
  border-radius: 1.5rem;
  background-color: #f0f7fb;
  padding: 1.2rem 3rem 4rem;
  min-height: 4.65rem;
  position: relative;
}

#topics .body.foldable_list::before, #topics .body.foldable_list::after {
  content: "";
  background-color: #f0f7fb;
  width: 100%;
  height: 1.5rem;
  position: absolute;
  left: 0;
  z-index: 3;
}

#topics .body.foldable_list::before {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f0f7fb), to(rgba(240, 247, 251, 0)));
  background: -webkit-linear-gradient(top, #f0f7fb 50%, rgba(240, 247, 251, 0) 100%);
  background: -o-linear-gradient(top, #f0f7fb 50%, rgba(240, 247, 251, 0) 100%);
  background: linear-gradient(to bottom, #f0f7fb 50%, rgba(240, 247, 251, 0) 100%);
  top: 1.2rem;
}

#topics .body.foldable_list::after {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(240, 247, 251, 0)), to(#f0f7fb));
  background: -webkit-linear-gradient(top, rgba(240, 247, 251, 0) 50%, #f0f7fb 100%);
  background: -o-linear-gradient(top, rgba(240, 247, 251, 0) 50%, #f0f7fb 100%);
  background: linear-gradient(to bottom, rgba(240, 247, 251, 0) 50%, #f0f7fb 100%);
  bottom: 2.5rem;
}

#topics .body.foldable_list .list {
  overflow: hidden;
  position: relative;
}

#topics .body.foldable_list .list li {
  margin-top: 1.2rem;
}

#topics .body.foldable_list .list.show {
  width: calc(100% - 6rem);
  height: 4.65rem;
  position: absolute;
  z-index: 1;
}

#topics .body.foldable_list .list.show li {
  width: 100%;
  overflow: hidden;
  position: relative;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateY(3.4rem);
  -ms-transform: translateY(3.4rem);
  transform: translateY(3.4rem);
}

#topics .body.foldable_list .list.show li.marquee {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

#topics .body.foldable_list .list.show li::after {
  content: "";
  background-color: #f0f7fb;
  background: -webkit-gradient(linear, left top, right top, color-stop(80%, #f0f7fb), to(rgba(240, 247, 251, 0)));
  background: -webkit-linear-gradient(left, #f0f7fb 80%, rgba(240, 247, 251, 0) 100%);
  background: -o-linear-gradient(left, #f0f7fb 80%, rgba(240, 247, 251, 0) 100%);
  background: linear-gradient(to right, #f0f7fb 80%, rgba(240, 247, 251, 0) 100%);
  width: 100%;
  width: 3.7rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}

#topics .body.foldable_list .list.show li > a {
  white-space: nowrap;
  position: relative;
}

#topics .body.foldable_list .list.hide {
  padding-bottom: 1rem;
  background-color: #f0f7fb;
  display: none;
  position: relative;
  z-index: 2;
}

#topics .body.foldable_list .list_btn {
  color: #0885c5;
  border-color: #0885c5;
  -webkit-transform: translate(-50%, 50%);
  -ms-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
  z-index: 5;
}

#topics .body.foldable_list .list_btn .icon {
  background-color: #0885c5;
}

#topics .body.foldable_list.open .list_btn,
#topics .body.foldable_list.open .icon::before, #topics .body.foldable_list.open .icon::after {
  background-color: #0885c5;
}

#topics .message {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 768px) {
  #topics > .inner {
    padding-left: 0;
    padding-right: 0;
  }
  #topics .body.foldable_list {
    border-width: .2rem 0;
    border-radius: 0;
    padding: .8rem 1.25rem 2.3rem;
    min-height: 3.25rem;
  }
  #topics .body.foldable_list::before {
    top: 0;
  }
  #topics .body.foldable_list::after {
    bottom: 1.2rem;
  }
  #topics .body.foldable_list .list li {
    margin-top: .5rem;
  }
  #topics .body.foldable_list .list.show {
    width: calc(100% - 2.5rem);
    height: 3.25rem;
  }
  #topics .body.foldable_list .list.show li::after {
    width: 2.5rem;
  }

  #topics .message {
    font-size: 1.3rem;
    margin-bottom: 1rem;
  }
}

/* ------------------------------------------------
 contracts/procedures/office共通
------------------------------------------------ */
.procedure {
  padding-bottom: 7rem;
  position: relative;
}

.procedure::before {
  content: "";
  background-position: 50% 0;
  background-repeat: repeat-x;
  width: 100%;
  height: 241px;
  position: absolute;
  left: 0;
  top: 0;
}

.procedure header {
  padding-top: 6.5rem;
  position: relative;
}

.procedure header .title {
  color: #fff;
  font-size: 3.2rem;
  text-align: center;
  line-height: 1;
}

.procedure header::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
}

.procedure .body {
  margin-top: 5rem;
  position: relative;
}

.procedure .body .list.menu li .icon {
  height: 7.2rem;
  display: inline-block;
}

.procedure .body .list.menu li .icon img {
  width: auto;
  height: 100%;
}

.procedure .body .list.menu li.single {
  padding: 2rem 3rem;
  width: 24.18182%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-flex-line-pack: center;
  align-content: center;
  position: relative;   /* ←追加 */
  z-index: 1;           /* ←追加 */
}

.procedure .body .list.menu li.single .icon {
  margin-bottom: .75rem;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1 / 2;
}

.procedure .body .list.menu li.single .title {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2 / 3;
}

.procedure .body .list.menu li.single .note {
  font-size: 1.6rem;
  letter-spacing: normal;
  line-height: 1.5;
  text-align: left !important;
  cursor: pointer;
  margin-top: 1rem;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3 / 4;
  position: relative;   /* ←追加 */
  z-index: -1;          /* ←追加 */  
}

.procedure .ex_links {
  margin-top: 1rem;
}

.procedure .ex_links .list {
  display: inline;
}

.procedure .ex_links .list li {
  margin-top: 1rem;
  margin-right: 4rem;
  display: inline-block;
}

.procedure .ex_links .list li a {
  color: #333;
}

@media screen and (max-width: 768px) {
  .procedure {
    padding-bottom: 4rem;
  }
  .procedure::before {
    background-size: 100% auto;
    height: 16.3rem;
  }
  .procedure header {
    padding: 4.4rem 2rem 0;
  }
  .procedure header .title {
    font-size: 2.1rem;
    text-align: left;
    line-height: 1.5;
  }
  .procedure header::after {
    background-size: cover;
    margin-right: -1.25rem !important;
  }
  .procedure .body {
    margin-top: 1.5rem;
    position: relative;
  }
  .procedure .body .list.menu li {
    text-align: left;
  }
  .procedure .body .list.menu li .icon,
  .procedure .body .list.menu li .icon img {
    width: auto;
    height: 5rem;
  }
  .procedure .body .list.menu li.single {
    padding: 1.8rem 4rem 1.8rem 1.6rem;
    width: 100%;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
    grid-column-gap: 1.5rem;
    grid-row-gap: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .procedure .body .list.menu li.single .icon {
    margin-bottom: 0;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
    -ms-grid-row-align: center;
    align-self: center;
  }
  .procedure .body .list.menu li.single .title {
    letter-spacing: normal;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
  }
  .procedure .body .list.menu li.single .note {
    font-size: 1.3rem;
    letter-spacing: normal;
    margin-top: 0;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2 / 3;
    -ms-grid-row-align: start;
    align-self: start;
  }
  .procedure .ex_links .list.show {
    display: block;
  }
  .procedure .ex_links .list.hide {
    display: none;
  }
  .procedure .ex_links .list li {
    margin-top: .5rem;
    margin-right: 0;
    display: block;
  }
}

/* ------------------------------------------------
 新規契約・住所等変更のお手続き
------------------------------------------------ */
#contracts {
  background-color: #e4f5e6;
  margin-top: 6.5rem;
  position: relative;
}

#contracts::before {
  background-color: #fff;
  background-image: url(/jushinryo/assets/images/top/contracts_bg.png);
}

#contracts header .title {
  text-shadow: 0 0 10px #22a05d;
}

#contracts header::after {
  background-image: url(/jushinryo/assets/images/top/contracts_domo.png);
  margin-top: -3.4rem;
  margin-right: 11.4rem;
  width: 15.5rem;
  height: 23.4rem;
}

#contracts .body .list.menu li.single {
  align-content: space-between;
}

#contracts .list.menu li {
  border-color: #26ab63;
}

#contracts .list.menu li > .note.line {
  height: 70px;
  text-align: center;
  /*margin-left: -1em;
  margin-right: -1em;*/
}

#contracts .list.menu .payment {
  padding: 3rem 3rem 4rem;
}

#contracts .list.menu .payment .top {
  text-align: left;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  grid-column-gap: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#contracts .list.menu .payment .top .icon {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1 / 3;
}

#contracts .list.menu .payment .top .title {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1 / 2;
  -ms-grid-row-align: end;
  align-self: end;
}

#contracts .list.menu .payment .top .note {
  font-size: 1.8rem;
  margin-top: .25em;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2 / 3;
  -ms-grid-row-align: start;
  align-self: start;
  text-align: left !important;
}

#contracts .list.menu .payment .bottom {
  margin-top: 3rem;
}

#contracts .list.menu .payment .bottom .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#contracts .list.menu .payment .bottom .list li {
  text-align: left;
  border-width: 0;
  border-radius: 1rem;
  background-color: #e4f5e6;
  padding: 0 1.5rem;
  width: 24.8rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

#contracts .list.menu .payment .bottom .list li .label {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  border-radius: .5rem;
  background-color: #0885c5;
  padding: .4em;
  position: absolute;
  right: 10px;
  top: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

#contracts .list.menu .payment .bottom .list li .label.red {
  background-color: #f75f49;
}

#contracts .list.menu .payment .bottom .list li .title {
  font-size: 2rem;
  line-height: 1.4;
  display: inline-block;
  vertical-align: middle;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

#contracts .list.menu .payment .bottom .list li .title::before {
  content: "";
  background: #f9c451 url(/jushinryo/assets/images/common/icon_arrow_wh.svg) 55% 50% no-repeat;
  background-size: .8rem auto;
  border-radius: 100%;
  width: 2.7rem;
  height: 2.7rem;
  -webkit-transition: background-color .4s ease;
  -o-transition: background-color .4s ease;
  transition: background-color .4s ease;
}

#contracts .list.menu .payment .bottom .list li .title:hover::before {
  background-color: #f9d27c;
}

@media screen and (max-width: 768px) {
  #contracts .list.menu .payment .bottom .list li .title::before {
    background-size: .6rem auto;
    width: 1.8rem;
    height: 1.8rem;
  }
}

#contracts .list.menu .payment .bottom .list li .title::before {
  border-radius: 100%;
  background-size: .9rem auto;
  margin-right: 1.2rem;
  width: 2.7rem;
  height: 2.7rem;
}

#contracts .list.menu .payment .bottom .list li .title::after {
  content: "";
  height: 10rem;
  display: inline-block;
  vertical-align: middle;
}

#contracts .list.menu .payment .bottom .list li .note {
  font-size: 1.4rem;
  font-weight: normal;
  text-align: center;
  margin-top: .25em;
  width: 100%;
  position: absolute;
  left: 0;
  top: 100%;
}

#contracts .list.menu .payment .bottom .list li:hover .title {
  opacity: .7;
}

#contracts .list.menu .cas {
  padding: 2rem 4rem 2rem 2rem;
  width: 49.5%;
  align-content: center !important;
}

#contracts .list.menu .cas::before {
  height: 4.2rem;
}

#contracts .list.menu .cas .title {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  #contracts {
    margin-top: 5rem;
    padding-bottom: 6rem;
  }
  #contracts::before {
    background-image: url(/jushinryo/assets/images/sp/top/contracts_bg.png);
  }
  #contracts header .title {
    text-shadow: 0 0 .6rem #22a05d;
  }
  #contracts header::after {
    margin-top: -2.6rem;
    width: 8.45rem;
    height: 20.1rem;
  }
  #contracts .body .list.menu li.single {
    align-content: center;
  }
  #contracts .list.menu li {
    border-width: .3rem;
  }
  #contracts .list.menu li > .note {
  	height: auto !important;
    font-size: 1.3rem;
  }
  #contracts .list.menu li > .note.line {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
  #contracts .list.menu .payment {
    padding: 1.8rem 1.3rem;
  }
  #contracts .list.menu .payment .top {
    text-align: left;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    grid-column-gap: 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    cursor: pointer;
  }
  #contracts .list.menu .payment .top::before {
    content: "";
    background: #f9c451 url(/jushinryo/assets/images/common/icon_arrow_wh.svg) 55% 50% no-repeat;
    background-size: .8rem auto;
    border-radius: 100%;
    width: 2.7rem;
    height: 2.7rem;
    -webkit-transition: background-color .4s ease;
    -o-transition: background-color .4s ease;
    transition: background-color .4s ease;
  }
  #contracts .list.menu .payment .top:hover::before {
    background-color: #f9d27c;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  #contracts .list.menu .payment .top::before {
    background-size: .6rem auto;
    width: 1.8rem;
    height: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  #contracts .list.menu .payment .top::before {
    border-radius: .8rem 0 0 .8rem;
    background-image: url(/jushinryo/assets/images/common/icon_plus_wh.svg);
    background-position: 60% 50%;
    background-size: 1.1rem auto;
    width: 2rem;
    height: 5.4rem;
    position: absolute;
    right: -1.3rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #contracts .list.menu .payment .top::after {
    content: "";
    width: calc(100% + 2.6rem);
    height: calc(100% + 3.8rem);
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  #contracts .list.menu .payment .top .icon {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
  }
  #contracts .list.menu .payment .top .title {
    font-size: 1.8rem;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
    -ms-grid-row-align: end;
    align-self: end;
  }
  #contracts .list.menu .payment .top .note {
    font-size: 1.3rem;
    padding-right: 1.5rem;
  }
  #contracts .list.menu .payment .bottom {
    margin-top: 2rem;
    padding-top: 2rem;
    position: relative;
    display: none;
  }
  #contracts .list.menu .payment .bottom::before {
    content: "";
    background-color: #dadada;
    width: 28.5rem;
    height: .3rem;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #contracts .list.menu .payment .bottom .note {
    font-size: 1.3rem;
    text-align: center;
    display: block !important;
  }
  #contracts .list.menu .payment .bottom .list {
    margin-top: 1rem;
    display: block;
  }
  #contracts .list.menu .payment .bottom .list li {
    border-radius: .75rem;
    width: 100%;
  }
  #contracts .list.menu .payment .bottom .list li .label {
    font-size: 1.1rem;
    letter-spacing: normal;
    padding: .4rem .7rem;
    right: .4rem;
    top: .4rem;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  #contracts .list.menu .payment .bottom .list li .title {
    font-size: 1.6rem;
  }
  #contracts .list.menu .payment .bottom .list li .title::before {
    background-size: .7rem auto;
    margin-right: .75rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  #contracts .list.menu .payment .bottom .list li .title::after {
    height: 7.5rem;
  }
  #contracts .list.menu .payment .bottom .list li .note {
    font-size: 1.2rem;
    text-align: left;
    margin-top: .25em;
    display: block;
    position: static;
  }
  #contracts .list.menu .payment .bottom .list li:hover .title {
    opacity: 1;
  }
  #contracts .list.menu .payment.open .top::before {
    background-image: url(/jushinryo/assets/images/common/icon_minus_wh.svg);
  }
  #contracts .list.menu .cas {
    padding: 1.8rem 1.6rem;
    width: 100%;
  }
  #contracts .list.menu .cas::before {
    height: 4.2rem;
  }
  #contracts .list.menu .cas .title {
    font-size: 1.6rem;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / 3;
  }
  #contracts .foldable_list .ctrl {
    border-top: 0.2rem solid #26ab63;
    margin-top: 3rem;
    position: relative;
  }
  #contracts .foldable_list .list_btn {
    color: #26ab63;
    border-color: #26ab63;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
  }
  #contracts .foldable_list .list_btn .icon {
    background-color: #26ab63;
  }
  #contracts .foldable_list.open .list_btn,
  #contracts .foldable_list.open .icon::before, #contracts .foldable_list.open .icon::after {
    background-color: #26ab63;
  }
}

/* ------------------------------------------------
 割引・免除・解約のお手続き
------------------------------------------------ */
#procedures {
  background-color: #feefec;
}

#procedures header .title {
  text-shadow: 0 0 10px #ea5a45;
}

#procedures header::after {
  background-image: url(/jushinryo/assets/images/top/procedures_tachan.png);
  margin-top: -2.6rem;
  margin-right: 17.3rem;
  width: 16.2rem;
  height: 19rem;
}

#procedures::before {
  background-color: #e4f5e6;
  background-image: url(/jushinryo/assets/images/top/procedures_bg.png);
}

#procedures .list.menu li {
  border-color: #f75f49;
}

#procedures .list.menu li.single {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

#procedures .list.menu li.single .title:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  min-height: 5.5rem;
}

#procedures .list.menu li.single .label {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.6rem;
  border-radius: .5rem;
  background-color: #f75f49;
  margin: 0 2em;
  padding: 0 1em;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #procedures::before {
    background-image: url(/jushinryo/assets/images/sp/top/procedures_bg.png);
  }
  #procedures header .title {
    text-shadow: 0 0 .6rem #ea5a45;
  }
  #procedures header::after {
    margin-top: -1.1rem;
    width: 10.5rem;
    height: 14.4rem;
  }
  #procedures .list.menu li.single {
    -ms-grid-rows: auto;
    grid-template-rows: auto;
  }
  #procedures .list.menu li.single .title {
    margin-bottom: .2em;
  }
  #procedures .list.menu li.single .title::after {
    display: none;
  }
  #procedures .list.menu li.single .label {
    font-size: 1.1rem;
    line-height: 1.8rem;
    margin: 0 0 0 .5rem;
    padding: 0 1em;
    vertical-align: middle;
  }
  #procedures .foldable_list .ctrl {
    border-top: 0.2rem solid #f75f49;
    margin-top: 3rem;
  }
  #procedures .foldable_list .list_btn {
    color: #f75f49;
    border-color: #f75f49;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  #procedures .foldable_list .list_btn .icon {
    background-color: #f75f49;
  }
  #procedures .foldable_list.open .list_btn,
  #procedures .foldable_list.open .icon::before, #procedures .foldable_list.open .icon::after {
    background-color: #f75f49;
  }
}

/* ------------------------------------------------
 事業所契約のお手続き
------------------------------------------------ */
#office {
  background-color: #e9ecf2;
}

#office header .title {
  text-shadow: 0 0 10px #5383dd;
}

#office header::after {
  background-image: url(/jushinryo/assets/images/top/office_usaji.png);
  margin-top: -1.6rem;
  margin-right: 25.3rem;
  width: 6.6rem;
  height: 16.5rem;
}

#office::before {
  background-color: #feefec;
  background-image: url(/jushinryo/assets/images/top/office_bg.png);
}

#office .list.menu li {
  border-color: #5587e3;
}

#office .list.menu li.single {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

#office .list.menu li.single .title:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  min-height: 5.5rem;
}

#office .list.menu li.single .label {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.6rem;
  border-radius: .5rem;
  background-color: #5587e3;
  margin: 0 2em;
  padding: 0 1em;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #office::before {
    background-image: url(/jushinryo/assets/images/sp/top/office_bg.png);
  }
  #office header .title {
    text-shadow: 0 0 .6rem #5383dd;
  }
  #office header::after {
    margin-top: 1rem;
	margin-right: 2rem !important;
    width: 4.5rem;
    height: 11.4rem;
  }
  #office .list.menu li.single {
    -ms-grid-rows: auto;
    grid-template-rows: auto;
  }
  #office .list.menu li.single .title {
    margin-bottom: .2em;
  }
  #office .list.menu li.single .title::after {
    display: none;
  }
  #office .list.menu li.single .label {
    font-size: 1.1rem;
    line-height: 1.8rem;
    margin: 0 0 0 .5rem;
    padding: 0 1em;
    vertical-align: middle;
  }
  #office .foldable_list .ctrl {
    border-top: 0.2rem solid #5587e3;
    margin-top: 3rem;
  }
  #office .foldable_list .list_btn {
    color: #5587e3;
    border-color: #5587e3;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  #office .foldable_list .list_btn .icon {
    background-color: #5587e3;
  }
  #office .foldable_list.open .list_btn,
  #office .foldable_list.open .icon::before, #office .foldable_list.open .icon::after {
    background-color: #5587e3;
  }
}

/* ------------------------------------------------
 さまざまな方法でお支払いいただけます
------------------------------------------------ */
#payments {
  background: url(/jushinryo/assets/images/top/payments_bg.png) 50% 0 repeat-x;
  background-size: 8rem auto;
  padding-top: 8.4rem;
  padding-bottom: 8rem;
}

#payments > .inner {
  width: 90rem;
}

#payments .frame {
  border: 4px solid #c9c9c9;
  border-radius: 1.5rem;
  padding: 4.5rem 3.5rem 3.5rem;
  position: relative;
}

#payments .frame::before {
  content: "";
  background: url(/jushinryo/assets/images/top/payments_paper.png) no-repeat;
  background-size: contain;
  width: 20.9rem;
  height: 16.1rem;
  position: absolute;
  left: -5.3rem;
  top: -2.4rem;
}

#payments .frame::after {
  content: "";
  background: url(/jushinryo/assets/images/top/payments_domo.png) no-repeat;
  background-size: contain;
  width: 12.2rem;
  height: 6.2rem;
  position: absolute;
  right: 2.3rem;
  top: -5.9rem;
}

#payments header {
  text-align: center;
}

#payments header .title {
  font-size: 3rem;
}

#payments header .title strong {
  color: #f75f49;
}

#payments header .message {
  font-size: 2rem;
  margin-top: 1.8rem;
}

#payments .body {
  border-top: 6px dotted #c9c9c9;
  margin-top: 3.5rem;
  padding-top: 1rem;
}

#payments .body .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#payments .body .list li {
  font-weight: bold;
  margin-top: 1.5rem;
}

#payments .body .list li:nth-child(2n-1) {
  width: 42%;
}

#payments .ex_links .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#payments .ex_links .list li {
  margin-top: 1rem;
}

#payments .ex_links .list li a {
  color: #0885c5;
}

#payments .ex_links .list li + li {
  margin-left: 2rem;
}

@media screen and (max-width: 768px) {
  #payments {
    background-size: 5rem auto;
    padding-top: 5.5rem;
    padding-bottom: 4.5rem;
  }
  #payments > .inner {
    width: auto;
  }
  #payments .frame {
    border-block-start-width: .3rem;
    border-radius: .75rem;
    padding: 3.5rem 1.5rem 2.5rem;
    position: relative;
  }
  #payments .frame::before {
    background-image: url(/jushinryo/assets/images/sp/top/payments_paper.png);
    width: 13.6rem;
    height: 11.1rem;
    left: -1.4rem;
    top: -4rem;
  }
  #payments .frame::after {
    width: 7.4rem;
    height: 3.7rem;
    right: 2.2rem;
    top: -3.6rem;
  }
  #payments header {
    text-align: center;
  }
  #payments header .title {
    font-size: 2.1rem;
    line-height: 1.5;
  }
  #payments header .message {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
  #payments .body {
    border-top-width: .4rem;
    margin-top: 1.9rem;
    padding-top: 0;
  }
  #payments .body .list {
    display: block;
  }
  #payments .body .list li {
    margin-top: 1.2rem;
  }
  #payments .body .list li:nth-child(2n-1) {
    width: 100%;
  }
  #payments .ex_links {
    margin-top: 1.5rem;
  }
  #payments .ex_links .list {
    display: block;
  }
  #payments .ex_links .list li {
    margin-top: .5rem;
  }
  #payments .ex_links .list li + li {
    margin-left: 0;
  }
}

/* ------------------------------------------------
 受信料額
------------------------------------------------ */
#fees {
  background: #ecf5fa url(/jushinryo/assets/images/top/fees_bg.png) 50% 0 repeat-x;
  background-size: 8rem auto;
  padding-top: 12rem;
  padding-bottom: 7rem;
}

#fees header {
  text-align: center;
  position: relative;
}

#fees header .title {
  font-size: 3.2rem;
}

#fees header .message {
  font-size: 2rem;
  margin-top: 5rem;
}

#fees header .message a {
  color: #0885c5;
}

#fees header::before {
  content: "";
  background: url(/jushinryo/assets/images/top/fees_img.png) no-repeat;
  background-size: contain;
  width: 19rem;
  height: 14.3rem;
  display: block;
  position: absolute;
  left: 50%;
  top: -17.7rem;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

#fees .body {
  margin-top: 3rem;
}

#fees .body .annotation {
  font-size: 1.6rem;
  margin-top: 1rem;
}

#fees .ex_links .list {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#fees .ex_links .list li {
  margin-top: 1rem;
}

#fees .ex_links .list li + li {
  margin-left: 2rem;
}

@media screen and (max-width: 768px) {
  #fees {
    background-size: 5rem auto;
    padding-top: 6rem;
    padding-bottom: 4.5rem;
  }
  #fees > .inner {
    width: auto;
  }
  #fees header {
    text-align: center;
  }
  #fees header .title {
    font-size: 2.1rem;
    line-height: 1.5;
  }
  #fees header .message {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.9;
    margin-top: 1rem;
  }
  #fees header::before {
    width: 10.8rem;
    height: 8.3rem;
    top: -9rem;
  }
  #fees .body {
    margin-top: 1.5rem;
  }
  #fees .body .annotation {
    font-size: 1.3rem;
    line-height: 1.5;
  }
  #fees .ex_links {
    margin-top: 1rem;
  }
  #fees .ex_links .list {
    display: block;
  }
  #fees .ex_links .list li {
    margin-top: .5rem;
  }
  #fees .ex_links .list li + li {
    margin-left: 0;
  }
}

/* ------------------------------------------------
 皆様の受信料で運営されています
------------------------------------------------ */
#publicbc {
  background: #fff url(/jushinryo/assets/images/top/publicbc_bg.png) 50% 0 repeat-x;
  background-size: 8rem auto;
  padding-top: 14rem;
  padding-bottom: 7rem;
}

#publicbc > .inner {
  max-width: 72rem;
}

#publicbc header {
  text-align: center;
  position: relative;
}

#publicbc header .title {
  font-size: 3.2rem;
}

#publicbc header::before {
  content: "";
  background: url(/jushinryo/assets/images/top/publicbc_img.png) no-repeat;
  background-size: contain;
  width: 21.6rem;
  height: 11.7rem;
  display: block;
  position: absolute;
  left: 50%;
  top: -15.4rem;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

#publicbc .body {
  margin-top: 4.5rem;
}

#publicbc .body .list li {
  margin-top: 1.5rem;
}

#publicbc .body .list li .title {
  font-size: 2.2rem;
  font-weight: bold;
}

#publicbc .body .list li .summary {
  font-size: 1.8rem;
  margin-top: .25rem;
}

@media screen and (max-width: 768px) {
  #publicbc {
    background-size: 5rem auto;
    padding-top: 7rem;
    padding-bottom: 4.5rem;
  }
  #publicbc > .inner {
    width: auto;
  }
  #publicbc header {
    text-align: center;
  }
  #publicbc header .title {
    font-size: 2.1rem;
    line-height: 1.5;
  }
  #publicbc header .message {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.9;
    margin-top: 1rem;
  }
  #publicbc header::before {
    width: 12.2rem;
    height: 6.6rem;
    top: -7.5rem;
  }
  #publicbc .body {
    margin-top: 3rem;
  }
  #publicbc .body .list li .title {
    font-size: 1.5rem;
  }
  #publicbc .body .list li .summary {
    font-size: 1.3rem;
  }
}

/* ------------------------------------------------
 その他
------------------------------------------------ */
#others {
  background: #f5f5f5 url(/jushinryo/assets/images/top/others_bg.png) 50% 0 repeat-x;
  background-size: 8rem auto;
  padding-top: 5rem;
}

#others > .inner {
  width: 90rem;
}

#others > .inner::after {
  content: "";
  background: url(/jushinryo/assets/images/top/members.jpg) no-repeat;
  background-size: contain;
  margin: 7rem auto 0;
  width: 64rem;
  height: 17.4rem;
  display: block;
}

#others .contacts .menu.list li {
  padding: 4.5rem 4rem;
  width: 44.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#others .contacts .menu.list li .icon {
  height: 5.8rem;
}

#others .contacts .menu.list li .icon img {
  width: auto;
  height: 100%;
}

#others .contacts .menu.list li .title {
  font-size: 2.2rem;
  text-align: left;
  margin-left: 2.5rem;
}

#others .contacts .menu.list li .title b {
  font-size: 120%;
}

#others .contacts .ex_links {
  margin-top: 2rem;
}

#others .contacts .ex_links li + li {
  margin-top: .5rem;
}

#others .contacts .ex_links li .summary {
  font-size: 1.6rem;
  margin-left: 3.7rem;
  margin-top: .5rem;
}

#others .information {
  border-radius: 1.5rem;
  background-color: #fff;
  margin-top: 5rem;
  padding: 2rem 4rem 3.5rem;
}

#others .information header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#others .information header::before {
  content: "";
  background: url(/jushinryo/assets/images/top/info_img.png) no-repeat;
  background-size: contain;
  width: 9.2rem;
  height: 6.6rem;
  display: block;
}

#others .information header .title {
  font-size: 2.8rem;
  margin-left: 2.2rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

#others .information header .btn {
  color: #0885c5;
  font-size: 1.6rem;
  font-weight: bold;
  border: 3px solid #0885c5;
  border-radius: 5rem;
  padding: 1.2rem 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

#others .information header .btn::after {
  content: "";
  background: #0885c5 url(/jushinryo/assets/images/common/link_arrow_wh.svg) 50% 50% no-repeat;
  background-size: .5rem auto;
  border-radius: 100%;
  margin-left: 1rem;
  width: 1.8rem;
  height: 1.8rem;
}

#others .information header .btn:hover {
  opacity: .8;
}

#others .information .body {
  border-top: 6px dotted #c9c9c9;
  margin-top: 1.2rem;
  padding-top: 3rem;
}

#others .information .body ul.info {
  margin-bottom: 3rem;
}

#others .information .body ul.info li {
  font-size: 1.8rem;
  margin-top: 1rem;
}

#others .information .body ul.info li:first-of-type {
  margin-top: 0;
}

#others .information .body ul.info li a {
  color: #0885c5;
}

#others .information .body .list li + li {
  margin-top: 1rem;
}

#others .information .body .list li .date {
  margin-right: 1rem;
  min-width: 5em;
  display: inline-block;
}

#others .information .body .list li a:hover * {
  text-decoration: underline;
}

#others .information + .links {
  margin-top: 5rem;
}

#others .links {
  border-top: 2px solid #ccc;
  margin-top: 3rem;
  padding-top: 3rem;
}

#others .links .title {
  font-size: 2rem;
}

#others .links .title + .list {
  margin-top: 1rem;
}

#others .links .list.basic li + li {
  margin-top: .5rem;
}

#others .links .list.basic li a {
  color: #0885c5;
}

#others .links .list.menu li {
  padding: 3.5rem 2rem 3.5rem 2.5rem;
  width: 44.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#others .links .list.menu li .icon img {
  width: 19rem;
  height: auto;
}

#others .links .list.menu li .title {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: left;
  line-height: 1.5;
  -ms-flex-preferred-size: 18.5rem;
  flex-basis: 18.5rem;
}

#others .links .list.menu li::before {
  display: none;
}

@media screen and (max-width: 768px) {
  #others {
    background-size: 5rem auto;
    padding-top: 3.5rem;
  }
  #others > .inner {
    width: auto;
  }
  #others > .inner::after {
    margin-top: 3.7rem;
    width: 100%;
    height: 9.5rem;
  }
  #others .contacts .menu.list li {
    padding: 2.5rem 0;
    width: 49.14286%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #others .contacts .menu.list li .icon {
    height: 4.1rem;
  }
  #others .contacts .menu.list li .title {
    font-size: 1.5rem;
    text-align: center;
    margin-left: 0;
    margin-top: 1rem;
  }
  #others .contacts .ex_links {
    margin-top: 1.5rem;
  }
  #others .contacts .ex_links li + li {
    margin-top: 1rem;
  }
  #others .contacts .ex_links li .summary {
    font-size: 1.3rem;
    margin-left: 2.4rem;
    margin-top: .25rem;
  }
  #others .information {
    border-radius: .75rem;
    margin-top: 4rem;
    padding: 1.8rem 2rem 2rem;
  }
  #others .information header::before {
    width: 5.1rem;
    height: 3.6rem;
  }
  #others .information header .title {
    font-size: 1.8rem;
    margin-left: 1rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  #others .information header .btn {
    font-size: 1.3rem;
    font-weight: bold;
    border-width: .2rem;
    padding: 1.2rem 2rem 1.2rem 2.4rem;
  }
  #others .information header .btn::after {
    background-size: .4rem auto;
    width: 1.3rem;
    height: 1.3rem;
  }
  #others .information header .btn:hover {
    opacity: 1;
  }
  #others .information .body {
    border-top-width: .4rem;
    margin-top: 1.5rem;
    padding-top: 2.2rem;
  }
  #others .information .body ul.info {
  margin-bottom: 2rem;
  }
  #others .information .body ul.info li {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
  #others .information .body .list li + li {
    margin-top: .5rem;
  }
  #others .information .body .list li .date {
    margin-right: 1rem;
    min-width: 5em;
    display: inline-block;
  }
  #others .information .body .list li a:hover * {
    text-decoration: underline;
  }
  #others .information + .links {
    margin-top: 3rem;
  }
  #others .links {
    border-top-width: 0;
    margin-top: 2rem;
    padding-top: 2rem;
    position: relative;
  }
  #others .links::before {
    content: "";
    background-color: #ccc;
    width: calc(100% + 2.5rem);
    height: .1rem;
    position: absolute;
    left: -1.25rem;
    top: 0;
  }
  #others .links .title {
    font-size: 1.5rem;
  }
  #others .links .list.basic li {
    font-size: 1.5rem;
  }
  #others .links .list.basic li::before {
    top: .25em;
  }
  #others .links .list.basic li + li {
    margin-top: .5rem;
  }
  #others .links .list.basic li a {
    color: #0885c5;
  }
  #others .links .list.menu li {
    padding: 1.8rem 1.8rem;
    width: 100%;
    min-height: 10rem;
  }
  #others .links .list.menu li .icon img {
    width: 13.5rem;
    height: auto;
  }
  #others .links .list.menu li .title {
    font-size: 1.3rem;
    -ms-flex-preferred-size: 16rem;
    flex-basis: 16rem;
  }
  #others .links .list.menu li::before {
    display: none;
  }
}
