@charset "UTF-8";
/* =====================================
	ヘッダー・フッター
===================================== */
/* header */
#header-area {
  background-color: #000;
}
#header-area header {
  max-width: 950px;
  margin: 0 auto;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}
#header-area header p {
  float: left;
}
#header-area .res-logo-area .res-logo-main img {
  display: block;
  width: 83px;
  padding: 5px;
}
#header-area .res-logo-area .res-logo-ioj img {
  display: block;
  width: 135px;
  padding: 13px 0 0 2px;
}
#header-area .header-area-sns {
  display: table;
  table-layout: fixed;
  width: 100%;
  max-width: 95px;
  position: absolute;
  top: 15px;
  right: 0;
}
#header-area .header-area-sns li {
  display: table-cell;
  position: relative;
  overflow: hidden;
  vertical-align: middle;
}
#header-area .header-area-sns li a {
  display: block;
  width: 85%;
  max-width: 34px;
  margin-left: auto;
  margin-right: auto;
}
#header-area .header-area-sns li:last-child {
  width: 38px;
}
#header-area .header-area-sns li div {
  display: block !important;
}

/* footer */
#footer-area {
  background-color: #000;
}
#footer-area footer {
  max-width: 950px;
  margin: 0 auto;
  padding: 10px;
}
#footer-area footer p {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
}

/* =====================================
  共通パーツ
===================================== */
html.fixed {
  overflow: hidden;
}

main a:link, main a:visited, main a:hover {
  display: block;
  text-decoration: none;
  color: inherit;
}

.sec-inner {
  position: relative;
  width: 950px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 0) and (max-width: 1024px) {
  .sec-inner {
    width: 91.125%;
    margin: 0 auto;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  .sec-inner {
    width: auto;
    margin: 0 7px;
  }
}

strong {
  font-size: 18px;
  font-weight: bold;
}
@media (min-width: 0) and (max-width: 570px) {
  strong {
    font-size: 14px;
  }
}

@media (min-width: 0) and (max-width: 570px) {
  .res-indent-block {
    font-size: 14px;
  }
}

/* モーダルボタン */
.modal-btn {
  font-size: 1.8rem;
  font-family: HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,Droid Sans,"Lucida Grande","Lucida Sans","Lucida Sans Unicode","Trebuchet MS","ＭＳ Ｐゴシック","MS PGothic",Helvetica,sans-serif;
  padding: 5px 20px;
  margin: 20px 0 0 20px;
  border: 2px solid #5f5f5f;
  border-radius: 3px;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-btn {
    display: block;
    margin: 32px auto 0;
    padding: 10px 15px;
    font-size: 1.4rem;
  }
}

/* モーダルコンテンツ */
.modal,
.modal-content-tabio {
  display: none;
}

.modal.modal-open {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 10;
}

.modal-dialog {
  position: relative;
  width: 94%;
  max-width: 950px;
  margin: auto;
  background: #fff;
}
.modal-dialog.scroll {
  margin: 3% auto;
}
.modal-dialog.scroll .modal-content-tabio {
  /*overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;*/
}
.modal-dialog.center {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog {
    width: 306px;
  }
}
.modal-dialog .modal-content-tabio {
  display: block;
}
.modal-dialog .modal-inner {
  padding: 40px 30px;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .modal-inner {
    padding: 30px 10px;
  }
}
.modal-dialog > .modal-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  font-size: 4rem;
  text-align: center;
  border: none;
  background: none;
  z-index: 10;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog > .modal-close {
    width: 32px;
    height: 32px;
    font-size: 3rem;
  }
}
.modal-dialog .modal-profile {
  font-size: 1.8rem;
  margin-left: 320px;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .modal-profile {
    margin-left: 0;
    margin-top: 127px;
    font-size: 1.2rem;
  }
}
.modal-dialog .modal-profile-ttl {
  font-size: 3rem;
  margin-bottom: 30px;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .modal-profile-ttl {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
}
.modal-dialog .modal-ttl {
  position: relative;
  padding-bottom: 29px;
}
.modal-dialog .modal-ttl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 90px;
  height: 2px;
  background-color: #2bb0bf;
}
.modal-dialog .modal-comm {
  display: table;
  width: 100%;
  margin-top: 19px;
  table-layout: fixed;
}
.modal-dialog .modal-comm .comm-icon, .modal-dialog .modal-comm .comm-text {
  display: table-cell;
  vertical-align: top;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .modal-comm .comm-icon, .modal-dialog .modal-comm .comm-text {
    font-size: 14px;
    line-height: 1.5;
  }
}
.modal-dialog .modal-comm .comm-icon {
  width: 2em;
  text-align: center;
}
.modal-dialog .modal-comm .comm-icon img {
  display: block;
}
.modal-dialog .modal-comm .comm-text {
  padding-left: 15px;
  width: 100%;
}
.modal-dialog .modal-text {
  margin-top: 20px;
  font-size: 18px;
  line-height: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .modal-text {
    font-size: 14px;
  }
}
.modal-dialog .advice {
  position: relative;
  margin-top: 50px;
  padding: 28px 26px 20px;
  background-color: #ebf7f7;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .advice {
    margin-top: 35px;
    padding: 28px 12px 12px;
  }
}
.modal-dialog .advice .advice-ttl {
  margin-bottom: 21px;
  padding-left: 14px;
  color: #333;
  font-size: 20px;
  border-left: 5px solid #2ab2c0;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .advice .advice-ttl {
    padding: 0;
    font-size: 17px;
    border: none;
  }
}
.modal-dialog .advice .advice-ttl:before {
  content: "Check!";
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  padding: 3px 18px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  background-color: #2db1c0;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .advice .advice-ttl:before {
    display: inline-block;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .advice .advice-ttl .name {
    font-size: 14px;
  }
}
.modal-dialog .advice .advice-ttl .san {
  font-size: 14px;
}
.modal-dialog .advice .advice-text {
  color: #333;
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .advice .advice-text {
    font-size: 14px;
    line-height: 1.5;
  }
}
.modal-dialog .advice .advice-text p + p {
  margin-top: 21px;
}
.modal-dialog .point-link {
  padding: 35px 15px;
  font-size: 0;
  text-align: center;
  background-color: #f1f1f1;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .point-link {
    padding: 14px 10px;
  }
}
.modal-dialog .point-link .point-link-lists .list {
  display: inline-block;
  width: 31%;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .point-link .point-link-lists .list {
    display: block;
    width: auto;
  }
}
.modal-dialog .point-link .point-link-lists .list a {
  cursor: pointer;
}
.modal-dialog .point-link .point-link-lists .list + .list {
  margin-left: 3.5%;
}
@media (min-width: 0) and (max-width: 570px) {
  .modal-dialog .point-link .point-link-lists .list + .list {
    margin: 15px 0 0;
  }
}
.modal-dialog .btn-back {
  width: 91.125%;
  margin: 0 auto;
  padding: 30px 0;
}
.modal-dialog .btn-back a {
  cursor: pointer;
}

