/* 追加CSS */
* {
  box-sizing: border-box;
}

/* 文字折り返し */

.wide-brake {
    display: none;
}

.pc-brake {
    display: inherit;
}

.pad-brake {
    display: none;
}

.sp-brake {
    display: none;
}

.spt-brake {
    display: none;
}

@media screen and (max-width: 1580px) {
    .wide-brake {
        display: inline;
    }
}

@media screen and (max-width: 1270px) {
    .wide-brake {
        display: none;
    }
}

@media screen and (max-width: 950px) {
    .pc-brake {
        display: none;
    }
    .pad-brake {
        display: inline;
    }
    .spt-brake {
        display: inline;
    }
	.sp-brake {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    .pc-brake {
        display: none;
    }
    .pc-brake2 {
        display: none;
    }
	.pad-brake {
        display: none;
    }
    .sp-brake {
        display: inline;
    }
}
@media screen and (max-width: 600px) {
.sp-none {
	display: none;
	}
}

.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}

.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}

.kadomaru {
border-radius:10px;
}

.nm_top {
	margin-top: 0;
}
.nm_bottom {
	margin-bottom: 0;
}

/*学部について---------------------------------------------
--------------------------------------------------------*/

/*画像を囲むブロック*/
.cont_box1 .image {
	position: relative;
	top: 3vw;	/*画像ブロックに対して上からの配置場所*/
}

/*/85％コンテンツボックス-----------------*/
.container-fluid {
	width: 85%;
	margin: 0 auto 60px;
}

/*/Youtube貼り付け-----------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;/* 16:9のアスペクト比 */
	height: 0;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*/学部の特色-----------------------------------------*/
.left-column, .right-column {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 48%;
    background: #FFF;
    padding: 20px;
	border-radius: 10px;
}
.column2-image {
    width: 150px;
    height: auto;
    margin-left: 2px;
	padding-top: 20px;
}
.column1-image {
    width: 420px; /* 画像の幅 */
    height: auto; /* 高さは自動調整 */
    margin-left: 20px; /* 画像とテキストの間にスペース */
	padding-top: 20px;
}


/* レスポンシブ対応（800px以下の場合） */
@media (max-width: 800px) {
    .left-column, .right-column,.column_1 {
        width: 100%; /* 各カラムの幅を100%に */
        flex-direction: column; /* 画像とテキストを縦並びに */
        align-items: flex-start; /* 左揃え */
    }
	.column2-image {
    width: 100%;
    height: auto;
    margin-left: 2px;
	padding-top: 20px;
}

    .column-image2 {
        margin-left: 0; /* 画像とテキストの間のスペースをなくす */
        margin-top: 10px; /* 画像とテキストの間に少しスペースを追加 */
        width: 100px; /* 画像の幅を小さく */
    }
	.column-image1 {
        margin-left: 0; /* 画像とテキストの間のスペースをなくす */
        margin-top: 10px; /* 画像とテキストの間に少しスペースを追加 */
        width: 100px; /* 画像の幅を小さく */
    }
}


/* 2年次 ?留学で得た経験を次のステージへ */
/* １カラムのスタイル */
.column_1 {
	margin-top: 20px;
	border-radius: 10px;
}
.column1-image {
    width: 420px;
    height: auto;
    margin-left: 20px;
    padding-top: 0px;
	margin-top: 20px;
}

@media (max-width: 600px) {
	.column1-image {
    width: 100%;
	margin: 20px auto 10px;
}
}

.column_1_1 {
	padding: 20px;
    width: 100%; /* 各カラムの幅 */
	background: #FFF;
	border-radius: 10px;
}

/* PC用画像とスマホ切り替え */

.national_flag_pc {
	padding-top: 10px;	
}
@media (max-width: 600px) {
	.national_flag_pc {
	display: none !important;
	}
}

.national_flag_sp {
	padding-top: 10px;
}
@media (min-width: 600px) {
    .national_flag_sp {
        display: none !important;
    }
}

