html {
  overflow: auto;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
blockquote,
pre,
address,
pageTop ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td {
  margin: 0;

  padding: 0;

  background-position: 0% 0%;

  font-size: inherit;
}

#shlogo {
  width: 55%;

  margin: 0 auto;

  padding: 0;
}
table.basicTable.w50 {
  width: 100%;
}

table.basicTable {
  width: 100%;

  margin: 0 auto;

  margin-bottom: 24px;

  border: 2px solid #3c3606;
}
table.basicTable th,
table.basicTable td {
  padding: 2px 2px;

  border-top: 1px solid #999;

  border-right: 1px solid #999;

  border-bottom: 1px solid #999;

  font-size: 60%;
}
table.basicTable th {
  background: #fbf196;

  text-align: center;
}

table.basicTable th.th_blue {
  background: #8cd2ff;
}

table.basicTable th.th_pink {
  background: #ff8cb2;
}
table.basicTable th.th_green {
  background: #8cffd6;
}

table.basicTable th.th_orange {
  background: #fbb925;
}

table.basicTable .center {
  text-align: center;
}

.w80 {
  width: 100%;
}

.w40 {
  width: auto;
}

.w30 {
  width: auto;
}

.w20 {
  width: auto;
}

.img300 {
  width: 100%;
}

.top_text {
  padding: 24px;

  color: #e8e8e8;
}
.sp_content {
  display: block;
}

img {
  border: none;
}

p {
  line-height: 170%;
}

ul,
ol,
li {
  list-style-type: none;
}

table {
  border-collapse: collapse;

  border-spacing: 0;
}

body {
  background: #000;

  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

header {
  background-color: #080404;
}

.b16 {
  margin-bottom: 16px;
}

.b24 {
  margin-bottom: 24px;
}

img {
  max-width: 100%;
}

picture img {
  vertical-align: bottom;
}

#segalogo_top {
  display: none;
}

h1 {
  width: 50%;

  margin: 0 auto;

  padding: 8px 0 8px 0;
}

#sns {
  display: none;
}

#sns_s {
  display: block;

  width: 184px;

  margin: 0 auto 0 auto;

  padding-bottom: 16px;

  overflow: hidden;
}

#sns_twitter_s {
  float: right;

  margin-right: 16px;
}

#sns_twitter_s a {
  display: block;

  width: 50px;

  height: 50px;

  background: url("../../../assets/img/btn_twitter_s.png") no-repeat;

  text-indent: -9999px;
}

#sns_fb_s {
  float: right;

  margin-right: 16px;
}

#sns_fb_s a {
  display: block;

  width: 50px;

  height: 50px;

  background: url("../../../assets/img/btn_fb_s.png") no-repeat;

  text-indent: -9999px;
}

#sns_line_s {
  float: right;
}

#sns_line_s a {
  display: block;

  width: 50px;

  height: 50px;

  background: url("../../../assets/img/btn_line_s.png") no-repeat;

  text-indent: -9999px;
}

#sns_twitter_s a:hover,
#sns_fb_s a:hover,
#sns_line_s a:hover {
  background-position: 0 -50px;
}

#mainvisual {
  width: 100%;

  border-bottom: solid #a8a2b7 1px;
}

p.nb {
  margin-bottom: 0px !important;
}

#pageTop {
  position: fixed;

  right: 10px;

  bottom: 10px;
}
#pageTop a {
  display: block;

  width: 52px;

  height: 52px;

  background: url(../../../assets/img/pagetop.png) no-repeat;

  text-align: center;

  text-indent: -9999px;
}

#pageTop img {
  display: none;
}

footer #footer-banner {
  padding-top: 16px;

  padding-right: 0;

  padding-bottom: 8px;

  padding-left: 0;

  text-align: center;
}

footer #footer-banner a:hover {
  opacity: 0.6;
}

footer #footer-banner img {
  width: 44%;

  margin: 0 8px 16px 8px;
}

#footer-bottom {
  width: 100%;

  background: #000;
}

#footer-bottom-content {
  width: 100%;

  padding: 16px;

  overflow: hidden;
}

footer #copyright {
  color: #fff;

  font-size: 11px;

  line-height: 180%;

  overflow: hidden;
}
footer #copyright a {
  color: #00b050;
}

footer #segalogo {
  width: 240px;

  margin: 0;

  margin: 0 auto;

  padding-top: 24px;

  padding-bottom: 10px;

  text-align: center;
}

/* main contents */

.content-main {
  margin-bottom: 24px;

  padding: 0px 0px 16px 0px;
}

.content-main .contents {
  margin: 0;

  padding: 0px;

  border-radius: 0px;

  background: rgba(255, 255, 255, 0.8);

  overflow: hidden;
}

.content-main .contents.nb {
  margin-top: 0;

  margin-right: 0;

  margin-left: 0;

  padding: 16px 10px 24px 10px;

  background: rgba(255, 255, 255, 0.5);

  overflow: hidden;
}

.content-main .contents p {
  margin-bottom: 24px;

  line-height: 170%;
}
.content-main .contents dt,
.content-main .contents dd {
  line-height: 170%;
}

.content-main .contents_nb {
  margin: 0 0 16px 0;

  padding: 24px 24px 0 24px;

  border-radius: 0px 0px 3px 3px;

  background: rgba(245, 246, 247, 1);

  overflow: hidden;
}

.content-main .contents_nb p {
  margin-bottom: 24px;

  line-height: 170%;
}

.content-main h3 {
  position: relative;

  margin: 0;

  padding: 12px 8px 10px 8px;

  border-radius: 0px;

  background: linear-gradient(to bottom, #1e94d9 0%, #5c2f9e);

  color: #fff;

  color: #f1f1f1;

  font-size: 140%;

  font-weight: bold;

  text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.8);

  text-align: center;

  line-height: 130%;

  letter-spacing: 1px;
}

