/* Scss Document */
#contents.internal-primer * {
  position: relative;
  box-sizing: border-box; }
#contents.internal-primer p {
  margin-bottom: 0; }
#contents.internal-primer img {
  max-width: 100%;
  display: block; }
#contents.internal-primer h2 {
  border: none;
  background-image: none;
  padding: 0;
  margin: 0; }
#contents.internal-primer .inner {
  padding: 0 40px; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer .inner {
      padding: 0 10px; } }
@media only screen and (max-width: 640px) {
  #contents.internal-primer p {
    font-size: 14px;
    line-height: 1.7; }
  #contents.internal-primer .btn_cv a {
    margin: 16px auto;
    height: 40px;
    line-height: 40px; } }
#contents.internal-primer .main-visual {
  position: relative;
  margin-bottom: 30px; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer .main-visual {
      margin-bottom: 10px; } }
  #contents.internal-primer .main-visual .otherlink {
    display: block;
    width: 100%;
    color: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url(../images/common/ico_arw01.png) 40px center no-repeat #6b73a8;
    background-size: 7px 11px;
    padding-left: 54px;
    line-height: 28px; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer .main-visual .otherlink {
        position: relative;
        top: -10px;
        text-align: right;
        padding-left: 0;
        padding-right: 24px;
        background-position: right 10px center; } }
  #contents.internal-primer .main-visual .newopen {
    position: absolute;
    right: 15px;
    bottom: 10px;
    width: 144px;
    height: 144px; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer .main-visual .newopen {
        width: 70px;
        height: 70px;
        bottom: 35px;
        right: 6px; } }
