@charset "UTF-8";
@font-face {
  font-family: 'webicon';
  src: url("../fonts/webicon.ttf?5hganx") format("truetype"), url("../fonts/webicon.woff?5hganx") format("woff"), url("../fonts/webicon.svg?5hganx#webicon") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'webicon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-check:before {
  content: "\e906";
}

.icon-flow-next:before {
  content: "\e907";
}

.icon-heart:before {
  content: "\e908";
}

.icon-page-down:before {
  content: "\e909";
}

.icon-page-up:before {
  content: "\e90a";
}

.icon-access:before {
  content: "\e900";
}

.icon-blank:before {
  content: "\e901";
}

.icon-circle:before {
  content: "\e902";
}

.icon-close:before {
  content: "\e903";
}

.icon-mail:before {
  content: "\e904";
}

.icon-menu:before {
  content: "\e905";
}

/* -------------------------------------------------------------------
 *
 *	Since		: 2013-01-21
 *  Modified    : 2016-02-24
 *	Author		: kato
 *  URL			: http://www.mosk.co.jp/
 *  Email		: web-info@mosk.co.jp
 *  Company     : MOSK CREATION
 *
 * ------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * font color
 * ------------------------------------------------------------------- */
.colorWhite,
.colorWhite a:link,
.colorwhite a:visited,
.colorwhite a:hover,
.colorwhite a:active {
  color: #fff !important;
}

.colorBrown,
.colorBrown a:link,
.colorBrown a:visited,
.colorBrown a:hover,
.colorBrown a:active {
  color: #7e6b5a !important;
}

.colorBlack,
.colorBlack a:link,
.colorBlack a:visited,
.colorBlack a:hover,
.colorBlack a:active {
  color: #000 !important;
}

.colorBlue,
.colorBlue a:link,
.colorBlue a:visited,
.colorBlue a:hover,
.colorBlue a:active {
  color: #003092 !important;
}

.colorRed,
.colorRed a:link,
.colorRed a:visited,
.colorRed a:hover,
.colorRed a:active {
  color: #e60012 !important;
}

.colorPink,
.colorPink a:link,
.colorPink a:visited,
.colorPink a:hover,
.colorPink a:active {
  color: #c54f4f !important;
}

.colorOrange,
.colorOrange a:link,
.colorOrange a:visited,
.colorOrange a:hover,
.colorOrange a:active {
  color: #ffc600 !important;
}

.colorYellow,
.colorYellow a:link,
.colorYellow a:visited,
.colorYellow a:hover,
.colorYellow a:active {
  color: #ffcf7e !important;
}

.colorGreen,
.colorGreen a:link,
.colorGreen a:visited,
.colorGreen a:hover,
.colorGreen a:active {
  color: #3bb15d !important;
}

.colorGray,
.colorGray a:link,
.colorGray a:visited,
.colorGray a:hover,
.colorGray a:active {
  color: #ccc !important;
}

.colorPurple,
.colorPurple a:link,
.colorPurple a:visited,
.colorPurple a:hover,
.colorPurple a:active {
  color: #aa5dbd !important;
}

/* -------------------------------------------------------------------
 * accessibility etc
 * ------------------------------------------------------------------- */
.accessibility {
  display: none;
}

.empty {
  visibility: hidden;
}

/* -------------------------------------------------------------------
 * font size
 * ------------------------------------------------------------------- */
.size10 {
  font-size: 10px;
  font-size: 1.0rem !important;
}

.size12 {
  font-size: 12px;
  font-size: 1.2rem !important;
}

.size13 {
  font-size: 13px;
  font-size: 1.3rem !important;
}

.size14 {
  font-size: 14px;
  font-size: 1.4rem !important;
}

.size16 {
  font-size: 16px;
  font-size: 1.6rem !important;
}

.size18 {
  font-size: 18px;
  font-size: 1.8rem !important;
}

/* -------------------------------------------------------------------
 * font weight
 * ------------------------------------------------------------------- */
.fontNL {
  font-weight: normal;
}

/* -------------------------------------------------------------------
 * paragraph aligm
 * ------------------------------------------------------------------- */