/* テーブル */
@media screen and (max-width: 600px) {
    .table1 {
        display: block;
        width: 100%;
        table-layout: auto;

    }
}



/*ボックス横並び２個
------------------------------------*/

.col_2{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

}
.col_2 > div{
	width: 50%;
	padding: 10px;
	text-align:justify;
}
@media screen and (max-width: 600px) {
	.col_2 > div{
		width: 100%;
	}
}

.col_2_np{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col_2_np > div{
	width: 50%;
	padding: 0 10px;
}
@media screen and (max-width: 600px) {
	.col_2 > div{
		width: 100%;
	}
}

/*ボックス横並び３個
--------------------------------------*/

.col_3{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col_3 > div{
	width: 33.33333%;
	padding: 10px;
}

@media screen and (max-width: 600px) {
	.col_3 > div{
		width: 100%;
	}
}


/* 3年次--------------------------------  */
/* Honors Program */
.honorsProgram {
    padding: 20px 24px;
    background-color: aliceblue;
    border-radius: 10px;
}

.honorsProgram_title {
	font-size: 1.2em;
    font-weight: bold;
  padding: 0 3em;
  width: fit-content;
  margin: 0 auto 15px;
  text-align: center;
  position: relative;
}
.honorsProgram_title:before, .honorsProgram_title:after {
  content: '';
  background: #4c9ac0;
  width: 2em;
  height: 3px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.honorsProgram_title:before {
  left:0;
}
.honorsProgram_title:after {
  right: 0;
}


.honorsProgram ul {
    padding-left: 0;
    list-style: none;
    display: flex;
	width: 100%;
	margin: 0 auto;
}

.honorsProgram ul li {

}
.h_pcolor01 {
	color: #fff;
    padding: 16px;
    -ms-flex: 1;
    flex: 1;
    margin: 0 24px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1));
}
.h_pcolor02 {
	color: #fff;
    padding: 16px;
    -ms-flex: 1;
    flex: 1;
    margin: 0 24px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	  background-image: linear-gradient(90deg, rgba(247, 93, 139, 1), rgba(254, 220, 64, 1));
}
.h_pcolor03 {
	color: #fff;
    padding: 16px;
    -ms-flex: 1;
    flex: 1;
    margin: 0 24px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	background-image: linear-gradient(90deg, rgba(103, 126, 250, 1), rgba(142, 84, 219, 1));
}
.h_kake {
	padding: 30px 0px;
	width: 35px;
}

.hp_text01{
	width: 80%;
	margin: 0 auto 20px;
}

@media screen and (max-width: 600px) {
	.honorsProgram ul {
    padding-left: 0;
	width: 100%;
	margin: 0 auto;
	flex-flow: column;
}
	.h_kake {
	padding: 15px 0px;
	width: 25px;
		margin: 0 auto;
}
}

/* 4年次--------------------------------  */
/* 画像サイズ調整 */

.half_pc {
	width: 55%;
    height: auto;
    margin-left: 20px;
    padding-top: 0px;
	margin-top: 20px;
}
@media screen and (max-width: 800px) {
	.half_pc {
	width: 100%;
		margin-left: 0px;
}
}

/* テーブル設定 */
.table_4th.-fixed {
    table-layout: fixed;
	border: solid gray 1px;
	width: 100%;
}
.table_4th.-fixed  th {
    background-color: #A5A5A5;
    color: #fff;
    padding: 16px;
    font-weight: bold;
	white-space: nowrap;
	width: 20%;
	border: solid #fbfbfb 1px;
}
.table_4th.-fixed  td {
    color: #333;
	font-weight: bold;
    padding: 16px;
	border: solid gray 1px;
}
.table_4th.-fixed tr:nth-child(odd) td {
    background-color:#f1f1f1;
}
.table_4th.-fixed tr:nth-child(even) td {
  background-color: #f0f8ff;
}

.table_4th.-fixed  td ul {
    margin-left: 10px;
}

.table_4th.-fixed  td li {
    color: #333;
	font-weight: normal;
}

@media screen and (max-width: 800px) {
	.table_4th.-fixed  th {
		width: 100%;
    	display: block;
		border: none;
	}
	.table_4th.-fixed  td {
		display: block;
	}
	.table_4th.-fixed tr:nth-child(even) td {
  background-color: #f1f1f1;
}
}

/* 卒業後の進路 */
.futureCourse dl {
    display: flex;
  flex-wrap: wrap;
  width: 100%;
	border-bottom: solid #c0c0c0 1px;
    padding-bottom: 20px;
    margin-bottom: 0;
}
.futureCourse dl dt {
    background-color: #009edb;
	color: #fff;
    display: flex;
    align-items: center;
    position: relative;
    border-radius: 4px;
	font-weight: 700;
	width: 50%;
	margin-bottom: 0px;
	white-space: nowrap;
	border: solid #009edb 1px;
}
.futureCourse dl dt span {
    flex: 0 0 140px;
    display: flex;
    align-items: center;
    height: 100%;
    background: #fff;
    color: #333333;
    -webkit-clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
    padding: 16px 16px 16px 20px;
    margin-right: 20px;
    border-radius: 4px;
}

.futureCourse dl dd {
    padding-left: 20px;
	width: 50%;
}
/* ▼ */
.triangle {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 15px solid #e0e0e0;
	margin: 0 auto 10px;
}



/* セミナー365社 */
.futureCourse__bottom {
    padding-top: 32px;
    display: flex;
	flex-direction: row;
	width: 100%;
	align-items: center;
}

.seminar365 {
    border: 1px solid #009edb;
    border-radius: 4px;
    background: #fff;
    align-items: center;
    margin-right: 20px;
	width: 50%;
	text-align: center;
}

.seminar365 p {
	font-weight: 700;
	font-size: 1.4em;
	display: inline-block;
  vertical-align: middle;
  padding: 20px 0;
}
.seminar365 p strong {
	font-weight: 700;
	font-size: 1.7em;
	color: #009edb;
}

.seminartext {
	width: 50%;
	display: block;
}


@media screen and (max-width: 800px) {
	.futureCourse dl {
		flex-direction: column;
}
	.futureCourse dl dt {
	width: 100%;
}
	.futureCourse dl dd {
    padding-left: 0px;
		padding-top: 10px;
	width: 100%;
}
	.futureCourse__bottom {
	flex-direction:  column;
}
	.seminar365 {
	width: 80%;
		margin: 0 auto;
}
	.seminartext {
	width: 80%;
}
}

/*カリキュラム---------------------------------------------
--------------------------------------------------------*/
/*--▼▼▼▼▼トップ画像文字を光らせる---*/

.glow {
text-shadow: 0 0 10px #fff,
	-1px 1px 10px #fff,
	1px -1px 10px #fff,
	-1px -1px 10px #fff,
	0 0 15px #fff,
	-2px 1px 15px #fff,
	2px -1px 15px #fff,
	-2px -1px 15px #fff;
}

/*--4年間の学び---*/
.color_back {
	padding: 50px 0;
	background-color: aliceblue;
}
/*--各年項目---*/
.curriculumFlow {
	display: flex;
}
.curriculumFlow_annual {
	width: 200px;
}
.curriculumFlow_annual ul {
    padding-left: 0;
    list-style: none;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.curriculumFlow_annual ul li {
    flex: 1;
    color: #fff;
    padding: 40px 20px 30px;
    position: relative;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    backface-visibility: hidden;
}
.curriculumFlow_annual ul li span {
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #009edb;
    line-height: 1;
    padding: 4px 16px;
    border-radius: 99px;
    margin-bottom: 8px;
}
.curriculumFlow_annual ul li:nth-child(1) {
    border-radius: var(--image-radius) var(--image-radius) 0 0;
    z-index: 4;
    background: #009ddb;
}
.curriculumFlow_annual ul li:nth-child(1)::after {
    background: #009ddb;
}
.curriculumFlow_annual ul li:nth-child(2) {
    z-index: 3;
    background: #00a8eb;
}
.curriculumFlow_annual ul li:nth-child(2)::after {
    background: #00a8eb;
}
.curriculumFlow_annual ul li:nth-child(3) {
    z-index: 2;
    background: #00b3fa;
}
.curriculumFlow_annual ul li:nth-child(3)::after {
    background: #00b3fa;
}
.curriculumFlow_annual ul li:nth-child(4) {
    z-index: 1;
    background: #0abaff;
}
.curriculumFlow_annual ul li:nth-child(4)::after {
    background: #0abaff;
}
.curriculumFlow_annual ul li::after {
    content: "";
    width: 100%;
    height: 20px;
    position: absolute;
    left: 0;
    bottom: -20px;
    background: #ddd;
    clip-path: polygon(0 0, 100% 0, 100% 0, 50% 100%, 0 0);
}

@media (max-width: 800px) {
	.curriculumFlow_annual {
        width: 32px;
        margin-left: -20px;
        margin-right: 20px;
    }
	.curriculumFlow_annual ul li span {
        width: 20px;
        padding: 16px 1px;
    }
    .curriculumFlow_annual ul li div {
        display: none;
    }
}

/*--項目コンテンツ---*/
/*--学びの基礎力養成---*/
.curriculumFlow_content {
    padding-left: 40px;
}
.curriculum_bb {
	padding-bottom: 20px;
	border-bottom: solid #ccc 1px;
}
.c_title1 {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 1.5em;
}
.c_title2 {
	margin-top: 10px;
	margin-bottom: 5px;
	font-size: 1.5em;
}
.c-pointList {
    padding-left: 0;
    list-style: none;
    counter-reset: number 0;
	display: flex;
    gap: 20px;
}
.c-pointList li {
    flex: 1;
    position: relative;
    min-height: 60px;
    padding-left: 76px;
    line-height: 1.5;
    display: flex;
    align-items: center;
}
.c-pointList li::before {
    content: "POINT";
    display: block;
    color: #fff;
    width: 60px;
    height: 60px;
    text-align: center;
    background-color: #009edb;
    border-radius: 50%;
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 10px;
    font-weight: bold;
}
.c-pointList li::after {
    counter-increment: number 1;
    content: counter(number);
    display: block;
    position: absolute;
    left: 0;
    top: 24px;
    color: #fff;
    width: 60px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
}
@media screen and (max-width: 1000px) {
	.c-pointList {
        flex-direction: column;
        padding-top: 4px;
    }
	.ch_kake {
	padding: 15px 0px;
	width: 35px;
		margin: 0 auto;
}
}

/*--セメスター留学---*/
.align-items-center {
    align-items: center !important;
}
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}


/*--Honors Progra---*/

.honorsProgram_box {
    padding: 12px 10px 16px;
	background-color: #fff;
    border-radius: 10px;
}

.honorsProgram_box ul {
    padding-left: 0;
    list-style: none;
    display: flex;
    width: 100%;
    margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.honorsProgram_box ul {
    padding-left: 0;
	width: 100%;
	margin: 0 auto;
	flex-flow: column;
}
}
.ch_pcolor01 {
	color: #fff;
    padding: 0px;
    flex: 1;
    margin: 0 0px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1));
}
.ch_pcolor02 {
	color: #fff;
    padding: 0px;
    flex: 1;
    margin: 0 0px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	  background-image: linear-gradient(90deg, rgba(247, 93, 139, 1), rgba(254, 220, 64, 1));
}
.ch_pcolor03 {
	color: #fff;
    padding: 0px;
    flex: 1;
    margin: 0 0px;
    text-align: center;
    font-size: 1.42857rem;
    font-weight: bold;
    border-radius:10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	background-image: linear-gradient(90deg, rgba(103, 126, 250, 1), rgba(142, 84, 219, 1));
}
.ch_kake {
    padding: 10px 10px 10px 0px;
    width: 25px;
}