#worries-modal04 {
  background: url(/promotion/amc/soranostory/tabio/images/modal_profile.png) 20px center no-repeat;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries-modal04 {
    background-position-y: 12px;
    background-size: auto 118px;
  }
}

@-webkit-keyframes fade-zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fade-zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes mv-scroll {
  0% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes mv-scroll {
  0% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes card-img {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes card-img {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes point-lists {
  0% {
    opacity: 0;
    -webkit-transform: translate(40px, 150px);
            transform: translate(40px, 150px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes point-lists {
  0% {
    opacity: 0;
    -webkit-transform: translate(40px, 150px);
            transform: translate(40px, 150px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.show .fade-in {
  opacity: 1;
  -webkit-animation: fade-in 0.6s ease-out both;
          animation: fade-in 0.6s ease-out both;
}
.show .fade-zoom {
  opacity: 1;
  -webkit-animation: fade-zoom 1s ease-in both;
          animation: fade-zoom 1s ease-in both;
}
.show .card-text {
  opacity: 1;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
@media (min-width: 0) and (max-width: 570px) {
  .show .card-text {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
  }
}
.show .card-img {
  opacity: 1;
  -webkit-animation: card-img 1s ease-out 1.2s both;
          animation: card-img 1s ease-out 1.2s both;
}
@media (min-width: 0) and (max-width: 570px) {
  .show .card-img {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}
.show .point-lists {
  overflow: hidden;
}
.show .point-lists .list {
  opacity: 1;
  -webkit-animation: point-lists 1s ease-out both;
          animation: point-lists 1s ease-out both;
}
.show .point-lists .list:nth-child(1) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.show .point-lists .list:nth-child(2) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.show .point-lists .list:nth-child(3) {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.show .point-lists .list:nth-child(4) {
  -webkit-animation-delay: 1.9s;
          animation-delay: 1.9s;
}
.show .point-lists .list:nth-child(5) {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
.show .point-lists .list:nth-child(6) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}
.show .point-lists .list:nth-child(7) {
  -webkit-animation-delay: 2.8s;
          animation-delay: 2.8s;
}
.show .point-lists .list:nth-child(8) {
  -webkit-animation-delay: 3.1s;
          animation-delay: 3.1s;
}
.show .point-lists .list:nth-child(9) {
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
}
.show .point-lists .list:nth-child(10) {
  -webkit-animation-delay: 3.7s;
          animation-delay: 3.7s;
}
.show .point-lists .list:nth-child(11) {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.show .smart-img-illust .illust {
  opacity: 1;
  -webkit-animation: fade-in 1s ease-out both;
          animation: fade-in 1s ease-out both;
}
.show .smart-img-illust .illust:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.show .smart-img-illust .illust:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.show .smart-img-illust .illust:nth-child(3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.show .smart-img-illust .illust:nth-child(4) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.show .smart-img-illust .illust:nth-child(5) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.show .smart-img-illust .illust:nth-child(6) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.show .smart-img-illust .illust:nth-child(7) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.show .smart-img-illust .illust:nth-child(8) {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
.show .smart-img-illust .illust:nth-child(9) {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.show .smart-img-illust .illust:nth-child(10) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.show .smart-img-illust .illust:nth-child(11) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.show .smart-img-balloon .balloon {
  opacity: 1;
  -webkit-animation: fade-in 1s ease-out both;
          animation: fade-in 1s ease-out both;
}
.show .smart-img-balloon .balloon:nth-child(1) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.show .smart-img-balloon .balloon:nth-child(2) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.show .smart-img-balloon .balloon:nth-child(3) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.show .smart-img-balloon .balloon:nth-child(4) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.show .smart-img-balloon .balloon:nth-child(5) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.show .smart-img-balloon .balloon:nth-child(6) {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.show .smart-img-balloon .balloon:nth-child(7) {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.show .smart-img-balloon .balloon:nth-child(8) {
  -webkit-animation-delay: 2.7s;
          animation-delay: 2.7s;
}
.show .smart-img-balloon .balloon:nth-child(9) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.show .smart-img-balloon .balloon:nth-child(10) {
  -webkit-animation-delay: 3.3s;
          animation-delay: 3.3s;
}
.show .smart-img-balloon .balloon:nth-child(11) {
  -webkit-animation-delay: 3.6s;
          animation-delay: 3.6s;
}

/* =====================================
  メインビジュアル
===================================== */
#main-visual {
  padding: 38px 0 0;
  text-align: center;
}
#main-visual .ttl-text {
  width: 91.25%;
  margin: 0 auto;
  -webkit-animation: fade-zoom 1s ease-in both;
          animation: fade-zoom 1s ease-in both;
}
#main-visual .scroll {
  cursor: pointer;
  margin-top: 53px;
  -webkit-animation: mv-scroll 2s ease-out 1s both;
          animation: mv-scroll 2s ease-out 1s both;
}
@media (min-width: 0) and (max-width: 570px) {
  #main-visual .scroll {
    display: none;
  }
}

/* =====================================
  慣れない海外出張・海外赴任でもう困らない！
  スマートにお金を調達する方法
===================================== */
#worries {
  padding-top: 83px;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries {
    padding-top: 31px;
  }
}
#worries .worries-ttl {
  text-align: center;
  width: 91.25%;
  margin: 0 auto;
}
#worries .worries-text {
  margin-top: 50px;
  color: #333;
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-text {
    margin-top: 20px;
    font-size: 14px;
  }
  #worries .worries-text p + p {
    margin-top: 1.2em;
  }
}
#worries .worries-box {
  position: relative;
  padding-bottom: 30px;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-box {
    padding-bottom: 0;
  }
}
#worries .worries-box img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 20px;
  margin: auto;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-box img {
    position: static;
  }
}
#worries .worries-inner-ttl {
  position: relative;
  float: left;
  width: 34.32%;
  padding-top: 31.68%;
  margin-top: 11.58%;
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-inner-ttl {
    margin-top: 40px;
    padding: 20px 10px !important;
    background: #4eb8cb;
  }
}
#worries .worries-inner-ttl img {
  bottom: 0;
  width: 217px;
  height: 219px;
}
#worries .worries-inner-detail {
  float: left;
  width: 63.79%;
}
#worries .worries-inner-detail .list {
  position: absolute;
}
@media (min-width: 0) and (max-width: 1024px) {
  #worries .worries-inner-detail .list img {
    width: auto !important;
    height: 60% !important;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-inner-detail .list {
    position: static;
    margin-top: 15px !important;
    width: auto !important;
    height: auto !important;
    padding: 20px 10px !important;
    background: #4eb8cb;
  }
  #worries .worries-inner-detail .list img {
    height: auto !important;
  }
}
#worries .worries-lists {
  position: relative;
}
#worries .worries-lists .worries01 {
  margin-top: 5px;
  left: -3.3%;
  width: 39.93%;
  padding-top: 37.95%;
}
#worries .worries-lists .worries01 img {
  width: 189px;
  height: 139px;
}
#worries .worries-lists .worries02 {
  margin-top: 33.99%;
  left: 23.27%;
  width: 39.93%;
  padding-top: 37.95%;
}
#worries .worries-lists .worries02 img {
  width: 196px;
  height: 143px;
}
#worries .worries-lists .worries03 {
  margin-top: 11.88%;
  left: 59.74%;
  width: 40.26%;
  padding-top: 38.12%;
}
#worries .worries-lists .worries03 img {
  width: 196px;
  height: 136px;
}
/*#worries .worries-inner-ttl a,
#worries .worries-inner-detail a {
  fill: #42b9c7;
  -webkit-transition: fill 0.3s ease-in;
  transition: fill 0.3s ease-in;
}
#worries .worries-inner-ttl a:hover svg path,
#worries .worries-inner-detail a:hover svg path {
  fill: #2893a0;
}*/
@media (min-width: 0) and (max-width: 1024px) {
  #worries .worries-inner-ttl img,
  #worries .worries-inner-detail img {
    width: auto;
    height: 70%;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .worries-inner-ttl,
  #worries .worries-inner-detail {
    float: none;
    width: auto;
    height: auto;
  }
  #worries .worries-inner-ttl img,
  #worries .worries-inner-detail img {
    width: auto;
    height: auto;
  }
  #worries .worries-inner-ttl .bg-moyamoya,
  #worries .worries-inner-detail .bg-moyamoya {
    display: none;
  }
}
#worries .bg-moyamoya {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: -1;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
#worries .js-modal-btn {
  cursor: pointer;
}
#worries .modal-btn {
  position: absolute;
  bottom: 0;
  right: 7px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #worries .modal-btn {
    font-size: 2vw;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  #worries .modal-btn {
    position: static;
    font-size: 1.4rem;
  }
}