.img_right {
  float: none;

  display: block;

  margin: 0 auto;

  padding-bottom: 16px;

  text-align: center;
}

@media screen and (min-width: 641px) {
  table.basicTable {
    width: 90%;
  }

  h1 {
    width: 100%;

    padding: 20px 0 0px 0;

    text-align: center;
  }

  #sns_twitter {
    float: right;

    margin-right: 12px;
  }

  #sns_twitter a {
    display: block;

    width: 38px;

    height: 38px;

    background: url("../img/btn_twitter.png") no-repeat;

    text-indent: -9999px;
  }

  #sns_fb {
    float: right;

    margin-right: 12px;
  }

  #sns_fb a {
    display: block;

    width: 38px;

    height: 38px;

    background: url("../img/btn_fb.png") no-repeat;

    text-indent: -9999px;
  }

  #sns_line {
    float: right;
  }

  #sns_line a {
    display: block;

    width: 38px;

    height: 38px;

    background: url("../img/btn_line.png") no-repeat;

    text-indent: -9999px;
  }

  #sns_twitter a:hover,
  #sns_fb a:hover,
  #sns_line a:hover {
    background-position: 0 -38px;
  }

  #sns_s {
    display: none;
  }

  #mainvisual {
    clear: both;

    height: 760px;
  }

  #pageTop {
    position: fixed;

    right: 20px;

    bottom: 20px;
  }

  #footer-bottom {
    width: 100%;
  }

  #footer-bottom-content {
    width: 1008px;

    margin: 0 auto;
  }

  footer #copyright {
    color: #ededed;

    font-size: 10px;

    text-align: center;

    /*float:left;*/
    line-height: 180%;
  }

  footer #segalogo {
    width: 300px;

    margin: 0;

    margin: 0 auto;

    padding-top: 20px;

    padding-bottom: 10px;
  }

  footer #footer-banner {
    padding-top: 24px;

    padding-right: 0;

    padding-bottom: 16px;

    padding-left: 0;

    text-align: center;
  }

  footer #footer-banner img {
    width: 168px;
  }

  /* contents */

  .content_bg_top {
    width: 1028px;
    height: 56px;
    margin: 0 auto;
    padding: 0px 24px 0px 24px;
    background: url(../img/content_bg_t.png) center top no-repeat;
  }

  .content_bg_b {
    width: 1028px;
    height: 56px;
    margin: 0 auto;
    padding: 0px 24px 0px 24px;
    background: url(../img/content_bg_b.png) center top no-repeat;
  }

  .content-main {
    width: 1028px;
    margin: 0 auto;
    padding: 0 3rem;
    background-color: rgba(255, 255, 255, 0.8);
    background: url(../img/content_bg_r.png) center top repeat-y;
  }

  .content-main .contents {
    margin-top: 0;

    margin-right: 0;

    margin-bottom: 24px;

    margin-left: 0;

    overflow: hidden;
  }

  .content-main .contents.nb {
    margin: 0 0 0px 0;

    padding-top: 16px;

    padding-right: 16px;

    padding-left: 16px;

    background: rgba(255, 255, 255, 0);

    overflow: hidden;
  }

  .content-main p,
  .content-main dl {
    margin-bottom: 24px;

    line-height: 170%;
  }

  .content-main h3 {
    position: relative;

    margin-right: 0;

    margin-left: 0;

    padding-top: 16px;

    padding-right: 0;

    padding-bottom: 14px;

    padding-left: 20px;

    border-radius: 3px 3px 0px 0px;

    background: linear-gradient(to bottom, #1e94d9 0%, #5c2f9e);

    color: #fff;

    color: #f1f1f1;

    font-size: 180%;

    font-weight: bold;

    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.8);

    text-align: center;

    letter-spacing: 1px;
  }

  .sp-only {
    display: none;
  }

  .pc-only {
    display: block;
    position: relative;
  }

  .pc_sp {
    display: block;
  }

  .img_left {
    float: left;

    width: 370px;

    margin-right: 20px;
  }

  .img_right {
    float: right;

    width: 350px;

    margin-left: 16px;
  }
}

/* footer */

footer {
  background: linear-gradient(#020106, #25104b);

  color: #f0f0f0;
}
footer a {
  color: #f0f0f0;
}
footer #footer-top {
  width: 1008px;

  margin-top: 0;

  margin-right: auto;

  margin-bottom: 16px;

  margin-left: auto;

  padding: 0;
}

table.basicTable.w50 {
  width: 50% !important;
}

table.basicTable th,
table.basicTable td {
  padding: 6px 10px;

  border-top: 1px solid #999;

  border-right: 1px solid #999;

  border-bottom: 1px solid #999;

  font-size: 100%;
}
table.basicTable th {
  background: #fbf196;

  text-align: center;
}

table.basicTable th.th_blue {
  background: #8cd2ff;
}

table.basicTable th.th_pink {
  background: #ff8cb2;
}
table.basicTable th.th_green {
  background: #8cffd6;
}

table.basicTable th.th_orange {
  background: #fbb925;
}

table.basicTable .center {
  text-align: center;
}

.w80 {
  width: 80% !important;
}

.w40 {
  width: 40%;
}

.w30 {
  width: 30%;
}

.w20 {
  width: 20%;
}

@media only screen and (max-width: 640px) {
  footer {
    min-width: 100%;

    margin-top: -20px;

    background: linear-gradient(#020106, #020106);
  }

  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }

  .pc_sp {
    display: block;
  }

  #footer-bottom {
    margin-top: -10px;
  }
}
