@charset "UTF-8";
.c-contents__exlink a, .l-footer__link__list li a, .l-main .p-portal__faq__list li a {
  text-decoration: underline
}

.l-footer__copyright__text small, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, icenter, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline
}

body, img {
  line-height: 1
}

ol, ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none
}
/*
table {
  border-collapse: collapse;
  border-spacing: 0
}
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.3
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto
}

.c-icon {
  display: inline-block
}

.c-icon__arrow--red {
  width: 8px;
  height: 14px;
  background: url(/s/lp/portal/images/icon_arrow_red.svg) center center/8px 14px no-repeat
}

.c-icon__arrow--white {
  width: 8px;
  height: 14px;
  background: url(/s/lp/portal/images/icon_arrow_white.svg) center center/8px 14px no-repeat
}

.c-icon__key--red {
  width: 19px;
  height: 25px;
  background: url(/s/lp/portal/images/icon_key_red.svg) center center/19px 25px no-repeat
}

.c-icon__q--red {
  width: 22px;
  height: 22px;
  background: url(/s/lp/portal/images/icon_q_red.png) center center/22px 22px no-repeat
}

.c-icon__key--white {
  width: 19px;
  height: 25px;
  background: url(/s/lp/portal/images/icon_key_white.svg) center center/19px 25px no-repeat
}

.c-icon__info {
  width: 20px;
  height: 20px;
  background: url(/s/lp/portal/images/icon_info.svg) center center/20px 20px no-repeat
}

.c-icon__exlink {
  width: 12px;
  height: 12px;
  background: url(/s/lp/portal/images/icon_exlink.svg) center center/12px 12px no-repeat
}

.c-contents {
  max-width: 1180px;
  margin: 0 auto
}

.c-contents__title {
  text-align: center
}

.c-contents__title .en {
  display: inline-block;
  margin: 0 0 12px
}

.c-contents__title .jp {
  font-size: 13px
}

.c-contents__exlink, .l-main .p-portal__relation__attention {
  text-align: right
}

.c-contents__exlink a .c-icon__arrow--red {
  width: 6px;
  height: 10px;
  margin: 0 5px 0 0;
  background-size: 6px 10px
}

.c-contents__exlink a .c-icon__exlink {
  margin: 0 0 0 5px
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  background-color: transparent;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 14px;
  transition: .5s
}

.c-modal, .l-footer__bnr__slide .slick-dots li:first-child:last-child {
  display: none
}

.c-btn__white {
  border: 1px solid #e60012;
  color: #e60012
}

.c-btn__red {
  background-image: linear-gradient(to right, #ef6e00 0, #e30012 51%, #ef6e00 100%);
  background-size: 200% 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .4);
  color: #fff
}

.l-main .p-portal__plan__table__main tr:last-child td:nth-child(2) sup, .l-main .p-portal__plan__table__main tr:last-child td:nth-child(3) sup, a, body {
  color: #222
}

.c-btn .c-icon {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%)
}

.c-btn .c-icon[class*=c-icon__key] {
  left: 20px
}

.c-btn .c-icon[class*=c-icon__q] {
  left: 20px
}

.c-btn .c-icon[class*=c-icon__arrow] {
  right: 10px
}

.c-scrollview {
  opacity: 0;
  transform: translateY(50px);
  transition: .3s
}

.c-scrollview--done {
  opacity: 1;
  transform: translateY(0)
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  width: 100vw;
  height: 100vh
}

.c-modal__bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .6)
}

.c-modal--in {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 9999;
  border: 1px solid #efefef;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  box-sizing: border-box;
  background-color: #fff;
  transform: translateX(-50%)
}

.c-modal__close-btn--top {
  position: absolute;
  top: -16px;
  z-index: 1;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border: 1px solid #e60012;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer
}

.c-modal__close-btn--top:after, .c-modal__close-btn--top:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1px;
  background-color: #e60012;
  transform: translateX(-50%) rotate(45deg);
  content: ""
}

.c-modal__close-btn--top:after {
  transform: translateX(-50%) rotate(135deg)
}

.c-modal__close-btn--bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px auto 0;
  background-color: #fff;
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  color: #222;
  cursor: pointer
}

.c-modal__contents {
  overflow-y: scroll;
  max-height: calc(100vh - 180px)
}

.c-modal__contents__tag {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #e60012;
  border-radius: 2px;
  color: #e60012
}

.c-modal__contents__title {
  margin: 0 0 20px;
  font-weight: 700
}

.c-modal__contents__img {
  margin: 0 0 20px;
  border: 1px solid #ddd
}

.c-modal__contents__movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%
}

.c-modal__contents__movie iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%)
}

.c-modal__contents__logo {
  width: 144px;
  margin: 30px 0 20px
}

.c-modal__contents__list li {
  position: relative;
  line-height: 1.5
}

.c-modal__contents__list li:nth-child(n+2) {
  margin: 12px 0 0
}

.c-modal__contents__list li:before {
  position: absolute;
  top: .75em;
  left: 0;
  background-color: #e60012;
  border-radius: 50%;
  transform: translateY(-50%);
  content: ""
}

.c-modal__contents__list li span {
  color: #e60012;
  font-weight: 700
}

.c-modal__contents__point {
  position: relative;
  margin: 40px 0 0;
  padding: 24px 20px 16px;
  border: 1px solid #e60012;
  border-radius: 4px
}

.c-modal__contents__point__title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -13px;
  left: 20px;
  width: 110px;
  height: 26px;
  background-color: #e60012;
  border-radius: 13px;
  color: #fff;
  font-size: 14px;
  letter-spacing: .05em
}

.c-modal__contents__annotation {
  margin: 22px 0 0
}

.c-modal__contents__annotation li {
  position: relative;
  padding: 0 0 0 20px;
  line-height: 1.8461538462;
  font-size: 13px
}

.c-modal__contents__annotation li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※"
}

@keyframes mv {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes mv_btn {
  0% {
    opacity: 0;
    transform: translateY(15px)
  }
  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

:root .l-main .p-portal__service__ba__flex__content__tag, :root .l-main .p-portal__service__list__content__tag, _:future {
  align-items: flex-start;
  height: auto;
  padding: 4px 10px 2px
}

html {
  font-size: 62.5%
}

body {
  position: relative;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif
}

body.is-modal {
  overflow: hidden;
  width: 100vw;
  height: 100vh
}

a {
  text-decoration: none
}

sup {
  position: relative;
  top: -.3em;
  font-size: .7em
}

.l-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  box-sizing: border-box
}

.l-footer__link, .l-main .p-portal__news, .l-main .p-portal__plan__table__main tr th, .l-main .p-portal__service {
  background-color: #f7f7f7
}

@media (min-width:768px) {
  .u-db-pc {
    display: block
  }
  .u-db-sp {
    display: none
  }
  .c-contents {
    padding: 0 20px
  }
  .c-contents__title {
    margin: 0 0 40px
  }
  .c-contents__exlink a:hover {
    text-decoration: none
  }
  .c-modal--in {
    width: 700px;
    max-height: calc(100vh - 120px);
    margin: 60px 0 0
  }
  .c-modal__close-btn--top {
    right: -16px
  }
  .c-modal__close-btn--bottom {
    width: 148px;
    height: 40px;
    font-size: 16px
  }
  .c-modal__close-btn--bottom:hover {
    background-color: #ddd
  }
  .c-modal__contents {
    padding: 30px 60px
  }
  .c-modal__contents__tag {
    height: 24px;
    margin: 0 0 10px;
    font-size: 12px
  }
  .c-modal__contents__title {
    font-size: 25px
  }
  .c-modal__contents__list li {
    padding: 0 0 0 22px
  }
  .c-modal__contents__list li:before {
    width: 12px;
    height: 12px
  }
  body {
    min-width: 1080px;
    margin: 66px 0 0;
    font-size: 16px
  }
  .l-header {
    height: 66px;
    padding: 0 20px
  }
  .l-header__btn-area .c-btn {
    height: 42px;
    padding: 0 20px 0 50px
  }
  .l-header__btn-area .c-btn__white:hover {
    opacity: .6
  }
  .l-header__btn-area .c-btn__red:hover {
    opacity: .7
  }
}

@media (max-width:767px) {
  .u-db-pc {
    display: none
  }
  .u-db-sp {
    display: block
  }
  .c-contents {
    padding: 0 10px
  }
  .c-contents__title {
    margin: 0 0 30px
  }
  .c-contents__exlink a {
    font-size: 14px
  }
  .c-modal--in {
    width: calc(100% - 20px);
    max-height: calc(100vh - 40px);
    margin: 20px 0 0
  }
  .c-modal__close-btn--top {
    right: -5px
  }
  .c-modal__close-btn--bottom {
    width: 136px;
    height: 36px;
    font-size: 12px
  }
  .c-modal__close-btn--bottom:hover {
    background-color: #ddd
  }
  .c-modal__contents {
    padding: 30px 20px
  }
  .c-modal__contents__tag {
    height: 22px;
    margin: 0 0 12px;
    font-size: 10px
  }
  .c-modal__contents__title {
    font-size: 16px
  }
  .c-modal__contents__list li {
    padding: 0 0 0 20px;
    font-size: 14px
  }
  .c-modal__contents__list li:before {
    width: 10px;
    height: 10px
  }
  body {
    margin: 60px 0 0;
    font-size: 12px
  }
  .l-header {
    height: 60px;
    padding: 0 10px
  }
  .l-header__logo {
    width: 75px
  }
}

.l-header__btn-area {
  display: flex
}

.l-header__btn-area .c-btn {
  box-shadow: none;
  font-weight: 700
}

.l-header__btn-area .c-btn:first-child {
  margin: 0 5px 0 0
}

.l-header__btn-area .c-btn:last-child {
  margin: 0 0 0 5px
}

@media (max-width:767px) {
  .l-header__btn-area .c-btn {
    height: 40px;
    padding: 0 10px;
    font-size: 6px;
    line-height: 1.4;
    text-align: center
  }
  .l-header__btn-area .c-btn .c-icon {
    display: none
  }
}

.l-main .p-portal .c-btn__red:before {
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: 1;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background-color: #fff;
  transform: scale(0, 1);
  transform-origin: left;
  transition: .5s;
  content: ""
}

.l-main .p-portal .c-btn__red p {
  position: relative;
  z-index: 2
}

.l-main .p-portal__news .c-contents {
  box-sizing: border-box
}

.l-main .p-portal__news__title {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  font-weight: 700
}

.l-main .p-portal__news__title .c-icon {
  margin: 0 10px 0 0
}

.l-main .p-portal__news__list li {
  display: flex;
  line-height: 1.3
}

.l-main .p-portal__news__list li:nth-child(n+2) {
  margin: 8px 0 0
}

.l-main .p-portal__news__list li time {
  flex-shrink: 0
}

.l-main .p-portal__news__list li a {
  margin: 0 0 0 10px;
  text-decoration: underline
}

.l-footer__bnr__slide, .l-main .p-portal__mv {
  position: relative
}

.l-main .p-portal__mv__text-area {
  opacity: 0;
  text-align: center;
  animation: .8s linear .5s forwards mv
}

.l-main .p-portal__mv__text-area__copy {
  margin: 0 0 30px;
  color: #e60012;
  font-weight: 700;
  letter-spacing: .1em
}

.l-main .p-portal__mv__text-area__text {
  margin: 0 0 10px
}

.l-main .p-portal__entry__btn .c-btn, .l-main .p-portal__mv__text-area__btn .c-btn {
  opacity: 0;
  margin: 0 auto;
  line-height: 1.4;
  text-align: center;
  animation: .3s linear 1.3s forwards mv_btn
}

.l-main .p-portal__entry__btn .c-btn .strong, .l-main .p-portal__mv__text-area__btn .c-btn .strong, .l-main .p-portal__relation__flex__content__text {
  font-weight: 700
}

@media (min-width:768px) {
  .l-main .p-portal .c-btn__red:hover {
    color: #e60012
  }
  .l-main .p-portal .c-btn__red:hover:before {
    transform: scale(1)
  }
  .l-main .p-portal .c-btn__red:hover [class*=c-icon__key] {
    background: url(/s/lp/portal/images/icon_key_red.svg) center center no-repeat
  }
  .l-main .p-portal .c-btn__red:hover [class*=c-icon__arrow] {
    background: url(/s/lp/portal/images/icon_arrow_red.svg) center center no-repeat
  }
  .l-main .p-portal__news .c-contents {
    display: flex;
    align-items: flex-start;
    min-height: 50px;
    padding: 15px 20px
  }
  .l-main .p-portal__news__title {
    margin: 0 30px 0 0;
    font-size: 15px
  }
  .l-main .p-portal__news__list li a {
    font-size: 15px
  }
  .l-main .p-portal__news__list li a:hover {
    text-decoration: none
  }
  .l-main .p-portal__mv {
    height: calc(100vh - 66px - 50px);
    min-height: 560px;
    max-height: 700px;
    background: url(/s/lp/portal/images/mv.jpg) center/cover no-repeat
  }
  .l-main .p-portal__mv__text-area {
    position: absolute;
    top: 0;
    right: 30px;
    width: 518px;
    height: 100%;
    background-color: rgba(255, 255, 255, .85)
  }
  .l-main .p-portal__mv__text-area--in {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%)
  }
  .l-main .p-portal__mv__text-area__copy {
    font-size: 50px;
    line-height: 1.3
  }
  .l-main .p-portal__mv__text-area__text {
    font-size: 17px;
    line-height: 1.5294117647
  }
  .l-main .p-portal__mv__text-area__logo {
    margin: 0 0 32px
  }
  .l-main .p-portal__entry__btn .c-btn, .l-main .p-portal__mv__text-area__btn .c-btn {
    width: 390px;
    height: 82px
  }
  .l-main .p-portal__entry__btn .c-btn .strong, .l-main .p-portal__mv__text-area__btn .c-btn .strong {
    font-size: 20px
  }
  .l-main .p-portal__relation {
    margin: 116px 0 -100px
  }
}

@media (max-width:767px) {
  .l-main .p-portal__news .c-contents {
    padding: 10px
  }
  .l-main .p-portal__news__title {
    margin: 0 0 10px
  }
  .l-main .p-portal__news__title .c-icon {
    width: 14px;
    height: 14px;
    background-size: 14px 14px
  }
  .l-main .p-portal__mv {
    margin: 0 0 40px
  }
  .l-main .p-portal__mv:before {
    display: block;
    height: 240px;
    background: url(/s/lp/portal/images/mv_sp.jpg) top center/cover no-repeat;
    content: ""
  }
  .l-main .p-portal__mv__text-area {
    margin: 30px 0 0
  }
  .l-main .p-portal__mv__text-area__copy {
    font-size: 24px;
    line-height: 1.4166666667
  }
  .l-main .p-portal__mv__text-area__text {
    font-size: 13px;
    line-height: 1.6153846154
  }
  .l-main .p-portal__mv__text-area__logo {
    margin: 0 0 15px
  }
  .l-main .p-portal__entry__btn .c-btn, .l-main .p-portal__mv__text-area__btn .c-btn {
    width: 84%;
    max-width: 315px;
    height: 60px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .4)
  }
  .l-main .p-portal__entry__btn .c-btn .strong, .l-main .p-portal__mv__text-area__btn .c-btn .strong {
    font-size: 15px
  }
  .l-main .p-portal__relation {
    padding: 56px 0 0;
    background-color: #f7f7f7
  }
}

@media (max-width:320px) {
  .l-header__logo {
    width: 0
  }
  .l-header__btn-area .c-btn {
    padding: 0 5px;
    font-size: 10px
  }
  .l-main .p-portal__entry__btn .c-btn, .l-main .p-portal__mv__text-area__btn .c-btn {
    font-size: 12px
  }
  .l-main .p-portal__entry__btn .c-btn .strong, .l-main .p-portal__mv__text-area__btn .c-btn .strong {
    font-size: 13px
  }
}

.l-main .p-portal__faq--in, .l-main .p-portal__relation--in {
  position: relative;
  border: 2px solid #e60012;
  border-radius: 4px;
  background-color: #fff
}

.l-main .p-portal__faq__title, .l-main .p-portal__relation__title {
  position: absolute;
  top: 0;
  left: 50%;
  color: #e60012;
  font-weight: 700;
  transform: translate(-50%, -50%)
}

.l-main .p-portal__relation__box--in {
  background-color: #fef0f1;
  box-sizing: border-box
}

.l-main .p-portal__relation__box__title {
  display: flex;
  color: #e60012;
  font-weight: 700
}

.l-main .p-portal__relation__box__title .num {
  margin: 0 10px 0 0
}

.l-main .p-portal__relation__box__list li {
  position: relative;
  margin: 0 0 8px;
  letter-spacing: .05em;
  line-height: 1.2
}

.l-main .p-portal__relation__box__list li:last-child {
  margin: 0
}

.l-main .p-portal__relation__box__list li:before {
  position: absolute;
  top: .55em;
  left: 0;
  background-color: #e60012;
  border-radius: 50%;
  transform: translateY(-50%);
  content: ""
}

.l-main .p-portal__service__ba__list li, .l-main .p-portal__service__list li {
  display: flex;
  position: relative;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  box-sizing: border-box
}

.l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__ba__list li:before, .l-main .p-portal__service__list li:after, .l-main .p-portal__service__list li:before {
  position: absolute;
  top: 50%;
  height: 1px;
  background-color: #222;
  content: ""
}

.l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__list li:after {
  transform: rotate(90deg)
}

.l-main .p-portal__service__list__img {
  flex-shrink: 0
}

.l-main .p-portal__service__ba__flex__content__tag, .l-main .p-portal__service__list__content__tag {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #e60012;
  border-radius: 2px;
  box-sizing: border-box;
  color: #e60012
}

.l-main .p-portal__service__ba__flex__content__title, .l-main .p-portal__service__list__content__title {
  font-weight: 700
}

.l-main .p-portal__service__ba {
  margin: 10px 0 0;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .2)
}

.l-main .p-portal__plan__annotation, .l-main .p-portal__plan__table, .l-main .p-portal__service__ba__flex, .l-main .p-portal__service__ba__list {
  margin: 0 0 30px
}

@media (min-width:768px) {
  .l-main .p-portal__faq--in, .l-main .p-portal__relation--in {
    padding: 60px 55px 30px
  }
  .l-main .p-portal__faq__title, .l-main .p-portal__relation__title {
    font-size: 20px
  }
  .l-main .p-portal__faq__title span, .l-main .p-portal__relation__title span {
    padding: 0 30px;
    background-color: #fff
  }
  .l-main .p-portal__relation__flex {
    display: flex;
    justify-content: center;
    margin: 0 0 30px
  }
  .l-main .p-portal__relation__flex__img {
    flex-shrink: 0;
    width: 320px
  }
  .l-main .p-portal__relation__flex__content {
    margin: 0 0 0 10px
  }
  .l-main .p-portal__relation__flex__content__logo {
    width: 220px;
    margin: 0 0 15px
  }
  .l-main .p-portal__relation__flex__content__text {
    font-size: 24px;
    line-height: 1.5
  }
  .l-main .p-portal__relation__box {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px
  }
  .l-main .p-portal__relation__box--in {
    width: calc(25% - 8px);
    padding: 20px
  }
  .l-main .p-portal__relation__box__title {
    margin: 0 0 20px;
    justify-content: center;
    font-size: 20px
  }
  .l-main .p-portal__relation__box__list li {
    padding: 0 0 0 14px;
    font-size: 15px
  }
  .l-main .p-portal__relation__box__list li:before {
    width: 8px;
    height: 8px
  }
  .l-main .p-portal__relation__attention {
    font-size: 12px
  }
  .l-main .p-portal__service {
    padding: 200px 0 100px
  }
  .l-main .p-portal__service__ba__list, .l-main .p-portal__service__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
  .l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__ba__list li:before, .l-main .p-portal__service__list li:after, .l-main .p-portal__service__list li:before {
    right: 20px;
    width: 16px
  }
  .l-main .p-portal__service__ba__list li, .l-main .p-portal__service__list li {
    width: calc(50% - 5px);
    padding: 10px 36px 10px 10px;
    border: 2px solid transparent
  }
  .l-main .p-portal__service__ba__list li:nth-child(n+3), .l-main .p-portal__service__list li:nth-child(n+3) {
    margin: 10px 0 0
  }
  .l-main .p-portal__service__ba__list li:hover, .l-main .p-portal__service__list li:hover {
    cursor: pointer;
    border-color: #e60012
  }
  .l-main .p-portal__service__ba__list li:hover:after, .l-main .p-portal__service__ba__list li:hover:before, .l-main .p-portal__service__list li:hover:after, .l-main .p-portal__service__list li:hover:before {
    background-color: #e60012
  }
  .l-main .p-portal__service__ba__list li:hover .p-portal__service__list__img img, .l-main .p-portal__service__list li:hover .p-portal__service__list__img img {
    transform: scale(1.1)
  }
  .l-main .p-portal__service__list__img {
    overflow: hidden;
    width: 180px;
    margin: 0 20px 0 0
  }
  .l-main .p-portal__service__list__img img {
    transition: .3s
  }
  .l-main .p-portal__service__ba__flex__content__tag, .l-main .p-portal__service__list__content__tag {
    height: 24px;
    margin: 0 0 12px;
    font-size: 12px
  }
  .l-main .p-portal__service__ba__flex__content__title, .l-main .p-portal__service__list__content__title {
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.75
  }
  .l-main .p-portal__service__ba__flex__content__text, .l-main .p-portal__service__list__content__text {
    font-size: 18px;
    line-height: 1.5555555556
  }
  .l-main .p-portal__service__ba {
    padding: 40px 35px 30px
  }
  .l-main .p-portal__service__ba__flex {
    display: flex;
    align-items: center
  }
  .l-main .p-portal__service__ba__flex__img {
    flex-shrink: 0;
    width: 220px;
    margin: 0 80px 0 0
  }
  .l-main .p-portal__service__ba__flex__content__text {
    font-size: 16px
  }
}

@media (max-width:767px) {
  .l-main .p-portal__faq--in, .l-main .p-portal__relation--in {
    padding: 38px 20px 20px
  }
  .l-main .p-portal__faq__title, .l-main .p-portal__relation__title {
    width: 200px;
    font-size: 18px
  }
  .l-main .p-portal__faq__title span, .l-main .p-portal__relation__title span {
    display: block;
    background: linear-gradient(to top, #fff 50%, #f7f7f7 50%);
    text-align: center
  }
  .l-main .p-portal__relation__flex__img {
    width: 240px;
    margin: 0 auto 15PX
  }
  .l-main .p-portal__relation__flex__content__logo {
    width: 150px;
    margin: 0 auto 20px
  }
  .l-main .p-portal__relation__flex__content__text {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.8461538462;
    text-align: center
  }
  .l-main .p-portal__relation__box {
    margin: 0 0 10px
  }
  .l-main .p-portal__relation__box--in {
    padding: 15px 20px
  }
  .l-main .p-portal__relation__box--in:nth-child(n+2) {
    margin: 8px 0 0
  }
  .l-main .p-portal__relation__box__title {
    margin: 0 0 10px;
    font-size: 15px
  }
  .l-main .p-portal__relation__box__title .num {
    height: 13px;
    line-height: 0
  }
  .l-main .p-portal__relation__box__title .num img {
    max-height: 100%
  }
  .l-main .p-portal__relation__box__list li {
    padding: 0 0 0 12px;
    font-size: 14px
  }
  .l-main .p-portal__relation__box__list li:before {
    width: 6px;
    height: 6px
  }
  .l-main .p-portal__relation__attention {
    font-size: 10px
  }
  .l-main .p-portal__service {
    padding: 40px 0
  }
  .l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__ba__list li:before, .l-main .p-portal__service__list li:after, .l-main .p-portal__service__list li:before {
    right: 10px;
    width: 10px
  }
  .l-main .p-portal__service__ba__list li, .l-main .p-portal__service__list li {
    padding: 10px 30px 10px 10px
  }
  .l-main .p-portal__service__ba__list li:nth-child(n+2), .l-main .p-portal__service__list li:nth-child(n+2) {
    margin: 5px 0 0
  }
  .l-main .p-portal__service__list__img {
    width: 100px;
    margin: 0 10px 0 0
  }
  .l-main .p-portal__service__ba__flex__content__tag, .l-main .p-portal__service__list__content__tag {
    height: 18px;
    margin: 0 0 6px;
    font-size: 10px
  }
  .l-main .p-portal__service__ba__flex__content__title, .l-main .p-portal__service__list__content__title {
    margin: 0 0 4px;
    font-size: 16px;
    line-height: 1.75
  }
  .l-main .p-portal__service__ba__flex__content__text, .l-main .p-portal__service__list__content__text {
    line-height: 1.6666666667
  }
  .l-main .p-portal__service__ba {
    padding: 20px 20px 30px
  }
  .l-main .p-portal__service__ba__flex__img {
    width: 220px;
    margin: 0 0 20PX
  }
}

.l-main .p-portal__service__ba__flex__content__tag {
  height: 22px
}

.l-main .p-portal__service__ba__list li {
  align-items: center
}

.l-main .p-portal__service__ba__list__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.l-main .p-portal__service__ba__list__text {
  font-weight: 700;
  line-height: 1.2
}

.l-main .p-portal__plan__table__head {
  display: flex
}

.l-main .p-portal__plan__table__head__item {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-right: 1px solid #ddd;
  border-radius: 4px 4px 0 0;
  font-weight: 700
}
.l-main .p-portal__plan__table__head__item2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-right: 1px solid #ddd;
  border-radius: 4px 4px 0 0;
  font-weight: 700
}
.l-main .p-portal__plan__table__head__item3 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-right: 1px solid #ddd;
  border-radius: 4px 4px 0 0;
  font-weight: 700
}


@media (min-width:768px) {
  .l-main .p-portal__service__ba__list li {
    width: calc(25% - 4px);
    height: 80px
  }
  .l-main .p-portal__service__ba__list li:nth-child(n+3) {
    margin: 0
  }
  .l-main .p-portal__service__ba__list li:nth-child(n+5) {
    margin: 10px 0 0
  }
  .l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__ba__list li:before {
    width: 12px
  }
  .l-main .p-portal__service__ba__list__icon {
    left: 15px
  }
  .l-main .p-portal__service__ba__list__text {
    padding: 0 0 0 62px
  }
  .l-main .p-portal__plan {
    margin: 100px 0
  }
  .l-main .p-portal__plan__table__head__item {
    width: 36%;
    height: 68px;
    font-size: 18px
  }
  .l-main .p-portal__plan__table__head__item:first-child {
    width: 28%
  }

  .l-main .p-portal__plan__table__head__item2 {
    width: 36%;
    height: 68px;
    font-size: 18px
  }
  .l-main .p-portal__plan__table__head__item2:first-child {
    width: 64%
  }
  .l-main .p-portal__plan__table__head__item3 {
    width: 36%;
    height: 68px;
    font-size: 18px
  }
  .l-main .p-portal__plan__table__head__item3:first-child {
    width: 64%
  }


}

@media (max-width:767px) {
  .l-main .p-portal__service__ba__list li {
    height: 52px
  }
  .l-main .p-portal__service__ba__list li:after, .l-main .p-portal__service__ba__list li:before {
    width: 8px
  }
  .l-main .p-portal__service__ba__list__icon {
    left: 20px
  }
  .l-main .p-portal__service__ba__list__icon img {
    max-height: 16px
  }
  .l-main .p-portal__service__ba__list__text {
    padding: 0 0 0 52px;
    font-size: 14px
  }
  .l-main .p-portal__plan {
    margin: 40px 0
  }
  .l-main .p-portal__plan__table__head__item {
    width: 30%;
    height: 58px;
    font-size: 12px
  }
  .l-main .p-portal__plan__table__head__item2 {
    width: 30%;
    height: 58px;
    font-size: 12px
  }
  .l-main .p-portal__plan__table__head__item3 {
    width: 30%;
    height: 58px;
    font-size: 12px
  }
}

.l-main .p-portal__plan__table__head__item:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: ""
}
.l-main .p-portal__plan__table__head__item2:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: ""
}
.l-main .p-portal__plan__table__head__item3:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: ""
}

.l-main .p-portal__plan__table__head__item:first-child {
  border-left: 1px solid #ddd
}
.l-main .p-portal__plan__table__head__item2:first-child {
  border-left: 1px solid #ddd
}
.l-main .p-portal__plan__table__head__item3:first-child {
  border-left: 1px solid #ddd
}

.l-footer, .l-main .p-portal__entry, .l-main .p-portal__entry__btn .c-btn {
  width: 100%
}

.l-main .p-portal__plan__table__head__item:first-child:before {
  background-color: #b4b4b4
}

.l-main .p-portal__plan__table__head__item:nth-child(2) {
  color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item:nth-child(2):before {
  background-color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item:nth-child(3) {
  color: #e60012
}

.l-main .p-portal__plan__table__head__item:nth-child(3):before {
  background-color: #e60012
}


.l-main .p-portal__plan__table__head__item2:first-child:before {
  background-color: #b4b4b4
}
.l-main .p-portal__plan__table__head__item3:first-child:before {
  background-color: #b4b4b4
}

.l-main .p-portal__plan__table__head__item2:nth-child(3) {
  color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item2:nth-child(3):before {
  background-color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item2:nth-child(2) {
  color: #e60012
}

.l-main .p-portal__plan__table__head__item2:nth-child(2):before {
  background-color: #e60012
}

.l-main .p-portal__plan__table__head__item3:nth-child(2) {
  color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item3:nth-child(2):before {
  background-color: #fd7b4c
}

.l-main .p-portal__plan__table__head__item3:nth-child(3) {
  color: #e60012
}

.l-main .p-portal__plan__table__head__item3:nth-child(3):before {
  background-color: #e60012
}




.l-main .p-portal__plan__table__main {
  width: 100%;
  border: 1px solid #ddd
}

.l-main .p-portal__plan__table__main tr {
  border-bottom: 1px solid #ddd
}

.l-main .p-portal__plan__table__main tr td, .l-main .p-portal__plan__table__main tr th {
  vertical-align: middle;
  border-right: 1px solid #ddd;
  box-sizing: border-box;
  font-size: 18px/*;
  text-align: center*/
}

