@charset "UTF-8";
/******* setting.scss *******/
/******* mixin.scss *******/
/******* reset.scss *******/
html {
  font-size: 62.5%;
}

html,
body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  margin: 0;
  max-width: 100%;
  min-height: 100%;
  padding: 0;
  text-align: center;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address, textarea, input {
  color: #001E4B;
  font-size: 16px;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 160%;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

caption, th {
  text-align: left;
}

td, th {
  vertical-align: top;
}

fieldset, img, abbr {
  border: none;
}

li {
  list-style-type: none;
}

strong {
  font-weight: bold;
}

a {
  color: #065FE3;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

*:focus {
  outline: none;
}

._sp {
  display: none !important;
}

/******header******/
header {
  background: url("../img/mv.png") no-repeat 0 100%;
  background-size: cover;
  padding: 60px 40px 45px;
}
header img {
  max-width: 100%;
}
header .head_logo {
  position: absolute;
  top: 30px;
  left: 40px;
}
header .head_cont {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  text-align: center;
}
header h1 {
  margin: 0 auto;
}
header h1 img {
  max-width: 100%;
}
header .head_lead {
  position: absolute;
  top: 100px;
  right: -190px;
}
header .head_lead2 {
  position: absolute;
  top: 320px;
  left: -120px;
}
@media screen and (max-width: 1010px) {
  header .head_cont {
    max-width: 100%;
  }
  header h1 {
    width: 92vw;
  }
  header .head_txt {
    margin: 0 auto;
    width: 60vw;
  }
  header .head_lead {
    top: 70px;
    right: auto;
    left: 60vw;
    width: 24vw;
  }
  header .head_lead2 {
    top: 300px;
    left: auto;
    right: 63vw;
    width: 16vw;
  }
}
@media screen and (max-width: 930px) {
  header .head_lead {
    left: 62vw;
    width: 22vw;
  }
}

/******footer******/
footer .footer-middle {
  padding: 65px 20px;
}
footer .footer-middle .inner {
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  text-align: left;
}
footer .footer-middle .inner:before {
  background-color: #C2CAD6;
  content: "";
  height: 100%;
  display: block;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 1px;
}
footer .footer-middle .inner .pagetop {
  cursor: pointer;
  font-size: 75%;
  position: absolute;
  bottom: -130px;
  right: 60px;
  text-align: center;
  z-index: 5;
}
footer .footer-middle .inner .pagetop img {
  display: block;
  margin-bottom: 5px;
}
footer .footer-middle .footer-sitemap {
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
  width: 45%;
}
footer .footer-middle .footer-sitemap ul:nth-of-type(2) {
  margin: 0 20px;
}
footer .footer-middle .footer-sitemap ul li {
  font-size: 75%;
  margin-bottom: 10px;
}
footer .footer-middle .footer-sitemap ul li:last-child {
  margin-bottom: 0;
}
footer .footer-middle .footer-sitemap ul li a {
  color: #666;
  text-decoration: none;
  transition: opacity 0.6s;
  text-decoration: none;
}
footer .footer-middle .footer-sitemap ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  footer .footer-middle .footer-sitemap ul li a:hover {
    opacity: 1;
  }
}
footer .footer-middle .footer-misc {
  margin: 0 60px 0 0;
  padding: 20px 0;
  width: 37%;
}
footer .footer-middle .footer-misc dt {
  font-weight: 700;
  font-size: 87.5%;
  margin-top: 20px;
  letter-spacing: -0.01em;
}
footer .footer-middle .footer-misc dt:first-of-type {
  margin-top: 0;
}
footer .footer-middle .footer-misc dd {
  font-size: 75%;
  margin-top: 15px;
  letter-spacing: -0.01em;
}
footer .footer-lower {
  background: url("../img/bg_walk-stop.png") repeat-x 50% 100% #F4F4F4;
  background-size: auto 80px;
  padding: 75px 20px 120px;
  position: relative;
}
footer .footer-lower .footer-logo {
  margin: 0 auto 15px;
}
footer .footer-lower .copyright {
  font-size: 75%;
}

/******main******/
main {
  display: block;
  text-align: left;
  position: relative;
  overflow: hidden;
}

/******index******/
.link_area {
  background: url("../img/link_bg02.png") no-repeat 50% 100%, url("../img/link_bg01.png") no-repeat 50% 0;
  background-size: 100%, cover;
  margin-bottom: 40px;
  padding: 0 20px 85px;
}

.link_area2 {
  background: url("../img/link_bg04.png") no-repeat 50% 100%, url("../img/link_bg03.png") no-repeat 50% 0;
  background-size: 100%, cover;
  margin-bottom: 60px;
  padding: 20px 20px 50px;
}

.link_cont {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1020px;
  margin: 0 auto;
  padding: 10px 0 0;
}
.link_cont dl {
  width: 53.4%;
}
.link_cont dl dt {
  color: #967800;
  font-size: 150%;
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 15px;
  text-align: center;
  width: 100%;
}
.link_cont dl dt span {
  color: #001E4B;
  display: inline-block;
  font-size: 65%;
}
.link_cont dl dt span:before, .link_cont dl dt span:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 17px;
  width: 14px;
  background-image: url("../img/link_icon2.svg");
  display: inline-block;
}
.link_cont dl dt span:before {
  margin-right: 4px;
  transform: scale(-1, 1);
}
.link_cont dl dd {
  border-radius: 5px;
  background-color: #fff;
}
.link_cont dl dd a {
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  height: 70px;
  line-height: 140%;
  text-align: center;
  transition: opacity 0.6s;
  text-decoration: none;
}
.link_cont dl dd a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 960px) {
  .link_cont dl dd a:hover {
    opacity: 1;
  }
}
.link_cont dl.payment dd a {
  background: linear-gradient(90deg, #BAA844 0%, #A58D18 39%, #987B03 79%, #886D00 100%) 0% 0% no-repeat;
  color: #fff;
  font-size: 137%;
}
.link_cont dl.payment dd a:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 41px;
  width: 60px;
  background-image: url("../img/link_icon.svg");
  margin: -12px 20px 0 0;
}
.link_cont dl.other {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 41.2%;
}
.link_cont dl.other dd {
  width: 47.6%;
}
.link_cont dl.other dd.entry a {
  background-color: #065FE3;
  color: #fff;
}
.link_cont dl.other dd.entry2 a {
  border: 1px solid #065FE3;
  color: #065FE3;
}
.link_cont p {
  margin-top: 14px;
  text-align: right;
  width: 100%;
}

