@charset "UTF-8";
/* ==================================================================
   Common Style
================================================================== */
.container {
  z-index: 2;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 768px) {
  .container {
    width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  .br__sp {
    display: block !important;
  }
}

@media screen and (min-width: 768px) {
  .br__pc {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .hidden__sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .hidden__pc {
    display: none !important;
  }
}

/* ==================================================================
   Block Style
================================================================== */
body {
  font-family: "UD新ゴNT", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 100%;
  line-height: 1.9;
  color: #fff;
}

body * {
  word-break: break-all;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#wrapper {
  height: auto;
  height: 100%;
  min-height: 100%;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #wrapper {
    min-width: 1200px;
  }
}

@media screen and (max-width: 767px) {
  #wrapper.wrapper__overflow {
    overflow: scroll;
  }
}

#wrapper::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  display: block;
}

body > #wrapper {
  height: auto;
}

#header {
  z-index: 99;
  width: 100%;
}

#footer {
  width: 100%;
  bottom: 0;
}

.section {
  position: relative;
  background: url(../images/overlay.png);
}
@media screen and (min-width: 768px) {
  .section {
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .section {
    padding-bottom: 40px;
  }
}

.sectiontitle {
  background: url(../images/sectiontitle.png) repeat-x;
  background-position: left 0 bottom 0;
  padding-bottom: 26px;
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .sectiontitle {
    background-size: 8px auto;
  }
}
.sectiontitle img {
  vertical-align: bottom;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sectiontitle img {
    width: 100%;
    max-width: 337.5px;
  }
}

.sectionillust,
.sectionthumb {
  display: block;
  position: relative;
}
.sectionillust img,
.sectionthumb img {
  position: relative;
  vertical-align: bottom;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sectionillust img,
  .sectionthumb img {
    width: 100%;
  }
}
.sectionillust::after,
.sectionthumb::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../images/imgshadow.png);
}

@media screen and (max-width: 767px) {
  .sectionillust {
    width: 90%;
    max-width: 480px;
    margin: 20px auto 40px;
  }
}

.sectionillust::after {
  left: 16px;
  top: 16px;
}

.sectionthumb img {
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
}
.sectionthumb::after {
  left: 9px;
  top: 9px;
}

@media screen and (min-width: 768px) {
  .sectionintro {
    display: flex;
    justify-content: space-between;
    margin: 0 30px 0 20px;
  }
}
.sectionintro li:nth-child(2) {
  margin-top: 5px;
}