@media (min-width:768px) {
  .l-main .p-portal__plan__table__main tr td, .l-main .p-portal__plan__table__main tr th {
    height: 56px;
    font-size: 18px
  }
/*
  .l-main .p-portal__plan__table__main tr td:first-child, .l-main .p-portal__plan__table__main tr th:first-child {
    width: 28%;
    padding: 0 30px;
    font-size: 16px
  }
*/
  .l-main .p-portal__plan__table__main .Ttitle {
    width: 28%;
    padding: 0 30px;
    font-size: 16px
  }
  .l-main .p-portal__plan__table__main .Tdetail {
    text-align: center
  }

}

@media (max-width:767px) {
  .l-main .p-portal__plan__table__head__item:first-child {
    width: 40%
  }
  .l-main .p-portal__plan__table__head__item2:first-child {
    width: 70%
  }
  .l-main .p-portal__plan__table__head__item3:first-child {
    width: 70%
  }
  .l-main .p-portal__plan__table__main tr td, .l-main .p-portal__plan__table__main tr th {
    height: 42px;
    font-size: 14px
  }
}

.l-main .p-portal__plan__table__main tr td:first-child, .l-main .p-portal__plan__table__main tr th:first-child {
  text-align: left
}

@media (max-width:767px) {
/*
  .l-main .p-portal__plan__table__main tr td:first-child, .l-main .p-portal__plan__table__main tr th:first-child {
    width: 40%;
    padding: 0 10px;
    font-size: 12px
  }
*/  
  .l-main .p-portal__plan__table__main.Ttitle {
    width: 40%;
    padding: 0 10px;
    font-size: 12px
  }
  .l-main .p-portal__plan__table__main.Tdetail {
    text-align: center
  }
}

