/* CSS Document */
/**
 * - common
 * ----------------------------------------------------------------------------
 */
.BreadCover {
  width: 100%;
  padding: 20px 0;
}
.BreadCover #pankuzu {
  margin: 0 auto;
}

.inner {
  width: 950px;
  margin: 0 auto;
}

.section {
  padding: 55px 0;
}
.section.bg_type01 {
  background: #ebf0f5;
}
.section.bg_type02 {
  background: #fae6dc;
}

#spotShort .btn_map {
  display: block;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  background: #e1005a;
  padding: 5px 10px 3px;
  border-radius: 5px;
}

#spotShort .btn {
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #ff8c00;
  padding: 8px 10px 6px;
  border-radius: 5px;
  position: relative;
}
#spotShort .btn:after {
  content: ">";
  position: absolute;
  right: 20px;
}
#spotShort .btn.withArrow:after {
  position: static;
  display: inline-block;
  margin-left: 5px;
}

.hdg03 {
  color: #002d64;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  border-bottom: #002d64 1px solid;
  padding: 0 0 20px;
  margin: 0 0 35px;
}

.hdg03 .iconSlash {
  font-size: 24px;
  padding: 0 35px;
}
.hdg03 .iconSlash:before,
.hdg03 .iconSlash:after {
  width: 22px;
  height: 24px;
  margin-top: -12px;
}

.lyt2col {
  overflow: hidden;
  margin: 0 -15px;
}
.lyt2col > .col {
  box-sizing: border-box;
  width: 50%;
  float: left;
  padding: 0 15px;
  margin: 0 0 45px;
}
.lyt2col > .col .cap {
  position: relative;
}
.lyt2col > .col .cap img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.lyt2col > .col .cap .hdg04 {
  color: #fff;
  font-size: 14px;
  line-height: 1.7;
  padding: 5px 25px 3px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255,160,0, 0.9);
}
.lyt2col > .col .cap .hdg04 strong {
  font-size: 16px;
}
.lyt2col > .col .body {
  background: #fff;
  padding: 15px 25px 20px;
  border-radius: 0 0 3px 3px;
}
.lyt2col > .col .body .text dt {
  color: #002d64;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 0 5px;
  margin: 0 0 10px;
  border-bottom: #002d64 1px dashed;
}
.lyt2col > .col .body .text dd {
  font-size: 13px;
  padding: 0 0 15px;
}
.lyt2col > .col .body .linkTitle {
  color: #002d64;
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin: 0 0 5px;
}
.lyt2col > .col .body .linkTitle span {
  padding: 0 20px;
}
.lyt2col > .col .body .linkTitle span:before,
.lyt2col > .col .body .linkTitle span:after {
  width: 13px;
  height: 15px;
  margin-top: -6.5px;
}
.lyt2col > .col .body .link {
  text-align: center;
}
.lyt2col > .col .body .link a {
  color: #ff3c50;
  font-size: 13px;
  font-weight: bold;
}
.lyt2col > .col .body .link a em {
  font-size: 15px;
  font-style: normal;
}

span.iconSlash {
  display: inline-block;
  position: relative;
}
span.iconSlash:before,
span.iconSlash:after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 50%;
}
span.iconSlash:before {
  background-image: url('../images/icon_slashL.png');
  left: 0;
}
span.iconSlash:after {
  background-image: url('../images/icon_slashR.png');
  right: 0;
}

p.lead {
  font-size: 18px;
  text-align: center;
  margin: 35px 0;
}

.cnvBlock {
  margin: 10px 0 0;
}
.cnvBlock .text {
  color: #002d64;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 5px;
}
.cnvBlock .text span {
  padding: 0 25px;
}
.cnvBlock .text span:before,
.cnvBlock .text span:after {
  width: 13px;
  height: 15px;
  margin-top: -6.5px;
}
.cnvBlock .btn01 {
  width: 380px;
  margin: 0 auto;
}
#spotShort .cnvBlock .btn01 .btn {
  font-size: 24px;
  font-weight: bold;
  padding: 18px 10px 16px
}
#spotShort .cnvBlock .btn01 .btn:after {
  display: inline-block;
  position:static;
  margin-left: 8px;
}

.lytImg {
  width: 100%;
  display: table;
  margin: 0 0 10px;
}
.lytImg .image {
  width: 100%;
  display: table-caption;
  position: relative;
}
.lytImg .image:after {
  content: "";
  width: 142px;
  height: 99px;
  display: block;
  background: url('../images/icon_card.png') no-repeat;
  position: absolute;
  right: 25px;
  bottom: -60px;
}
.lytImg .text {
  background: #fff;
  text-align: center;
  border-radius: 0 0 3px 3px;
}
.lytImg .text .upper {
  color: #fff;
  font-size: 19px;
  font-weight: bold;
  background: #ff3c50;
  padding: 5px 0 3px;
}
.lytImg .text .lower {
  color: #002d64;
  font-size: 24px;
  font-weight: bold;
  padding: 4px 0 2px;
}