/*--カリキュラム表---*/
.curriculam_box2 {
    overflow-x: visible;
    position: relative;
    padding: 0;
    margin-top: 3vw;
    margin-bottom: 3rem;
}

@media screen and (max-width: 600px) {
    .curriculam_box2 {
        display: flex;
        gap: 4vw;
        margin-bottom: 0rem;
    }
}

/*--タブスイッチ---*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #325A8C;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
	font-size: 1.2em;
  background: LightGray;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
	background-color: aliceblue;
}
.tab-switch:checked+.tab-label {
  background: #325A8C;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
.tab-switch {
  display: none;
}

/*--タブ内リンク---*/
.c-pageAnchor {
    display: flex;
    gap: 32px;
}
.tab-content .c-pageAnchor a {
    background: #fff;
}
.c-pageAnchor a {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background-color: #fff;
    border-radius: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
	 text-decoration: none;
}
.c-pageAnchor a:hover {
	color:#009edb; 
}
.c-pageAnchor a:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #009edb;
    border-bottom: 2px solid #009edb;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -2px;
    transform: translate(0, -50%) rotate(45deg);
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}

@media screen and (max-width: 800px) {
    .c-pageAnchor {
		flex-wrap: wrap
}
	.c-pageAnchor a {
    padding: 16px 70px;
		margin: 0 auto;
		white-space: nowrap;
}
}


