@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@900&family=Work+Sans:wght@400;500;700&display=swap);
ol,ul {
    list-style:none;
    margin:0;
    padding:0
}
img {
    vertical-align:middle;
    border:0;
    max-width:100%
}
img.max {
    width:100%
}
.imgMax img {
    width:100%
}
html {
    scroll-behavior:smooth
}
body {
    word-wrap:break-word;
    line-height:180%;
    font-size:16px;
    -webkit-text-size-adjust:100%;
    font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    background-color:#fff;
    color:#000
}
.mincho {
    font-family:"Noto Serif JP",serif
}
*,div {
    box-sizing:border-box
}
a {
    color:#0d33a3
}
a:hover {
    opacity:.8
}
p {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:0 0
}
@media screen and (max-width:1023px) {
    .pcOnly {
        display:none
    }
}
@media screen and (min-width:1024px) {
    .spOnly {
        display:none
    }
}
header .wrapper {
    display:flex;
    justify-content: space-between;
}
@media screen and (min-width:1024px) {
    .wrapper {
        width:100%;
        max-width:1140px;
        margin:0 auto
    }
}
@media screen and (max-width:1023px) {
    .wrapper {
        margin:0 4%
    }
}
.header {
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:10;
    background-color:#fff
}
@media screen and (min-width:1024px) {
    .header {
        height:78px
    }
}
@media screen and (max-width:1023px) {
    .header {
        height:50px
    }
}
.header_btn {
    float:right;
    margin-top:15px
}
@media screen and (max-width:1023px) {
    .header_btn {
        margin-top:8px
    }
}
.header_btn a {
    background-color:#0d33a3;
    color:#fff;
    height:44px;
    width:160px;
    display:block;
    line-height:44px;
    text-align:center;
    text-decoration:none;
    position:relative;
    font-weight:700;
    font-size:14px
}
@media screen and (max-width:1023px) {
    .header_btn a {
        height:34px;
        width:110px;
        display:block;
        line-height:34px
    }
}
.header_btn a:before {
    position:absolute;
    right:10px;
    top:20px;
    content:"";
    display:inline-block;
    width:10px;
    height:10px;
    background:url(../images/ico_arrow01.png) no-repeat left top;
    background-size:10px auto
}
@media screen and (max-width:1023px) {
    .header_btn a:before {
        right:5px;
        top:14px
    }
}
.footer {
    background-color:#000;
    color:#fff;
    padding:10px;
    text-align:center;
    font-size:12px;
    font-weight:400
}
@media screen and (min-width:1024px) {
    main {
        margin-top:78px
    }
}
@media screen and (max-width:1023px) {
    main {
        margin-top:50px
    }
}
.mainVS {
    width:100%
}
@media screen and (min-width:1251px) {
    .mainVS {
        height:690px;
        background:url(../images/main_bg.jpg) no-repeat right bottom;
        display:block;
        background-position: right -420px bottom 10px;
    }
}
@media screen and (min-width:1024px) and (max-width:1250px) {
    .mainVS {
        background:url(../images/main_bg_sp.jpg) no-repeat right bottom;
        background-size:1300px auto!important;
        background-position: right bottom -121px;
    }
}
@media screen and (max-width:1023px) {
    .mainVS {
        background: url(../images/main_bg_sp.jpg) no-repeat right top;
        background-size: 800px auto !important;
        display: block;
    }
}
@media screen and (min-width:760px) and (max-width:1023px) {
    .mainVS {
        background:url(../images/main_bg_sp.jpg) no-repeat right bottom;
        background-size:1100px auto!important;
        background-position: right bottom -124px;
        display:block
    }
}
.mainVS_tx01 {
    padding-top:105px;
    padding-left:115px;
    font-size:20px;
    font-weight:700
}
@media screen and (max-width:1023px) {
    .mainVS_tx01 {
        font-size:16px;
        padding-top:40px;
        padding-left:20px
    }
}
.mainVS_tx02 {
    padding:25px 0;
    padding-left:115px;
    font-size:45px;
    line-height:150%;
    font-weight:700
}