.listNum {
  overflow: hidden;
  margin: 0 -5px;
}
.listNum .col {
  box-sizing: border-box;
  width: 33.33333%;
  padding: 0 5px;
  margin: 0 0 10px;
  float: left;
}
.listNum .col.wide {
  width: 100%;
}
.listNum .col .in {
  background: #fff;
  border: #ff3c50 1px solid;
  border-radius: 5px;
  padding: 20px 15px 15px;
}
.listNum .col .in dt {
  margin: 0 0 15px;
}
.listNum .col .in dt >* {
  display: table-cell;
  vertical-align: middle;
}
.listNum .col .in dt .num {
  text-align: center;
  width: 50px;
  height: 50px;
  background: #002d64;
  border-radius: 100%;
}
.listNum .col .in dt .num span {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
}
.listNum .col .in dt .title {
  color: #002d64;
  font-size: 18px;
  font-weight: bold;
  padding-left: 10px;
}
.listNum .col .in dt .title em {
  color: #ff3c50;
  font-style: normal;
}


/**
 * - mainVisual
 * ----------------------------------------------------------------------------
 */
.mainVisual .hdg {
  text-align: center;
}

/**
 * - topBlock
 * ----------------------------------------------------------------------------
 */
.topBlock {
  min-width: 950px;
  background: #ff3c50;
  padding: 20px 0;
}
.topBlock .topInner {
  text-align: center;
  letter-spacing: -0.4em;
  word-spacing: 0.1em;
}
.topBlock .topInner >* {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: normal;
  word-spacing: normal;
  margin: 0 27px;
}
.topBlock .topInner .text {
  text-align: left;
}
.topBlock .topInner .text p {
  color: #fff;
  font-weight: bold;
}
.topBlock .topInner .text p.title {
  font-size: 28px;
  line-height: 1.15;
  margin: 0 0 10px;
}
.topBlock .topInner .text p.date {
  font-size: 20px;
  line-height: 1;
  display: inline-block;
  background: #002d64;
  padding: 8px 15px 6px;
  border-radius: 3px;
}

/**
 * - cookieBlock
 * ----------------------------------------------------------------------------
 */
.cookieBlock .hdg {
  color: #002d64;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 40px;
}
.cookieBlock .hdg span {
  padding: 0 35px;
}
.cookieBlock .hdg span:before,
.cookieBlock .hdg span:after {
  width: 22px;
  height: 24px;
  margin-top: -12px;
}
.cookieBlock .cookieLyt {
  width: 100%;
  display: table;
  margin: 0 0 55px;
}
.cookieBlock .cookieLyt >* {
  display: table-cell;
  vertical-align: middle;
}
.cookieBlock .cookieLyt .image {
  width: 360px;
  position: relative;
}
.cookieBlock .cookieLyt .image .date {
  display: block;
  position: absolute;
  right: 25px;
  top: -45px;
}
.cookieBlock .cookieLyt .text {
  padding: 50px 30px 45px;
  background: #fff;
  border-radius: 3px 0 0 3px;
}
.cookieBlock .cookieLyt .text a {
  color: #ff3c50;
}
.cookieBlock .cookieLyt .text .title {
  color: #ff3c50;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0 0 10px;
  margin: 0 0 10px;
  border-bottom: #ff3c50 1px dashed;
}
.cookieBlock .cookieLyt .text .title strong {
  font-size: 24px;
}
.cookieBlock .cookieLyt .text .title span {
  display: inline-block;
  border-left: #ff3c50 8px solid;
  padding-left: 10px;
}
.cookieBlock .cookieLyt .text .box {
  color: #fff;
  padding: 15px 15px 13px;
  margin: 10px 0 0;
  background: #ff3c50;
  border-radius: 3px;
}
.cookieBlock .cookieLyt .text .box dt {
  font-size: 17px;
  font-weight: bold;
}
.cookieBlock .cookieLyt .text .box dd {
  font-size: 13px;
}

/**
 * - actionBlock
 * ----------------------------------------------------------------------------
 */
.actionBlock .lyt3List {
  overflow: hidden;
  margin: 0 -5px 40px;
}
.actionBlock .lyt3List .col {
  box-sizing: border-box;
  width: 33.33333%;
  float: left;
  padding: 0 5px;
}
.actionBlock .lyt3List .col .image {
  text-align: center;
}
.actionBlock .lyt3List .col .text {
  background: #fff;
  padding: 15px 20px;
  border-radius: 0 0 3px 3px;
}
.actionBlock .lyt3List .col .text dt {
  color: #002d64;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 5px;
}
.actionBlock .lyt3List .col .text dd {
  font-size: 14px;
  line-height: 1.7;
}
