@charset "UTF-8";

:root {
	scroll-behavior: unset;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: OT-UDShinGoCOnizPr6-Reg, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
  -webkit-text-size-adjust: 100% !important;
  text-align: justify !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  line-height: 1.5 !important;
  font-size: 1.6rem !important;
  color: #1A1A1C !important;
  background-attachment: fixed !important;
  -webkit-print-color-adjust: exact;
  position: relative;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  line-height: 1.4;
  color: inherit;
}

ul, ol {
  padding-left: 0;
  list-style: none;
}

/**
 * ネストされたリストのマージンをリセットします。
 */
li > ul, li > ol {
  margin-bottom: 0;
}

/**
 * `dt`と`dd`の左端を揃えます。
 */
dd {
  margin-left: 0;
  margin-bottom: 0;
}

table {
  width: 100%;
}

th {
  text-align: left;
  padding: 1.5rem;
  font-weight: bold;
}

td {
  padding: 1.5rem;
}

a {
  text-decoration: underline;
  color: #333333;
}
a:hover {
  text-decoration: none;
  color: #3b3b3b;
}

a:focus, input:focus, textarea:focus, select:focus, button:focus, div:focus {
  z-index: 10;
}

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

/**
 * 日本語では斜体を使用しないためリセットします。
 */
i,
cite,
em,
address,
dfn {
  font-style: normal;
}

pre {
  padding: 2em;
  margin: 1em 0;
}

code,
pre {
  font-family: Consolas, Menlo, Courier, monospace;
}

code {
  padding: 0.2em;
  background-color: rgba(0, 0, 0, 0.06);
}

pre code {
  padding: 0;
  background-color: inherit;
}

h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
hr,
table,
fieldset, figure,
pre {
  margin-top: 0;
  margin-bottom: 0;
}

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

strong {
  color: #333;
}

main {
	overflow: hidden;
}

/* #Color
   -------------------------------------------------------------------------- */