.alignCenter {
  text-align: center !important;
}

.alignRight {
  text-align: right !important;
}

.alignLeft {
  text-align: left !important;
}

.alignTop {
  vertical-align: top !important;
}

.alignMiddle {
  vertical-align: middle !important;
}

.alignBottom {
  vertical-align: bottom !important;
}

/* -------------------------------------------------------------------
 * flort
 * ------------------------------------------------------------------- */
.floatLeft {
  float: left;
}

.floatRight {
  float: right;
}

/* -------------------------------------------------------------------
 * clear hack
 * ------------------------------------------------------------------- */
.clearBoth {
  clear: both;
}

/* modern browser*/
.clearfix:after {
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
  content: "";
}

/* -------------------------------------------------------------------
 * blank
 * ------------------------------------------------------------------- */
/* top */
.top00 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.top10 {
  margin-top: 10px !important;
}

.top15 {
  margin-top: 15px !important;
}

.top20 {
  margin-top: 20px !important;
}

.top25 {
  margin-top: 25px !important;
}

.top30 {
  margin-top: 30px !important;
}

.top40 {
  margin-top: 40px !important;
}

.top50 {
  margin-top: 50px !important;
}

.top60 {
  margin-top: 60px !important;
}

.top70 {
  margin-top: 70px !important;
}