.l-main .p-portal__plan__table__main tr td:nth-child(3), .l-main .p-portal__plan__table__main tr th:nth-child(3) {
  border-right: none
}

@media (min-width:768px) {
  .l-main .p-portal__plan__table__main tr td:nth-child(2), .l-main .p-portal__plan__table__main tr td:nth-child(3), .l-main .p-portal__plan__table__main tr th:nth-child(2), .l-main .p-portal__plan__table__main tr th:nth-child(3) {
    width: 36%
  }
  .l-main .p-portal__plan__table__main tr td.indent {
    padding-left: 70px
  }
  .l-main .p-portal__plan__table__main tr td .mark {
    width: 24px;
    height: 24px
  }
}

@media (max-width:767px) {
  .l-main .p-portal__plan__table__main tr td:nth-child(2), .l-main .p-portal__plan__table__main tr td:nth-child(3), .l-main .p-portal__plan__table__main tr th:nth-child(2), .l-main .p-portal__plan__table__main tr th:nth-child(3) {
    width: 30%
  }
  .l-main .p-portal__plan__table__main tr td.indent {
    padding-left: 20px
  }
}

.l-main .p-portal__plan__table__main tr td .mark {
  display: inline-block;
  border-radius: 50%
}

.l-main .p-portal__plan__table__main tr td .mark--cross {
  background: url(/s/lp/portal/images/icon_cross.svg) center center no-repeat #c3c3c3
}