/*doc
---
title: color
name: color
categories: [component]
---
文字サイズ変更のコンポーネントです。
*/
.c-color:after {
  content: " ";
  display: block;
  clear: both;
}
.c-color--black {
  background: #000 !important;
  color: #dfde4c !important;
  border-color: #ffffff !important;
}
.c-color--black a {
  color: #ffffff !important;
}
.c-color--blue {
  background: #0b24fb !important;
  color: #dfde4c !important;
  border-color: #ffffff !important;
}
.c-color--blue a {
  color: #ffffff !important;
}
.c-color--yellow {
  background: #fffd38 !important;
  color: #000 !important;
  border-color: #0b24fb !important;
}
.c-color--yellow a {
  color: #0b24fb !important;
}
.c-color__btn {
  font-size: 1.4rem;
  font-weight: bold;
  border: none;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
.c-color__btn--black {
  border-right: 1px solid #d7dbdb;
}
.c-color__btn--black.is-active {
  color: #000 !important;
  background: #dfde4c !important;
  border-right: none;
}
.c-color__btn--blue.is-active {
  color: #0b24fb !important;
  background: #dfde4c !important;
}

/* #Font size
   -------------------------------------------------------------------------- */
/*doc
---
title: font-size
name: font-size
categories: [component]
---
文字サイズ変更のコンポーネントです。
*/
.c-font-size:after {
  content: " ";
  display: block;
  clear: both;
}
.c-font-size--medium {
  font-size: 62.5% !important;
}
.c-font-size--large {
  font-size: 72.5% !important;
}
.c-font-size__btn {
  /*color: $_color-txt;
  background: $_color02;
  font-weight: bold;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 3rem;
  padding-right: 2rem;
  border-radius: $_radius;
  float: left;
  width: 48%;
  max-height: 4.7rem;
  text-align: center;*/
  font-weight: bold;
  background: #eeeeee;
  border: none;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  padding-right: 1.75rem;
  padding-left: 1.75rem;
  font-size: 1.4rem;
}

.c-font-size__btn--medium {
  font-size: 14px !important;
}
.c-font-size__btn--large {
  font-size: 14px !important;
}


/* header */
.p-header-con {
	padding: 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.p-pc-header__utility-top {
	display: flex;
	margin-bottom: 2rem;
}

.p-header-logo__img img {
	width: 8rem;
	height: auto;
}

.p-header-logo_link:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.p-pc-header__bg-color {
	display: flex;
	align-items: center;
	margin-right: 3rem;
}

.p-pc-header__bg-color-txt {
	font-size: 1.8rem;
	font-weight: bold;
	margin-right: 1.5rem;
}

.p-pc-header__bg-color-item {
	display: flex;
	gap: 1rem;
}

.p-pc-header__font-size {
	display: flex;
	align-items: center;
}

.p-pc-header__font-size-txt {
	font-size: 1.8rem;
	font-weight: bold;
	margin-right: 1.5rem;
}

.p-pc-header__font-size-item {
	display: flex;
	gap: 1rem;
}

.c-color__btn {
	border: 0.1rem solid #ccc;
	background: #fff;
	font-weight: bold;
	padding: 0.4rem 1.5rem;
	border-radius: 0.2rem;
}

.c-color__btn:hover {
	opacity: 0.6;
	transition: 0.3s;
}

.c-color__btn--blue {
	background: #0B24FB;
	color: #fff;
}

.c-color__btn--black {
	background: #000;
	color: #fff;
}

.c-font-size__btn {
	border: 0.1rem solid #ccc;
	background: #fff;
	font-weight: bold;
	padding: 0.4rem 1.5rem;
	border-radius: 0.2rem;
}

.c-font-size__btn:hover {
	background: #163781;
	border: 0.1rem solid #163781;
	color: #fff;
	transition: 0.3s;
}

.p-pc-header__utility-bottom {
	text-align: right;
}

.p-pc-header__btn {
	text-decoration: none;
	font-weight: bold;
	border: 0.1rem solid #ccc;
	border-radius: 0.2rem;
	padding: 1rem 2rem;
	font-size: 1.6rem;
	display: inline-block;
}

.p-pc-header__btn:hover {
	background: #163781;
	border: 0.1rem solid #163781;
	color: #fff;
	transition: 0.3s;
}

/* main */
.l-main {
	background: #EBF1FF;
	padding: 6rem 0 8rem;
}

/* login */
.p-login-con {
	background: #fff;
	border-radius: 2rem;
	padding: 5rem;
	box-shadow: 0 0.3rem 0.3rem -0.15rem rgba(0,0,0,0.16);
	margin-bottom: 8rem;
}

.p-login-con__top {
	text-align: center;
	margin-bottom: 3rem;
}

.p-login-con__logo {
	width: 8rem;
	height: auto;
}

.p-login-con__ttl {
	font-weight: bold;
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 3rem;
}

.p-login-con__txt {
	margin-bottom: 5rem;
}

.p-login-con__err {
	background: #FAE8E8;
	border-radius: 1rem;
	padding: 3rem 2rem;
	margin-bottom: 5rem;
}

.p-login-con__err-txt {
	color: #D11111;
	font-weight: bold;
}

.p-login-form__block {
	margin-bottom: 2rem;
}

.p-login-form__ttl {
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 0.6rem;
}

.p-login-form__num {
	width: 100%;
	padding: 0.8rem 5rem 0.8rem 1rem;
	border: 0.1rem solid #ccc;
	border-radius: 1rem;
}

.p-login-form__txt {
	position: relative;
}

.p-login-form__display01 {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	border: 0;
	background: url("../images/display02.svg") no-repeat;
	background-size: contain;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	width: 3.2rem;
}

.p-login-form__display02 {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	border: 0;
	background: url("../images/display01.svg") no-repeat;
	background-size: contain;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	width: 3.2rem;
}

.p-login-form__display03 {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	border: 0;
	background: url("../images/display02.svg") no-repeat;
	background-size: contain;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	width: 3.2rem;
}

.p-login-form__display04 {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	border: 0;
	background: url("../images/display01.svg") no-repeat;
	background-size: contain;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	width: 3.2rem;
}

.p-login-form__btn {
	text-align: center;
	margin: 6rem 0;
}

.p-login-form__link {
	background: #163781;
	border-radius: 9999px;
	color: #fff;
	font-weight: bold;
	border: none;
	padding: 1.5rem 8rem;
	font-size: 1.8rem;
	text-decoration: none;
}

.p-login-form__link:hover {
	opacity: 0.8;
	transition: 0.3s;
	color: #fff;
}

.p-login-con__bottom {
	text-align: right;
}

.p-login-con__list {
	display: inline-block;
}

.p-login-con__item {
	text-align: left;
	margin-bottom: 0.5rem;
}

.p-login-con__item:last-child {
	margin-bottom: 0;
}

.p-login-con__link {
	text-decoration: none;
	padding-left: 3rem;
	font-size: 1.8rem;
	position: relative;
}

.p-login-con__link:hover {
	text-decoration: underline;
}

.p-login-con__link::before {
	content: "";
	display: block;
	background: url("../images/arw01.svg") no-repeat;
	background-size: contain;
	width: 2.4rem;
	height: 2.4rem;
	position: absolute;
	top: -0.3rem;
	left: 0;
}

.p-login-return {
	text-align: center;
}

.p-login-return__link {
	text-align: center;
	display: inline-block;
	text-decoration: none;
}

.p-login-return__link:hover {
	opacity: 0.6;
	transition: 0.3s;
}

.p-login-return__img {
	width: 22.4rem;
	height: auto;
	margin-bottom: 0.7rem;
}

.p-login-return__txt {
	display: block;
	font-weight: bold;
}

.p-login-txtbox {
	margin-bottom: 2rem;
}

.p-login-txtbox p {
	margin-bottom: 0.7rem;
}

.p-login-form__btnbox {
	display: flex;
	justify-content: center;
	gap: 3rem;
	margin-top: 4rem;
}

.p-login-form__returnbtn .p-login-form__link {
	background: #fff;
	color: #163781;
	border: 0.2rem solid #163781;
}

/* footer */
.p-copy {
	background: #163781;
	text-align: center;
	padding: 0.5rem;
}

.p-copy small {
	color: #fff;
	font-size: 1.4rem;
}

/* mypage */
.mypage body {
	position: relative;
}

.mypage .p-student-id {
	position: absolute;
	z-index: 100;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	display: none;
}

.mypage .p-student-id__card {
	max-width: 60rem;
	width: 100%;
	max-height: 42.5rem;
	height: 100%;
	background: #fff;
	margin: 15rem auto 0;
	border-radius: 0.5rem;
	position: relative;
}

.mypage .p-student-id__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
}

.mypage .p-student-id__close-link {
	color: #000;
	font-weight: bold;
	text-decoration: none;
	background: #fff;
	width: 6rem;
	height: 6rem;
	border-radius: 100%;
	display: block;
	border: 0.4rem solid #ccc;
	text-align: center;
	font-size: 1.2rem;
	padding-top: 2.8rem;
	position: relative;
}

.mypage .p-student-id__close-link:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.mypage .p-student-id__close-link::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 0.3rem;
	background: #163781;
	position: absolute;
	top: 1.7rem;
	left: 1.4rem;
	transform: rotate(45deg);
	z-index: 200;
}