/* right */
.right00 {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.right10 {
  margin-right: 10px !important;
}

.right15 {
  margin-right: 15px !important;
}

.right20 {
  margin-right: 20px !important;
}

.right25 {
  margin-right: 25px !important;
}

.right30 {
  margin-right: 30px !important;
}

.right40 {
  margin-right: 40px !important;
}

.right50 {
  margin-right: 50px !important;
}

/* bottom */
.bottom00 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.bottom10 {
  margin-bottom: 10px !important;
}

.bottom15 {
  margin-bottom: 15px !important;
}

.bottom20 {
  margin-bottom: 20px !important;
}

.bottom25 {
  margin-bottom: 25px !important;
}

.bottom30 {
  margin-bottom: 30px !important;
}

.bottom40 {
  margin-bottom: 40px !important;
}

.bottom50 {
  margin-bottom: 50px !important;
}

/* left */
.left00 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.left10 {
  margin-left: 10px !important;
}

.left15 {
  margin-left: 15px !important;
}

.left20 {
  margin-left: 20px !important;
}

.left25 {
  margin-left: 25px !important;
}

.left30 {
  margin-left: 30px !important;
}

.left40 {
  margin-left: 40px !important;
}

.left50 {
  margin-left: 50px !important;
}

/* radius */
.radius {
  border-radius: 5px;
  -moz-border-radius: 5px;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  color: #3c3c3c;
  font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 1.4rem;
}

input, select, option, textarea {
  font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

a {
  -webkit-transition-property: color, border-color, background-color, opacity;
  transition-property: color, border-color, background-color, opacity;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}

a {
  color: #000;
  text-decoration: none;
}

a:visited {
  color: #0d0d0d;
}

a:hover {
  outline: 0;
  color: black;
  text-decoration: underline;
}

a:active {
  outline: 0;
  color: #fff100;
}

::-moz-selection {
  background-color: black;
  color: #fff;
}

::selection {
  background-color: black;
  color: #fff;
}

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

.zoom-in,
[href$=".gif"] img,
[href$=".png"] img,
[href$=".jpg"] img,
[href$=".jpeg"] img,
[href$=".bmp"] img {
  cursor: zoom-in;
}

.hide, [hidden] {
  display: none;
}

.clearfix:after, .row:after, .inner:after {
  content: "";
  clear: both;
  display: table;
}

.d-b {
  display: block;
}

.d-ib {
  display: inline-block;
}

.d-i {
  display: inline;
}

.fr,
.img-r {
  float: right;
  margin-left: 10px;
}

.fl,
.img-l {
  float: left;
  margin-right: 10px;
}

.img-c,
.t-c {
  text-align: center;
}

.img-c {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.t-l {
  text-align: left !important;
}

.t-r {
  text-align: right !important;
}

.clr {
  clear: both;
}

hr {
  margin: 0;
  border: none;
  border-top: 3px dotted #818181;
}

.color-font {
  color: #3c3c3c;
}

.color-main {
  color: #000;
}

.color-accent {
  color: #fff100;
}

.color-attention, em {
  color: #d00;
}

.fwb, strong, b {
  font-weight: bold;
}

em {
  font-weight: bold;
  font-style: normal;
}

sup {
  position: relative;
  top: -.5em;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  position: relative;
  bottom: -.25em;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

ul {
  list-style-type: none;
}

ul.disc {
  list-style-type: disc;
  padding: 0 0 0 1.5em;
}

ul.circle {
  list-style: circle;
  padding: 0 0 0 1.5em;
}

ul.square {
  list-style: square;
  padding: 0 0 0 1.5em;
}

ol {
  padding: 0 0 0 1.5em;
}

.sbs {
  overflow: hidden;
}

.sbs dt {
  float: left;
}

.sbs.em3 dd {
  padding-left: 3.5em;
}

.sbs.em4 dd {
  padding-left: 4.5em;
}

.sbs.em5 dd {
  padding-left: 5.5em;
}

.sbs.em6 dd {
  padding-left: 6.5em;
}

.sbs.em7 dd {
  padding-left: 7.5em;
}

.sbs.em8 dd {
  padding-left: 8.5em;
}

.sbs.em9 dd {
  padding-left: 9.5em;
}

.sbs.em10 dd {
  padding-left: 10.5em;
}

.sbs.em11 dd {
  padding-left: 11.5em;
}

.sbs.em12 dd {
  padding-left: 12.5em;
}

.for-sp {
  display: none;
}

.page {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
}

#is-sp-checkbox {
  display: none;
}

.btn-sp-menu {
  display: none;
}

/* rollover */
a:hover.hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
}

h3 {
  position: relative;
  padding: 8px 10px 5px;
  color: #000;
  font-weight: bold;
  border: 2px solid #000;
  border-radius: 5px;
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 30px;
}

h3 ul {
  position: absolute;
  top: 9px;
  right: 9px;
  overflow: hidden;
}

h3 ul li {
  float: right;
  margin: 0 0 0 5px;
  line-height: 1;
}

h3 ul li img {
  margin: 0;
  width: 135px;
}

h3.map {
  padding: 0;
  border: none;
}

h3 + p {
  margin-top: 30px;
}

h3 + h4 {
  margin-top: 25px;
}

h3 + img {
  margin-top: 30px;
}

h4 {
  background: #3c3c3c;
  margin-top: 15px;
  padding: 5px 10px;
  color: #fff;
  font-weight: bold;
  border-radius: 3px;
}

h4 + p {
  margin-top: 15px;
}

h4 + h5 {
  margin-top: 15px;
}

h4 + img {
  margin-top: 15px;
}

h5 {
  font-weight: bold;
  font-size: 16px;
  color: #006834;
  margin: 5px 0 0;
}

h5 p {
  margin-top: 8px;
}

/* 動画 */
#movieBox {
  margin: 25px 0;
}

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

/* テキストPtnA（学科紹介WEBサイトリンク） */
dl.txt_ptnA {
  margin: 15px 0 0;
}

dl.txt_ptnA dt {
  font-weight: bold;
}

dl.txt_ptnA dd {
  margin: 3px 0;
  padding-bottom: 5px;
  border-bottom: 1px dotted #38b035;
}

/* テキストPtnB（ローマ字付）*/
p.txt_ptnB {
  position: relative;
  background: #fff;
  margin: 5px 0 0 0;
  padding: 14px 20px 0 8%;
  overflow: hidden;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
}

p.txt_ptnB span.alphabet {
  position: absolute;
  background: #e63178;
  width: 28px;
  height: 28px;
  padding-top: 6px;
  left: 0;
  top: 10px;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

/* テキストPtnC）*/
div.box {
  margin-top: 30px;
  padding: 20px 0;
  border: 2px solid #000;
}

.map_all {
  overflow: hidden;
}

.txt_ptnC {
  float: left;
  width: 31%;
  margin: 0 0 0 13px;
  overflow: hidden;
}

.txt_ptnC li {
  /*width: 23%;*/
  position: relative;
  display: block;
  /*float: left;*/
  margin: 0 2% 10px 0;
  padding: 5px 0 5px 32px;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  list-style: none;
}

.txt_ptnC li span.alphabet {
  position: absolute;
  background: #e63178;
  width: 28px;
  height: 28px;
  padding-top: 6px;
  left: 0;
  top: 0;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

/* list_PtnA 画像3列 */
ul.list_ptnA {
  width: 1005px;
  margin: 0 -25px 0 0;
  overflow: hidden;
}

ul.list_ptnA li {
  float: left;
  width: 310px;
  margin: 25px 25px 0 0;
}

ul.list_ptnA + h3 {
  margin-top: 50px !important;
}

/* リンクボタン */
p.btn_link a {
  position: relative;
  display: block;
  padding: .8em 1em .6em 40px;
  border-radius: 4px;
  border: solid 2px #000;
  background: #000;
  color: #fff;
  font-size: 18px;
}

p.btn_link a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 5%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

p.btn_link a:hover {
  text-decoration: none;
  border: solid 2px #000;
  background: #fff;
  color: #000;
}

p.btn_link a:hover:after {
  border-color: #000;
}

p + h3 {
  margin-top: 50px;
}

p + img {
  margin-top: 30px;
}

p + p.btn_link a {
  margin-top: 16px;
}

img + h5 {
  margin-top: 25px;
}

img + p {
  margin-top: 25px;
}

img + h3 {
  margin-top: 50px;
}

/* getPdf */
#getPdf {
  margin-top: 20px;
  overflow: hidden;
}

#getPdf img {
  margin-top: 15px;
}

/* timetable */
#timetable_01 {
  padding: 50px;
  margin-top: 60px;
  border: 2px solid #38b035;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#timetable_01 .left {
  width: 48%;
}