#contents.internal-primer #intro {
  background: #eaecec; }
  #contents.internal-primer #intro h4 {
    text-align: center;
    border-top: 3px double #333d96;
    margin-top: calc(15px + 50px);
    margin-bottom: 20px; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro h4 {
        margin-top: calc(9px + 30px);
        border-top: none;
        border-bottom: 3px double #333d96; } }
    #contents.internal-primer #intro h4 span {
      padding: 0 0.5em;
      font-size: 26px;
      background: #eaecec;
      top: -14px;
      display: inline-block; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro h4 span {
          padding: 0 2px;
          font-size: 17px;
          top: 0;
          background: none; } }
    #contents.internal-primer #intro h4:before, #contents.internal-primer #intro h4:after {
      display: block;
      content: "";
      width: 7px;
      height: 7px;
      background: #333d96;
      position: absolute;
      top: -5px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro h4:before, #contents.internal-primer #intro h4:after {
          top: inherit;
          bottom: -5px; } }
    #contents.internal-primer #intro h4:before {
      left: 0;
      border-right: 1px solid #eaecec; }
    #contents.internal-primer #intro h4:after {
      right: 0;
      border-left: 1px solid #eaecec; }
  #contents.internal-primer #intro .about-txt {
    line-height: 26px;
    text-align: center; }
    #contents.internal-primer #intro .about-txt strong {
      color: #333d96; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro .about-txt {
        font-size: 14px;
        line-height: 1.625;
        text-align: left; } }
  #contents.internal-primer #intro .btn-flat-logo-3 {
    margin: auto;
    width: 500px; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro .btn-flat-logo-3 {
        width: 100%; } }
  #contents.internal-primer #intro ul {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-content: stretch;
    padding-top: 10px; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro ul {
        display: block;
        list-style: none; } }
    #contents.internal-primer #intro ul li {
      min-height: 220px;
      width: 220px;
      background-color: #fff !important;
      padding: 40px 20px 0;
      background-repeat: no-repeat !important;
      background-position: center bottom !important; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro ul li {
          width: 100%;
          margin-bottom: 30px;
          padding: 60px 20px 0;
          font-size: 15px;
          min-height: 230px; } }
      #contents.internal-primer #intro ul li.up1 {
        background: url("../images/school/internal_primer/intro_up1ill.svg");
        background-size: 135px auto; }
      #contents.internal-primer #intro ul li.up2 {
        background: url("../images/school/internal_primer/intro_up2ill.svg");
        background-size: 197px auto; }
      #contents.internal-primer #intro ul li.up3 {
        background: url("../images/school/internal_primer/intro_up3ill.svg");
        background-size: 115px auto; }
      #contents.internal-primer #intro ul li:before {
        display: block;
        content: "";
        width: 180px;
        height: 53px;
        background: url("../images/school/internal_primer/intro_up.svg") no-repeat center center;
        background-size: contain;
        position: absolute;
        left: 14px;
        top: -26px; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #intro ul li:before {
            left: calc(50% - 90px);
            top: -10px; } }
      #contents.internal-primer #intro ul li p span {
        font-weight: bold;
        background: white;
        background: -moz-linear-gradient(top, white 0%, white 50%, #ffff66 51%, #ffff66 100%);
        background: -webkit-linear-gradient(top, white 0%, white 50%, #ffff66 51%, #ffff66 100%);
        background: linear-gradient(to bottom, white 0%, white 50%, #ffff66 51%, #ffff66 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffff66',GradientType=0 ); }
  #contents.internal-primer #intro .arrow {
    text-align: center;
    margin-bottom: 0; }
    #contents.internal-primer #intro .arrow:before {
      display: block;
      content: "";
      width: 0;
      height: 0;
      border-left: 60px solid transparent;
      border-top: 32px solid #333d96;
      border-right: 60px solid transparent;
      border-bottom: 32px solid transparent;
      margin: 30px auto 0; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro .arrow:before {
          border-left: 60px solid transparent;
          border-right: 60px solid transparent;
          border-top: 26px solid #333d96;
          border-bottom: 0 solid transparent;
          margin: 20px auto 20px; } }
  #contents.internal-primer #intro .answer {
    color: #b8282e;
    font-weight: bold;
    text-align: center;
    padding: 0.85em;
    border: 4px solid #b8282e;
    background: #ffffff;
    font-size: 32px;
    margin-bottom: 0; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro .answer {
        padding: 15px;
        font-size: 20px;
        line-height: normal; } }
  #contents.internal-primer #intro .mazuha {
    background: url("../images/school/internal_primer/intro_mazu_bg.png") no-repeat right top;
    padding: 40px 0; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #intro .mazuha {
        background-position: right -20% bottom;
        background-size: 60% auto;
        text-align: center;
        padding: 30px 10px 60px; } }
    #contents.internal-primer #intro .mazuha img {
      width: 300px;
      height: auto;
      margin-left: 14px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro .mazuha img {
          width: 90%;
          max-width: 300px;
          margin: 0 auto; } }
    #contents.internal-primer #intro .mazuha .catch, #contents.internal-primer #intro .mazuha .btn_cv {
      margin-left: 60px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro .mazuha .catch, #contents.internal-primer #intro .mazuha .btn_cv {
          margin: 0 auto; } }
    #contents.internal-primer #intro .mazuha .catch {
      font-size: 32px;
      line-height: 46px;
      font-weight: bold; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro .mazuha .catch {
          margin: 0 auto;
          font-size: 26px;
          line-height: normal; } }
    #contents.internal-primer #intro .mazuha .btn_cv {
      width: 260px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #intro .mazuha .btn_cv {
          width: 100%; } }
      #contents.internal-primer #intro .mazuha .btn_cv a {
        width: 100% !important;
        height: 40px !important;
        line-height: 40px !important;
        font-size: 16px;
        margin: 20px auto 0; }
