@charset "UTF-8";
body {
  background: #fff;
  min-height: 100vh;
  margin: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Arial, Helvetica, "メイリオ", "Meiryo", sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

h1, h2, h3, h4, h5, p, figure {
  margin: 0;
  line-height: 0;
  font-weight: normal; }

ul, ol, dl, dd {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

a {
  color: #0057a7; }

img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%; }

/* ---- common ------------ */
.bg_wrap {
  background: #0083d6 url(../img/common/bg.jpg) center top no-repeat;
  background-size: 100% auto;
  min-width: 320px;
  margin: 0 auto;
  padding-top: 45px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* header */
.header_wrap {
  position: relative;
  height: 44.0627vw;
  max-height: 282px;
  margin: 0 auto; }

.header_common_wrap {
  position: fixed;
  background: #fff;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1000; }

.header_common_inner {
  max-width: 600px;
  margin: 0 auto;
  height: 45px; }
  .header_common_inner::after {
    content: "";
    display: block;
    clear: both; }

.logo_wrap {
  height: 100%;
  line-height: 0;
  float: left; }

.menu_btn {
  height: 100%;
  float: right; }

.header_cap .title {
  position: absolute;
  width: 50%;
  left: 1%;
  top: 4.6%; }

.header_cap .banner {
  position: absolute;
  width: 93.75vw;
  max-width: 600px;
  left: 0;
  right: 0;
  bottom: 2%;
  margin: 0 auto;
  line-height: 0; }

/* menu */
.menu_wrap {
  display: none;
  margin: 0 auto;
  text-align: center; }

.menu_list::after {
  content: "";
  display: block;
  clear: both; }

.menu_item {
  display: block;
  background: #00419e;
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 22px;
  border-bottom: 1px solid #fff;
  float: left;
  width: 100%;
  height: 50px; }
  .menu_item.active {
    background: #faed00; }
    .menu_item.active .menu1 {
      background-image: url(../img/common/menu_item1_on.png); }
    .menu_item.active .menu2 {
      background-image: url(../img/common/menu_item2_on.png); }
    .menu_item.active .menu3 {
      background-image: url(../img/common/menu_item3_on.png); }
    .menu_item.active .menu4 {
      background-image: url(../img/common/menu_item4_on.png); }
    .menu_item.active .menu5 {
      background-image: url(../img/common/menu_item5_on.png); }
  .menu_item > a {
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 22px;
    width: 100%;
    height: 100%;
    color: #00419e;
    font-weight: bold;
    font-style: italic;
    font-size: 21px;
    text-decoration: none;
    text-indent: -9999px; }
    .menu_item > a.menu1 {
      background-image: url(../img/common/menu_item1_off.png); }
    .menu_item > a.menu2 {
      background-image: url(../img/common/menu_item2_off.png); }
    .menu_item > a.menu3 {
      background-image: url(../img/common/menu_item3_off.png); }
    .menu_item > a.menu4 {
      background-image: url(../img/common/menu_item4_off.png); }
    .menu_item > a.menu5 {
      background-image: url(../img/common/menu_item5_off.png); }

/* main */
.main_wrap {
  width: 100%;
  margin: 0 auto; }

.section_wrap01 {
  background: #0084d7;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* aside */
.pagetop_link {
  padding: 10% 0 0;
  line-height: 0; }
  .pagetop_link > a {
    display: block;
    width: 28.125vw;
    max-width: 180px;
    margin: 0 auto; }

.campaign_wrap {
  margin-top: 7%;
  padding: 4% 0 0;
  text-align: center; }
  .campaign_wrap > * {
    width: 93.75vw;
    max-width: 600px;
    margin: 0 auto; }

.campaign_cap {
  padding-bottom: 3%; }

.campaign_caution {
  padding-bottom: 3%;
  line-height: 1.8em;
  font-size: 10px;
  font-size: calc(0.55rem + 0.625vw);
  color: #fff;
  text-align: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.campaign_btn {
  padding-top: 3%;
  line-height: 0; }

.banner_wrap {
  margin: 0 auto;
  padding: 8% 0 5%;
  line-height: 0;
  text-align: center; }

/* footer */
.footer_copylight {
  background: #000;
  padding: 3% 0 55px;
  line-height: 1;
  font-size: 11px;
  font-size: calc(0.55rem + 0.7vw);
  color: #fff;
  text-align: center; }
  .footer_copylight > small {
    display: block;
    padding: 6% 0 4%;
    font-size: 100%; }

.sns_list {
  font-size: 0; }
  .sns_list > li {
    display: inline-block;
    margin: 0 2%;
    width: 8.75vw;
    min-width: 40px;
    max-width: 55px;
    line-height: 0;
    font-size: 1rem; }

.footer_btn_wrap {
  display: none;
  position: fixed;
  background: #ff2600;
  width: 100%;
  height: 55px;
  bottom: 0;
  padding: 10px 0;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 200; }
  .footer_btn_wrap::after {
    content: "";
    display: block;
    clear: both; }
  .footer_btn_wrap img {
    height: 100%;
    vertical-align: middle; }

.footer_btn_inner {
  width: 96%;
  max-width: 600px;
  height: 100%;
  margin: 0 auto; }

.footer_btn {
  display: block;
  float: left;
  width: 49%;
  height: 100%;
  text-align: center; }
  .footer_btn > a {
    display: inline-block;
    background: #fff url(../img/common/footer_btn_arrow.png) 98% center no-repeat;
    background-size: auto 100%;
    width: 100%;
    max-width: 160px;
    min-width: 140px;
    height: 100%;
    margin: 0 auto 0 2%;
    padding: 0 25px 0 4%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .footer_btn + .footer_btn {
    float: right; }
    .footer_btn + .footer_btn > a {
      margin: 0 2% 0 auto; }

/* ---- parts ------------ */
/* data */
.data_wrap {
  background: #fff;
  width: 90%;
  margin: 0 auto;
  color: #000;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.data_cap {
  margin-bottom: 10px;
  line-height: 1.6em;
  font-size: 14px;
  font-size: calc(0.75rem + 0.625vw);
  font-weight: bold; }
  .data_cap > span {
    display: inline-block;
    white-space: nowrap; }
  .data_cap .caution {
    display: block;
    padding-top: 1%;
    line-height: 1.2em;
    font-size: 0.75em;
    font-weight: normal; }

.data_button {
  position: relative;
  background: #333;
  margin: 0 auto;
  padding: 10px 25px 10px 10px;
  line-height: 1;
  font-weight: bold;
  font-size: 11px;
  font-size: calc(0.65rem + 0.625vw);
  color: #fff;
  text-align: left;
  cursor: pointer; }
  .data_button::after {
    content: "";
    position: absolute;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    width: 0;
    height: 0;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto 0; }
  .data_button.open::after {
    border-bottom: 10px solid #fff; }
  .data_button.close::after {
    border-top: 10px solid #fff; }
  .data_button.close + .data_cont {
    display: none; }

.data_cont {
  margin: 0 auto;
  padding: 2% 0; }
  .data_cont::after {
    content: "";
    display: block;
    clear: both; }
  .data_cont > li {
    display: block; }

.data_list > li {
  font-size: 11px;
  font-size: calc(0.65rem + 0.625vw); }
  .data_list > li:nth-child(odd) {
    background: #ededed; }

.data_item {
  font-family: Verdana, Arial, Helvetica;
  text-align: left; }
  .data_item::after {
    content: "";
    display: block;
    clear: both; }
  .data_item > dt {
    float: left;
    width: 11em;
    padding: 5px 0 5px 0.25em;
    line-height: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .data_item > dd {
    float: left;
    padding: 5px 0;
    line-height: 1; }
    .data_item > dd + dd {
      margin-left: 0.5em; }