@media screen and (max-width:1023px) {
    .mainVS_tx02 {
        font-size:25px;
        padding-top:10px;
        padding-left:20px;
        padding-bottom:120px
    }
}

@media screen and (max-width: 1023px) {
    .mainVS_tx01 {
        font-size: 16px;
        padding-top: 40px;
        padding-left: 20px;
    }

    .mainVS_tx02 {
        font-size: 25px;
        padding-top: 10px;
        padding-left: 20px;
        padding-bottom: 120px;
    }

    .mainVS_tx01,
    .mainVS_tx02 {
        -webkit-text-stroke: 1px white;
        paint-order: stroke fill;
    }
}

.mainVS_list {
    background-color:rgba(13,51,163,.8);
    padding-left:115px;
    padding-top:40px
}
@media screen and (min-width:1024px) {
    .mainVS_list {
        width:680px;
        height:240px
    }
}
@media screen and (max-width:1023px) {
    .mainVS_list {
        width:100%;
        padding-top:20px;
        padding-left:20px
    }
}
.mainVS_list li {
    font-size:25px;
    background:url(../images/ico_check.png) no-repeat left 5px;
    background-size:37px auto;
    padding-left:60px;
    padding-bottom:35px;
    color:#fff;
    letter-spacing:.1em
}
@media screen and (max-width:1023px) {
    .mainVS_list li {
        font-size:20px;
        background:url(../images/ico_check.png) no-repeat left 5px;
        background-size:20px auto;
        padding-left:40px;
        padding-bottom:15px
    }
}
@media screen and (min-width:1024px) {
    .sec01 {
        margin:80px 0 0;
        padding-bottom:80px;
        background:url(../images/map.png) no-repeat right bottom;
        background-size:570px auto
    }
}
@media screen and (max-width:1023px) {
    .sec01 .spOnly {
        margin:40px auto 20px
    }
}
@media screen and (min-width:768px) and (max-width:1024px) {
    .sec01 .spOnly {
        width:50%
    }
}
.pageNav {
    margin-top:80px;
    margin-bottom:-40px
}
@media screen and (max-width:1023px) {
    .pageNav {
        margin-top:40px
    }
}
.pageNav ul {
    text-align:center
}
.pageNav ul li {
    width:214px;
    height:84px;
    margin:0 10px;
    display:inline-block;
    background-color:#fff;
    box-shadow:1px 3px 3px 0 #222;
    font-size:14px;
    font-weight:700
}
@media screen and (max-width:1023px) {
    .pageNav ul li {
        width:47%;
        margin:0 1% 15px
    }
}
.pageNav ul li a {
    display:block;
    line-height:74px;
    text-decoration:none;
    background:url(../images/ico_arrow_under.png) no-repeat center 60px;
    background-size:13px auto
}
.onayami {
    background:#0d33a3;
    padding:90px 0 0;
    margin-bottom:-1px;
    padding-left:1px
}
@media screen and (max-width:1023px) {
    .onayami {
        padding-bottom:20px
    }
}
.onayami .onayamiList li {
    background-color:#fff;
    margin-bottom:-1px
}
@media screen and (min-width:1024px) {
    .onayami .onayamiList li {
        width:48%;
        float:left;
        margin-bottom:40px
    }
    .onayami .onayamiList li.odd {
        margin-right:2%
    }
    .onayami .onayamiList li.even {
        margin-left:2%
    }
}
@media screen and (max-width:1023px) {
    .onayami .onayamiList li {
        margin-bottom:20px;
        padding-bottom:10px
    }
    .onayami .onayamiList li.setHeight2 {
        height:auto!important
    }
    .onayami .onayamiList li.setHeight2_2 {
        height:auto!important
    }
}
.onayami .onayamiListBox {
    display:flex
}
.onayami .onayamiListBox .onayamiListBoxL {
    width:44%
}
.onayami .onayamiListBox .onayamiListBoxL img {
    vertical-align:top;
    margin-bottom:-1px
}
.onayami .onayamiListBox .onayamiListBoxR {
    width:56%;
    position:relative;
    padding:50px 20px 0
}
.onayami .onayamiListBox .onayamiListBoxR .ico {
    position:absolute;
    left:-16px;
    top:16px;
    z-index:1
}
.onayami .onayamiListBox .onayamiListBoxR h3 {
    font-size:21px;
    margin-bottom:10px
}
@media screen and (max-width:1023px) {
    .onayami .onayamiListBox .onayamiListBoxR h3 {
        font-size:16px;
        margin-bottom:5px
    }
}
.onayami .onayamiListBox .onayamiListBoxR p {
    font-size:14px;
    line-height:1.5
}
.onayamiBg {
    background:url(../images/bg_btm01.jpg) no-repeat center top;
    background-size:100% auto;
    display:block;
    width:100%;
    height:118px
}
@media screen and (max-width:1023px) {
    .onayamiBg {
        height:70px
    }
}
.suggestion {
    margin-top:20px
}
@media screen and (max-width:1023px) {
    .suggestion {
        margin-top:0
    }
    .suggestion img {
        width:100%
    }
}
.suggestion ul {
    margin-top:40px
}
@media screen and (min-width:1024px) {
    .suggestion ul {
        margin-top:60px;
        display:flex
    }
}
.suggestion ul li {
    position:relative
}
@media screen and (min-width:1024px) {
    .suggestion ul li {
        width:23%;
        margin-right:2%;
        padding:20px 20px 60px
    }
}
@media screen and (max-width:1023px) {
    .suggestion ul li {
        width:100%;
        padding:20px 20px 40px;
        margin-bottom:40px
    }
}
.suggestion ul li .kazari01 {
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:80%;
    border-left:1px solid #0d33a3;
    border-top:1px solid #0d33a3
}
.suggestion ul li .kazari02 {
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:80%;
    border-right:1px solid #0d33a3;
    border-bottom:1px solid #0d33a3
}
.suggestion ul li .kazari03 {
    position:absolute;
    left:-28px;
    top:55px;
    width:195px;
    height:1px;
    border-bottom:1px solid #0d33a3;
    transform:rotate(-45deg)
}
.suggestion ul:last-child {
    margin-right:0
}
.suggestion_Pg {
    position:absolute;
    left:20px;
    top:5px;
    font-weight:700;
    font-size:12px
}
.suggestion_Pg span {
    font-size:32px
}
.suggestion h3 {
    font-size:20px;
    text-align:center;
    color:#0d33a3
}
@media screen and (max-width:1023px) {
    .suggestion h3 {
        font-size:18px
    }
}
.suggestion_tx01 {
    font-size:12px;
    line-height:1.7
}
.about {
    background-color:#e1e6f5;
    padding:40px 0 60px;
    margin-top:100px
}
@media screen and (min-width:1024px) {
    .about_hosyo {
        width:800px
    }
}
.about_seido {
    margin-top:40px;
    border:4px solid #0d33a3
}
@media screen and (min-width:1024px) {
    .about_seido {
        width:800px;
        display:flex
    }
}
.about_seido_L {
    width:38%;
    font-size:24px;
    background-color:#0d33a3;
    text-align:center;
    color:#fff;
    padding:29px 0 0;
    position:relative
}
@media screen and (min-width:1024px) {
    .about_seido_L:before {
        content:"";
        position:absolute;
        top:50%;
        left:100%;
        margin-top:-15px;
        border:15px solid transparent;
        border-left:15px solid #0d33a3
    }
}
@media screen and (max-width:1023px) {
    .about_seido_L {
        width:100%;
        padding:20px;
        font-size:22px
    }
}
.about_seido_R {
    width:62%;
    font-size:24px;
    background-color:#fff;
    text-align:center;
    color:#0d33a3;
    padding:20px 0 25px
}
.about_seido_R span {
    font-size:42px
}
@media screen and (max-width:1023px) {
    .about_seido_R {
        width:100%;
        padding:20px;
        font-size:22px
    }
    .about_seido_R span {
        font-size:30px
    }
}
.about_keitai {
    width:100%;
    font-size:0;
    background-color:#fff
}
.about_keitai_L {
    width:23%;
    font-size:18px;
    text-align:center;
    color:#fff;
    vertical-align:middle;
    display:inline-block;
    color:#0d33a3
}
@media screen and (max-width:1023px) {
    .about_keitai_L {
        display:block;
        text-align:center;
        width:100%;
        padding:10px
    }
}
.about_keitai_R {
    width:77%;
    font-size:12px;
    vertical-align:middle;
    text-align:left;
    padding:20px 20px 20px 0;
    display:inline-block;
    line-height:1.5
}
@media screen and (max-width:1023px) {
    .about_keitai_R {
        display:block;
        text-align:left;
        width:100%;
        padding:0 20px 20px
    }
}
.blueBox {
    font-size:18px;
    display:inline-block;
    padding:10px 55px;
    border:1px solid #0d33a3
}
@media screen and (max-width:1023px) {
    .blueBox {
        font-size:16px
    }
}