#timetable_01 .right {
  width: 48%;
}

table.tbl_ptnA {
  width: 100%;
  margin-top: 20px;
  padding: 15px 0;
  text-align: center;
  border: 1px solid #38b035;
}

table.tbl_ptnA th,
table.tbl_ptnA td {
  margin: 5px;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
}

table.tbl_ptnA th {
  background-color: #38b035;
  color: #fff;
  font-weight: bold;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

table.tbl_ptnA td {
  border-top: 1px solid #38b035;
  border-bottom: 1px solid #38b035;
}

table.tbl_ptnA tr:first-child th {
  border-top: 1px solid #38b035;
}

table.tbl_ptnA tr:last-child th {
  border-bottom: 1px solid #38b035;
}

table.tbl_ptnA em {
  display: block;
  margin: 10px 0 0;
  padding: 0 15px 0;
  font-weight: normal;
  background: #e4f4e4;
  color: #3c3c3c;
}

.inner {
  margin: 0 auto;
  width: 980px;
}

.inner > h3:first-child {
  margin-top: 50px;
}

.page-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 54px;
  background-color: #fff;
}

.logo-main {
  float: left;
  padding: 7px 0 0;
}

.nav-upper {
  float: right;
}

.nav-upper__list > li {
  float: left;
}

.nav-upper__list > li:not(:last-child) {
  margin: 0 10px 0 0;
}

.nav-upper__list > li a {
  display: block;
  width: 130px;
  padding: .8em 0 .6em;
  border-radius: 0 0 4px 4px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: bold;
}

.nav-upper__list > li a:hover {
  color: #fff;
}

.nav-upper__list > li.nav-access a {
  background-color: #de3d20;
}

.nav-upper__list > li.nav-contact a {
  background-color: #000;
}

.nav-upper__list > li.nav-contact a i {
  font-size: 1.2rem;
}

.nav-main {
  position: absolute;
  height: 62px;
  top: 54px;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #000;
}

.nav-main.is-fixed {
  position: fixed;
  top: 0;
}

.nav-main__list {
  height: 62px;
  display: flex;
  text-align: center;
}

