@charset "UTF-8";

/* reset
===============================================================*/
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
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 {
  margin        : 0;
  padding       : 0;
  border        : 0;
  outline       : 0;
  font-size     : 100%;
  vertical-align: baseline;
  background    : transparent
}

* {
  box-sizing: border-box
}

html {
  overflow-x                : hidden;
  -webkit-overflow-scrolling: touch;
}

body {
  line-height               : 1;
  overflow-x                : hidden;
  -webkit-overflow-scrolling: touch;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

img {
  display  : block;
  max-width: 100%;
}

ul {
  list-style: none
}

a {
  margin        : 0;
  padding       : 0;
  font-size     : 100%;
  vertical-align: baseline;
  background    : transparent
}

#wrapper {
  width      : 100%;
  max-width  : 100%;
  font-family: 'Noto Sans JP', sans-serif;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.sp_none {
  display: block;
}

.pc_none,
.slider_box02 {
  display: none;
}

.m_auto {
  margin: 0 auto;
}

.inline {
  display: inline-block;
}

.inner {
  max-width : 98%;
  margin    : 0 auto;
  position  : relative;
  text-align: center;
}

.contents_bg {
  width: 100%;
}

#contents_mv {
  width   : 100%;
  margin  : 0 auto;
  position: relative;
}

#contents_mv img {
  width: 100%;
}

/* read */
#contents_read {
  background-image: url(../img/bg02_pc.jpg);
  font-family     : 'Yu Mincho', serif;
}

#contents_read .inner {
  width  : 945px;
  padding: 70px 0 60px;
}

#contents_read img {
  margin: 0 auto;
}

#contents_read .title {
  padding-bottom: 50px;
}

.read_box {
  width          : 888px;
  max-width      : 100%;
  display        : flex;
  flex-wrap      : wrap;
  justify-content: space-between;
  margin         : 0 auto;
  padding-bottom : 42px;
}

.read_box img {
  width         : 48%;
  padding-bottom: 18px;
}

#contents_read p {
  color           : #fff;
  background-color: #0050A5;
  font-size       : 30px;
  line-height     : 1.2;
  padding         : 30px 0;
}

/* present01 */
#contents_present01 {
  background-color: #fdf4f4;
}

#contents_present01 img {
  margin: 0 auto;
}

#contents_present01 .inner {
  width  : 1920px;
  padding: 70px 0;
}

#contents_present01 .title {
  padding-bottom: 60px;
}

.present_box {
  background-color: #fff;
  padding         : 80px;
}

.present_box01 {
  padding-bottom: 90px;
}

.present_box02 .read {
  padding-top: 40px;
}

/* STEP */
#contents_step {
  background-image: url(../img/bg02_pc.jpg);
}

#contents_step img {
  margin: 0 auto;
}

#contents_step .inner {
  width  : 1290px;
  padding: 100px 0;
}

#contents_step .title {
  padding-bottom: 60px;
}

.step02img {
  padding-top: 100px;
}

/* present02 */
#contents_present02 img {
  margin: 0 auto;
}

#contents_present02 .inner {
  width  : 1290px;
  padding: 120px 0 100px;
}

#contents_present02 .title {
  padding-bottom: 60px;
}

.present02_flex {
  display        : flex;
  justify-content: space-between;
}

/* #絶対Seiko */
#contents_zettai img {
  margin: 0 auto;
}

#contents_zettai .inner {
  width  : 945px;
  padding: 100px 0 70px;
}

#contents_zettai .title {
  padding-bottom: 50px;
}

.button {
  display        : flex;
  justify-content: space-between;
  margin         : 0 auto;
}

.button a:hover {
  opacity: 0.7;
}

#contents_juken {
  background-image   : url(../img/bg03_pc.png);
  background-repeat  : no-repeat;
  background-position: top;
}

#contents_syukatsu {
  background-image   : url(../img/bg04_pc.png);
  background-repeat  : no-repeat;
  background-position: top;
}

#contents_seikatsu {
  background-image   : url(../img/bg05_pc.png);
  background-repeat  : no-repeat;
  background-position: top;
}

#contents_juken .inner,
#contents_syukatsu .inner,
#contents_seikatsu .inner {
  width  : 945px;
  padding: 70px 0;
}

#contents_juken .title {
  padding-left: 7%;
}

#contents_syukatsu .title {
  padding-left: 22%;
}

#contents_seikatsu .title {
  padding-left: 34%;
}

.contents_juken_read p {
  font-size  : 25px;
  text-align : left;
  line-height: 1.5;
  padding    : 30px 0 40px 15%;
}