/* =========================
   LOCATION
========================= */

.location {
  margin: 50px 0;
  overflow: hidden;
}

.location h3 {
  font-size: 21px;
  color: #0d33a3;
}

.location h4 {
  font-size: 16px;
  background-color: #0d33a3;
  padding: 5px 10px;
  display: inline-block;
  color: #fff;
  position: absolute;
  z-index: 1;
}

/* =========================
   map base
========================= */

.location .location_map {
  display: grid;
  grid-template-columns: max-content minmax(320px, 420px) max-content;
  grid-template-areas:
    ".        map hokkaido"
    "hokuriku map ."
    "kinki    map kanto"
    "kyushu   map chugoku";
  column-gap: 18px;
  row-gap: 14px;
  align-items: center;
  justify-content: center;
  max-width: 920px;
  margin: 0 auto;
  padding: 24px 0 0;
  position: relative;
}

.location .location_map .mapitself {
  grid-area: map;
  width: 100%;
  max-width: 420px;
  margin: 0;
  justify-self: center;
  align-self: center;
}

.location .location_map .mapitself img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================
   box base
========================= */

.location .location_map .location_map_item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: visible;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: auto !important;
  max-width: none;
  min-width: auto;
  margin: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #1f45b8;
  z-index: 2;
}

.location .location_map .location_map_item::before,
.location .location_map .location_map_item::after {
  display: none !important;
}