.nav-main__list > li {
  flex-grow: 1;
  position: relative;
  line-height: 1.1;
  letter-spacing: .1em;
}

.nav-main__list > li:not(:last-child):before {
  content: '';
  position: absolute;
  border-right: 1px dotted #fff;
  top: calc(50% - .5em);
  height: 1em;
  right: 0;
  width: 1px;
}

.nav-main__list > li a {
  height: 100%;
  display: flex;
  align-items: center;
  gap: .4em;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: bold;
}

.nav-main__list > li a:hover {
  color: #fff;
}

.nav-main__list > li a .icon-blank {
  font-size: .75em;
}

.nav-main__list > li a.-pickup {
  background-color: #de3d20;
}

.nav-main__list > li:last-child a {
  font-size: 1.7rem;
}

.nav-main__list > li:last-child a span {
  display: block;
  font-size: 1.2rem;
  padding-top: 3px;
}

.nav-main__list > li.is-current a {
  color: #fff;
}

.nav-sp {
  display: none;
}

.page-content {
  padding-top: 116px;
}

.page-heading {
  background: url(../img/common/bg_main.png) 0 0 repeat;
  background-color: rgba(255, 255, 255, 0.6);
  background-blend-mode: lighten;
  border-bottom: 3px dotted #000;
}

.page-heading__inner {
  min-height: 320px;
  height: auto;
  padding: 0 0 0 300px;
  background: url(../img/common/bg_heading_earth.png) no-repeat 0;
}

.page-title {
  padding: 70px 0 0;
  color: #000;
  font-size: 4.2rem;
  line-height: 1.125;
}

.page-title img {
  vertical-align: bottom;
}

.page-summary {
  margin: 20px 0 0;
  color: rgba(0, 0, 0, 0.9);
}

.page-summary dt {
  position: relative;
  padding: 0 0 0 1.5em;
  line-height: 1.2;
  font-size: 1.9rem;
  font-weight: bold;
}

.page-summary dt i {
  position: absolute;
  left: 0;
  top: 0;
  color: #e7311d;
}

.page-summary dd {
  margin: 16px 0 0;
  line-height: 1.9;
}

.contents-link_list {
  list-style-type: none;
  margin: 0 -25px 0 0;
  padding: 25px 0 40px;
}

.contents-link_list .contents-link_item {
  float: left;
  margin: 25px 25px 0 0;
  width: 310px;
}

.contents-link_list .contents-link_item a {
  display: block;
  position: relative;
  display: block;
  padding: .8em 1em .6em 40px;
  border-radius: 4px;
  border: solid 2px #000;
  background: #000;
  color: #fff;
  font-size: 18px;
  line-height: 1.2;
}

.contents-link_list .contents-link_item a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 5%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.contents-link_list .contents-link_item a:hover {
  text-decoration: none;
  border: solid 2px #000;
  background: #fff;
  color: #000;
}

.contents-link_list .contents-link_item a:hover:after {
  border-color: #000;
}

