@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');

html {
  font-size: 62.5%;
  overflow-x: auto;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
  padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
i,
strong,
th,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:before,
q:after {
  content: '';
}

object,
embed {
  vertical-align: top;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}


legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

ul,
ol {
  list-style-type: none;
}

ul,
li,
img {
  vertical-align: bottom;
}

hr {
  display: none;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/* default */
body {
  font-family: 'BIZ UDPGothic', Osaka, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
  color: #000;
  font-size: 1.5rem;
  line-height: 1.6;
  -webkit-text-size-adjust: none;
  font-weight: 400;
  min-width: 1440px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  /*overflow-x: hidden;*/
}

body * {
  letter-spacing: 0.05em;
}

.robotoReg {
  font-family: "Roboto", sans-serif;
}

.robotoItalicBold {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
    font-size: 1.3rem;
  }

  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

input,
select,
textarea,
button {
  font-family: 'BIZ UDPGothic', Osaka, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
  vertical-align: middle;
  letter-spacing: 0.02em;
  padding: 8px 8px;
}

input:focus,
select:focus,
textarea:focus {
  outline: 0;
}

input:placeholder,
textarea:placeholder {
  color: #707070;
}

input[type=text],
input[type=tel],
input[type=email] {
  border: none;
  background: #ffffff;
  padding: 8px;
  border: solid 1px #999;
  font-size: 1.5rem;
  border-radius: 5px;
}

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

select {
  background: #ffffff;
  padding: 5px;
  border: solid 1px #999;
  font-size: 1.5rem;
  border-radius: 5px;
}

textarea {
  border: none;
  background: #ffffff;
  padding: 8px;
  border: solid 1px #999;
  font-size: 1.5rem;
  border-radius: 5px;
}

/* link option */
a {
  cursor: pointer;

}

a:link {
  color: #222;
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: #222;
  text-decoration: none;
}

a:hover {
  color: #222;
  text-decoration: none;
}

a:active {
  color: #222;
}

/*clearfix*/
.cf:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.cf {
  min-height: 1%;
}

* {
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}

img {
  height: auto;
  max-width: 100%;
}

.Deco {
  text-decoration: underline !important;
}

.block {
  display: block;
}

.AnCr {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.AnLt {
  text-align: left !important;
}

.AnRt {
  text-align: right !important;
}

.big {
  font-size: 120%;
}

.bold {
  font-weight: 800;
}

.sml {
  font-size: 90%;
}

.red {
  color: #da1515;
  background-color: #fef1ec;
  display: inline;
}

/*
.white {
  color: #fff;
}

.blue {
  color: #0000ff;
}
*/

/*IE11以下のフォント余白処理*/
@media all and (-ms-high-contrast:none) {

  _:lang(x)::-ms-backdrop,
  .selector {}
}

/*firefoxのみ適用*/
@-moz-document url-prefix() {}

/* safari */
_::-webkit-full-page-media,
_:future,
:root .selector {}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.skip {
  width: 1px;
  color: #000000;
  font-size: 0.1%;
  line-height: 0.1;
  background-color: #fff;
  position: absolute;
  left: -3000px;
  z-index: 9999;
}

@media screen and (max-width: 767px) {

  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=file],
  select,
  textarea {
    font-size: 100%;
  }
}

.contentsBlock.small {
  font-size: 90%;
}

.contentsBlock.large {
  font-size: 110%;
}

/***************************************************************************

  ヘッダ

***************************************************************************/
#header {
  width: 100%;
  max-width: 1440px;
  height: 997px;
  margin: 0 auto 0;
  padding: 0 0 0 0;
}

#header .headerWrap {
  width: 100%;
  height: 100%;
  margin: 0 auto 0;
  padding: 0 0 0 0;
  background: url(../images/fv.jpg) no-repeat center top;
  background-size: 100% auto;
  position: relative;
}

#header strong {
  width: 360px;
  display: block;
  position: absolute;
  top: 30px;
  left: 20px;
}

#header strong img {
  width: 100%;
}

#header h1 {
  width: 642px;
  position: absolute;
  top: 245px;
  left: 0;
  right:0;
  margin: 0 auto;
}