.location .location_map .location_map_item h4 {
  display: block;
  width: 100%;
  position: static !important;
  z-index: auto;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 14px;
  background: #1f45b8;
  color: #fff;
  font-size: 18px;
  line-height: 1.4;
}

.location .location_map .location_map_item p {
  display: block;
  width: auto;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.8;
  background: #fff;
  white-space: nowrap;
}

.location .location_map .location_map_item .clearfix {
  display: none;
}

/* =========================
   desktop placement
========================= */

.location .location_map .location_map_hokkaido_tohoku {
  grid-area: hokkaido;
  justify-self: start;
  align-self: end;
  margin-left: 40px;
  margin-bottom: 40px;
}

.location .location_map .location_map_hokuriku_tokai {
  grid-area: chugoku;
  justify-self: start;
  align-self: start;
  margin-left: -444px;
  margin-top: -280px;
}

.location .location_map .location_map_kinki {
  grid-area: chugoku;
  justify-self: start;
  align-self: start;
  margin-left: -230px;
  margin-top: 18px;
  z-index: 3;
}

.location .location_map .location_map_chugoku_shikoku {
  grid-area: hokuriku;
  justify-self: end;
  align-self: start;
  margin-right: 0px;
  margin-top: 0px;
  background: transparent;
  border: none;
  overflow: visible;
}

.location .location_map .location_map_kyushu_okinawa {
  grid-area: kyushu;
  justify-self: end;
  align-self: start;
  margin-right: 30px;
  margin-top: -16px;
}

.location .location_map .location_map_kanto_koshinetsu {
  grid-area: kanto;
  justify-self: start;
  align-self: center;
  margin-left: -8px;
  margin-top: 8px;
}