/* =====================================
   SMBC信託銀行 国際キャッシュカード PRESTIA
===================================== */
#osusume {
  position: relative;
  margin: 146px 0 0;
  padding-bottom: 64px;
  background: url(/promotion/amc/soranostory/tabio/images/bg_map.png) no-repeat 50% 0;
  background-size: contain;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume {
    padding-bottom: 36px;
    background-image: url(/promotion/amc/soranostory/tabio/images/bg_map_sp.png);
  }
}
#osusume .bg-cloud {
  position: absolute;
  top: 2%;
  left: 0;
  width: 100%;
  opacity: 0;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .bg-cloud {
    display: none;
  }
}
#osusume .bg-cloud img {
  width: 100%;
}
#osusume .osusume-catch {
  position: relative;
  top: -94px;
  text-align: center;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-catch {
    width: 91.25%;
    margin: 0 auto;
  }
}
#osusume .osusume-card {
  max-width: 848px;
  margin: -60px auto 0;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-card {
    width: 91.25%;
  }
}
#osusume .osusume-card .card-text,
#osusume .osusume-card .card-img {
  text-align: center;
}
#osusume .osusume-card .card-text {
  opacity: 0;
}
#osusume .osusume-card .card-logo {
  margin-top: 16px;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-card .card-logo {
    margin-top: 0;
  }
}
#osusume .osusume-card .card-img {
  opacity: 0;
  margin-top: 36px;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-card .card-img {
    margin-top: 18px;
  }
}
#osusume .osusume-point .point-catch {
  margin-top: 59px;
  text-align: center;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-catch {
    width: 91.25%;
    margin: 20px auto 0;
  }
}
#osusume .osusume-point .point-lists {
  max-width: 864px;
  margin: 39px auto 0;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-lists {
    width: 91.25%;
    margin: 20px auto 0;
  }
}
#osusume .osusume-point .point-lists .list {
  float: left;
  width: 29.63%;
  color: #00432f;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  opacity: 0;
}
@media (min-width: 0) and (max-width: 1024px) {
  #osusume .osusume-point .point-lists .list {
    font-size: 2vw;
  }
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-lists .list {
    font-size: 16px;
  }
}
#osusume .osusume-point .point-lists .list + .list {
  margin-left: 5.5%;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-lists .list + .list {
    margin: 10px 0 0;
  }
}
#osusume .osusume-point .point-lists .list .point-ttl {
  padding: 15px 0 13px;
  background: url(/promotion/amc/soranostory/tabio/images/bg_dot.gif) repeat-x 0 100%;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-lists .list {
    display: table;
    width: 100%;
    table-layout: fixed;
    float: none;
    width: auto;
  }
  #osusume .osusume-point .point-lists .list .point-img,
  #osusume .osusume-point .point-lists .list .point-ttl {
    display: table-cell;
    vertical-align: middle;
  }
  #osusume .osusume-point .point-lists .list .point-img {
    width: 20%;
    padding-right: 10px;
  }
  #osusume .osusume-point .point-lists .list .point-ttl {
    width: 100%;
  }
}
#osusume .osusume-point .point-text {
  margin-top: 69px;
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-point .point-text {
    margin-top: 28px;
    font-size: 14px;
    line-height: 1.5;
  }
}
#osusume .osusume-point .point-text p {
  margin-bottom: 20px;
}
#osusume .osusume-campaign {
  padding: 25px 23px;
  border-radius: 7px;
  border: 3px solid #3a6530;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign {
    padding: 12px;
  }
}
#osusume .osusume-campaign .campaign-ttl {
  padding: 19px;
  text-align: center;
  background-color: #24580d;
}
#osusume .osusume-campaign .campaign-period {
  margin-top: 14px;
  text-align: center;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign .campaign-period {
    margin-top: 10px;
  }
}
#osusume .osusume-campaign .campaign-lists {
  margin-top: 38px;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign .campaign-lists {
    margin-top: 15px;
  }
}
#osusume .osusume-campaign .campaign-lists .list + .list {
  margin-top: 18px;
}
#osusume .osusume-campaign .campaign-lists .more {
  margin-top: 22px;
  text-align: center;
}
#osusume .osusume-campaign .campaign-btn {
  margin-top: 54px;
  font-size: 0;
  text-align: center;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign .campaign-btn {
    margin-top: 30px;
  }
}
#osusume .osusume-campaign .campaign-btn .btn {
  display: inline-block;
  width: 48%;
  max-width: 321px;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign .campaign-btn .btn {
    display: block;
    width: auto;
    max-width: inherit;
  }
}
#osusume .osusume-campaign .campaign-btn .btn + .btn {
  margin-left: 4%;
}
@media (min-width: 0) and (max-width: 570px) {
  #osusume .osusume-campaign .campaign-btn .btn + .btn {
    margin: 15px 0 0;
  }
}