@media (min-width:768px) {
  .l-main .p-portal__plan__table__main tr td .mark--cross {
    background-size: 9px 9px
  }
}

@media (max-width:767px) {
  .l-main .p-portal__plan__table__main tr td .mark {
    width: 20px;
    height: 20px
  }
  .l-main .p-portal__plan__table__main tr td .mark--cross {
    background-size: 8px 8px
  }
}

.l-main .p-portal__plan__table__main tr td .mark--check {
  background: url(/s/lp/portal/images/icon_check.svg) center center no-repeat
}

.l-main .p-portal__plan__table__main tr td:nth-child(2) .mark--check {
  background-color: #fd7b4c
}

.l-main .p-portal__plan__table__main tr td:nth-child(3) .mark--check {
  background-color: #e60012
}

.l-main .p-portal__plan__table__main tr:last-child {
  border-bottom: none
}

@media (min-width:768px) {
  .l-main .p-portal__plan__table__main tr td .mark--check {
    background-size: 13px 9px
  }
  .l-main .p-portal__plan__table__main tr:last-child {
    height: 84px
  }
/*
  .l-main .p-portal__plan__table__main tr:last-child td:first-child .small {
    font-size: 12px
  }
*/  
  .l-main .p-portal__plan__table__main .small {
    font-size: 12px
  }
  .l-main .p-portal__plan__table__main tr:last-child td:nth-child(2) .num, .l-main .p-portal__plan__table__main tr:last-child td:nth-child(3) .num {
    font-size: 30px
  }
  .l-main .p-portal__plan__annotation li {
    font-size: 15px
  }
}