.contents_syukatsu_read p {
  font-size  : 25px;
  text-align : left;
  line-height: 1.5;
  padding    : 30px 0 0;
  margin     : 0 auto;
  display    : inline-block;
}

.contents_seikatsu_read p {
  display    : inline-block;
  font-size  : 25px;
  text-align : left;
  line-height: 1.5;
  padding    : 30px 0 40px;
}

.contents_seikatsu_read {
  text-align: right;
}

.contents_juken_read .subtitle {
  padding-top: 80px;
}

.contents_seikatsu_read .subtitle {
  padding-top: 40px;
}

#contents_juken .slider_box {
  padding-bottom: 100px;
}

#contents_syukatsu .slider_box {
  padding-bottom: 80px;
}

.slider {
  width : 100%;
  margin: 0 auto;
}

.slider_txt {
  font-size  : 17px;
  line-height: 1.5;
  padding    : 0 0 10px 30px;
}

.slider_txt01 {
  font-size  : 17px;
  line-height: 1.5;
  margin-left: 30px;
}

.slider_txt02 {
  display       : inline;
  font-size     : 15px;
  line-height   : 1.5;
  border-bottom : 1px solid;
  padding-bottom: 3px;
  margin-left   : 30px;
}

.slider_txt03 {
  font-size   : 15px;
  padding-top : 10px;
  padding-left: 30px;
}

.slider_txt03 span {
  font-size  : 20px;
  font-weight: 500;
}

.slider_txt04 {
  font-size  : 32px;
  font-weight: 500;
  line-height: 1.5;
  text-align : center;
  padding-top: 20px;
}

.slider_txt05 {
  font-size  : 20px;
  font-weight: 500;
  line-height: 1.5;
  text-align : center;
}

.slider_txt06 {
  width      : 80%;
  font-size  : 18px;
  line-height: 1.5;
  margin     : 0 auto;
  padding-top: 20px;
}

.slider_txt07 {
  display       : inline;
  font-size     : 15px;
  line-height   : 1.5;
  border-bottom : 1px solid #fff;
  padding-bottom: 3px;
  margin-left   : 30px;
}

.slider img {
  width: 100%;
}

.slider .slick-slide {
  height: auto !important;
}

.title_box {
  position: absolute;
}

.spec_box {
  padding: 0 30px 0;
}

.spec_box img {
  margin: 0 auto;
}

.slider_inner {
  position: relative;
}

.slider_inner::before {
  content         : "";
  display         : inline-block;
  width           : 1px;
  height          : 800px;
  background-color: #231815;
  position        : absolute;
  top             : -20px;
}

.slider_flex {
  width          : 95%;
  display        : flex;
  justify-content: space-between;
}

.point {
  font-size: 19px;
  border   : 1px solid;
  padding  : 3px 10px;
}

/* 対象店舗 */
#contents_shop img {
  margin: 0 auto;
}

#contents_shop .inner {
  width  : 1100px;
  padding: 100px 0 180px;
}

#contents_shop .title {
  padding-bottom: 40px;
}

.shop_box {
  width    : 100%;
  max-width: 99%;
  margin   : 0 auto;
}

.shop_box_inner {
  display  : flex;
  flex-wrap: wrap;
  padding  : 0 0 30px;
}

.shop {
  width          : 30%;
  height         : auto;
  /* 子要素の内容がないので高さ指定しています。通常はautoでOK */
  display        : flex;
  /* heightにautoを指定した際に高さを揃えるための指定 */
  flex-direction : column;
  /* heightにautoを指定した際に高さを揃えるための指定 */
  justify-content: center;
  /* 水平方向中央揃え */
  align-items    : center;
  /* 垂直方向中央揃え */
}

.shop:nth-of-type(4) {
  margin-left: 17.5%;
  /* 4番目の子要素の左に計算した余白を指定 */
}

.shop:nth-of-type(5) {
  margin-right: 17.5%;
  /* 5番目の子要素の左に計算した余白を指定 */
}

.shop:nth-of-type(n+4) {
  margin-top: 50px;
  /* 4番目以降の子要素の上に余白指定 */
}

.shop_box_inner a:hover {
  opacity: 0.7;
}

.note {
  font-size   : 25px;
  line-height : 1.5;
  text-align  : left;
  margin      : 0 auto;
  text-indent : -1em;
  padding-left: 1em;
}

/* 応募規約 */
#contents_kiyaku img {
  margin: 0 auto;
}

#contents_kiyaku .title {
  padding-bottom: 60px;
}