.sec_cont {
  box-sizing: border-box;
  max-width: 1040px;
  margin: 0 auto;
}
.sec_cont h2 {
  font-size: 200%;
  font-weight: 700;
  margin: 0 auto 35px;
  text-align: center;
}
.sec_cont h2:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 45px;
  width: 35px;
  background-image: url("../img/title_icon.svg");
  display: inline-block;
  margin: 0 2px 5px 0;
}
.sec_cont h2:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 39px;
  width: 39px;
  background-image: url("../img/title_icon2.svg");
  display: inline-block;
  margin: 0 0 5px 5px;
}

.present {
  margin-bottom: 100px;
  padding: 0 20px;
}
.present .present_detail td.note {
  border-left: 3px solid #065FE3;
  border-right: 3px solid #065FE3;
}
.present .present_detail tr:nth-of-type(2) th:last-of-type {
  border-bottom: 3px solid #065FE3;
}
.present .present_detail tr:last-of-type td.note {
  border-bottom: 3px solid #065FE3;
}

.present_detail {
  table-layout: fixed;
}
.present_detail th {
  background-color: #F2F2F2;
  border: 1px solid #C2CAD6;
  padding: 12px 20px;
  vertical-align: middle;
}
.present_detail th.note {
  background-color: #E2F5FF;
}
.present_detail td {
  border: 1px solid #C2CAD6;
  padding: 15px 5px;
  text-align: center;
  vertical-align: middle;
}
.present_detail td.note {
  color: #065FE3;
  font-size: 125%;
  font-weight: 700;
}
.present_detail tr:first-of-type th {
  text-align: center;
}
.present_detail tr:first-of-type th.note {
  font-size: 87.5%;
}
.present_detail tr:nth-of-type(2) th {
  font-size: 87.5%;
  font-weight: 700;
  text-align: center;
}
.present_detail tr:nth-of-type(2) th:last-of-type {
  color: #065FE3;
  font-size: 115%;
}
.present_detail tr:nth-of-type(2) th:last-of-type span {
  background-color: #065FE3;
  color: #fff;
}