@media (max-width:767px) {
  .l-main .p-portal__plan__table__main tr td .mark--check {
    background-size: 11px 7px
  }
  .l-main .p-portal__plan__table__main tr:last-child {
    height: 60px
  }
  .l-main .p-portal__plan__table__main tr:last-child td:nth-child(2) .num, .l-main .p-portal__plan__table__main tr:last-child td:nth-child(3) .num {
    font-size: 16px
  }
  .l-main .p-portal__plan__annotation li {
    line-height: 1.6666666667
  }
}

@media (max-width:360px) {
  .l-main .p-portal__plan__table__head__item {
    font-size: 10px
  }
  .l-main .p-portal__plan__table__main tr td, .l-main .p-portal__plan__table__main tr th {
    font-size: 12px
  }
  .l-main .p-portal__plan__table__main tr td:first-child, .l-main .p-portal__plan__table__main tr th:first-child {
    padding: 0 5px;
    font-size: 10px
  }
  .l-main .p-portal__plan__table__main tr td.indent {
    padding-left: 16px
  }
  .l-main .p-portal__plan__table__main tr:last-child td:nth-child(2) .num, .l-main .p-portal__plan__table__main tr:last-child td:nth-child(3) .num {
    font-size: 14px
  }
}
/*
.l-main .p-portal__plan__table__main tr:last-child td:nth-child(2) {
  color: #fd7b4c
}

.l-main .p-portal__plan__table__main tr:last-child td:nth-child(3) {
  color: #e60012
}
*/
.l-main .p-portal__plan__table__main .Color_O {
  color: #fd7b4c
}

