@charset "UTF-8";
a,
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  background: transparent;
  border: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  margin: 0;
  outline: 0;
  padding: 0;
  text-decoration: none;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

mark {
  background-color: #ff0;
  color: #000;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

a {
  color: #036;
  outline: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

body {
  background: #fff;
  color: #555;
  font-size: 13px;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  line-height: 1.3;
  -webkit-text-size-adjust: none;
  margin: 0;
}

a:link {
  color: #c34027;
  text-decoration: underline;
}

a:visited {
  color: #c34027;
  text-decoration: underline;
}

a:active {
  color: #ee4e30;
  text-decoration: underline;
}

a:hover {
  color: #ee4e30;
  text-decoration: none;
}

/* =========== BASE =========== */
/* common */
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 1%;
  z-index: 999;
}

#pageTop a {
  display: block;
  width: 50px;
  height: 50px;
  opacity: 0.95;
}

/* Section / Nav
------------------------------- */
section,
nav {
  display: block;
  position: relative;
}

/* ---------------------------- */
#content_wrap {
  color: #000;
}

#content_wrap img {
  max-width: 100%;
}

#onepiace {
  background-color: #000;
}

#onepiace .mainimg {
  background-color: #000;
  padding-bottom: 10px;
  position: relative;
  z-index: 20;
  max-width: 100%;
  min-width: 100%;
  margin-bottom: 0px;
}

#onepiace h1#logo {
  display: block;
  margin: 0;
  padding: 0px 0% 0 0;
  text-align: left;
  z-index: 10;
}

#onepiace h1#logo img {
  width: 100%;
}

#onepiace h2.btn_pre {
  display: block;
  position: absolute;
  left: 2%;
  top: 14vw;
  padding-left: 0;
  width: 22%;
}

dl.station_list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 90%;
  font-size: 0.625rem;
  font-weight: normal;
  color: #fff;
  margin: .5rem auto;
}

dl.station_list dt {
  width: 7em;
}

dl.station_list dd {
  text-align: left;
}

ul.copyright-list {
  display: flex;
  margin: 0 auto;
  width: 96%;
  justify-content: center;
  align-items: center;
}

ul.copyright-list li {
  text-align: left;
  font-size: 0.625rem;
  font-weight: normal;
  color: #fff;
  padding: 0 10px 0 5px;
}

.bg_star {
  display: block;
  width: 90%;
  margin: 0px auto;
  padding: 10px 5%;
  background-image: url(../img/p_bg.jpg);
  background-position: center top;
  background-repeat: repeat;
  background-size: 125%;
  color: #fff;
}

#onepiace p.leadTxt {
  display: block;
  margin: 15px auto;
  position: relative;
  font-weight: bold;
  font-size: .75rem;
  color: #fff;
  text-align: center;
  line-height: 1.5em;
}

.pconly {
  display: none !important;
}

#btnbox {
  display: block;
  letter-spacing: -.5em;
  text-align: center;
  margin: 0 auto 10px;
  width: 100%;
  padding-top: 12px;
}

#btnbox li {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 1% .5em;
  width: 48%;
  position: relative;
  z-index: 10;
}

#onepiace p {
  font-size: .8125rem;
  line-height: 1.6;
  padding-bottom: .6em;
  font-feature-settings: 'palt';
  letter-spacing: .05em;
}

#onepiace .inner {
  max-width: 90%;
  margin: 0 auto;
  position: relative;
  padding: 10px 0;
}

.colbox {
  display: block;
  width: 100%;
  margin: 15px auto 20px;
  padding-bottom: 0;
  background-color: #fff;
  border-radius: 0;
  position: relative;
}

#onepiace p.cap {
  font-size: .75rem;
  text-align: left;
  padding-left: 1em;
  margin-top: -.5em;
  position: relative;
  z-index: 60;
}

#col01.colbox {
  background-color: transparent;
}

#col02.colbox {
  padding: 10px 0;
  color: #000;
}

#onepiace p.wh {
  color: #fff;
}

#onepiace p.cap {
  font-size: .8125rem;
  text-align: left;
  padding-bottom: .3em;
  position: relative;
}

#onepiace p.cap_s {
  font-size: .75rem;
  padding-bottom: .3em;
}

#onepiace p.ast_s {
  font-size: .875rem;
  text-indent: -1em;
  padding-left: 1em;
}

#onepiace p.ast_ss {
  font-size: .75rem;
  text-indent: -1em;
  padding-left: 1em;
}

#onepiace h2.ttl {
  display: block;
  margin: 10px auto;
  text-align: center;
}