.sectionintro-row {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sectionintro-row-img {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
}

.morelinklist-row {
  margin-top: 6px;
  margin-bottom: 6px;
}

.morelinklist-row-link {
  color: #FFF;
}

@media screen and (max-width: 767px) {
  .flex {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .flex {
    display: flex;
    align-items: flex-start;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  .flex > div {
    margin-left: 40px;
    margin-right: 20px;
  }
}

/* ==================================================================
   Indivisual Style
================================================================== */
#header {
  position: relative;
}
@media screen and (max-width: 767px) {
  #header {
    background: url(../images/top-bg.png) top center repeat-x;
    background-color: #27559b;
  }
  #header::before {
    content: "";
    display: block;
    height: 44px;
    background: #FFF;
  }
}
@media screen and (min-width: 768px) {
  #header {
    background: url(../images/top-bg.png) top center repeat-x, url(../images/header-bottom.png) center bottom repeat-x;
    background-color: #27559b;
  }
}
@media screen and (max-width: 767px) {
  #header .top {
    position: relative;
    background: url(../images/top_sp_01.png) top 20px center no-repeat, url(../images/top_sp_02.png) bottom 50px center no-repeat;
    background-size: contain;
  }
  #header .top::before {
    content: "";
    display: block;
    padding-top: 55%;
  }
  #header .top::after {
    content: "";
    display: block;
    padding-top: 59.74395%;
  }
}
@media screen and (min-width: 768px) {
  #header .top {
    padding-left: 30px;
  }
}
#header .sitetitle {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #header .sitetitle {
    background: url(../images/top.png) top center no-repeat;
  }
  #header .sitetitle::after {
    content: "";
    display: block;
    height: 264px;
  }
}
@media screen and (min-width: 768px) {
  #header .sitetitle-img {
    margin-top: 236px;
    margin-bottom: 52px;
  }
}
@media screen and (max-width: 767px) {
  #header .sitetitle-img {
    width: 76%;
  }
}
#header .introduction {
  text-align: center;
  font-size: 87.5%;
}
@media screen and (min-width: 768px) {
  #header .introduction {
    line-height: 2;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    -moz-transform: translateY(-204px);
    -ms-transform: translateY(-204px);
    -webkit-transform: translateY(-204px);
    transform: translateY(-204px);
  }
}
#header .nav {
  position: absolute;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #header .nav .hamburger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #header .nav .hamburger {
    border: none;
    background: none;
    position: absolute;
    right: 0px;
    width: 54px;
    height: 44px;
    top: 0px;
    z-index: 99;
  }
}
#header .nav .hamburger i {
  display: block;
  width: 32px;
  height: 2px;
  border-radius: 1px;
  background: #27559b;
  margin: 0 auto;
  position: relative;
  transition: .3s;
}
#header .nav .hamburger i::before, #header .nav .hamburger i::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  vertical-align: bottom;
  width: 32px;
  height: 2px;
  border-radius: 1px;
  background: #27559b;
}
#header .nav .hamburger i::before {
  transition: .3s;
  -moz-transform: translateY(-9px);
  -ms-transform: translateY(-9px);
  -webkit-transform: translateY(-9px);
  transform: translateY(-9px);
}
#header .nav .hamburger i::after {
  transition: .3s;
  -moz-transform: translateY(9px);
  -ms-transform: translateY(9px);
  -webkit-transform: translateY(9px);
  transform: translateY(9px);
}
#header .nav .hamburger__open i {
  background: rgba(39, 85, 155, 0);
}
#header .nav .hamburger__open i::before {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#header .nav .hamburger__open i::after {
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  #header .nav {
    height: 150px;
    bottom: -150px;
    background: url(../images/top-bg.png) top center repeat-x;
  }
}
@media screen and (max-width: 767px) {
  #header .nav {
    position: fixed;
    top: 0;
    height: 44px;
    z-index: 99;
    overflow: hidden;
    border-bottom: 1px solid #27559b;
  }
}
@media screen and (max-width: 767px) {
  #header .nav::before {
    position: absolute;
    left: 0;
    height: 44px;
    width: 100%;
    top: 0;
    content: "";
    display: block;
    background: #FFF;
    z-index: 0;
  }
}
@media screen and (max-width: 767px) {
  #header .nav::after {
    position: relative;
    content: "";
    display: block;
    height: 0;
    padding-top: 0;
    transition: padding-top .3s;
    z-index: 0;
  }
}
@media screen and (max-width: 767px) {
  #header .nav__open {
    height: auto;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  #header .nav__open::after {
    padding-top: calc(32.8% + 44px);
  }
}
#header .navlist {
  display: -webkit-flex;
  display: flex;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #header .navlist {
    position: absolute;
    left: -10px;
    top: 44px;
    width: calc(100% + 20px);
    border-top: 1px solid #27559b;
  }
}
@media screen and (min-width: 768px) {
  #header .navlist-row {
    width: 270px;
    margin: 0 -10px;
    transition: margin-top .3s;
  }
}
@media screen and (max-width: 767px) {
  #header .navlist-row {
    width: 25%;
  }
}
@media screen and (min-width: 768px) {
  #header .navlist-row-anchor {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 270px;
    height: 160px;
    background: no-repeat;
    background-position: top -10px center;
  }
}
@media screen and (max-width: 767px) {
  #header .navlist-row-anchor {
    width: 100%;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #header .navlist-row-anchor__odd {
    background-image: url(../images/navodd-bg.png);
  }
}
@media screen and (min-width: 768px) {
  #header .navlist-row-anchor__even {
    background-image: url(../images/naveven-bg.png);
  }
}
@media screen and (min-width: 768px) {
  #header .navlist-row-anchor-img {
    margin-top: 18px;
    width: 217px;
    transition: margin-top .1s;
    transition: width .3s;
  }
}
@media screen and (max-width: 767px) {
  #header .navlist-row-anchor-img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #header .nav__isfixed {
    position: fixed;
    left: 0;
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  #header .nav__isfixed .navlist-row {
    margin-top: -36px;
  }
}
@media screen and (min-width: 768px) {
  #header .nav__isfixed .navlist-row-anchor {
    opacity: .9;
  }
}
#header .nav__isfixed .navlist-row-anchor:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #header .nav__isfixed .navlist-row-anchor-img {
    margin-top: 44px;
    width: 164px;
  }
}