#contents.internal-primer #cont {
  margin-top: 50px;
  border: 1px solid #dcdcdc; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer #cont {
      margin-top: 20px; } }
  #contents.internal-primer #cont h3 {
    background: url("../images/school/internal_primer/h3_bg.jpg") #333d96;
    background-size: cover;
    color: #fff;
    font-size: 26px;
    line-height: normal;
    min-height: 80px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    vertical-align: baseline; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #cont h3 {
        display: block;
        font-size: 16px;
        padding: 10px;
        text-align: center; } }
    #contents.internal-primer #cont h3 span {
      font-size: 36px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #cont h3 span {
          font-size: 20px; } }
  #contents.internal-primer #cont ol li {
    padding: 20px;
    border-bottom: 1px dotted #ccc;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center; }
    #contents.internal-primer #cont ol li:last-child {
      border-bottom: none; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #cont ol li {
        display: block;
        padding: 10px;
        font-size: 14px; } }
    #contents.internal-primer #cont ol li div {
      display: flex;
      flex-flow: column nowrap;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 12px 0 0 54px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #cont ol li div {
          padding: 12px 0 0 34px; } }
      #contents.internal-primer #cont ol li div:before {
        display: block;
        content: "";
        background-repeat: no-repeat !important;
        background-size: contain !important;
        background-position: center center !important;
        width: 40px;
        height: 70px;
        opacity: 0.5;
        position: absolute;
        left: 0;
        top: 0; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #cont ol li div:before {
            width: 20px;
            height: 35px; } }
      #contents.internal-primer #cont ol li div h4 {
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 0.5em;
        color: #333d96; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #cont ol li div h4 {
            font-size: 18px; } }
    #contents.internal-primer #cont ol li:nth-child(1) div:before {
      background: url("../images/school/internal_primer/cont_no1.svg"); }
    #contents.internal-primer #cont ol li:nth-child(2) div:before {
      background: url("../images/school/internal_primer/cont_no2.svg"); }
    #contents.internal-primer #cont ol li:nth-child(3) div:before {
      background: url("../images/school/internal_primer/cont_no3.svg"); }
    #contents.internal-primer #cont ol li img {
      height: 120px;
      width: auto;
      border: 1px solid #ccc; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #cont ol li img {
          margin: 10px auto 0; } }
#contents.internal-primer #internal-link {
  background: url("../images/school/internal_primer/link_internal_bg.jpg") no-repeat right top;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 233px;
  padding: 20px; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer #internal-link {
      background-position: right -30% top;
      background-size: 80% auto;
      padding: 15px; } }
  #contents.internal-primer #internal-link > div {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #internal-link > div {
        display: block; } }
    #contents.internal-primer #internal-link > div > div {
      line-height: normal; }
      #contents.internal-primer #internal-link > div > div img {
        width: 241px;
        height: 43px; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #internal-link > div > div img {
            width: 200px;
            height: auto; } }
      #contents.internal-primer #internal-link > div > div h3 {
        font-size: 28px; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #internal-link > div > div h3 {
            font-size: 18px; } }
      #contents.internal-primer #internal-link > div > div p {
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 0; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #internal-link > div > div p {
            font-size: 14px; } }
    @media only screen and (min-width: 641px) {
      #contents.internal-primer #internal-link > div .btn_cv {
        width: 260px; } }
    #contents.internal-primer #internal-link > div .btn_cv a {
      width: 100% !important;
      height: 40px !important;
      line-height: 40px !important;
      font-size: 16px;
      margin: 20px auto 0;
      background-color: #00afcc;
      border: none; }
#contents.internal-primer #consul {
  background: url("../images/school/internal_primer/consul_bg.jpg") no-repeat center center;
  padding: 6px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 30px; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer #consul {
      display: block;
      padding: 10px; } }
  #contents.internal-primer #consul > div {
    padding-left: 12px;
    flex: 1; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #consul > div {
        padding-left: 0;
        margin-bottom: 10px; } }
    #contents.internal-primer #consul > div h3 {
      font-size: 20px;
      line-height: normal;
      border-bottom: 1px solid #fff;
      margin-bottom: 8px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #consul > div h3 {
          font-size: 16px; } }
    #contents.internal-primer #consul > div p {
      font-size: 14px; }
  #contents.internal-primer #consul img {
    width: 280px;
    height: auto; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #consul img {
        width: 100%;
        margin: 0 auto; } }