.mypage .p-student-id__close-link::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 0.3rem;
	background: #163781;
	position: absolute;
	top: 1.7rem;
	left: 1.4rem;
	transform: rotate(-45deg);
	z-index: 200;
}

.mypage .p-student-id__con {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 3rem;
}

.mypage .p-student-id__ttl {
	background: #163781;
	color: #fff;
	font-weight: bold;
	padding: 1.5rem 2rem;
	font-size: 1.8rem;
	border-top-right-radius: 0.5rem;
	border-top-left-radius: 0.5rem;
}

.mypage .p-studen-id__img {
	margin-right: 4rem;
	width: 30%;
}

.mypage .p-student-id__detail {
	width: 70%;
}

.mypage .p-student-id__table {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.mypage .p-student-id__table dt{
	width: 30%;
	margin-bottom: 0.7rem;
}

.mypage .p-student-id__table dd {
	width: 70%;
	margin-bottom: 0.7rem;
}

.mypage .p-student-id__display {
	margin-top: 1rem;
	font-size: 1.1rem;
	text-align: right;
}

.mypage .l-main {
	padding: 6rem 0 15rem;
}

.mypage .p-pc-header__menu {
	display: flex;
	align-items: center;
}

.mypage .p-pc-header__utility {
	margin-right: 2rem;
}

.mypage .p-pc-header__utility-bottom {
	display: flex;
	justify-content: end;
	align-items: center;
}

.mypage .p-pc-header__log {
	margin-right: 2rem;
	font-weight: bold;
}

.mypage .p-pc-header__log-name {
	margin: 0 1rem;
}

.mypage .p-pc-header__logout {
	text-decoration: none;
	font-weight: bold;
	border: 0.1rem solid #ccc;
	border-radius: 0.2rem;
	padding: 0.5rem 5rem;
	font-size: 1.6rem;
	display: inline-block;
}

.mypage .p-pc-header__logout:hover {
	background: #163781;
	border: 0.1rem solid #163781;
	color: #fff;
	transition: 0.3s;
}

.mypage .p-pc-header__proof-btn {
	display: block;
	padding: 6rem 2rem 1rem;
	background: url("/common/images/proof01.svg") no-repeat #033786;
	background-size: 6.4rem auto;
	background-position: center 0.9rem;
	color: #fff;
	border: 0.1rem solid #ccc;
	border-radius: 2rem;
	text-decoration: none;
	font-weight: bold;
}

.mypage .p-pc-header__proof-btn:hover {
	background:  url("/common/images/proof01.svg") no-repeat #37609D;
	background-size: 6.4rem auto;
	background-position: center 0.9rem;
	transition: 0.3s;
}

.mypage .p-top-ttl {
	font-weight: bold;
	text-align: center;
	font-size: 2.8rem;
	margin-top: 3rem;
	margin-bottom: 6rem;
}

.mypage .p-top-menu {
	padding: 0 0 10rem;
}

.mypage .p-top-menu__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3rem;
	margin-bottom: 6rem;
}