/* 中国・四国は親borderを消しているので箱部分だけborderを付与 */
.location .location_map .location_map_chugoku_shikoku h4 {
  border: 1px solid #1f45b8;
  border-bottom: 0;
}

.location .location_map .location_map_chugoku_shikoku p {
  border: 1px solid #1f45b8;
  border-top: 0;
}

/* =========================
   candidate title
========================= */

.location .location_map .location_map_item .location_candidate_title {
  display: none;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  color: #0d33a3;
  line-height: 1.2;
  width: auto;
  white-space: nowrap;
  z-index: 4;
}

/* =========================
   desktop candidate title
   1024px〜：中国・四国の上に表示
========================= */

@media screen and (min-width: 1024px) {
  .location .location_map .location_map_chugoku_shikoku {
    position: relative !important;
  }

  .location .location_map .location_map_item .location_candidate_title_chugoku {
    display: block;
    position: absolute !important;
    left: 0;
    bottom: 100%;
    margin: 0 0 10px;
  }

  .location .location_map .location_map_item .location_candidate_title_kyushu {
    display: none !important;
  }
}

/* =========================
   desktop guide lines
========================= */

@media screen and (min-width: 1024px) {
  .location .location_map .location_map_hokkaido_tohoku::after,
  .location .location_map .location_map_kanto_koshinetsu::after,
  .location .location_map .location_map_hokuriku_tokai::after,
  .location .location_map .location_map_kinki::after,
  .location .location_map .location_map_kyushu_okinawa::after,
  .location .location_map .location_map_chugoku_shikoku::after {
    content: "";
    position: absolute;
    display: block !important;
    height: 1px;
    background: #1f45b8;
    z-index: 1;
    pointer-events: none;
  }

  /* 北海道・東北 */
  .location .location_map .location_map_hokkaido_tohoku::after {
    right: 100%;
    top: 64px;
    width: 88px;
    transform-origin: right center;
    transform: rotate(-35deg);
  }

  /* 関東甲信越 */
  .location .location_map .location_map_kanto_koshinetsu::after {
    right: 100%;
    top: 38px;
    width: 112px;
    transform-origin: right center;
    transform: rotate(5deg);
  }

  /* 北陸・東海 */
  .location .location_map .location_map_hokuriku_tokai::after {
    left: 40%;
    bottom: -1px;
    width: 96px;
    transform-origin: left bottom;
    transform: rotate(75deg);
  }

  /* 近畿 */
  .location .location_map .location_map_kinki::after {
    right: 100%;
    top: -1px;
    width: 40px;
    transform-origin: right center;
    transform: rotate(48deg);
  }

  /* 九州・沖縄 */
  .location .location_map .location_map_kyushu_okinawa::after {
    left: 100%;
    top: 22px;
    width: 72px;
    transform-origin: left center;
    transform: rotate(-24deg);
  }

  /* 中国・四国 */
  .location .location_map .location_map_chugoku_shikoku::after {
    left: 100%;
    top: 96px;
    width: 108px;
    transform-origin: left center;
    transform: rotate(40deg);
  }
}

/* =========================
   1024〜1279px
========================= */

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .location .location_map {
    grid-template-columns: 240px minmax(320px, 440px) 240px;
    column-gap: 24px;
    row-gap: 20px;
    max-width: 980px;
  }

  .location .location_map .location_map_item h4 {
    font-size: 16px;
  }

  .location .location_map .location_map_item p {
    font-size: 15px;
  }

  .location .location_map .location_map_item .location_candidate_title {
    font-size: 24px;
  }
}

/* =========================
   〜1023px
========================= */