#section__study {
  background: url(../images/overlay.png) repeat, url(../images/pc/bg_study.png) center center no-repeat;
  background-color: #1a427d;
}
@media screen and (min-width: 768px) {
  #section__study {
    padding-top: 168px;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  #section__study {
    padding-top: 20px;
  }
}
#section__study hr {
  margin: 20px 0;
  border: none;
  background: #FFF;
  height: 1px;
}
@media screen and (min-width: 768px) {
  #section__study .section-study-app,
  #section__study .section-study-manga {
    width: 990px;
    padding-left: 370px;
    padding-top: 35px;
    padding-bottom: 100px;
    margin-top: 20px;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-app > img,
  #section__study .section-study-manga > img {
    position: absolute;
    left: 0;
    top: 0px;
  }
}
@media screen and (max-width: 767px) {
  #section__study .section-study-app > img,
  #section__study .section-study-manga > img {
    display: block;
    width: 80%;
    max-width: 320px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  #section__study .section-study-app h3 img,
  #section__study .section-study-manga h3 img {
    width: 100%;
    max-width: 516px;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-app > div > img {
    margin: 14px 0 12px;
  }
}
@media screen and (max-width: 767px) {
  #section__study .section-study-app > div > img {
    width: 100%;
    margin: 30px 0 10px;
  }
}
#section__study .section-study-app p {
  padding-left: 12px;
}
@media screen and (max-width: 767px) {
  #section__study .section-study-app hr {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-app .section-study-app-download {
    padding: 0 1em;
    display: flex;
    align-items: center;
    justify-content: stretch;
  }
  #section__study .section-study-app .section-study-app-download dt {
    width: 289px;
    margin-right: 20px;
    line-height: 1.375;
  }
  #section__study .section-study-app .section-study-app-download dd {
    padding-top: 8px;
    flex: 1;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
  }
  #section__study .section-study-app .section-study-app-download dd ul {
    width: 143px;
  }
  #section__study .section-study-app .section-study-app-download dd ul li img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #section__study .section-study-app .section-study-app-download {
    margin-top: 20px;
  }
  #section__study .section-study-app .section-study-app-download dt {
    text-align: center;
  }
  #section__study .section-study-app .section-study-app-download dd ul {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 400px;
  }
  #section__study .section-study-app .section-study-app-download dd ul li {
    width: 49%;
  }
  #section__study .section-study-app .section-study-app-download dd ul li img {
    width: 100%;
    max-width: 190px;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-manga img {
    top: 28px;
  }
}
#section__study .section-study-manga p {
  padding-left: 12px;
  margin-top: 6px;
}
#section__study .section-study-manga .morelinklist {
  padding-left: 12px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents {
    margin: 40px 10px 60px 0;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-appcontents {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    margin: -18px -12px 60px -24px;
  }
}
#section__study .section-study-appcontents li {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents li {
    margin: 0 auto 20px;
    max-width: 480px;
  }
}
#section__study .section-study-appcontents li::before {
  z-index: 1;
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  background: url(../images/appshadow.png);
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents li::before {
    width: calc(100% - 22px);
    top: 24px;
    left: 27px;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-appcontents li::before {
    width: calc(100% - 42px);
    top: 29px;
    left: 37px;
  }
}
#section__study .section-study-appcontents li::after {
  z-index: 2;
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  background: #dde4ee;
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents li::after {
    width: calc(100% - 22px);
    top: 14px;
    left: 17px;
  }
}
@media screen and (min-width: 768px) {
  #section__study .section-study-appcontents li::after {
    width: calc(100% - 42px);
    top: 19px;
    left: 27px;
  }
}
#section__study .section-study-appcontents li img {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents li img {
    width: 100%;
    max-width: 493px;
  }
}
#section__study .section-study-appcontents li p {
  text-align: left;
  position: relative;
  z-index: 3;
  color: #444444;
  width: calc(100% - 60px);
  padding-left: 20px;
}
@media screen and (min-width: 768px) {
  #section__study .section-study-appcontents li p {
    margin: 8px auto 0;
  }
}
@media screen and (max-width: 767px) {
  #section__study .section-study-appcontents li p {
    margin: 0 auto;
    max-width: 493px;
  }
}

#section__parttime {
  background: url(../images/overlay.png) repeat, url(../images/pc/bg_parttime.png) center center no-repeat;
  background-color: #27559b;
}
@media screen and (min-width: 768px) {
  #section__parttime {
    padding-bottom: 164px;
    padding-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  #section__parttime {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  #section__parttime .sectionthumb__01 {
    position: absolute;
    right: 200px;
    bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  #section__parttime .sectionthumb__01 {
    width: 180px;
    margin: 0 auto;
    -moz-transform: translateX(-30%) translateY(20%);
    -ms-transform: translateX(-30%) translateY(20%);
    -webkit-transform: translateX(-30%) translateY(20%);
    transform: translateX(-30%) translateY(20%);
  }
}
@media screen and (min-width: 768px) {
  #section__parttime .sectionthumb__02 {
    position: absolute;
    right: 5px;
    bottom: -70px;
  }
}
@media screen and (max-width: 767px) {
  #section__parttime .sectionthumb__02 {
    width: 180px;
    margin: 0 auto;
    -moz-transform: translateX(30%) translateY(-20%);
    -ms-transform: translateX(30%) translateY(-20%);
    -webkit-transform: translateX(30%) translateY(-20%);
    transform: translateX(30%) translateY(-20%);
  }
}
#section__parttime .section-parttime-check-point {
  background: rgba(207, 180, 68, 0.8);
  text-align: center;
  margin-bottom: 15px;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  #section__parttime .section-parttime-check-point {
    font-size: 125%;
  }
}
#section__parttime .section-parttime-check-point + p {
  line-height: 1.65;
}
@media screen and (max-width: 767px) {
  #section__parttime h3 {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #section__parttime h3 img {
    width: 100%;
    max-width: 393px;
  }
}