#header h1 img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  #header {
    width: 100%;
    height: 66.1333vw;
  }

  #header .headerWrap {
    background: url(../images/fv_sp.jpg) no-repeat center top;
    background-size: 100% auto;
  }

  #header strong {
    width: 33.066vw;
    top: 2vw;
    left: 1.2vw;
  }

  #header h1 {
    width: 44.8vw;
    top: 16.9333vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

/***************************************************************************

  エントリーボタンエリア

***************************************************************************/
.entryBlock {
  width: 100%;
  background: #121d6d;
  position: fixed;
  bottom: 0;
  z-index: 100;
  height: 230px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.entryBlock .wrap {
  width: 100%;
  max-width: 700px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.entryBlock strong {
  width: 353px;
  margin: 0 0 15px;
}

.entryBlock a {
  width: 100%;
  margin: 0 0 15px;
  transition: 0.3s;
}

.entryBlock a:hover {
  opacity: 0.7;
}

.entryBlock p {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .entryBlock {
    height: 37vw;
  }

  .entryBlock .wrap {
    max-width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 20vw;
  }

  .entryBlock strong {
    width: 100%;
    margin: 0 0 2vw;
    line-height: 0;
  }

  .entryBlock a {
    width: 100%;
    margin: 0 0 1vw;
  }

  .entryBlock a:hover {
    opacity: 1;
  }

  .entryBlock p {
    width: 100%;
  }
}

/***************************************************************************

  各賞

***************************************************************************/
.prizeBlock {
  width: 100%;
  max-width: 1440px;
  padding: 20px 0 100px;
  margin: 0 auto;
  background: #fff url(../images/prize_bg.png) no-repeat center top 120px;
  background-size: 100% auto;
}

.prizeBlock .wrap {
  width: 100%;
}

.prizeBlock h2 {
  width: 897px;
  margin: 0 auto 0;
}

.prizeBlock h2 img {
  width: 100%;
}

.aPrizeBox {
  width: 1262px;
  margin: -25px auto 40px;
}

.bPrizeBox {
  width: 1203px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .prizeBlock {
    width: 100%;
    padding: 1.3vw 0 13.33vw;
    margin: 0 auto;
    background: #fff url(../images/prize_bg_sp.png) no-repeat center top 14vw;
    background-size: 100% auto;
  }

  .prizeBlock .wrap {
    width: 100%;
    padding: 2vw 2vw 0;
  }

  .prizeBlock h2 {
    width: 100%;
    margin: 0 auto 2.66vw;
  }

  .prizeBlock h2 img {
    width: 100%;
  }

  .aPrizeBox {
    width: 100%;
    margin: 0 auto 6.6vw;
    padding: 0 0 0 1vw;
  }

  .bPrizeBox {
    width: 100%;
    padding: 0 2vw;
  }
}

/***************************************************************************

  sightseeing

***************************************************************************/
.sightseeingSpotsBlock {
  width: 100%;
  max-width: 1440px;
  padding: 100px 0 100px;
  margin: 0 auto;
  background: #fff url(../images/sightseeing_bg.png) repeat center top;
}

.sightseeingSpotsBlock .wrap {
  width: 100%;
}

.sightseeingSpotsBlock h2 {
  width: 623px;
  margin: 0 auto 29px;
}

.sightseeingSpotsBlock h2 img {
  width: 100%;
}

.sightseeingSpots {
  width: 1284px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sightseeingSpotsBlock {
    width: 100%;
    padding: 11.466vw 2vw 13.333vw;
    margin: 0 auto;
    background: #fff url(../images/sightseeing_bg.png) repeat center top;
    background-size: 10px auto;
  }

  .sightseeingSpotsBlock h2 {
    width: 100%;
    margin: 0 auto 7.333vw;
    padding: 0 6vw;
  }

  .sightseeingSpots {
    width: 100%;
    margin: 0 auto;
  }
}

/***************************************************************************

  caution

***************************************************************************/
.cautionBlock {
  width: 100%;
  max-width: 1440px;
  padding: 100px 0 50px;
  margin: 0 auto;
  background: #eeeee3;
}

.cautionBlock .wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.cautionBlock h2 {
  width: 283px;
  margin: 0 auto 45px;
}

.cautionBlock h2 img {
  width: 100%;
}

.cautionBlock h3 {
  display: block;
  margin: 0 0 35px;
}

.cautionBlock h3 img {
  height: 66px;
  width: auto;
}

.cautionBlock ul {
  display: block;
  margin: 0 0 50px;
}

.cautionBlock ul li {
  display: block;
  font-size: 20px;
  line-height: 1.8;
  padding: 0 0 0 31px;
  margin: 0 0 5px;
  background: url(../images/dot_yellow.png) no-repeat left top calc(0.5em - 2px);
  background-size: 19px auto;
}

@media screen and (max-width: 767px) {
  .cautionBlock {
    width: 100%;
    padding: 13.333vw 4vw 1vw;
  }

  .cautionBlock h2 {
    width: 48.133vw;
    margin: 0 auto 6.8vw;
  }

  .cautionBlock h3 {
    margin: 0 0 15px;
  }

  .cautionBlock h3 img {
    height: 33px;
  }

  .cautionBlock ul {
    display: block;
    margin: 0 0 30px;
  }

  .cautionBlock ul li {
    font-size: 12px;
    line-height: 1.666;
    padding: 0 0 0 15px;
    margin: 0 0 3px;
    background: url(../images/dot_yellow.png) no-repeat left top calc(0.5em - 2px);
    background-size: 11px auto;
  }
}

/***************************************************************************

  フッタ

***************************************************************************/
footer {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 0 100px;
}

footer .wrap {
  width: 100%;
}

footer .footerLink {
  width: 100%;
  margin: 0 0 60px;
}

footer .footerLink p {
  font-size: 16px;
}

footer dl {
  width: 100%;
}

footer .ftrTtl {
  display: block;
}

footer .ftrTtl span {
  font-size: 22px;
  font-weight: bold;
  background: url(../images/hl_bg.png) repeat left top;
  background-size: 4px auto;
  display: inline-block;
  padding: 10px 20px;
  line-height: 1;
  margin: 0 0 20px;
}

footer dd {
  display: block;
  padding: 0 0 15px;
}

footer dd ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

footer dd li {
  font-size: 18px;
  display: inline-block;
  padding: 3px 32px 3px 30px;
  position: relative;
}

footer dd li:first-child {
  padding-left: 0
}

footer dd li::after {
  content: '';
  width: 2px;
  height: 1.4em;
  background: #eeeee3;
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
}

footer dl dd li a {
  text-decoration: underline !important;
}

footer dl dd li a:hover {
  text-decoration: none !important;
}

footer address {
  width: 100%;
}

footer address p {
  font-size: 18px;
}

footer address p a {
  text-decoration: underline !important;
}

footer address p a:hover {
  text-decoration: none !important;
}

footer strong {}

footer h3 {
  font-size: 20px;
  font-weight: bold;
  padding: 0 0 14px;
}

.copyRihgt {
  width: 100%;
  border-top: solid 1px #eeeee3;
  padding: 35px 0 35px;
}

.copyRihgt .wrap {
  width: 1200px;
  text-align: right;
  margin: 0 auto;
  font-size: 14px;
  padding: 0 0 230px;
}

@media screen and (max-width: 767px) {
  footer {
    padding: 50px 4vw 0;
  }

  footer .wrap {
    padding: 0 0 30px;
    border-bottom: dotted 2px #eeeee3;
  }

  footer .footerLink {
    margin: 0 0 30px;
  }

  footer .footerLink p {
    font-size: 11px;
  }

  footer .ftrTtl {
    display: block;
  }

  footer .ftrTtl span {
    font-size: 14px;
    padding: 8px 13px;
    margin: 0 0 15px;
  }

  footer dd {
    padding: 0 0 10px;
  }

  footer dd ul {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }

  footer dd li {
    font-size: 12px;
    padding: 0 0 5px 0;
  }

  footer dd li::after {
    display: none;
  }

  footer dl dd li a:hover {
    text-decoration: underline !important;
  }

  footer address {
    width: 100%;
  }

  footer address p {
    font-size: 12px;
  }

  footer address p a:hover {
    text-decoration: underline !important;
  }

  footer h3 {
    font-size: 15px;
    padding: 0 0 10px;
  }

  .copyRihgt {
    width: 100%;
    border-top: 0;
    padding: 30px 4vw 30px;
  }

  .copyRihgt .wrap {
    width: 100%;
    text-align: right;
    margin: 0 auto;
    font-size: 11px;
    padding: 0 0 37vw;
  }
}