#contents.internal-primer #outline {
  border: 1px solid #dcdcdc;
  padding: 20px; }
  #contents.internal-primer #outline h3 {
    font-size: 16px;
    line-height: 20px;
    font-weight: bold;
    color: #6b2559;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #c5a282;
    padding-left: 0px;
    padding-bottom: 10px;
    margin-bottom: 10px; }
  #contents.internal-primer #outline dl {
    margin-bottom: 1em; }
    #contents.internal-primer #outline dl dt, #contents.internal-primer #outline dl dd {
      margin-bottom: 0.5em; }
    #contents.internal-primer #outline dl dt {
      font-size: 14px;
      margin-bottom: .5em;
      position: relative;
      padding-left: 15px;
      font-weight: bold;
      clear: both;
      float: left;
      vertical-align: top; }
      #contents.internal-primer #outline dl dt:after {
        position: absolute;
        content: '';
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 8px;
        height: 8px;
        background-color: #6b2559;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    #contents.internal-primer #outline dl dd {
      vertical-align: top; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #outline dl dd {
          font-size: 14px; } }
      #contents.internal-primer #outline dl dd.lines {
        margin-left: 8em; }
        @media only screen and (max-width: 640px) {
          #contents.internal-primer #outline dl dd.lines {
            clear: both;
            margin-left: 0; } }
  #contents.internal-primer #outline .note {
    padding-left: 0;
    font-size: 12px; }
#contents.internal-primer #links {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 30px auto; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer #links {
      display: block;
      margin-bottom: 0; } }
  #contents.internal-primer #links > div {
    text-align: center;
    font-size: 16px;
    font-weight: bold; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer #links > div {
        font-size: 14px;
        margin-bottom: 30px; } }
    #contents.internal-primer #links > div .btn_cv:before {
      display: block;
      content: "";
      width: 0;
      height: 26px;
      border-left: 2px dotted #999;
      margin: 6px auto; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer #links > div .btn_cv:before {
          height: 12px; } }
    #contents.internal-primer #links > div .btn_cv a {
      width: 260px !important;
      height: 40px !important;
      line-height: 40px !important;
      font-size: 16px;
      border: none;
      margin: 0 auto; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer #links div.internal-link {
      margin-bottom: 20px; } }
  #contents.internal-primer #links div.internal-link .btn_cv a {
    background-color: #00afcc; }
#contents.internal-primer ul.school-menu {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  padding-top: 1em;
  border-top: 1px dotted #ccc; }
  #contents.internal-primer ul.school-menu li {
    padding-left: 36px;
    width: 33.333%;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 640px) {
      #contents.internal-primer ul.school-menu li {
        width: 100%;
        list-style: none;
        margin-bottom: 1em; }
        #contents.internal-primer ul.school-menu li.menu_advance {
          background-image: url(../images/common/icon_advance.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_basic {
          background-image: url(../images/common/icon_basic.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_trial {
          background-image: url(../images/common/icon_trial.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_trainer {
          background-image: url(../images/common/icon_trainer.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_biz-trip {
          background-image: url(../images/common/icon_biz-trip.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_personal {
          background-image: url(../images/common/icon_personal.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_internal {
          background-image: url(../images/common/icon_internal.png);
          background-repeat: no-repeat;
          background-position: left center; }
        #contents.internal-primer ul.school-menu li.menu_internal2 {
          background-image: url(../images/common/icon_internal_primer.png);
          background-repeat: no-repeat;
          background-position: left center; } }
    #contents.internal-primer ul.school-menu li a {
      display: block;
      color: #999;
      font-weight: bold;
      font-size: 12px; }
      @media only screen and (max-width: 640px) {
        #contents.internal-primer ul.school-menu li a {
          font-size: 14px; } }
      #contents.internal-primer ul.school-menu li a:hover {
        text-decoration: underline; }
  @media only screen and (max-width: 640px) {
    #contents.internal-primer ul.school-menu {
      display: block; } }

/*# sourceMappingURL=internal_primer.css.map */