.if_start {
  margin-bottom: 40px;
}
.if_start h2 {
  max-width: 720px;
  margin: 0 auto 35px;
}
.if_start h2:before, .if_start h2:after {
  display: none;
}
.if_start .sec_cont {
  background-color: #F7F8F8;
  padding: 55px 20px;
}
.if_start p {
  margin: 0 auto 55px;
  max-width: 720px;
  text-align: center;
}
.if_start .fig {
  max-width: 720px;
  margin: 0 auto 10px;
}
.if_start .fig img {
  max-width: 100%;
}
.if_start .notice {
  margin: 0 auto;
  max-width: 720px;
}
.if_start .notice li {
  padding-left: 0;
  text-indent: 0;
}
.if_start .more_notice {
  background-color: #fff;
  box-sizing: border-box;
  margin: 30px auto 0;
  max-width: 720px;
  padding: 30px;
}
.if_start .more_notice p {
  color: #666;
  font-size: 75%;
  margin-bottom: 15px;
  text-align: left;
}
.if_start .more_notice p:last-of-type {
  margin-bottom: 0;
}
.if_start .more_notice ul {
  margin-bottom: 15px;
  padding-left: 20px;
}
.if_start .more_notice ul li {
  color: #666;
  font-size: 75%;
  padding-left: 1em;
  text-indent: -1em;
}

.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.4);
  height: 100vh;
  position: absolute;
  width: 100%;
  z-index: 9999;
}