.mypage .p-top-menu__item {
	flex-basis: 25%;
}

.mypage .p-top-menu__btn {
	background: #fff;
	border-radius: 1.5rem;
	padding: 14rem 3rem 2rem;
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	box-shadow: 0 0.3rem 0.3rem 0 rgba(0,0,0,0.16);
	position: relative;
}

.mypage .p-top-menu__btn:hover {
	box-shadow: 0 0.1rem 0.1rem 0 rgba(0,0,0,0.16);
	opacity: 0.8;
}

.mypage .p-top-menu__btn.notice {
	background: url("/common/images/item01.svg") no-repeat #fff;
	background-size: 10.598rem 8.2rem;
	background-position: center 3rem;
}

.mypage .p-notif {
	position: absolute;
	top: -2.2rem;
	right: -1rem;
	background: #FDF2F2;
	border: 0.4rem solid #B13232;
	border-radius: 100%;
	width: 4.6rem;
	height: 4.6rem;
	line-height: 3.8rem;
	color: #B13232;
	font-weight: bold;
	text-align: center;
}

.mypage .p-top-menu__btn.search {
	background: url("/common/images/item02.svg") no-repeat #fff;
	background-size: 11.2rem 9.477rem;
	background-position: center 3rem;
}

.mypage .p-top-menu__btn.course {
	background: url("/common/images/item03.svg") no-repeat #fff;
	background-size: 10.5rem 10.6rem;
	background-position: center 2rem;
}

.mypage .p-top-menu__btn.setting {
	background: url("/common/images/item04.svg") no-repeat #fff;
	background-size: 11.942rem 8.966rem;
	background-position: center 3rem;
}

.mypage .p-top-link01 {
	text-align: center;
}

.mypage .p-top-link01 a {
	display: inline-block;
	background: #163781;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 2rem;
	border-radius: 9999px;
	padding: 1.5rem 7rem;
}

.mypage .p-top-link01 a:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.mypage .p-news {
	background: #f4f7fe;
	padding: 6rem 0 10rem;
}

.mypage .p-news__ttl {
	font-weight: bold;
	font-size: 2.8rem;
	color: #163781;
	text-align: center;
	margin-bottom: 4rem;
}

.mypage .p-news__list {
	margin-bottom: 5rem;
}

.mypage .p-news__item {
	margin-bottom: 2rem;
}

.mypage .p-news__item:last-child {
	margin: 0;
}

.mypage .p-news__link {
	display: block;
	text-decoration: none;
	font-weight: bold;
	background: #fff;
	padding: 2rem 7rem 2rem 3rem;
	box-shadow: 0 0.3rem 0.3rem 0 rgba(0,0,0,0.16);
	border-radius: 0.5rem;
	position: relative;
}

.p-news__link:hover {
	box-shadow: 0 0.1rem 0.1rem 0 rgba(0,0,0,0.16);
	opacity: 0.8;
}

.mypage .p-news__link::after {
	content: "";
	display: block;
	background: url("/common/images/arw01.svg") no-repeat;
	background-size: contain;
	width: 2.4rem;
	height: 2.4rem;
	position: absolute;
	top: 50%;
	right: 3rem;
	margin-top: -1.2rem;
}