#section__roudousya {
  background: url(../images/overlay.png) repeat, url(../images/pc/bg_roudousya.png) center center no-repeat;
  background-color: #1a427d;
  padding-bottom: 40px;
  padding-top: 34px;
}
#section__roudousya::before, #section__roudousya::after {
  z-index: 1;
  content: "";
  position: absolute;
  width: 200%;
  left: 50%;
  background: url(../images/overlay.png);
  background-color: #1a427d;
  transform-origin: left bottom;
}
#section__roudousya::before {
  height: 70px;
  top: 0px;
  -moz-transform: rotate(-1.5deg) translateX(-50%) translateY(-50%);
  -ms-transform: rotate(-1.5deg) translateX(-50%) translateY(-50%);
  -webkit-transform: rotate(-1.5deg) translateX(-50%) translateY(-50%);
  transform: rotate(-1.5deg) translateX(-50%) translateY(-50%);
}
#section__roudousya::after {
  height: 80px;
  bottom: 0px;
  -moz-transform: rotate(1.7deg) translateX(-50%) translateY(50%);
  -ms-transform: rotate(1.7deg) translateX(-50%) translateY(50%);
  -webkit-transform: rotate(1.7deg) translateX(-50%) translateY(50%);
  transform: rotate(1.7deg) translateX(-50%) translateY(50%);
}
#section__roudousya .sectiontitle {
  margin-bottom: 48px;
}
#section__roudousya .section-roudousya-check {
  margin-top: 14px;
}
#section__roudousya .section-roudousya-check-point {
  background: rgba(171, 155, 74, 0.65);
  text-align: center;
  margin-bottom: 15px;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  #section__roudousya .section-roudousya-check-point {
    font-size: 125%;
  }
}
#section__roudousya .section-roudousya-check-point + p {
  line-height: 1.65;
}
@media screen and (min-width: 768px) {
  #section__roudousya .sectionthumb__01 {
    position: absolute;
    right: 5px;
    bottom: -30px;
  }
}
@media screen and (max-width: 767px) {
  #section__roudousya .sectionthumb__01 {
    max-width: 260px;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 767px) {
  #section__roudousya h3 {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #section__roudousya h3 img {
    width: 100%;
    max-width: 441px;
  }
}

#section__soudan {
  padding-top: 100px;
  background: url(../images/overlay.png) top left repeat, url(../images/bottom-bg.png) bottom center repeat-x;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  #section__soudan img {
    width: 100%;
  }
}
#section__soudan .section-soudan-more {
  background: #FFF;
  position: relative;
}
#section__soudan .section-soudan-more > div {
  z-index: 2;
  position: relative;
  color: #4d4f4f;
  background: url(../images/soudan_bg.png) bottom 0 right 20px no-repeat #dde4ee;
}
@media screen and (min-width: 768px) {
  #section__soudan .section-soudan-more > div {
    padding: 30px 40px;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  #section__soudan .section-soudan-more > div {
    padding: 16px;
    padding-bottom: 100px;
    background-size: 100px;
  }
}
@media screen and (min-width: 768px) {
  #section__soudan .section-soudan-more > div > div {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  #section__soudan .section-soudan-more > div > div h3 {
    max-width: 430px;
  }
}
@media screen and (min-width: 768px) {
  #section__soudan .section-soudan-more > div > dl {
    width: 44%;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  #section__soudan .section-soudan-more > div > dl {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #section__soudan .section-soudan-more > div > dl dt img {
    max-width: 254px;
  }
}
#section__soudan .section-soudan-more p {
  font-size: 112.5%;
}
#section__soudan .section-soudan-more::after {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  top: 10px;
  width: 100%;
  height: 100%;
  background: url(../images/imgshadow.png);
  z-index: 0;
}
@media screen and (min-width: 768px) {
  #section__soudan .morelinklist-row {
    margin-bottom: 10px;
  }
}
#section__soudan .morelinklist-row-link {
  color: #4d4f4f;
}

#footer {
  background: #27559b;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #footer {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  #footer {
    height: 112px;
    display: flex;
    align-items: center;
  }
}
#footer .mhlwlink {
  display: block;
}
@media screen and (max-width: 767px) {
  #footer .mhlwlink {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  #footer .mhlwlink {
    position: absolute;
    top: 50%;
    margin-top: -30px;
    left: 0;
  }
}
#footer .mhlwlink-img {
  vertical-align: bottom;
}
#footer .sitename {
  font-size: 87.5%;
}
#footer .copyright {
  font-size: 75%;
}