.l-main .p-portal__plan__table__main .Color_R {
  color: #e60012
}



@media (min-width:768px) {
  .l-main .p-portal__plan__annotation li:nth-child(n+2) {
    margin: 12px 0 0
  }
  .l-main .p-portal__entry {
    padding: 50px 0;
    background: url(/s/lp/portal/images/bg_entry.jpg) center center/cover no-repeat
  }
}

@media (max-width:767px) {
  .l-main .p-portal__plan__annotation li:nth-child(n+2) {
    margin: 8px 0 0
  }
  .l-main .p-portal__entry {
    padding: 40px 0;
    background: url(/s/lp/portal/images/bg_entry_sp.jpg) center center/cover no-repeat
  }
}

.l-main .p-portal__entry--in {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .4)
}

@media (min-width:768px) {
  .l-main .p-portal__entry--in {
    display: flex;
    align-items: center;
    padding: 50px 60px
  }
  .l-main .p-portal__entry__logo {
    flex-shrink: 0;
    width: 240px;
    margin: 0 54px 0 0
  }
  .l-main .p-portal__entry__text {
    flex-grow: 0;
    max-width: 256px;
    margin: 0 40px 0 0;
    line-height: 1.5
  }
  .l-main .p-portal__entry__btn {
    flex-grow: 1;
    min-width: 390px
  }
  .l-main .p-portal__entry__btn .c-btn {
    margin: 0
  }
  .l-main .p-portal__faq {
    margin: 100px 0
  }
}