/*--タブ内年次別---*/
.l-tab__block {
    margin-top: 40px;
}
.l-tab__block .schoolYear h3 {
    font-size: 1.71429rem;
    margin-bottom: 0px;
    border-left: 4px solid #009edb;
    padding-left: 16px;
}


.l-tab__block h4 {
    font-size: 1.28571rem;
    text-align: center;
    background-image: linear-gradient(1deg, #22d3ee, #5d62f7);
    color: #fff;
    padding: 12px 8px;
    margin-bottom: -8px;
    border-radius: 10px;
}
.l-tab__block .relate h4 {
    background-image: linear-gradient(0deg, #0ceada, #02adb8);
}


/*--年次--*/
.l-tab__block .schoolYear {
    display: flex;
    align-items: center;
}
.l-tab__block .schoolYear .legend {
    display: flex;
    margin-left: auto;
}
.l-tab__block .schoolYear .legend>div {
    display: flex;
    align-items: center;
    margin-left: 32px;
	font-size: 1.2em;
}
/*--一覧色玉---*/
.l-tab__block .schoolYear .legend>div:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background: #ccc;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}
.l-tab__block .schoolYear .legend .subject1:before {
    background-color: #db3b89;
}
.l-tab__block .schoolYear .legend .subject2:before {
    background-color: #F6C42A;
}
.l-tab__block .schoolYear .legend .subject3:before {
    background-color: #42ba96;
}
.l-tab__block .schoolYear .legend .subject4:before {
    background-color: #009edb;
}

@media screen and (max-width: 800px) {
	.l-tab__block .schoolYear {
		flex-direction: column;
}
	.l-tab__block .schoolYear .legend {
    flex-wrap: wrap;
		margin: 0 auto;
}
	.l-tab__block .schoolYear .legend>div {
    margin-left: 0px;
		width: 50%;
}
	.l-tab__block .schoolYear h3 {
    margin-bottom: 20px;
    border-left: 0;
		border-bottom: 4px solid #009edb;
    padding-left: 0px;
}
}


/*--リストボックス--*/
.l-tab__block .specializations {
    display: flex;
    gap: 24px;
}

.l-tab__block .specializations__block {
    flex: 1;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
}
.l-tab__block .specializations__block h5 {
    font-size: 1.14286rem;
    text-align: center;
    padding: 10px 8px;
    background: #eee;
    border-radius: 10px 10px 0 0;
	margin-bottom: 0px;
}
.l-tab__block .specializations__block>div {
    flex: 1;
    padding: 16px 20px;
    background: #fff;
    border-radius: 0 0 10px 10px;
	margin-bottom: 20px;
}

/*--タブ内リスト---*/
.l-tab__block .specializations__block>div ul {
    padding-left: 0;
    list-style: none;
}

.l-tab__block .specializations__block>div ul li {
    display: flex;
    margin-bottom: 4px;
	font-size: 1.2em;
}

.l-tab__block .specializations__block>div ul li[class*='subject'].subject4 {
    position: relative;
    padding-left: 3em;
	font-size: 1.2em;
}

/*--英語リスト色玉2個---*/
.l-tab__block .specializations__block>div ul li[class*='subject'].subject4:before {
    position: absolute;
    top: -2px;
    left: 0;
}
.l-tab__block .specializations__block>div ul li[class*='subject'].subject4:after {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: #009edb;
    border-radius: 50%;
    flex-shrink: 0;
    position: absolute;
    top: 0;
    left: 1.4em;
    margin-top: 6px;
}

/*--.subject1:before---*/
.l-tab__block .specializations__block>div ul li.subject1:before {
    background-color: #db3b89;
}

/*--リスト色玉---*/
.specializations__block>div ul li:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background: #ccc;
    border-radius: 50%;
	margin-top: 8px;
    margin-right: 8px;
    flex-shrink: 0;
}
.specializations__block>div ul li.subject1:before {
    background-color: #db3b89;
}
.specializations__block>div ul li.subject2:before {
    background-color: #F6C42A;
}
.specializations__block>div ul li.subject3:before {
    background-color: #42ba96;
}
.specializations__block>div ul li.subject4:before {
    background-color: #009edb;
}

@media screen and (max-width: 800px) {
	.l-tab__block .specializations {
    	display: flex;
    	gap: 24px;
		 flex-flow: column;
		
}
}


/*--下部リンク---*/
.under_button_box {
	width: 90%;
	padding: 16px;
	margin: 30px auto;
}

.under_button_box2 {
	width: 50%;
	padding: 16px;
	margin: 30px auto;
}

.under_button a {
	display: block;
	padding: 5px 24px;
    border: 1px solid #009edb;
	border-radius: 10px;
	text-align: center;
    font-size: 1.3em;
    color: #fff;
	text-decoration: none;
	background-color: #009edb;
	margin: 20px auto;
}

.under_button a:hover {
    color: #778899;
	background-color: #fff;
}

@media screen and (max-width: 600px) {
.under_button_box2 {
	width: 80%;
}
}

/*学科専攻/言語文化学科/英米学専攻---------------------------------------------
--------------------------------------------------------*/

.preface {
	text-align: center;
}
.preface p {
	position: relative;
	font-size: 1.2em;
	border-bottom: 5px solid #fff;
	padding-bottom: 10px;
}
.preface p::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #387ccc;
}
.preface h2 {
	font-size: 1.6em;
	font-weight: 600;
	align-items: center;
}
@media screen and (max-width: 480px) {
	.preface h2 {
	font-size: 1.3em;
}
}