#contents_kiyaku .title img {
  margin: 0 auto;
}

.kiyaku {
  background-color: #ebf2fe;
}

.kiyaku .inner {
  width  : 880px;
  padding: 60px 0;
}

.kiyakuBox {
  background-color: #fff;
  height          : 530px;
  overflow        : hidden;
  margin          : 0 auto;
  padding         : 40px 30px;
  text-align      : left;
  line-height     : 1.5;
}

.kiyakuBoxInner {
  width     : 100%;
  height    : 100%;
  overflow  : scroll;
  overflow-x: hidden;
}

.kiyakuBox h5 {
  margin     : 0;
  padding-top: 20px;
  font-size  : 16px;
  font-weight: normal;
}

.kiyakuBox p {
  font-size: 16px;
  margin   : 0;
}

.kiyakuBox ul,
.kiyakuBox ol {
  margin      : 0;
  margin-left : 0;
  padding-left: 0;
  list-style  : none;
}

.kiyakuBox ul li {
  font-size   : 16px;
  padding-left: 1em;
  text-indent : -1em;
}

.kiyakuBox ol li {
  font-size   : 16px;
  list-style  : none;
  position    : relative;
  padding-left: 1em;
  text-indent : -1em;
}

.kiyakuBox a {
  color          : #000;
  text-decoration: underline;
}

/* お問い合わせ */
#contents_contact .title {
  padding: 60px 0 40px;
}

#contents_contact img {
  margin: 0 auto;
}

.contact {
  background-color: #ebf2fe;
}

.contact .inner {
  width  : 815px;
  padding: 100px 0 80px;
}

.contact_txt01 {
  font-family   : 'Yu Mincho', serif;
  font-weight   : 700;
  font-size     : 55px;
  padding-bottom: 80px;
}

.contact_txt02 {
  font-family   : 'Yu Mincho', serif;
  font-weight   : 700;
  font-size     : 50px;
  padding-bottom: 60px;
}

.contact_txt03 {
  font-size  : 29px;
  line-height: 1.5;
  text-align : left;
}

@media screen and (max-width: 1261px) {
  .slider_txt01 {
    font-size   : 10px;
    padding-left: 15px;
  }

  .slider_txt02 {
    font-size     : 10px;
    margin-left   : 15px;
    padding-bottom: 3px;
  }

  .slider_txt03 {
    font-size     : 10px;
    padding-left  : 15px;
    padding-bottom: 10px;
  }

  .slider_txt03 span {
    font-size: 14px;
  }

  .slider_txt04 {
    font-size: 16px;
  }

  .slider_txt05 {
    font-size: 10px;
  }

  .slider_txt06 {
    width    : 100%;
    font-size: 10px;
  }

  .slider_txt07 {
    font-size     : 10px;
    margin-left   : 15px;
    padding-bottom: 3px;
  }

  .point {
    font-size: 10px;
    padding  : 2px 5px;
  }
}