@media (max-width:767px) {
  .l-main .p-portal__entry--in {
    padding: 20px
  }
  .l-main .p-portal__entry__logo {
    width: 200px;
    margin: 0 auto 20px
  }
  .l-main .p-portal__entry__text {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.4285714286;
    text-align: center
  }
  .l-main .p-portal__faq {
    margin: 40px 0
  }
  .l-main .p-portal__faq .c-contents__title {
    margin: 0 0 46px
  }
}

.l-main .p-portal__faq__title span {
  background: #fff
}

.l-main .p-portal__faq__list li a {
  display: inline-block;
  position: relative;
  padding: 0 18px 0 0
}

.l-main .p-portal__faq__list li a:after {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 0 0 4px;
  background: url(/s/lp/portal/images/icon_exlink.svg) center center/12px 12px no-repeat;
  content: ""
}

.l-footer {
  padding: 30px 0 0;
  border-top: 1px solid #ddd
}

.l-footer__bnr__slide .slick-arrow {
  position: absolute;
  top: 50%;
  background: url(/s/lp/portal/images/icon_arrow_red.svg) center center no-repeat;
  border: 1px solid #e60012;
  border-radius: 50%;
  font-size: 0;
  transform: translateY(-50%);
  cursor: pointer
}

.l-footer__bnr__slide .slick-arrow.slick-prev {
  transform: translateY(-50%) rotate(180deg)
}