/*--Specialty h2 ---*/
.tab2-h2 {
    padding:0 .4em .2em;
    border-bottom: 3px solid #2589d0;
    color: #333333;
	font-size: 1.5rem;
    margin: 20px auto 30px;
	display: block;
	text-align: center;
	font-weight: bold;
}

#Specialty h3 {
	margin: 50px 0 20px;
}
/*--テーブル1---*/
#Specialty .table_design01 {
  border-collapse: collapse;
  width: 75%;
	margin: 0 auto;
}
#Specialty .table_design01 th, .table_design01 td {
  border: 2px solid #fff;
  background-color: #e6f1f6;
  padding: 1em;
}
#Specialty .table_design01 th {
  background-color: #4d9bc1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 25%;
  min-width: 4em;
}

/*--テーブルgpp---*/
#Specialty .table_designgpp {
  border-collapse: collapse;
	margin: 0 auto;
}
#Specialty .table_designgpp th, .table_designgpp td {
  border: 2px solid #fff;
  background-color: #e6f1f6;
  padding: 1em;
}
#Specialty .table_designgpp th {
  background-color: #4d9bc1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 25%;
  min-width: 4em;
}



/*--テーブル3---*/
#Specialty .table_design03 {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 80%;
	border-radius: 5px;
}
#Specialty .table_design03 tr {
  background-color: #e6f1f6;
}

