@charset "euc-jp";
/* CSS Document */
/*
==================================================

* reset

==================================================
*/
div,
dl,
dt,
dd,
ul,
li,
form,
input,
img,
p,
h1,
h2 {
  margin: 0;
  padding: 0;
}

html {
  overflow-y: scroll;
}

ul {
  list-style: none;
}

a img {
  border: none;
}

img {
  vertical-align: middle;
}

em {
  font-style: normal;
  font-weight: bold;
}

button {
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

/*
==================================================

* base

==================================================
*/
body {
  line-height: 1.3;
  color: #000000;
  background: #ffffff;
}

body .serviceLogo {
  width: 107px;
  height: 32px;
}

div#container {
  margin: 0 auto;
}

#mainContents {
  margin: 10px auto 50px;
}

@media screen and (max-width: 420px) {
  body {
    font-size: 12px;
  }
}

@media screen and (min-width: 421px) {
  #container {
    font-size: 82%;
  }
}

body {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

/*
==================================================

* mainContents

==================================================
*/
@media screen and (max-width: 379px) {
  .btn {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 380px) and (max-width: 420px) {
  .btn {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  #mainContents .section {
    min-width: 300px;
    margin: 0 auto;
    line-height: 1.4;
  }
  #mainContents .section h2 {
    margin-bottom: 20px;
    padding: 1px 0 2px 10px;
    color: #2a2a2a;
    background: url(../img/icon_ttl.png) no-repeat 0 50%;
    background-size: 6px 23px;
    font-size: 20px;
  }
  #mainContents .section .boxWrap .box {
    margin-bottom: 20px;
    padding: 0 10px 20px;
    border-bottom: 1px solid #eeeeee;
    font-size: 14px;
  }
  #mainContents .section .boxWrap .box:last-child {
    border: none;
  }
  #mainContents .section .boxWrap .box .img {
    margin-bottom: 20px;
    text-align: center;
  }
  #mainContents .section .boxWrap .box dt {
    margin-bottom: 15px;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
  #mainContents .section .boxWrap .box dd {
    margin: 0 auto;
    max-width: 340px;
  }
  #mainContents .section .boxWrap .box#service img {
    width: 146px;
  }
  #mainContents .section .boxWrap .box#point img {
    width: 115px;
  }
  #mainContents .section .boxWrap .box#rank img {
    width: 196px;
  }
}

@media screen and (min-width: 768px) and (max-width: 799px) {
  #mainContents .section {
    min-width: 320px;
    margin: 0 auto;
    line-height: 1.4;
  }
  #mainContents .section h2 {
    height: 45px;
    margin-bottom: 20px;
    background: url(../img/ttl_about.gif) no-repeat 0 0;
    background-size: 203px 45px;
    text-indent: -99999px;
  }
  #mainContents .section .boxWrap {
    overflow: hidden;
    zoom: 1;
  }
  #mainContents .section .boxWrap .box {
    float: left;
    width: 32%;
  }
  #mainContents .section .boxWrap .box:nth-child(2) {
    padding: 0 2%;
  }
  #mainContents .section .boxWrap .box.last {
    float: right;
    margin-right: 0;
  }
  #mainContents .section .boxWrap .box .img {
    margin-bottom: 20px;
    text-align: center;
  }
  #mainContents .section .boxWrap .box dt {
    margin-bottom: 15px;
    font-size: 17px;
    font-weight: bold;
  }
  #mainContents .section .boxWrap .box#service img {
    max-width: 146px;
  }
  #mainContents .section .boxWrap .box#point img {
    max-width: 115px;
  }
  #mainContents .section .boxWrap .box#rank img {
    max-width: 196px;
  }
}

@media screen and (min-width: 800px) {
  #mainContents .section {
    width: 800px;
    margin: 0 auto;
    line-height: 1.4;
  }
  #mainContents .section h2 {
    height: 45px;
    margin-bottom: 20px;
    background: url(../img/ttl_about_m.gif) no-repeat 0 0;
    text-indent: -99999px;
  }
  #mainContents .section .boxWrap {
    overflow: hidden;
    zoom: 1;
  }
  #mainContents .section .boxWrap .box {
    float: left;
    width: 240px;
    margin-right: 40px;
  }
  #mainContents .section .boxWrap .box.last {
    float: right;
    margin-right: 0;
  }
  #mainContents .section .boxWrap .box .img {
    margin-bottom: 20px;
    text-align: center;
  }
  #mainContents .section .boxWrap .box .img img {
    height: 148px;
  }
  #mainContents .section .boxWrap .box dt {
    height: 17px;
    margin-bottom: 15px;
  }
  #mainContents .section .boxWrap .box#service img {
    width: 146px;
  }
  #mainContents .section .boxWrap .box#service dt {
    background: url(../img/txt_service.gif) no-repeat 0 0;
    text-indent: -99999px;
  }
  #mainContents .section .boxWrap .box#point img {
    width: 115px;
  }
  #mainContents .section .boxWrap .box#point dt {
    background: url(../img/txt_point.gif) no-repeat 0 0;
    text-indent: -99999px;
  }
  #mainContents .section .boxWrap .box#rank img {
    width: 196px;
  }
  #mainContents .section .boxWrap .box#rank dt {
    background: url(../img/txt_rank.gif) no-repeat 0 0;
    text-indent: -99999px;
  }
}