/* =====================================
   空野旅男の賢い選択
===================================== */
#smart {
  position: relative;
  padding: 112px 0 50px;
  background-color: #ebf6f7;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart {
    padding: 60px 0 34px;
  }
}
#smart:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-left: -62px;
  border-color: transparent;
  border-top-color: #fff;
  border-style: solid;
  border-width: 62px;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart:before {
    margin-left: -31px;
    border-width: 31px;
  }
}
#smart .smart-ttl {
  text-align: center;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-ttl {
    width: 91.25%;
    margin: 0 auto;
  }
}
#smart .smart-img {
  position: relative;
  margin-top: 19px;
  padding-top: 38.5%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img {
    margin-top: 30px;
    padding-top: 73.5%;
  }
}
#smart .smart-img .smart-img-balloon, #smart .smart-img .smart-img-illust {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#smart .smart-img .illust {
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  left: 50%;
  opacity: 0;
}
#smart .smart-img .illust.tabio {
  width: 25.26%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .illust.tabio {
    width: 46.57%;
  }
}
#smart .smart-img .illust.star01 {
  width: 45.05%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .illust.star01 {
    width: 83.01%;
  }
}
#smart .smart-img .illust.star02 {
  width: 46.42%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .illust.star02 {
    width: 86.44%;
  }
}
#smart .smart-img .balloon {
  position: absolute;
  top: 0;
  opacity: 0;
}
#smart .smart-img .balloon.balloon01 {
  left: 5.26%;
  width: 29.16%;
  padding-top: 16%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .balloon.balloon01 {
    left: 0;
    width: 40.85%;
    padding-top: 37.91%;
  }
}
#smart .smart-img .balloon.balloon02 {
  left: 68.32%;
  width: 19.47%;
  padding-top: 13.68%;
  z-index: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .balloon.balloon02 {
    left: 56.86%;
    width: 33.01%;
    padding-top: 38.4%;
  }
}
#smart .smart-img .balloon.balloon03 {
  left: 76.42%;
  width: 17.89%;
  padding-top: 22.95%;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-img .balloon.balloon03 {
    left: 69.61%;
    width: 30.23%;
    padding-top: 52.78%;
  }
}
#smart .smart-text {
  margin-top: 40px;
  color: #353535;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-text {
    margin-top: 20px;
  }
}
#smart .smart-text p {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 0) and (max-width: 570px) {
  #smart .smart-text p {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* =====================================
   フッターコンテンツ