#Specialty .table_design03 th,
#Specialty .table_design03 td {
  padding: .35em 1em;
  border-bottom: 1px solid #eee;
}
#Specialty .table_design03 thead th {
    font-size: 1.1em;
    padding: 1em;
}
#Specialty .table_design03 thead tr{
  background-color: #4d9bc1;
  color:#fff;
}
#Specialty .table_design03 tbody th {
    text-align: center;
    font-size: 1em;
    white-space: nowrap;
    padding-left: 20px;
    border-right: solid 2px #fff;
    width: 35%;
}
#Specialty .table_design03.txt{
   text-align: left;
   font-size: 1em;
}

/*--テーブルgpp---*/
#Specialty .table_design_gpp {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 80%;
	border-radius: 5px;
}
#Specialty .table_design_gpp tr {
  background-color: #e6f1f6;
}

#Specialty .table_design_gpp th,
#Specialty .table_design_gpp td {
  padding: .35em 1em;
  border-bottom: 1px solid #eee;
}
#Specialty .table_design_gpp thead th {
    font-size: 1em;
    padding: 1em;
}
#Specialty .table_design_gpp thead tr{
  background-color: #4d9bc1;
  color:#fff;
      width: 40%;
}
#Specialty .table_design_gpp tbody th {
    text-align: center;
    font-size: 1em;
    white-space: nowrap;
    padding-left: 20px;
    border-right: solid 2px #fff;
    width: 40%;
}
#Specialty .table_design_gpp.txt{
   text-align: left;
   font-size: 1em;
}
@media screen and (max-width: 600px) {
  #Specialty .table_design01,
  #Specialty .table_designgpp,
  #Specialty .table_design03 {
  width: 95%;
}
	#Specialty .table_design03 span{
		font-size: 0.7em;
	}
}