/*
==================================================

* Global Navigation

==================================================
*/
div#grpheader {
  width: 100%;
  margin-bottom: 15px;
  padding-bottom: 3px;
  border-bottom: 3px solid #BF0000;
  text-align: left;
  /* for Quirks Mode */
}

/* サイトID */
p#siteID {
  float: left;
  width: 107px;
  height: 32px;
}

p#siteID img.serviceLogo {
  margin: 0.6em 5px;
}

p#siteID img.serviceTitle {
  margin: 0 0 6px 10px;
}

/* グループ回遊＆ユーティリティ */
dl#remoteNav dd.grpRelation ul {
  float: right;
  padding-top: 6px;
}

dl#remoteNav dd.siteUtility {
  clear: right;
}

dl#remoteNav dd.siteUtility ul {
  float: right;
  margin-bottom: 3px;
  padding-top: 6px;
}

dl#remoteNav dd.grpRelation ul li,
dl#remoteNav dd.siteUtility ul li {
  float: left;
  line-height: 1.1;
  padding: 0 0.5em;
  border-right: 1px solid #000000;
  list-style-type: none;
}

dl#remoteNav dd.grpRelation ul li.grpHome,
dl#remoteNav dd.siteUtility ul li.last {
  padding-right: 0;
  border: none;
}

dl#remoteNav dd.grpRelation ul li.grpHome {
  font-weight: bold;
}

dl#remoteNav dd.grpRelation ul li a,
dl#remoteNav dd.siteUtility ul li a {
  white-space: nowrap;
}

/* ヘッダ内定義リストのdtを非視覚化 */
dl#remoteNav dt {
  position: absolute;
  left: -9999px;
  width: 100px;
  height: 0;
}

/* アクセシビリティ対応 */
div#grpheader p.noCSS {
  display: none;
  height: 0;
}

div#grpheader ul.navSkip,
div#main p.navSkip {
  position: absolute;
  left: -9999px;
  width: 100px;
  height: 0;
}

/* clearfix ----------------- */
div#grpheader:after,
div#grpServLink div.wrapper:after,
div#grpService:after,
div#grpService div:after {
  display: block;
  clear: both;
  content: "";
}

div#grpheader {
  display: inline-block;
}

.mainBoardWrapNew {
  position: relative;
  height: 344px;
  background: url(../img/bg_main_l.jpg) center 0/2044px 310px repeat-x;
  padding-top: 1px;
  margin-bottom: 20px;
}

.mainBoardWrapNew::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 105px;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), white 36%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 36%);
  content: '';
  z-index: 1;
}

.mainBoardWrapNew h1.main-ttl-l {
  position: relative;
  width: 520px;
  margin: 41px auto 0;
  left: -123px;
}

.mainBoardWrapNew h1.main-ttl-sp {
  display: none;
}

.mainBoardWrapNew h1 img {
  width: 100%;
  height: auto;
}

.mainBoardWrapNew .btnArea {
  position: absolute;
  width: 440px;
  height: 80px;
  z-index: 2;
  left: 50%;
  bottom: 10px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.mainBoardWrapNew .btnArea button {
  width: 440px;
  height: 80px;
  line-height: 80px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  background: #BF0000;
  border-radius: 40px;
  vertical-align: middle;
}

.mainBoardWrapNew .btnArea button span {
  color: #BF0000;
  font-size: 24px;
  padding: 8px;
  margin-right: 12px;
  background: #FFE066;
  border-radius: 6px;
}

.mainBoardWrapNew .btnArea button::after {
  position: absolute;
  top: 50%;
  right: 27px;
  width: 15px;
  height: 26px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon_arrow.svg) center/100% no-repeat;
  content: '';
}

@media screen and (max-width: 800px) {
  .mainBoardWrapNew h1.main-ttl-l {
    left: -104px;
  }
}