.content-course {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

.content-course .course-section {
  width: 50%;
  margin: 0;
  padding: 0 30px;
}

.content-course .course-section__title {
  position: relative;
  padding: 15px 0 13px;
  margin-bottom: 20px;
  border-radius: 5px;
  background-color: #3c3c3c;
  line-height: 1.2;
  text-align: center;
  font-size: 2.4rem;
  color: #fff;
}

.content-course .course-section__title:after {
  position: absolute;
  bottom: -40px;
  left: 50%;
  margin-left: -20px;
  content: '';
  border: 20px solid transparent;
  border-top-color: #3c3c3c;
}

.content-course .course-section__title .title-inner {
  display: inline-block;
  text-align: left;
}

.content-course .course-section__title i {
  position: relative;
  display: inline-block;
  margin: 0 8px 0 0;
  font-size: 48px;
}

.content-course .course-section__title i:after {
  content: attr(data-number);
  position: absolute;
  top: .3em;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 28px;
  font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: bold;
  color: #3c3c3c;
}

.content-course .course-section__title .kerning {
  margin-left: -.5em;
}

.content-course .course-section__title small {
  display: block;
  font-size: 1.8rem;
}

.content-course .course-section__summary {
  margin: 40px 0 20px;
  padding: 10px 20px;
  border: 2px solid #3c3c3c;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #3c3c3c;
}

.stamp {
  display: inline-block;
  font-size: 1.4rem;
  color: #fff;
  background: #3bb15d;
  margin-left: 5px;
  padding: 0 5px;
}

.stamp_rally h3 {
  background: #fff100;
  color: #ea5716;
  border: none;
}

.stamp_rally h3 span {
  font-size: 1.2rem;
  margin-left: 10px;
}

.stamp_rally h4 {
  background: none;
  color: #000;
  font-size: 1.8rem;
  padding: 0;
}

.stamp_rally p {
  font-weight: bold;
  font-size: 1.6rem;
}

.stamp_rally p .point {
  color: #e60012;
}

.stamp_rally ul {
  display: flex;
  margin-top: 5px;
}

.stamp_rally ul li {
  display: flex;
  align-items: center;
  background: #3bb15d;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  margin-right: 5px;
  padding: 7px;
  border-radius: 5px;
  letter-spacing: 0.1em;
}

.stamp_rally span.alphabet {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #e63178;
  border: 1px solid #fff;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  padding-top: 3px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
}

.page-up {
  position: absolute;
  right: 5px;
  bottom: 140px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
}

.page-up a {
  display: inline-block;
  text-decoration: none;
}

.page-up i {
  display: block;
  padding: 0 0 4px;
}

@media screen and (min-width: 980px) and (max-width: 1160px) {
  .page-up {
    margin: 40px 0 0;
    position: static;
  }
}

.page-footer {
  margin: 40px 0 0;
  padding: 25px 0;
  background-color: #000;
  color: #fff;
}

.footer-links {
  text-align: center;
}

.footer-links > li {
  display: inline-block;
  padding: 0 1em;
  line-height: 1.2;
}

.footer-links > li:not(:last-child) {
  border-right: 1px dotted #fff;
}

.footer-links > li a {
  color: #fff;
}

.footer-links > li a i {
  font-size: .75em;
}

@media only screen and (max-width: 689px) {
  .for-sp {
    display: block;
  }
  .for-pc {
    display: none;
  }
  body {
    overflow: hidden;
  }
  .page {
    min-width: 320px;
    left: 0;
    -webkit-transition: left .2s;
    transition: left .2s;
  }
  #is-sp-checkbox:checked + .page {
    left: -240px;
  }
  #is-sp-checkbox:checked + .page .btn-sp-menu:after {
    visibility: visible;
    opacity: 1;
  }
  #is-sp-checkbox:checked + .page .btn-sp-menu i:before {
    content: '\e601';
    position: relative;
    z-index: 101;
  }
  .btn-sp-menu {
    transition: color .4s;
    display: block;
    float: right;
    margin: 0 -10px 0 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
    text-align: center;
    background-color: #000;
    color: #fff;
  }
  .btn-sp-menu i {
    margin: 7px 0 0;
    font-size: 3rem;
    line-height: 50px;
  }
  .btn-sp-menu:hover {
    color: #fff;
  }
  .btn-sp-menu.is-open {
    color: #fff;
  }
  .btn-sp-menu.is-open i:before {
    content: '\e903';
  }
  /* rollover */
  a:hover.hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
  }
  h3 ul img {
    width: 90px;
  }
  h3 p {
    margin-top: 3%;
  }
  h3 ul.list_ptnA {
    margin-top: 3% !important;
  }
  h4 div.content-course {
    margin-top: 10px;
  }
  /* 動画 */
  /* テキストPtnA（学科紹介WEBサイトリンク） */
  /* テキストPtnB（ローマ字付）*/
  p.txt_ptnB {
    padding: 14px 20px 8px 45px;
  }
  /* テキストPtnC）*/
  .txt_ptnC {
    float: none;
    width: 100%;
  }
  .txt_ptnC li {
    margin: 1% 0;
  }
  .txt_ptnC li span.namber {
    padding-top: 4px;
  }
  /* list_PtnA 画像3列 */
  ul.list_ptnA {
    width: 100%;
    margin: 2% 0 0 0;
  }
  ul.list_ptnA li {
    width: 100%;
    margin: 2% 0;
  }
  /* リンクボタン */
  /* getPdf */
  /* timetable */
  #timetable_01 {
    padding: 15px;
    margin-top: 30px;
    display: inherit;
  }
  #timetable_01 .left {
    width: 100%;
  }
  #timetable_01 .right {
    width: 100%;
    margin-top: 20px;
  }
  .inner {
    width: auto;
    min-width: 320px;
    padding: 0 10px;
  }
  .page-header {
    position: fixed;
    height: 50px;
    box-shadow: 0 1px 0 #000;
  }
  .logo-main {
    margin: 0 0 0 -10px;
    padding: 10px 0 0 10px;
  }
  .logo-main img {
    height: 29px;
  }
  .nav-upper {
    display: none;
  }
  .nav-main {
    display: none;
  }
  .nav-sp {
    display: block;
    transition: visibility .4s, opacity .4s;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 51px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
    overflow: auto;
    background-color: #000;
  }
  .nav-sp.is-open {
    visibility: visible;
    opacity: 1;
  }
  .nav-sp a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
  }
  .nav-sp a:hover {
    color: #fff;
  }
  .nav-sp__main > li {
    border-bottom: 1px dotted #fff;
  }
  .nav-sp__main > li.is-current a {
    color: #fff100;
  }
  .nav-sp__main > li a {
    padding: 13px 0 11px 20px;
    font-size: 1.6rem;
  }
  .nav-sp__main > li a i {
    position: relative;
    top: -.2em;
    margin: 0 5px 0 0;
    font-size: 1rem;
  }
  .nav-sp__info:after {
    content: "";
    display: block;
    clear: both;
  }
  .nav-sp__info > li {
    border-bottom: 1px dotted #fff;
    float: left;
    width: 50%;
  }
  .nav-sp__info > li:not(:last-child) {
    border-right: 1px dotted #fff;
  }
  .nav-sp__info > li a {
    font-size: 1.6rem;
    padding: 13px 0 11px 20px;
  }
  .nav-sp__info > li a i {
    margin: 0 5px 0 0;
  }
  .nav-sp__info > li a i.icon-mail {
    font-size: 1.2rem;
  }
  .nav-sp__sub > li.is-current a {
    color: #fff100;
  }
  .nav-sp__sub > li:not(:last-child) {
    border-bottom: 1px dotted #fff;
  }
  .nav-sp__sub > li a {
    padding: 11px 0 9px 20px;
  }
  .nav-sp__sub > li a i {
    font-size: 1rem;
  }
  .page-content {
    padding-top: 50px;
  }
  .page-heading__inner {
    min-height: auto;
    padding: 0 16px 20px;
    background: none;
  }
  .page-title {
    padding: 40px 0 0;
    font-size: 2.8rem;
  }
  .contents-link_list {
    margin: 0;
    font-size: 15px;
    padding: 5px 0 20px;
  }
  .contents-link_list .contents-link_item {
    width: 100%;
    float: none;
    margin: 10px 0 0;
  }
  .contents-link_list .contents-link_item a {
    font-size: 15px;
    padding: 11px 11px 11px 30px;
  }
  .contents-link_list .contents-link_item a:after {
    left: 10px;
  }
  .content-course {
    margin: 0;
  }
  .content-course .course-section {
    width: 100%;
    padding: 0;
  }
  .content-course .course-section__title {
    padding: 12px 5px 10px;
    font-size: 1.7rem;
  }
  .content-course .course-section__title:after {
    bottom: -36px;
    margin-left: -18px;
    border: 18px solid transparent;
    border-top-color: #3c3c3c;
  }
  .content-course .course-section__title i {
    font-size: 36px;
  }
  .content-course .course-section__title i:after {
    font-size: 20px;
  }
  .content-course .course-section__title small {
    font-size: 1.5rem;
  }
  .content-course__summary {
    margin: 30px 0 20px;
    padding: 8px 10px;
    height: auto !important;
  }
  .stamp_rally ul {
    flex-wrap: wrap;
  }
  .stamp_rally ul li {
    width: 100%;
    margin-top: 5px;
    margin-right: 0;
  }
  .page-up {
    margin: 40px 0 0;
    position: static;
  }
  .page-footer {
    margin: 10px 0 0;
    padding: 6px 0;
  }
  .footer-links {
    display: none;
  }
}