#Specialty h4 {
	margin: 0;
}

.middle_w {
	width: 80%;
	margin: 0 auto;
	text-align: justify;
}
.middle_w60 {
	width: 60%;
	margin: 0 auto;
	text-align: justify;
}


@media screen and (max-width: 600px) {
  .middle_w {
	width: 90%;
	  
}
.middle_w60 {
	width: 90%;
}
}
@media screen and (max-width: 48px) {
  .middle_w {
	width: 95%;
}
.middle_w60 {
	width: 95%;
}
}
.yellow_marker { 
    background-color: #ff9;
}
.seminar_text {
	margin-top: 0;
}



/*--教授名前リンク---*/
.textlink a {
	position: relative;
	color: #333;
	text-decoration: none;
}
.textlink a:hover {
	color: #b99b00;
}
.professor a {
	padding-right: 20px;
}


.professor a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background-color: transparent;
	border: 3px solid #bbb;
	border-radius: 50%;
}

.professor a::after {
	content: '';
	position: absolute;
	top: calc(50% - 3px);
	right: 6px;
	transform: rotate(45deg);
	width: 4px;
	height: 4px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #333 #333 transparent transparent;
}

.professor a:hover::before {
	border: 3px solid #ceb849;
}

.professor a:hover::after {
	border-color: #ceb849 #ceb849 transparent transparent;
}


/*--英米学専攻タブ---*/
.tab-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    width: 100%;
}

.tab-2 > label {
    flex: 1 1;
    order: -1;
    opacity: .5;
    min-width: 70px;
    padding: 1.5em 1em;
    border-radius: 5px 5px 0 0;
    background-color: #325A8C;
    color: #fff;
    font-size: 1.5em;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
}

.tab-2 > label:hover {
    opacity: .7;
}

.tab-2 input {
    display: none;
}

.tab-2 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: #fff;
}

.tab-2 label:has(:checked) {
    opacity: 1;
}

.tab-2 label:has(:checked) + div {
    display: block;
}

@media screen and (max-width: 600px) {
  .middle_w {
	width: 90%;
}
}
@media screen and (max-width: 480px) {
  .tab-2 > label {
    font-size: 1.1em;
}
}