.l-footer__bnr__slide .slick-dots {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 100%
}

.l-footer__bnr__slide .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  background-color: #ddd;
  border: 0;
  border-radius: 50%;
  font-size: 0;
  cursor: pointer
}

.l-footer__bnr__slide .slick-dots li:nth-child(n+2) {
  margin: 0 0 0 10px
}

.l-footer__bnr__slide .slick-dots li.slick-active button {
  background-color: #e60012
}

.l-footer__link {
  padding: 30px 20px
}

.l-footer__link__list li a .c-icon {
  width: 6px;
  height: 10px;
  margin: 0 5px 0 0;
  background-size: 6px 10px
}

.l-footer__copyright__logo {
  width: 120px
}

.l-footer__copyright__text {
  color: #999
}

@media (min-width:768px) {
  .l-main .p-portal__faq--in {
    display: flex;
    justify-content: center;
    margin: 0 0 20px;
    padding: 53px 40px 42px
  }
  .l-main .p-portal__faq__list {
    width: calc(50% - 20px)
  }
  .l-main .p-portal__faq__list:last-child {
    margin: 0 0 0 40px
  }
  .l-main .p-portal__faq__list li:nth-child(n+2) {
    margin: 12px 0 0
  }
  .l-main .p-portal__faq__list li a {
    font-size: 16px;
    line-height: 1.5
  }
  .l-main .p-portal__faq__list li a:after {
    top: .5em
  }
  .l-main .p-portal__faq__list li a:hover {
    text-decoration: none
  }
  .l-footer__bnr__slide {
    width: 640px;
    margin: 0 auto 60px
  }
  .l-footer__bnr__slide__item a {
    display: block
  }
  .l-footer__bnr__slide__item a:hover {
    opacity: .7
  }
  .l-footer__bnr__slide .slick-arrow {
    width: 30px;
    height: 30px;
    background-size: 8px 14px
  }
  .l-footer__bnr__slide .slick-arrow:hover {
    opacity: .7
  }
  .l-footer__bnr__slide .slick-arrow.slick-prev {
    left: -120px
  }
  .l-footer__bnr__slide .slick-arrow.slick-next {
    right: -120px
  }
  .l-footer__bnr__slide .slick-dots li button:hover {
    background-color: #e60012
  }
  .l-footer__link__list {
    display: flex;
    justify-content: center
  }
  .l-footer__link__list li:nth-child(n+2) {
    margin: 0 0 0 60px
  }
  .l-footer__link__list li a:hover {
    text-decoration: none
  }
  .l-footer__copyright {
    padding: 30px 0
  }
  .l-footer__copyright .c-contents {
    display: flex;
    justify-content: space-between
  }
  .l-footer__copyright__text {
    font-size: 13px
  }
  .l-footer__copyright__text small:last-child {
    margin: 12px 0 0
  }
}

@media (max-width:767px) {
  .l-main .p-portal__faq--in {
    margin: 0 0 30px;
    padding: 50px 20px 30px
  }
  .l-main .p-portal__faq__title {
    width: 90%;
    max-width: 315px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5
  }
  .l-footer__link__list li:nth-child(n+2), .l-main .p-portal__faq__list:last-child {
    margin: 20px 0 0
  }
  .l-main .p-portal__faq__list li:nth-child(n+2) {
    margin: 16px 0 0
  }
  .l-main .p-portal__faq__list li a {
    font-size: 14px;
    line-height: 1.4285714286
  }
  .l-main .p-portal__faq__list li a:after {
    top: .7em
  }
  .l-footer__bnr__slide {
    width: calc(100vw - 90px);
    margin: 0 auto 70px
  }
  .l-footer__bnr__slide .slick-arrow {
    width: 25px;
    height: 25px;
    background-size: 7px 12px
  }
  .l-footer__bnr__slide .slick-arrow.slick-prev {
    left: -36px
  }
  .l-footer__bnr__slide .slick-arrow.slick-next {
    right: -36px
  }
  .l-footer__copyright {
    padding: 30px 0 20px
  }
  .l-footer__copyright__logo {
    margin: 0 0 20px
  }
  .l-footer__copyright__text {
    font-size: 10px;
    line-height: 1.8
  }
  .l-footer__copyright__text small:last-child {
    margin: 4px 0 0
  }
}