#onepiace h3.ttl {
  display: block;
  margin: 10px auto 15px;
  text-align: center;
}

.w50 {
  max-width: 50%;
}

#onepiace h3.sttl {
  display: block;
  margin: 0px auto 5px;
  text-align: left;
  font-size: 1rem;
  font-weight: bold;
}

#onepiace h3.sttl span {
  font-size: .9375rem;
  font-weight: normal;
}

#onepiace h3.ttldot {
  display: block;
  background-attachment: scroll;
  background-image: url(../img/p_col03_award_dot.png);
  background-position: bottom center;
  background-repeat: repeat-x;
  padding-bottom: 10px;
  margin-bottom: 10px;
  position: relative;
}

#onepiace h3.ttldot img.sub {
  position: absolute;
  left: -30px;
  top: -50px;
  width: 85%;
}

#onepiace h3.ttlred {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #c3141c;
  background-attachment: scroll;
  background-image: url(../img/p_col05_line.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-bottom: 10px;
  margin-bottom: 0;
  text-align: center;
}

#onepiace h3.ttlred img {
  display: block;
  margin: 0 auto 10px;
}

#onepiace h4.sttl {
  font-size: .9375rem;
  font-weight: bold;
  margin-bottom: .25em;
  text-align: center;
}

#onepiace h4.sttlred {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #c3141c;
  text-align: left;
}

#onepiace h5 {
  margin: 10px 0 10px;
}

#onepiace h5.grayttl {
  text-align: center;
  display: block;
  background-color: #d2d2d2;
  border-radius: 15px;
  padding: .2em;
  font-size: .9375rem;
  font-weight: bold;
}

#onepiace h6 {
  margin: 10px 0 5px;
}

#col02 h3.ttl img {
  width: 50%;
}
#col02 h3.ttl.w50 img {
  width: 100%;
}

#col03 {
  color: #000;
}

#col03 h2.ttl {
  padding: 20px 0 0;
  max-width: 90%;
  margin: 0 auto;
}

#col03 .inner {
  padding-top: 0;
}

#col03 .pointbox {
  background: url("../img/p_col03_point_und.png") bottom no-repeat;
  background-size: 100%;
  padding-bottom: calc( 52vw / 750 * 100 );
}

#col03 .pointbox h4 {
  padding: 0 7% .4em;
  background-image: url(../img/p_col03_point_bg.png);
  background-size: 100%;
}

#col03 .pointbox .point_text {
  padding: 0 7% .6em;
  background-image: url(../img/p_col03_point_bg.png);
  background-size: 100%;
}

#col03 .pointboxL .point_inner {
  padding: 0 7%;
  background-image: url(../img/p_col03_point_bg.png);
  background-size: 100%;
}

#col03 .pointboxL .point_inner .txtN {
  font-size: .8125rem;
}

#col03 .pointboxL .point_inner .metor_info dt {
  text-align: left !important;
}

#col03 .pointboxL .point_inner .metor_info dt img {
  width: 70%;
}

#col04 {
  padding-top: 10px;
  color: #000;
}
#col04 h2.ttl {
  width: 90%;
}
#col04 h3.txtC {
  width: 90%;
  margin: auto;
}

.place_list {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.place_list img {
  display: block;
  margin: 0 auto -20px auto;
  text-align: center;
}

.col2box li {
  border: #BA000E solid 1px;
  display: block;
  font-size: .8125rem;
  margin-top: 1rem;
  max-width: 100%;
  padding: 1.5% 2%;
  text-align: left;
}

.col2box li img {
  display: block;
}

.arrow_afterli {
  display: block;
  margin: -2px auto 5px;
  text-align: center;
}

.step {
  display: block;
}

.step img {
  display: block;
  margin: 5px auto;
}

.step1 p {
  margin-top: 0.25rem;
}

#step2 {
  display: block;
}

.step2_inner {
  display: block;
}

.step2_flow li {
  border: none;
  margin-top: 0;
}
.step2_flow li:nth-child(1) p:nth-child(2) {
  font-size: 1rem !important;
}
.step2_flow li:nth-child(1) p:nth-child(2) span {
  font-size: .75rem !important;
}

#onepiace p.redbox {
  display: block;
  background: #BA000E;
  color: #fff;
  font-size: .9375rem;
  font-weight: normal;
  margin-right: 0;
  margin-bottom: .3em;
  padding: 0.2em 0;
  text-align: center;
  width: 100%;
}

.step2_inner p {
  font-size: 1.15rem;
  font-weight: bold;
  margin: auto 0;
}

.step2_inner span {
  display: block;
  font-size: 0.85rem;
  font-weight: normal;
}