@media screen and (max-width: 1023px) {
  .location {
    margin: 40px 0 20px;
  }

  .location .location_map {
    display: block;
    max-width: 640px;
    padding: 24px 0 0;
  }

  .location .location_map .mapitself {
    width: 100%;
    max-width: 420px;
    margin: 0 auto 15%;
  }

  .location .location_map .location_map_item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    justify-self: auto;
    align-self: auto;
  }

  .location .location_map .location_map_item p {
    white-space: normal;
  }

  .location .location_map .location_map_kyushu_okinawa {
    position: relative !important;
    margin-top: 44px !important;
  }

  .location .location_map .location_map_item .location_candidate_title_kyushu {
    display: block;
    position: absolute !important;
    left: 0;
    bottom: 100%;
    margin: 0 0 8px;
  }

  .location .location_map .location_map_item .location_candidate_title_chugoku {
    display: none !important;
  }
}

/* =========================
   description text
========================= */

.location_desk {
  max-width: 940px;
  margin: 40px auto;
}

@media screen and (max-width: 1023px) {
  .location_desk {
    font-size: 14px;
  }
}

.location_desk {
    max-width:940px;
    margin:40px auto
}
@media screen and (max-width:1023px) {
    .location_desk {
        font-size:14px
    }
}
.flow {
    background-color:#e4e4e4;
    padding:40px 0 60px;
    margin-top:0
}
.flow_arrow {
    width:200px;
    margin:20px 0;
    margin:20px auto
}
.flow_box01 {
    width:100%;
    background-color:#fff;
    padding:30px 0 40px
}
.flow_box01 ul li {
    display:inline-block;
    vertical-align:middle
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li {
        vertical-align:top
    }
}
.flow_box01 ul li.flow_box01_num {
    color:#e1e6f5;
    font-size:128px;
    font-weight:700;
    text-align:center;
    width:25%
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li.flow_box01_num {
        font-size:32px;
        width:12%;
        margin-left:2%
    }
}
.flow_box01 ul li.flow_box01_ico {
    color:#e1e6f5;
    width:15%
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li.flow_box01_ico {
        width:10%;
        margin-right:2%;
        vertical-align:middle
    }
}
.flow_box01 ul li.flow_box01_tx {
    position:relative;
    width:58%
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li.flow_box01_tx {
        width:67%
    }
}
.flow_box01 ul li.flow_box01_tx h3 {
    color:#0d33a3;
    font-size:21px;
    margin-bottom:10px
}
.flow_box01 ul li.flow_box01_tx p {
    font-size:12px;
    line-height:1.5
}
@media screen and (min-width:1024px) {
    .flow_box01 ul li.flow_box01_tx .flow_box01_btn {
        position:absolute;
        left:280px;
        bottom:0
    }
}
.flow_box01 ul li.flow_box01_tx .flow_box01_btn a {
    background-color:#f08527;
    color:#fff;
    height:44px;
    padding:0 30px 0 20px;
    display:block;
    line-height:44px;
    text-align:center;
    text-decoration:none;
    position:relative;
    font-weight:700;
    font-size:14px
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li.flow_box01_tx .flow_box01_btn a {
        height:auto;
        display:inline-block;
        line-height:34px;
        margin-top:10px;
        padding:0 25px 0 10px;
        font-size:12px
    }
}
.flow_box01 ul li.flow_box01_tx .flow_box01_btn a:before {
    position:absolute;
    right:10px;
    top:20px;
    content:"";
    display:inline-block;
    width:10px;
    height:10px;
    background:url(../images/ico_arrow01.png) no-repeat left top;
    background-size:10px auto
}
@media screen and (max-width:1023px) {
    .flow_box01 ul li.flow_box01_tx .flow_box01_btn a:before {
        right:5px;
        top:14px
    }
}
.subTit01 {
    font-size:35px;
    line-height:175%;
    font-weight:400
}
@media screen and (max-width:1023px) {
    .subTit01 {
        font-size:17px
    }
}
.subTit02 {
    font-size:35px;
    line-height:175%;
    font-weight:400;
    display:inline-block;
    position:relative
}
@media screen and (max-width:1023px) {
    .subTit02 {
        font-size:20px
    }
}
.subTit02:before {
    display:inline-block;
    position:absolute;
    content:"";
    bottom:-10px;
    left:50%;
    width:115px;
    height:1px;
    transform:translate(-50%);
    background-color:#fff
}
.subTit03 {
    font-size:64px;
    line-height:150%;
    font-weight:900
}
@media screen and (max-width:1023px) {
    .subTit03 {
        font-size:30px
    }
}
.subTit03Under {
    font-size:18px
}
@media screen and (max-width:1023px) {
    .subTit03Under {
        font-size:14px
    }
}
.subTit04 {
    display:flex;
    align-items:center;
    font-size:24px;
    color:#0d33a3
}
@media screen and (max-width:1023px) {
    .subTit04 {
        font-size:18px
    }
}
.subTit04:after {
    margin-left:20px;
    border-top:1px solid #0d33a3;
    content:"";
    flex-grow:1
}
.subTit05 {
    font-size:15px;
    padding-bottom:10px;
    border-bottom:1px solid #000;
    position:relative;
    font-size:18px
}
@media screen and (max-width:1023px) {
    .subTit05 {
        padding-top:80px
    }
}
.subTit05 img {
    position:absolute;
    bottom:0;
    right:30px;
    width:216px
}
@media screen and (max-width:1023px) {
    .subTit05 img {
        right:10px;
        width:86px
    }
}
.btn01 {
    margin-top:15px
}
@media screen and (max-width:1023px) {
    .btn01 {
        margin-top:8px;
        text-align:center
    }
}
.btn01 a {
    background-color:#0d33a3;
    box-shadow:0 0 3px 1px #878787;
    color:#fff;
    height:84px;
    width:280px;
    display:block;
    line-height:84px;
    text-align:center;
    text-decoration:none;
    position:relative;
    font-weight:700;
    font-size:14px
}
@media screen and (max-width:1023px) {
    .btn01 a {
        height:44px;
        width:200px;
        display:inline-block;
        line-height:44px;
        margin:0 auto
    }
}
.btn01 a:before {
    position:absolute;
    right:20px;
    top:35px;
    content:"";
    display:inline-block;
    width:18px;
    height:18px;
    background:url(../images/ico_arrow02.png) no-repeat left top;
    background-size:18px auto
}
@media screen and (max-width:1023px) {
    .btn01 a:before {
        right:10px;
        top:16px
    }
}
.btn02 {
    margin-top:15px
}
@media screen and (max-width:1023px) {
    .btn02 {
        margin-top:40px;
        text-align:center
    }
}
.btn02 a {
    background-color:#f08527;
    box-shadow:0 0 3px 1px #878787;
    color:#fff;
    height:84px;
    width:280px;
    margin:40px auto;
    display:block;
    line-height:84px;
    text-align:center;
    text-decoration:none;
    position:relative;
    font-weight:700;
    font-size:14px
}
@media screen and (max-width:1023px) {
    .btn02 a {
        height:44px;
        width:200px;
        display:inline-block;
        line-height:44px;
        margin:0 auto
    }
}
.btn02 a:before {
    position:absolute;
    right:20px;
    top:35px;
    content:"";
    display:inline-block;
    width:18px;
    height:18px;
    background:url(../images/ico_arrow02.png) no-repeat left top;
    background-size:18px auto
}
@media screen and (max-width:1023px) {
    .btn02 a:before {
        right:10px;
        top:16px
    }
}
.fs14 {
    font-size:14px;
    line-height:1.5
}
.lHeight10 {
    line-height:1
}
.lHeight13 {
    line-height:1.3
}
.lHeight15 {
    line-height:1.5
}
.lHeight17 {
    line-height:1.7
}
.lHeight19 {
    line-height:1.9
}
.lHeight20 {
    line-height:2
}
.notice {
    font-size:12px;
    color:red;
    text-align:left;
    padding:10px 0 0
}
.aL {
    text-align:left
}
.aC {
    text-align:center
}
.aR {
    text-align:right
}
.txS {
    font-size:12px;
    line-height:1.5
}
.txS14 {
    font-size:14px;
    padding:10px 0 0
}
.fs17 {
    font-size:17px
}
.fs18 {
    font-size:18px
}
.fs22 {
    font-size:22px;
    line-height:2.7
}
.colWhite {
    color:#fff
}
.clearfix:after {
    content:"";
    display:block;
    clear:both
}
.clearfix:before {
    content:"";
    display:block;
    clear:both
}
.clearfix {
    display:block
}
.hidden {
    display:none
}
.bold {
    font-weight:700
}
.mB5 {
    margin-bottom:5px
}
.mB10 {
    margin-bottom:10px
}
.mB15 {
    margin-bottom:15px
}
.mB20 {
    margin-bottom:20px
}
.mB30 {
    margin-bottom:30px
}
.mB20sp10 {
    margin-bottom:20px!important
}
.mB25sp13 {
    margin-bottom:25px!important
}
.mB30sp15 {
    margin-bottom:30px!important
}
.mB40sp20 {
    margin-bottom:40px!important
}
.mB50sp25 {
    margin-bottom:50px!important
}
.mB60sp30 {
    margin-bottom:60px!important
}
.mB70sp35 {
    margin-bottom:70px!important
}
.mB80sp40 {
    margin-bottom:80px!important
}
.mB90sp45 {
    margin-bottom:90px!important
}
.mB100sp50 {
    margin-bottom:100px!important
}
.mB100sp25 {
    margin-bottom:100px!important
}
.pB20sp10 {
    padding-bottom:20px!important
}
.pB40sp20 {
    padding-bottom:40px!important
}
.pB50sp25 {
    padding-bottom:50px!important
}
.pB60sp30 {
    padding-bottom:60px!important
}
@media screen and (max-width:1023px) {
    .txBlueTit {
        font-size:24px
    }
    .txBlueTit2 {
        color:#5fc1c7;
        font-size:20px
    }
    .txWhiteTit {
        font-size:24px
    }
    .txWhiteTit span.yellowBig {
        font-size:44px
    }
    .txBk {
        font-size:24px
    }
    .sp14 {
        font-size:14px
    }
    .sp16 {
        font-size:16px
    }
    .fs17 {
        font-size:12px
    }
    .fs18 {
        font-size:16px
    }
    .fs22 {
        font-size:18px;
        line-height:1.8
    }
    .mB20sp10 {
        margin-bottom:10px!important
    }
    .mB25sp13 {
        margin-bottom:13px!important
    }
    .mB30sp15 {
        margin-bottom:15px!important
    }
    .mB40sp20 {
        margin-bottom:20px!important
    }
    .mB50sp25 {
        margin-bottom:25px!important
    }
    .mB60sp30 {
        margin-bottom:30px!important
    }
    .mB70sp35 {
        margin-bottom:35px!important
    }
    .mB80sp40 {
        margin-bottom:40px!important
    }
    .mB90sp45 {
        margin-bottom:45px!important
    }
    .mB100sp50 {
        margin-bottom:50px!important
    }
    .mB100sp25 {
        margin-bottom:25px!important
    }
    .pB20sp10 {
        padding-bottom:10px!important
    }
    .pB40sp20 {
        padding-bottom:20px!important
    }
    .pB50sp25 {
        padding-bottom:25px!important
    }
    .pB60sp30 {
        padding-bottom:30px!important
    }
}
.anq {
    padding-top:100px;
    margin-top:-100px
}
.totop {
    width:60px;
    position:fixed;
    z-index:2;
    right:40px;
    bottom:40px
}
@media screen and (max-width:1023px) {
    .totop {
        bottom:25px
    }
}
.logoGroup {
    display:flex;
    align-items:center;
    margin-right:10px;
}
.logoGroup>p {
    margin-right:6px;
    width:30%;
}
.logoGroup>div {
    width:70%;
}
.logoGroup>div>p:nth-of-type(2) {
    border-top: 1px solid #000000;
}
@media print, screen and (min-width:1024px)  {
    .logoGroup {
        margin-top: 12px;
        width:calc( 100% - 160px - 10px );
        max-width:200px;
    }
}
@media print, screen and (max-width:1023px)  {
    .logoGroup {
        margin-top: 5px;
        width: calc( 100% - 110px - 10px );
        max-width: 160px;
    }
}