@media screen and (max-width: 768px) {
  .pc_none {
    display  : block;
    max-width: 100%;
  }

  .sp_none {
    display: none;
  }

  .contents_mv {
    width    : 100%;
    max-width: 100%;
  }

  /* read */
  #contents_read {
    background-image: url(../img/bg02_sp.jpg);
  }

  #contents_read .inner {
    width    : 100%;
    max-width: 93%;
    padding  : 25px 0 12px;
  }

  #contents_read .title {
    padding-bottom: 5px;
  }

  .read_box {
    width         : 100%;
    padding-bottom: 0;
  }

  #contents_read img {
    margin        : 0;
    padding-bottom: 15px;
  }

  #contents_read p {
    font-size : 14px;
    text-align: center;
    padding   : 15px 0;
  }

  /* present01 */
  #contents_present01 .inner {
    width    : 100%;
    max-width: 95%;
    padding  : 25px 0;
  }

  #contents_present01 .title {
    padding-bottom: 20px;
  }

  .present_box {
    padding: 20px 10px;
  }

  .present_box01 {
    padding-bottom: 20px;
  }

  .present_box02 .read {
    padding-top: 10px;
  }

  /* STEP */
  #contents_step {
    background-image: url(../img/bg02_sp.jpg);
  }

  #contents_step .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 40px 0 25px;
  }

  #contents_step .title {
    padding-bottom: 30px;
  }

  .step02img {
    padding-top: 20px;
  }

  /* present02 */
  #contents_present02 .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 20px 0 30px;
  }

  #contents_present02 .title {
    padding-bottom: 20px;
  }

  .present02_flex {
    display: block;
  }

  .present02_flex img {
    padding-bottom: 20px;
  }

  /* #絶対Seiko */

  #contents_zettai .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 0 0 50px;
  }

  #contents_zettai .title {
    padding-bottom: 15px;
  }

  .button {
    width: 100%;
  }

  .button li {
    width: 47%;
  }

  .button a:hover {
    opacity: 0.7;
  }

  #contents_juken {
    background-image: url(../img/bg03_sp.png);
    background-size : 100%;
  }

  #contents_syukatsu {
    background-image: url(../img/bg04_sp.png);
    background-size : 100%;
  }

  #contents_seikatsu {
    background-image: url(../img/bg05_sp.png);
    background-size : 100%;
  }

  #contents_juken .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 0 0 20px;
  }

  #contents_syukatsu .inner {
    width    : 68%;
    max-width: 90%;
    padding  : 0;
  }

  #contents_seikatsu .inner {
    width       : 87%;
    max-width   : 90%;
    padding     : 60px 0 0;
    margin-right: 4%;
  }

  #contents_juken .title {
    width       : 50%;
    padding-left: 0;
  }

  #contents_syukatsu .title {
    width       : 68%;
    padding-left: 0;
  }

  #contents_seikatsu .title {
    width       : 60%;
    padding-left: 0;
  }

  .contents_juken_read p {
    font-size: 12px;
    padding  : 10px 0 0 7%;
  }

  .contents_syukatsu_read p {
    display  : block;
    font-size: 12px;
    padding  : 10px 0 0 0;
  }

  .contents_seikatsu_read p {
    display   : inline-block;
    font-size : 12px;
    text-align: left;
    padding   : 10px 0 0;
  }

  #contents_juken .subtitle {
    padding-top: 20px;
  }

  /* スライダー */
  #contents_juken .slider_box {
    padding: 20px 0 80px;
  }

  #contents_syukatsu .slider_box {
    padding: 60px 0 50px;
  }

  #contents_seikatsu .slider_box {
    padding: 60px 0 0;
  }

  .slider_sp {
    width : 100%;
    margin: 0 auto;
  }

  /* 対象店舗 */
  #contents_shop img {
    margin: 0 auto;
  }

  #contents_shop .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 60px 0 90px;
  }

  #contents_shop .title {
    padding-bottom: 10px;
  }

  #contents_shop ul {
    width         : 100%;
    color         : #231815;
    font-size     : 12px;
    line-height   : 1.5;
    text-align    : left;
    margin        : 0 auto;
    padding-bottom: 40px;
  }

  .shop_box {
    width    : 777px;
    max-width: 99%;
    margin   : 0 auto;
  }

  .shop_box_inner {
    display  : flex;
    flex-wrap: wrap;
    padding  : 40px 0 0;
  }

  .shop {
    width         : 50%;
    padding-bottom: 30px;
  }

  .shop:nth-of-type(n+4) {
    margin-top: 0;
  }

  .shop:nth-of-type(4) {
    margin-left: 0;
  }

  .shop:nth-of-type(5) {
    margin-right: 0;
  }

  .shop_box_inner a:hover {
    opacity: 0.7;
  }

  .note {
    font-size: 12px;
  }

  /* 応募規約 */
  #contents_kiyaku .title {
    width         : 100%;
    max-width     : 90%;
    margin        : 0 auto;
    padding-bottom: 10px;
  }

  #contents_kiyaku .inner {
    width    : 100%;
    max-width: 90%;
  }

  .kiyaku .inner {
    padding: 30px 0;
  }

  .kiyakuBox {
    height : 240px;
    padding: 20px;
  }

  .kiyakuBox h5 {
    padding-top: 20px;
    font-size  : 14px;
  }

  .kiyakuBox p {
    font-size: 14px;
  }

  .kiyakuBox ul li {
    font-size: 14px;
  }

  .kiyakuBox ol li {
    font-size: 14px;
  }

  /* お問い合わせ */
  #contents_contact .title {
    width    : 100%;
    max-width: 90%;
    margin   : 0 auto;
    padding  : 30px 0 10px;
  }

  .contact .inner {
    width    : 100%;
    max-width: 90%;
    padding  : 30px 0 40px;
  }

  .contact_txt01 {
    font-size     : 20px;
    padding-bottom: 30px;
  }

  .contact_txt02 {
    font-size     : 20px;
    padding-bottom: 20px;
  }

  .contact_txt03 {
    font-size  : 11px;
    line-height: 1.5;
    text-align : left;
  }
}