.mypage .p-news__date {
	display: block;
	margin-bottom: 0.5rem;
}

.mypage .p-news__more {
	text-align: center;
}

.mypage .p-news__more-link {
	display: inline-block;
	background: #163781;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
	text-decoration: none;
	border-radius: 9999px;
	padding: 1.5rem 7rem;
}

.mypage .p-news__more-link:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.mypage .l-footer {
	position: relative;
}

.mypage .p-page-top {
	position: absolute;
	top: -20rem;
	right: 8rem;
}

.mypage .p-page-top__link {
	background: #163781;
	border-radius: 100%;
	display: block;
	width: 10.6rem;
	height: 10.6rem;
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	text-decoration: none;
	text-align: center;
	line-height: 1.3;
	padding-top: 4.6rem;
	position: relative;
}

.mypage .p-page-top__link:hover {
	transition: 0.3s;
	background: #37609D;
}

.mypage .p-page-top__link::before {
	content: "";
	display: block;
	background: url("/common/images/arw02.svg") no-repeat;
	background-size: contain;
	width: 2.142rem;
	height: 3.332rem;
	position: absolute;
	top: 0.8rem;
	left: 50%;
	margin-left: -1.071rem;
}

.mypage .p-page-top__link span {
	display: block;
}

/* page */

.l-page {
	display: flex;
}

.l-page-left {
	width: 25%;
	background: #EBF1FF;
	order: 1;
}

.l-page-right {
	padding: 6rem 3rem 30rem;
	background: #f4f7fe;
	width: 75%;
	order: 2;
}

.p-sidebar-item {
	border-bottom: 0.1rem solid #bdc9e4;
}

.p-sidebar-link {
	padding: 3rem 2rem;
	display: block;
	text-decoration: none;
	font-weight: bold;
}

.p-sidebar-link:hover {
	background: #d1dbf0;
	transition: 0.3s;
}

.p-heading01 {
	font-size: 2.6rem;
	font-weight: bold;
	color: #033786;
	background: #fff;
	border: 0.2rem solid #033786;
	border-radius: 9999px;
	padding: 1.5rem 2.5rem;
	margin-bottom: 3rem;
}

.p-page-link01 {
	text-align: center;
}

.p-page-link01 a {
	display: inline-block;
	background: #163781;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 2rem;
	border-radius: 9999px;
	padding: 1.5rem 7rem;
}

.p-page-link01 a:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.p-page-search {
	background: #EBF1FF;
	padding: 3rem;
	border-radius: 0.5rem;
	margin-bottom: 5rem;
}