@media only screen and (min-width: 690px) and (max-width: 979px) {
  .for-sp {
    display: block;
  }
  .for-pc {
    display: none;
  }
  #is-sp-checkbox:checked + .page {
    left: -240px;
  }
  #is-sp-checkbox:checked + .page .btn-sp-menu:after {
    visibility: visible;
    opacity: 1;
  }
  #is-sp-checkbox:checked + .page .btn-sp-menu i:before {
    content: '\e601';
    position: relative;
    z-index: 101;
  }
  /* rollover */
  a:hover.hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
  }
  h3 {
    padding: 1.5% 2%;
  }
  h4 div.content-course {
    margin-top: 10px;
  }
  /* 動画 */
  /* テキストPtnA（学科紹介WEBサイトリンク） */
  /* テキストPtnB（ローマ字付）*/
  p.txt_ptnB {
    padding: 14px 20px 0 9%;
  }
  /* テキストPtnC）*/
  .txt_ptnC li span.namber {
    padding-top: 4px;
  }
  /* list_PtnA 画像3列 */
  ul.list_ptnA {
    width: 101.9%;
    margin: 2% -1% 0 -1%;
  }
  ul.list_ptnA li {
    width: 31.3%;
    margin: 1%;
  }
  ul.list_ptnA h3 {
    margin-top: 3% !important;
  }
  /* リンクボタン */
  /* getPdf */
  /* timetable */
  #timetable_01 {
    padding: 30px;
  }
  .inner {
    width: auto;
    padding: 0 10px;
  }
  .logo-main {
    padding: 3px 0 0 6px;
  }
  .logo-main img {
    height: 45px;
  }
  .nav-upper__list > li:not(:last-child) {
    margin: 0 5px 0 0;
  }
  .nav-upper__list > li a {
    font-size: 1.3rem;
    padding: .8em .8em .6em;
    width: auto;
  }
  .nav-main {
    height: 60px;
  }
  .nav-main__list {
    height: 60px;
  }
  .nav-main__list > li a {
    padding: .2em 0;
    font-size: 1.5rem;
  }
  .nav-main__list > li a:hover {
    color: #fff;
  }
  .nav-main__list > li:last-child a {
    font-size: 1.4rem;
  }
  .nav-main__list > li:last-child a span {
    font-size: 1.3rem;
    padding-top: 0;
  }
  .page-content {
    padding-top: 114px;
  }
  .page-heading__inner {
    min-height: auto;
    padding: 0 16px 20px;
    background: none;
  }
  .page-title {
    padding: 50px 0 0;
    font-size: 3.8rem;
  }
  .contents-link_list {
    margin: 0 -5px;
    padding: 20px 0;
  }
  .contents-link_list .contents-link_item {
    width: 50%;
    padding: 5px;
    margin: 0;
  }
  .contents-link_list .contents-link_item a {
    font-size: 18px;
  }
  .content-course {
    margin: 0 -10px;
  }
  .content-course .course-section {
    margin: 0;
    padding: 0 10px;
  }
  .content-course .course-section__title {
    font-size: 1.8rem;
  }
  .content-course .course-section__title .title-inner {
    display: inline-block;
    text-align: left;
  }
  .content-course .course-section__title i {
    font-size: 36px;
  }
  .content-course .course-section__title i:after {
    font-size: 22px;
  }
  .content-course .course-section__title small {
    font-size: 1.6rem;
  }
  .content-course .course-section__summary {
    font-size: 1.5rem;
  }
  .stamp_rally ul {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .stamp_rally ul li {
    width: 49%;
    margin-top: 5px;
    margin-right: 0;
  }
  .page-up {
    margin: 40px 0 0;
    position: static;
  }
}

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