===================================== */
#footer-con {
  margin-top: 50px;
}
@media (min-width: 0) and (max-width: 570px) {
  #footer-con {
    margin-top: 20px;
  }
}
#footer-con .footer-con-inner {
  height: 210px;
  margin-top: 60px;
  padding: 25px 30px 0 185px;
  background: url(/promotion/amc/soranostory/tabio/images/profile_kikuchi.jpg) 25px center no-repeat #f2f2f2;
}
@media (min-width: 0) and (max-width: 570px) {
  #footer-con .footer-con-inner {
    background-position: 13px 13px;
    background-size: 64px auto;
    height: auto;
    padding: 13px 13px 13px 95px;
    margin-top: 27px;
  }
}
#footer-con .footer-con-inner .footer-con-ttl {
  margin-bottom: 20px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .footer-con-inner .footer-con-ttl {
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
}
#footer-con .footer-con-inner .footer-con-ttl strong {
  display: block;
  font-size: 2.8rem;
  font-weight: normal;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .footer-con-inner .footer-con-ttl strong {
    font-size: 1.8rem;
  }
}
#footer-con .footer-con-inner .footer-con-ttl span {
  font-size: 1.6rem;
  font-weight: normal;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .footer-con-inner .footer-con-text {
    font-size: 1.4rem;
  }
}
#footer-con .recommend {
  margin-top: 60px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend {
    margin-top: 30px;
  }
}
#footer-con .recommend .recommend-ttl {
  margin-bottom: 20px;
  font-size: 2.4rem;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-ttl {
    font-size: 1.8rem;
  }
}
#footer-con .recommend .recommend-lists .list + .list {
  margin-top: 35px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-lists .list + .list {
    margin-top: 24px;
  }
}
#footer-con .recommend .recommend-lists .list a {
  position: relative;
  display: block;
}
#footer-con .recommend .recommend-lists .list .list-inner {
  min-height: 134px;
  padding-left: 270px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-lists .list .list-inner {
    min-height: 0;
    padding: 0;
  }
}
#footer-con .recommend .recommend-lists .list .list-inner .list-ttl {
  font-size: 2.4rem;
  margin-bottom: 25px;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-lists .list .list-inner .list-ttl {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: .4rem;
  }
}
#footer-con .recommend .recommend-lists .list .list-inner .list-detail {
  font-size: 1.6rem;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-lists .list .list-inner .list-detail {
    position: relative;
    font-size: 1.2rem;
    padding-left: 120px;
    min-height: 60px;
  }
}
#footer-con .recommend .recommend-lists .list .list-inner .list-detail img {
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 0) and (max-width: 1024px) {
  #footer-con .recommend .recommend-lists .list .list-inner .list-detail img {
    width: 106px;
  }
}

.scroll-top {
  display: block;
  width: 95px;
  height: 78px;
  margin: 40px auto;
  background: url(/promotion/amc/soranostory/tabio/images/scroll-top.png) center center no-repeat;
}
@media (min-width: 0) and (max-width: 570px) {
  .scroll-top {
    width: 47px;
    height: 39px;
    margin: 20px auto;
    background-size: cover;
  }
}