.step3_inner {
  display: block;
}

#step3 img:nth-child(1) {
  margin: 5px auto;
}

.step3_inner img {
  margin-bottom: 1rem;
  margin-top: 0 !important;
}

.prize_list {
  display: block;
  margin-bottom: 20px;
}

.prize_list_inner {
  display: block;
  background-attachment: scroll;
  background-image: url(../img/p_col02_prize_list_bg.jpg);
  background-repeat: repeat-y;
  background-position: center top;
  padding: 5px 5%;
  margin: 0 auto;
  background-size: contain;
}

.prize_list p {
  padding-bottom: 0;
  position: relative;
  text-align: left;
}

.limit {
  font-size: 1.15rem;
  font-weight: bold;
  margin: 1rem 0;
}

.attention {
  font-size: 0.9rem;
  margin: 0 auto;
  max-width: 780px;
  text-align: left;
}

.attention span {
  font-weight: bold;
}

li.pointbox span {
  display: block;
  background-attachment: scroll;
  background-image: url(../img/p_col03_point_bg.png);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100%;
  padding: 0 7%;
}

li.pointbox span h4 {
  margin-bottom: .4em;
}

h3.line_pink {
  margin-bottom: .5em;
  padding-bottom: .8em;
  background-attachment: scroll;
  background-image: url(../img/p_point_line.png);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 5%;
  text-align: center;
}

h3.line_yellow {
  margin-bottom: .5em;
  padding-bottom: .8em;
  background-attachment: scroll;
  background-image: url(../img/p_point_line-2.png);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 5%;
  text-align: center;
}

.point5_box {
  display: block;
  margin: 10px auto 0;
}

.point5_box {
  display: block;
  padding-right: 0px;
}

.point5_box .bgY {
  background-color: #fff6cc;
  padding: 15px 3% 0px 3%;
  display: block;
}
.point5_box .bgY dl.metor_info dd {
  text-align: center;
  order: -2;
}

.point5_box .bgY p.bold {
  font-size: 1rem !important;
}

dl.metor_info {
  display: flex;
  flex-direction: column;
  margin: 15px 0 0 !important;
}

dl.metor_info dt {
  padding-bottom: 5px;
  text-align: center !important;
  font-size: .875rem;
  order: -1;
}

dl.metor_info dd {
  position: relative;
  text-align: left;
  margin-bottom: 5px;
}

dl.metor_info dd img {
  width: 30%;
}

#col03 .pointboxL .point_inner .contactbox {
  display: block;
  background-color: #ffdee0;
  margin: 10px auto 20px;
  padding: 15px 3% 5px;
  align-items: center;
  justify-content: flex-start;
}
#col03 .pointboxL .point_inner .contactbox p {
  font-size: 0.8125rem !important;
  text-align: center;
}

#onepiace p.bgRed {
  display: block;
  background-color: #ba000e;
  border-radius: 1rem;
  color: #fff;
  font-weight: bold;
  padding: .25em .6em;
  text-align: center;
  line-height: 1.6;
}

.contactbox p.txtN {
  text-align: left;
}

.contactbox em {
  display: block;
}

ul.point_text3 li {
  padding-bottom: .4em;
  font-weight: bold;
}

ul.point_text3 li p {
  font-weight: normal;
}

strong {
  font-weight: bold;
}

.img2box {
  display: flex;
  justify-content: center;
  margin: 10px auto;
  align-items: flex-start;
}

.img2box img {
  width: 45%;
  margin: 0 2%;
  height: auto;
}

.eventbox img {
  width: 100%;
}

.eventbox .event_text, .eventbox .event_text2, .eventbox .event_text4, .eventbox .event_text6 {
  display: block;
  background-attachment: scroll;
  background-image: url(../img/p_col04_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 0 8% 16% !important;
}

.eventbox .event_text.col04_6 {
  background-image: url(../img/p_col04_bg.png);
}

#information {
  width: 100%;
  margin: 20px auto;
  color: #000;
}

#information h5 {
  margin-bottom: -2px;
  padding-bottom: 0;
}

#information img {
  display: block;
  margin: 0 auto;
  padding: 0;
}

.info_bg {
  display: block;
  background-attachment: scroll;
  background-image: url(../img/p_info_bg.png);
  background-position: center top;
  background-repeat: repeat-y;
  padding: 0 20px 10px;
  background-size: 100%;
  margin: 0 auto;
}

.info_inner {
  display: block;
  background-color: #fff;
  border-radius: 12px;
  padding: 20px 30px;
}

.info2box span {
  display: block;
}