@media screen and (max-width: 767px) {
  .mainBoardWrapNew {
    height: calc(100vw * 204 / 360);
    background: url(../img/bg2_main_sp.png) center 0/100% auto repeat-x;
    margin-bottom: 20px;
  }
  .mainBoardWrapNew::after {
    height: calc(100vw * 72/360);
  }
  .mainBoardWrapNew h1.main-ttl-sp {
    display: block;
    position: relative;
    width: 50vw;
    top: calc(100vw * 18 / 360);
    left: calc(100vw * 32 / 360);
  }
  .mainBoardWrapNew h1.main-ttl-l {
    display: none;
  }
  .mainBoardWrapNew .btnArea {
    width: 264px;
    height: 48px;
    bottom: calc(100vw * 7 / 360);
  }
  .mainBoardWrapNew .btnArea button {
    width: 264px;
    height: 48px;
    line-height: 48px;
    font-size: 16px;
    border-radius: 24px;
  }
  .mainBoardWrapNew .btnArea button span {
    color: #BF0000;
    font-size: 14px;
    padding: 5px;
    margin-right: 8px;
    border-radius: 4px;
  }
  .mainBoardWrapNew .btnArea button::after {
    position: absolute;
    right: 22px;
    width: 10px;
    height: 15px;
  }
}

/*
リリース時の崩れ防止のため古い記述を残しているが、次回リリース時には削除してOK
*/
#grpRakutenLinkArea {
  text-align: left;
  border-top: 1px solid #909090;
  margin-bottom: 1em;
  display: inline-block;
}

#grpRakutenLinkArea:after {
  display: block;
  clear: both;
  content: "";
}

#grpRakutenLinkArea li {
  list-style: none;
}

#grpRakutenLinkArea #grpFooterNav {
  display: inline-block;
}

#grpRakutenLinkArea #grpFooterNav:after {
  display: block;
  clear: both;
  content: "";
}

#grpRakutenLinkArea #grpFooterNav a {
  white-space: nowrap;
}

#grpRakutenLinkArea #grpFooterNav p {
  margin-bottom: 0.5em;
  text-align: left;
}

#grpRakutenLinkArea #grpFooterNav dl {
  float: left;
}

#grpRakutenLinkArea #grpFooterNav dt {
  position: absolute;
  left: -9999px;
  width: 100px;
  height: 0;
}

#grpRakutenLinkArea #grpFooterNav ul {
  margin-left: -0.35em;
  margin-top: 3px;
}

#grpRakutenLinkArea #grpFooterNav .grpCopyright {
  word-break: break-all;
}

#grpRakutenLinkArea .copyright {
  margin-bottom: 0.75em;
  text-align: left;
}

@media screen and (max-width: 799px) {
  #grpRakutenLinkArea #grpFooterNav {
    margin: 0 auto;
  }
}

@media screen and (min-width: 800px) {
  #grpRakutenLinkArea #grpFooterNav {
    width: 800px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 420px) {
  #grpRakutenLinkArea #grpFooterNav li {
    margin: 0 0 5px 0.35em;
    list-style-type: none;
  }
}

@media screen and (min-width: 421px) {
  #grpRakutenLinkArea #grpFooterNav li {
    border-right: 1px solid #ADADAD;
    display: inline;
    list-style-type: none;
    margin-left: 0.35em;
    padding-right: 0.5em;
    zoom: 1;
  }
}

/*
リニューアル(2/15)
*/
#grpRakutenLinkAreaNew {
  text-align: left;
  border-top: 1px solid #909090;
  margin-bottom: 1em;
}

#grpRakutenLinkAreaNew * {
  box-sizing: border-box;
}

#grpRakutenLinkAreaNew #LinkAreaInner {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}

#grpRakutenLinkAreaNew #LinkAreaInner ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 5px auto;
}

#grpRakutenLinkAreaNew #LinkAreaInner ul li {
  list-style: none;
  border-right: 1px solid #ADADAD;
  margin-right: 0.35em;
  padding-right: 0.5em;
}

#grpRakutenLinkAreaNew #LinkAreaInner ul li:last-of-type {
  border: none;
}

#grpRakutenLinkAreaNew #LinkAreaInner .grpCopyright {
  margin-bottom: 0.5em;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #grpRakutenLinkAreaNew #LinkAreaInner {
    width: 100%;
  }
  #grpRakutenLinkAreaNew #LinkAreaInner ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 5px auto;
  }
  #grpRakutenLinkAreaNew #LinkAreaInner ul li:last-of-type {
    padding-right: 0;
  }
  #grpRakutenLinkAreaNew #LinkAreaInner .grpCopyright {
    text-align: center;
  }
}

@media screen and (max-width: 359px) {
  #grpRakutenLinkAreaNew #LinkAreaInner ul {
    margin: 8px auto 5px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #grpRakutenLinkAreaNew #LinkAreaInner ul li {
    margin: 0 0 5px 0.35em;
    border-right: none;
    text-align: center;
  }
}