/*--画像キャンプション---*/
figure {
  display: table;
}
figcaption {
  display: table-caption;
    caption-side: bottom;
    padding-top: 10px;
    text-align: center;
}


/*--カリキュラム表-*/
h6 {
  font-weight: bold;
  background-color: #94adda;
  color: #fff;
  padding: 0.5em 1em calc(0.5em - 6px);
  position: relative;
	font-size: 1.1em;
	margin-top: 10px;
	margin-bottom: 20px;
}
h6::after {
  content: '';
  background-color: #94adda;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -6px;
  left: 0;
}

.major span {
    font-weight: bold;
    font-size: 1.2em;
    color: #000000;

}
.major .hosoku {
	color: #000000;
	text-indent: 2em;
	margin-top: 0;
}

.major .hosoku_2 {
	color: #000000;
	text-indent: 1em;
	margin-top: 0;
	margin-bottom: 0;
}
.specializations__block>div ul li span {
    font-size: 0.8em;
	vertical-align: top;
}

@media screen and (max-width: 600px) {
  .ta-left {
	text-align: left !important;
}
}

.pad10 {
	padding: 10px;
}
.col_2voice{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 20px;
}

#voice_text {
  width: 100%;
  padding-right: 40px;
  flex: 1;
  text-align: justify;
}
#voice_photo {
  width: 200px; /*幅指定*/
}
#interview_text {
  width: 100%;
  padding-right: 40px;
  flex: 1;
  text-align: justify;
}
#interview_photo {
  width: 200px; /*幅指定*/
}
#interview_photo_tt {
  width: 200px; /*幅指定*/
  margin-top: 100px;
  margin-right: 40px;
}
.col_gpp{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 20px;
}

#gpp_text {
  width: 100%;
  padding-right: 40px;
  flex: 1;
  text-align: justify;
}
#gpp_photo {
  width: 350px; /*幅指定*/
}
@media screen and (max-width: 600px) {
	.col_2voice > div{
		width: 100%;
	}
	#interview_photo_tt {
  width: 200px; /*幅指定*/
		  margin-top: 0px;
  margin-right: 20px;
}
	#voice_photo{
		width: 100%;
	}
	.col_gpp > div{
		width: 100%;
	}
	#gpp_photo{
		width: 100%;
	}
}

.margin-left {
	margin-left: 10.5em;
}
.margin-p {
	padding-left: 8em;
	padding-right: 8em;
}

@media screen and (max-width: 600px) {
	.margin-left {
	margin-left: 0em;
}
	.margin-p {
	padding-left: 2em;
	padding-right: 2em;
}
}

.sub-catch {
	border: none;
	color: #585858;
    font-size: 0.8em;
}

/*テーブル
---------------------------------------------------------------------------*/
.tt-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 10px;	/*角を丸くする指定*/
	table-layout: fixed;	/*幅を均等に*/
	background: #fff;		/*テーブル全体の背景色*/
	color: #555;			/*テーブル全体の文字色*/
	font-size: 0.9rem;
}





/*th(曜日)とtd(時間)*/
.tt-table th,
.tt-table td {
	padding: 0.5rem 0;	/*ボックス内の余白。上下に１文字分、左右は0。*/
	text-align: center;	/*テキストをセンタリング*/
	line-height: 1.4;}

/*th(曜日)の追加指定*/
.tt-table th {
	background: #999;	/*背景色*/
	color: #fff;		/*文字色*/
}
.tt-table td {
	border-bottom: 1px solid #ccc;	/*下の線の幅、線種、色*/
}
/* 1?2行目のthセルに白い枠線を追加 */
.tt-table tr:nth-child(1) th,
.tt-table tr:nth-child(2) th {
  border: 0.3px solid #fff;   /* 白線を入れる */
}

/* 1?2行目の左端(空セル)も対象にしたい場合はtdにも */
.tt-table tr:nth-child(1) td,
.tt-table tr:nth-child(2) td {
  border: 0.3px solid #fff;
}