.info2box span:first-child {
  background-attachment: scroll;
  background-image: url(../img/p_info_line.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100%;
}

.dot_red {
  color: #BA000E;
}

.w70 {
  width: 70%;
}

.w50 {
  width: 50%;
}

.w30 {
  width: 30%;
}

.pdr {
  padding-right: 5%;
}

.pdl {
  padding-left: 5%;
}

.align_left {
  text-align: left !important;
}

.align_right {
  text-align: right !important;
}

.center {
  display: block;
  margin: 0px auto 5px;
  text-align: center !important;
}

.lineC {
  display: block;
  margin: 20px auto;
  text-align: center;
}

.imgC {
  display: block;
  margin: 10px auto 5px auto;
  text-align: center;
}

.imgR {
  display: block;
  margin: 10px 0 5px 0;
  text-align: right !important;
}

.imgR::after {
  clear: both;
}

.imgR img {
  display: block;
  float: right;
}

.btnC {
  display: block;
  margin: 25px auto 25px auto;
  text-align: center;
  width: 90%;
}

.btnL {
  display: block;
  margin: 10px 0;
  text-align: left;
}

.txtR {
  text-align: right !important;
}

.txtC {
  text-align: center !important;
}

#onepiace p.txtL {
  text-align: left;
}

#onepiace p.txtN {
  font-size: 1rem !important;
}

#onepiace p.txtS, #onepiace .txtS {
  font-size: .8125rem !important;
}

#onepiace p.ast {
  font-size: .8125rem !important;
  padding-left: 1em;
  text-indent: -1em;
  margin: 0 1em;
}

#onepiace p.txtSS, #onepiace .txtSS {
  font-size: .75rem !important;
  padding-bottom: .5em !important;
  line-height: 1.3;
}

#onepiace sup {
  font-size: 65% !important;
  font-weight: normal;
}

#onepiace p.bold {
  font-weight: bold;
}

#onepiace p em {
  font-weight: bold;
}

#onepiace p.nomgb {
  padding-bottom: 0;
  margin-bottom: 0;
}

.mgb20 {
  padding-bottom: 20px;
}

.mgb30 {
  margin-bottom: 30px;
}

.mgb40 {
  margin-bottom: 40px;
}

.mgb2em {
  margin-bottom: 2em;
}

.mgb3em {
  margin-bottom: 3em;
}

.mgt20 {
  margin-top: 20px;
}

.mgt30 {
  margin-top: 30px;
}

.mgt40 {
  margin-top: 40px;
}

.mgt50 {
  margin-top: 50px;
}

#onepiace .linktxt {
  font-weight: bold;
  font-size: 1rem;
}

#onepiace .linktxt a::after {
  content: url(../img/p_info_arrow.png);
  display: inline-block;
  padding-left: .6em;
}

#onepiace .linktxtR {
  display: block;
  text-align: right;
  font-weight: bold;
  font-size: .9375rem;
  position: relative;
  padding-right: 26px;
}

#onepiace .linktxtR a::after {
  content: url(../img/p_arrow.png);
  display: block;
  position: absolute;
  right: 0;
  top: 0em;
}

#onepiace .linktxtR a:link, #onepiace .linktxtR a:visited {
  text-decoration: underline;
}

/* コンテンツ リンク色[変更可] */
#onepiace a:link {
  text-decoration: none;
  color: #c3141c;
}

#onepiace a:visited {
  text-decoration: none;
  color: #c3141c;
}

#onepiace a:active {
  text-decoration: underline;
  color: #e21423;
}

#onepiace a:hover {
  text-decoration: underline;
  color: #e21423;
}

/*-------  ホバーキャプション   -------*/
.flrecommend {
  width: auto;
  border: 6px solid #FFFFFF;
}

.rcm-box2 {
  background: black;
  position: relative;
}

.rcm-box2 img {
  display: block;
  opacity: 1;
}

.rcm-box2 a img {
  width: 100%;
}

.rcm-box2:hover img {
  opacity: 0.4;
}

.rcm-overlay {
  display: none;
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 100%;
  text-align: center;
}

.rcm-box2:hover .rcm-overlay {
  opacity: 1;
  display: inline-block;
  vertical-align: middle;
}

#kitaQ-content .rcm-box2 p {
  padding: 0 10px 5px;
  color: white;
  line-height: 2;
  font-size: .75rem;
  letter-spacing: .04em;
}

/*-------  ホバーキャプション   -------*/
/*-------------------------------------------------
  clear 
-------------------------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/
  /*/
	height: auto;
	overflow: hidden;
	/**/
}

.both {
  clear: both;
}

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