.p-page-search label {
	display: block;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.p-page-search input[type="text"] {
	width: 100%;
	padding: 1rem 1.5rem;
	margin-bottom: 2rem;
	border: 0.1rem solid #ccc;
	border-radius: 0.5rem;
}

.p-page-search__flag {
	display: flex;
	gap: 1rem;
}

.p-page-search__flag label {
	font-weight: normal;
}

.p-page-search__flag input {
	border: 0.1rem solid #ccc;
	margin-right: 0.3rem;
}

.p-page-form {
	margin-bottom: 0;
	position: relative;
}

.p-page-form__date {
	display: flex;
	margin-bottom: 2rem;
}

.p-page-form__date p {
	margin: 0 2rem;
	line-height: 3;
}

.p-page-search__ttl01 {
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 1.5rem;
}

.p-page-search input[type="date"] {
	padding: 1rem 1.5rem;
	border: 0.1rem solid #ccc;
	border-radius: 0.5rem;
	width: 35%;
	background: #fff;
	font-size: 1.4rem;
}

.p-page-form__btn {
	margin: 4rem auto 0;
	display: block;
	border: none;
	background: #163781;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.8rem;
	border-radius: 9999px;
	padding: 1.5rem 7rem;
}

.p-page-form__btn:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.p-page-form__reset {
	position: absolute;
	bottom: 0;
	right: 0;
	background: none;
	border: none;
	text-decoration: underline;
}

.p-page-form__reset:hover {
	text-decoration: none;
}

.c-pagination {
	margin-top: 5rem;
}

.c-pagination-list {
	text-align: center;
}

.c-pagination-list__item {
	display: inline-block;
}

.c-pagination-list__link {
	background: #fff;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
	text-decoration: none;
	font-weight: bold;
	border: 0.1rem solid #c7cfe4;
}

.c-pagination-list__link:hover {
	background: #EBF1FF;
	transform: 0.3s;
}

.c-pagination-list__item.active .c-pagination-list__link {
	background: #163781;
	color: #fff;
	border: 0.1rem solid #163781;
}

/* user */
.p-user-link {
	display: flex;
	justify-content: end;
	margin-bottom: 2rem;
}

.p-user-link-item {
	margin-left: 2rem;
}

.p-user-link01 {
	padding-left: 3rem;
	position: relative;
}

.p-user-link01::before {
	content: "";
	display: block;
	background: url("/common/images/page-item01.svg") no-repeat;
	background-size: contain;
	width: 2.496rem;
	height: 2.498rem;
	position: absolute;
	top: -0.2rem;
	left: 0;
}

.p-user-link02 {
	padding-left: 3rem;
	position: relative;
}

.p-user-link02::before {
	content: "";
	display: block;
	background: url("/common/images/page-item02.svg") no-repeat;
	background-size: contain;
	width: 2.484rem;
	height: 2.484rem;
	position: absolute;
	top: -0.2rem;
	left: 0;
}

.p-user-con01 {
	background: #fff;
	padding: 3rem 2rem;
	margin-bottom: 3rem;
	border-radius: 0.5rem;
}

.p-user-ttl {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.p-user-ttl02 {
	margin-top: 3rem;
}

.p-user-tbl tr {
	border-bottom: 0.7rem solid #fff;
}

.p-user-tbl tr:last-child {
	border-bottom: none;
}

.p-user-tbl th {
	width: 30%;
	background: #f5f7ff;
	text-align: center;
	padding: 1.5rem;
}

.p-user-tbl td {
	width: 70%;
	padding: 1.5rem;
}

.p-user-con02 {
	background: #fff;
	padding: 3rem 2rem;
	margin-bottom: 3rem;
	border-radius: 0.5rem;
	margin-top: 5rem;
}

/* course */
.p-course-item {
	display: flex;
	align-items: stretch;
	margin-bottom: 2.5rem;
}

.p-course-left {
	width: 20%;
	text-align: center;
	background: #EBF1FF;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-course-right {
	width: 80%;
	padding: 2rem;
}

.unread .p-course-right {
	background: #feefef;
}

.p-course-right p {
	margin-bottom: 1rem;
}

.p-course-right p a {
	display: block;
}

.p-course-ttl {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 1.5rem;	
}

.p-course-tab {
	display: flex;
	margin-bottom: 2rem;
}

.p-course-resutl__txt01 {
	margin-bottom: 1rem;
	text-align: right;
}

.p-course-tab__link {
	width: 50%;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	padding: 1.5rem;
	border: 0.1rem solid #ccc;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	background: #fff;
	cursor: pointer;
}

.p-course-tab__link:hover {
	background: #163781;
	color: #fff;
	transition: 0.3s;
}

.p-course-tab__link.active {
	background: #163781;
	color: #fff;
}

.p-course-result01 {
	display: none;
}

.p-course-result02 {
	display: none;
}

.p-course-result01.active {
	display: block;
}

.p-course-result02.active {
	display: block;
}

.p-course-panel table {
	border: 0.1rem solid #ccc;
}

.p-course-panel th {
	border: 0.1rem solid #ccc;
	background: #dce7ff;
}
.p-course-panel td {
	border: 0.1rem solid #ccc;
	background: #fff;
}

.p-course-result__box {
	background: #EBF1FF;
	padding: 2rem;
	border: 0.1rem solid #ccc;
	border-radius: 0.5rem;
	margin-bottom: 2rem;
}

.p-course-result__txt02 {
	font-weight: bold;
}

.p-course__pageinfo {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 3rem;
}

.p-course__pagecat {
	background: #d1d9ed;
	padding: 0.8rem 1.5rem;
	border-radius: 9999px;
	line-height: 1;
}

.p-course__pagedate {
	font-size: 1.4rem;
}

.p-course__pagecon p {
	margin-bottom: 1rem;
}

.p-course__courseinfo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 3rem;
}

.p-course-page__body {
	margin-bottom: 5rem;
}

.p-course-cat {
	display: flex;
}

.p-course-cat__item {
	margin-right: 1rem;
	border: 0.2rem solid #163781;
	color: #163781;
	font-weight: bold;
	border-radius: 9999px;
	padding: 0.5rem 1rem;
	font-size: 1.4rem;
	margin-bottom: 0.5rem;
}

.p-course-status__item {
	font-weight: bold;
	padding: 0.7rem 4rem;
	border-radius: 0.5rem;
	background: #fadcdc;
}

.p-course-page__date {
	margin-bottom: 3rem;
}

.p-course-page__body {
	display: flex;
}

.p-course-page__col01 {
	margin-right: 2rem;
	width: 25%;
}

.p-course-page__col02 {
	width: 75%;
}

.p-course-page__heading {
	background: #d7dbed;
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
	margin-top: 2rem;
}

.p-course-page__col02 .p-course-page__heading:first-child {
	margin-top: 0;
}

.p-course-page__btn {
	text-align: center;
}

.p-course-page__btn-link {
	display: block;
	border: none;
	background: #163781;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.8rem;
	border-radius: 9999px;
	padding: 1.5rem 7rem;
	margin: 0 auto;
}

.p-course-page__btn-link:hover {
	opacity: 0.8;
	transition: 0.3s;
}

/* search */
.p-search-item {
	display: block;
	text-decoration: none;
	display: flex;
	align-items: center;
	padding: 2rem;
	background: #fff;
	border-radius: 0.5rem;
	border: 0.2rem solid #ccc;
	margin-bottom: 2rem;
}

.p-search-item:hover {
	opacity: 0.7;
	transition: 0.3s;
}

.p-search-sumb {
	margin-right: 2rem;
	width: 25%;
}

.p-search-detail {
	width: 75%;
}

.p-search-tag {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.p-search-tag__item {
	border: 0.2rem solid #163781;
	color: #163781;
	font-weight: bold;
	border-radius: 9999px;
	padding: 0.5rem 1rem;
	margin-right: 1rem;
	font-size: 1.4rem;
	margin-bottom: 0.5rem;
}

.p-search-detail__ttl {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.p-search-detail__tbl tr {
	border-bottom: 0.5rem solid #fff;
}

.p-search-detail__tbl th {
	background: #f5f7ff;
	padding: 1.5rem;
	text-align: center;
	width: 30%;
	font-size: 1.4rem;
}

.p-search-detail__tbl td {
	font-size: 1.4rem;
}

@media screen and (max-width: 1199px) {
	.mypage .p-top-menu__btn {
		height: 21rem;
	}
}

@media screen and (max-width: 991px) {
	.mypage .p-top-menu__btn {
		font-size: 1.4rem;
	}
	.l-page {
		display: block;
	}
	.l-page-right {
		width: 100%;
		padding-bottom: 6rem;
	}
	.l-page-left {
		width: 100%;
		padding-bottom: 25rem;
	}
}

@media screen and (max-width: 767px) {
	.p-header-con {
		padding: 1rem 2rem;
	}
	.p-header-logo__img img {
		width: 6rem;
	}
	.p-pc-header__utility-top {
		display: none;
	}
	.p-login-con__ttl {
		font-size: 2.2rem;
	}
	.mypage .p-pc-header__proof-btn {
		text-wrap: nowrap;
		font-size: 1.4rem;
		background-size: 4.4rem auto;
		padding: 5rem 2rem 1rem;
	}
	.mypage .p-pc-header__proof-btn:hover {
		background:  url("/common/images/proof01.svg") no-repeat #37609D;
		background-size: 4.4rem auto;
		background-position: center 0.9rem;
		transition: 0.3s;
	}
	.mypage .p-pc-header__log {
		font-size: 1.4rem;
	}
	.mypage .p-top-menu__list {
		gap: 1rem;
	}
	.mypage .p-top-menu__btn {
		font-size: 1.2rem;
		padding: 9rem 1rem 2rem;
		height: 13.5rem;
	}
	.mypage .p-top-menu__btn.notice {
		background-size: 6.598rem auto;
		background-position: center 2rem;
	}
	.mypage .p-top-menu__btn.search {
		background-size: 7.2rem auto;
		background-position: center 2rem;
	}
	.mypage .p-top-menu__btn.course {
		background-size: 6.5rem auto;
		background-position: center 1.5rem;
	}
	.mypage .p-top-menu__btn.setting {
		background-size: 7.94rem auto;
		background-position: center 2rem;
	}
	.mypage .p-notif {
		width: 4rem;
		height: 4rem;
		line-height: 3.3rem;
	}
	.mypage .p-top-link01 a {
		font-size: 1.8rem;
	}
	.mypage .p-news__ttl {
		font-size: 2.2rem;
	}
	.mypage .p-news__more-link {
		font-size: 1.8rem;
	}
	.mypage .p-page-top {
		right: 4rem;
	}
	.mypage .p-page-top__link {
		width: 8.6rem;
		height: 8.6rem;
		font-size: 1.2rem;
	}
	.mypage .p-student-id__card {
		width: 90%;
		margin: 14rem auto 0 ;
	}
	.mypage .p-student-id__txt01 {
		font-size: 1.4rem;
	}
	.mypage .p-student-id__txt01 {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 575px) {
	.p-pc-header__btn {
		font-size: 1.4rem;
	}
	.p-login-con {
		padding: 4rem 2rem;
	}
	.p-login-return__img {
		width: 17.4rem;
	}
	
	.p-login-form__btnbox {
		flex-direction: column-reverse;
		flex-wrap: wrap;
		gap: 2rem;
	}
	
	.p-login-form__send {
		width: 100%;
	}
	
	.p-login-form__returnbtn {
		width: 100%;
	}
	
	.p-login-form__btnbox .p-login-form__link {
		width: 100%;
	}
	
	.p-copy small {
		font-size: 1.2rem;
	}
	.mypage .p-page-top {
		top: -15rem;
		right: 2rem;
	}
	.mypage .l-main {
		padding: 4rem 0 11rem;
	}
	.mypage .p-top-menu {
		padding: 0 0 8rem;
	}
	.mypage .p-pc-header__logout {
		font-size: 1.4rem;
		padding: 0.5rem 2rem;
	}
	.mypage .p-top-ttl {
		font-size: 2.2rem;
	}
	.mypage .p-top-menu__list {
		gap: 1rem;
	}
	.mypage .p-student-id__card {
		max-height: inherit;
		height: auto;
	}
	.mypage .p-student-id__table dt {
		font-size: 1.4rem;
	}
	.mypage .p-student-id__table dd {
		font-size: 1.4rem;
	}
	.mypage .p-student-id__con {
		display: block;
	}
	.mypage .p-studen-id__img {
		margin: 0 auto 3rem;
	}
	.mypage .p-student-id__detail {
		width: 100%;
	}
	.l-page-right {
		padding: 6rem 1.5rem;
	}
	.l-page-left {
		padding-bottom: 20rem;
	}
	.p-heading01 {
		font-size: 2.2rem;
	}
	.p-user-ttl {
		font-size: 2rem;
	}
	.p-user-link {
		display: block;
	}
	.p-user-link-item {
		margin-bottom: 1rem;
	}
	.p-user-tbl th {
		display: block;
		width: 100%;
		padding: 1rem;
	}
	.p-user-tbl td {
		display: block;
		width: 100%;
	}
	.p-page-form__reset {
		position: relative;
		margin: 2rem auto 0;
		display: block;
	}
	.p-search-item {
		display: block;
	}
	.p-search-sumb {
		width: 80%;
		margin: 0 auto 1.5rem;;
	}
	.p-search-detail {
		width: 100%;
	}
	.p-search-detail__tbl th {
		width: 35%;
	}
	.p-page-search {
		padding: 2rem;
	}
	.p-course-tbl__wrap {
		overflow-x: scroll;
	}
	.p-course-tbl__wrap table {
		min-width: 70rem;
		width: 100%;
		border-collapse: collapse;
	}
	.p-course-tab__link {
		font-size: 1.6rem;
	}
	.p-course-left {
		width: 18%;
	}
	.p-course-right {
		width: 82%;
	}
	.p-course-tab__link {
		padding: 1rem 0.5rem;
	}
	.p-course-page__body {
		display: block;
	}
	.p-course-page__col01 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 3rem;
	}
	.p-course-page__col02 {
		width: 100%;
	}
	.p-course__courseinfo {
		display: block;
	}
	.p-course-cat {
		margin-bottom: 2rem;
	}
	.p-course-status__item {
		text-align: center;
	}
}

@media screen and (max-width: 480px) {
	.mypage .p-pc-header__log {
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
	.mypage .p-pc-header__utility-bottom {
		flex-wrap: wrap;
	}
	.mypage .p-pc-header__log {
		width: 100%;
	}
	.mypage .p-top-menu__list {
		flex-wrap: wrap;
	}
	.mypage .p-top-menu__item {
		flex-basis: 45%;
	}
	.mypage .p-top-menu__btn {
		font-size: 1.3rem;
	}
}