.modal__content {
  background: #fff;
  border-radius: 24px;
  box-sizing: border-box;
  max-width: 1040px;
  left: 50%;
  padding: 40px 20px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  z-index: 9999;
}
.modal__content ul {
  margin: 20px 0;
}
.modal__content ul li {
  color: #535E6F;
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
}
.modal__content ul li:last-child {
  margin-bottom: 0;
}
.modal__content ul li span {
  position: absolute;
  top: 0px;
  left: 0px;
}
.modal__content p {
  color: #535E6F;
}
.modal__content .modal_detail {
  max-height: 80vh;
  overflow-y: scroll;
  max-width: 800px;
  margin: 0 auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal__content .modal_detail::-webkit-scrollbar {
  display: none;
}

.notice li {
  color: #535E6F;
  padding-left: 1em;
  text-indent: -1em;
}

.banner_area {
  margin-bottom: 100px;
}
.banner_area h2 {
  font-size: 200%;
  margin-bottom: 50px;
}
.banner_area h2 strong {
  background-color: #065FE3;
  color: #fff;
  font-size: 125%;
}
.banner_area h2:before, .banner_area h2:after {
  display: none;
}
.banner_area h3 {
  font-size: 150%;
  font-weight: 700;
  margin: 0 auto 25px;
  line-height: 120%;
  text-align: center;
}
.banner_area h3 span {
  font-size: 58%;
  font-weight: 500;
  display: block;
}
.banner_area .banner {
  display: flex;
  justify-content: space-between;
  max-width: 650px;
  margin: 0 auto 30px;
}
.banner_area .banner li {
  width: 46%;
}
.banner_area .banner li img {
  width: 100%;
}
.banner_area .banner li p {
  font-weight: 700;
  margin-bottom: 10px;
}
.banner_area .sec_cont {
  background-color: #F7F8F8;
  padding: 55px 20px;
}
.banner_area .notice {
  margin: 0 auto;
  max-width: 740px;
}

.detail_info {
  margin-bottom: 40px;
}
.detail_info h2 {
  margin: 0 auto 35px;
}
.detail_info .sec_cont {
  background-color: #F7F8F8;
  padding: 30px 20px 50px;
}
.detail_info .sec_sub {
  background-color: #fff;
  box-sizing: border-box;
  max-width: 920px;
  margin: 0 auto 45px;
  padding: 45px 20px 20px;
}
.detail_info .detail_cont {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 30px;
  max-width: 770px;
}
.detail_info .detail_cont dt {
  font-weight: 700;
  letter-spacing: -0.03em;
  width: 19.5%;
}
.detail_info .detail_cont dd {
  width: 76.6%;
}
.detail_info .detail_cont dd ol li {
  margin-top: 5px;
  padding-left: 20px;
  position: relative;
}
.detail_info .detail_cont dd ol li span {
  font-weight: 700;
  position: absolute;
  top: 0px;
  left: 0px;
}
.detail_info .detail_cont dd ol li:first-child {
  margin-top: 0;
}
.detail_info .detail_cont dd ol li sup {
  color: #535E6F;
  font-size: 75%;
  vertical-align: bottom;
}
.detail_info .detail_cont dd .quick_info {
  background-color: #F7F8F8;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 15px 0;
  padding: 20px;
  position: relative;
}
.detail_info .detail_cont dd .quick_info:before {
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #F7F8F8 50.5%) no-repeat top left/50% 100%, linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #F7F8F8 50.5%) no-repeat top right/50% 100%;
  content: "";
  display: block;
  height: 14px;
  width: 14px;
  position: absolute;
  top: -14px;
  left: 50px;
}
.detail_info .detail_cont dd .quick_info .pict {
  width: 49%;
}
.detail_info .detail_cont dd .quick_info .pict img {
  width: 100%;
}
.detail_info .detail_cont dd .quick_info dl {
  width: 47%;
}
.detail_info .detail_cont dd .quick_info dl dt {
  font-weight: 500;
}
.detail_info .detail_cont dd .quick_info dl dd {
  font-size: 75%;
  padding-left: 15px;
  position: relative;
}
.detail_info .detail_cont dd .quick_info dl dd span {
  position: absolute;
  top: 0px;
  left: 0px;
}
.detail_info .detail_cont dd .quick_info p {
  font-size: 75%;
  margin-top: 15px;
  width: 100%;
}
.detail_info .present_detail th {
  font-size: 75%;
}
.detail_info .present_detail td {
  font-size: 75%;
}
.detail_info .present_detail tr:nth-of-type(2) th {
  font-size: 75%;
  padding: 12px;
}
.detail_info .present_detail tr:nth-of-type(2) th:last-of-type {
  font-size: 100%;
}
.detail_info .target_info {
  border: 2px solid #C2CAD6;
  margin-top: 10px;
  padding: 20px;
}
.detail_info .target_info dt {
  width: 100%;
}
.detail_info .target_info dd {
  margin-top: 2px;
  width: 100%;
}
.detail_info .target_info .notice {
  margin-top: 10px;
}
.detail_info .sec_notice {
  max-width: 800px;
  margin: 0 auto;
}
.detail_info .sec_notice h3 {
  color: #535E6F;
  font-size: 150%;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
.detail_info .sec_notice h3 sup {
  font-size: 50%;
  font-weight: 500;
  margin-right: 4px;
  vertical-align: 0.9em;
}
.detail_info .sec_notice p {
  color: #535E6F;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.detail_info .sec_notice dl {
  margin-top: 30px;
}
.detail_info .sec_notice dl dt {
  color: #535E6F;
  font-weight: 700;
}
.detail_info .sec_notice dl dd {
  color: #535E6F;
}
.detail_info .sec_notice dl:last-of-type dd .notice {
  margin-top: 20px;
}

.assignment {
  margin-bottom: 100px;
}
.assignment h2 {
  margin: 0 auto 35px;
}
.assignment .sec_cont {
  background-color: #F7F8F8;
  padding: 30px 20px 50px;
}
.assignment .sec_sub {
  background-color: #fff;
  box-sizing: border-box;
  max-width: 920px;
  margin: 0 auto 45px;
  padding: 45px 20px 35px;
}
.assignment .sec_sub h3 {
  font-size: 150%;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
.assignment .sec_sub p {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 800px;
}
.assignment .sec_sub p.indent {
  margin-top: 15px;
  text-indent: -1em;
  padding-left: 1em;
}
.assignment .sec_notice {
  max-width: 800px;
  margin: 0 auto;
}
.assignment .sec_notice h3 {
  color: #535E6F;
  font-size: 150%;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
.assignment .sec_notice .notice li ul {
  margin-left: 30px;
}
.assignment .sec_notice .notice li ul li {
  padding-left: 0;
  text-indent: 0;
}

.finance_info {
  margin-bottom: 100px;
  padding: 0 20px;
}
.finance_info .finance_cont {
  background-color: #EDF9FF;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1040px;
  padding: 45px 20px;
}
.finance_info dl {
  margin: 0 auto;
  max-width: 800px;
}
.finance_info dl dt {
  color: #666;
  font-size: 75%;
  font-weight: 700;
}
.finance_info dl dd {
  color: #666;
  font-size: 75%;
  margin-top: 15px;
}

.sns_area {
  background: url("../img/sns_bg02.png") no-repeat 50% 100%, url("../img/sns_bg01.png") no-repeat 50% 0;
  background-size: 100%, cover;
  padding: 40px 20px;
}
.sns_area h2 {
  font-size: 150%;
  font-weight: 700;
  margin: 0 auto 25px;
  text-align: center;
}
.sns_area ul {
  display: flex;
  justify-content: center;
}
.sns_area ul li {
  margin: 0 15px;
}
.sns_area ul li a {
  transition: opacity 0.6s;
  text-decoration: none;
}
.sns_area ul li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 960px) {
  .sns_area ul li a:hover {
    opacity: 1;
  }
}
.sns_area ul li img {
  width: 48px;
}
