@charset "UTF-8";
/**
 * 国立大学法人奈良女子大学スポーツ健康科学コース
**/

/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 16px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}
body {
　font-feature-settings: "palt";
}

/*---------------------------------------------------------------
　見出し
---------------------------------------------------------------*/
@media screen and (max-width: 767px),print {
    h1,h2,h3,h4,h5,h6 { line-height: 1.4; }
}
h3:not(.obi) {
    font-size: 17px;
    padding: 0 0 0 15px;
    margin-bottom: 30px;
    border-left: 5px solid #9fdcf7;
    line-height: 1.4;
}
h3.obi {
    font-size: 17px;
    color: #fff;
    padding: 5px 15px 4px;
    margin-bottom: 30px;
    background: #82c9e8;
    line-height: 1.4;
}
@media screen and (min-width: 768px),print {
    h3 { font-size: 18px; }
}
main h3::before { display: none; }
h4.line {
    font-size: 16px;
    font-weight: normal;
    padding: 0 0 5px;
    margin: 0 0 30px;
    border-bottom: 1px dotted #ccc;
}



/*---------------------------------------------------------------
　下層ページ：トップイメージエリア
---------------------------------------------------------------*/
.page-header {
    width: 100%;
    margin: 0 auto;
    background: url("/life/health-new/sports_science/image/topimg_sp.jpg") left top no-repeat;
    background-size: cover;
}
.page-title_wrap {
    width: 100%;
    max-width: 1330px;
    height: 160px;
    padding: 0 15px;
    margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}
@media screen and (min-width: 481px),print {
    .page-header {
        width: 100%;
        margin: 0 auto;
        background: url("/life/health-new/sports_science/image/topimg_pc.jpg") left bottom no-repeat;
        background-size: cover;
    }
}
@media screen and (min-width: 768px),print {
    .page-title_wrap {
        height: 250px;
    }
}
/** 
 * ページタイトル表示
**/
h1.page-title {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: normal;
    text-shadow: 1px 1px 2px #000;
}
@media screen and (min-width: 481px),print {
    h1.page-title { padding-left: 15px; }
}
@media screen and (min-width: 768px),print {
    h1.page-title {
        font-size: 40px;
    }
}


/*---------------------------------------------------------------
　パンくずリスト
---------------------------------------------------------------*/
/* Breadcrumbs
------------------------------*/
.area-pankuzu {
	width: 100%;
	font-size: 14px;
	line-height: 1.4;
    padding: 2px 0 0;
    margin-bottom: 40px;
    color: #57524b;;
    background: #ebf0f2;
}
.area-pankuzu_inner {
    width: 100%;
    max-width: 1330px;
    padding: 0 15px;
    margin: 0 auto;
}
ul.breadcrumbsul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.breadcrumbs {
	width: 100%;
	list-style: none;
}
.breadcrumbs li {
	display: inline-block;
	padding: 7px 20px 5px 5px;
    margin: 0;
}
.breadcrumbs a {
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.breadcrumbs li a::after {
    position: absolute;
    display: inline-block;
    top: calc(50% - (5px));
    right: -17px;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 1px solid #57524b;
    border-right: 1px solid #57524b;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*---------------------------------------------------------------
　画像配置
---------------------------------------------------------------*/
figure {
	margin: 0 0 20px;
	width: 100%;
}
figure img {
	max-width: 100%;
}
@media screen and (min-width: 768px),print {
    /** 右配置 **/
    figure.right {
	    float: right;
	    margin: 0 0 20px 20px;
	    width: 30%;
    }
    /** 左配置 **/
    figure.left {
	    float: left;
	    margin: 0 20px 20px 0;
	    width: 30%;
    }    
    
}


/*---------------------------------------------------------------
　画像＋テキスト
---------------------------------------------------------------*/
.box-image_txt {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.box-image_txt .area_txt {
    width: 100%;
    margin-bottom: 30px;
}
.box-image_txt .area_image {
    width: 100%;
}
.box-image_txt .area_image img {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
@media screen and (min-width: 768px),print {
    .box-image_txt .area_txt {
        width: 68.2%;
        margin-right: 1.8%;
        margin-bottom: 0;
    }
    .box-image_txt .area_image {
        width: 30%;
    }
}


/* ヘッダー
-------------------------------------------------------------- */
/*ヘッダーブロック*/
header {
	display: block;	
	background: #fff;
	color: #fff;
	position: relative;
    border-bottom: 3px solid #7fc8e9;
    z-index: 1;
}
@media screen and (min-width: 900px),print {
    header { border-bottom: none; }
}
.header_inner {
    max-width: 1330px;
    width: 100%;
    padding: 20px 10px;
    margin: 0 auto;
} 
@media screen and (min-width: 768px),print {
    .header_inner {
        width: 100%;
        height: 100px;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
	    -webkit-align-items: center;
	    align-items: center;
    }
}
.header_inner .logo_sp { display: block; }
.header_inner .logo_pc { display: none; }
@media screen and (min-width: 768px),print {
    .header_inner .logo_sp { display: none; }
    .header_inner .logo_pc { display: block; }
}
.header_inner .logo_sp img { 
    width: 100%;
    max-width: 250px;
}
.header_inner .logo_pc img { 
    width: 100%;
    max-width: 619px;
}
.header_inner a:hover,
.header_inner a:hover img { opacity: 1.0 !important; }
.header_inner h1 {
    padding: 0;
    margin: 0;
    line-height: 1.0;
}


/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
/*メニューを非表示にしておく*/
#menubar {display: none;}

/*開閉用のスタイル*/
#menubar.db {display: block;}
#menubar.dn {display: none;}

/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	letter-spacing: 0;
}
@media screen and (min-width: 900px),print {
    #menubar {
        width: 100%;
        background: #7fc8e9;
    }
    #menubar ul {
        max-width: 1300px;
        width: 100%;
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
        margin: 0 auto;
        border-left: 1px solid #9edbf6;
        border-right: 1px solid #60b5dc;
    }
    #menubar ul > li {
        width: 12.5%;
        height: 50px;
        margin-bottom: 0;
    }
    #menubar ul > li > a {
        width: 100%;
        height: 50px;
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
	    -webkit-align-items: center;
	    align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
        padding: 2px 5px 0;
        border-right: 1px solid #9edbf6;
        border-left: 1px solid #60b5dc;
        line-height: 1.4;
    }
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 0;			/*左からの配置場所指定*/
	top: 0px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 52px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 52px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	order: 0;						/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	background: rgba(0,0,0,0.5);	/*背景色*/
}


/* フッター
-------------------------------------------------------------- */
.sitename,
.copyright {
    font-size: 11px;
    text-align: left;
    line-height: 1.6;
}
@media screen and (min-width: 481px),print {
    .sitename,
    .copyright {
        text-align: center;
    }
}

/*---------------------------------------------------------------
　サイトマップ
---------------------------------------------------------------*/
.sitemap {
    background: #ebf0f2;
    padding: 40px 0 30px;
    margin-top: 60px;
}
@media screen and (min-width: 768px) ,print {
    .sitemap { margin-top: 100px; }    
}
ul.sitemap_inner {
    list-style: none;
    width: 100%;
    max-width: 1330px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0 15px;
    margin: 0 auto;
}
ul.sitemap_inner > li {
    width: 100%;
    margin: 0;
}
@media screen and (min-width: 768px) and (max-width: 1299px),print {
    ul.sitemap_inner { padding: 0 40px; }    
}
@media screen and (min-width: 768px),print {
    ul.sitemap_inner > li:nth-of-type(1) { width: 100%; }
    ul.sitemap_inner > li:nth-of-type(2) {
        width: 47.5%;
        margin-right: 3.5%;
    }
    ul.sitemap_inner > li:nth-of-type(3) { width: 47.5%;}
}
@media screen and (min-width: 1300px),print {
    ul.sitemap_inner > li:nth-of-type(1) {
        width: 40%;
        margin-right: 3.5%;
    }
    ul.sitemap_inner > li:nth-of-type(2) {
        width: 26.5%;
        margin-right: 3.5%;
    }
    ul.sitemap_inner > li:nth-of-type(3) { width: 26.5%;}
}

/**
 * フッターロゴ／住所表示
**/
.footer_logo { margin: 0 0 10px; }
.footer_logo img {
    width: 100%;
    max-width: 250px;
}
.footer_logo a:hover,
.footer_logo a:hover img { opacity: 1.0 !important; }
.footer_address {
    font-size: 14px;
    color: #57524b;
    padding-left: 43px;
    margin: 0 0 20px;
}
@media screen and (min-width: 768px),print {
    .footer_logo { margin: 0 0 20px; }
    .footer_logo img { max-width: 360px; }
    .footer_address {
        padding-left: 61px;
        margin-bottom: 40px;
    }
}


/**
 * ページメニュー
**/
ul.list_menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.list_menu li {
    position: relative;
    font-size: 14px;
    padding-left: 20px;
    margin-bottom: 20px;
    line-height: 1.4;
}
ul.list_menu li::before {
    display: block;
    opacity: 1.0;
    margin: 0;
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #57524b;
    border-right: solid 2px #57524b;
    position: absolute;
    top: 4px;
    left: 0;
    transform: rotate(45deg);
}
ul.list_menu li a { 
    text-decoration: none;
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックのpタグ*/
main p {
	margin: 0 0 30px;	/*上、左右、下へ空けるスペース*/
}


/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.mainimg {
	position: relative;
}
.slick-initialized .slick-slide {
    max-height: 580px;
    overflow: hidden;
}


/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
	margin:0;padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 10px;	/*下からの配置場所指定*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
	border: none;padding: 0;
	display: block;
	text-indent: -9999px;	/*デフォルトで文字が出るので画面の外に追い出す指定*/
	width: 12px;			/*ボタンの幅*/
	height: 12px;			/*ボタンの高さ*/
	border-radius: 50%;		/*丸くする指定*/
	cursor: pointer;		/*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
	background: #fff;		/*背景色。白。*/	
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
	background: #9ddbf8;	/*色*/
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	margin: 0;
	display: block;
    padding: 0;
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
    width: 100%;
	padding: 5px 0;		/*上下、左右へのボックス内の余白*/
}
#new dt { margin-top: 20px; }
#new dt:nth-of-type(1) { margin-top: 0; }
#new dd {
    border-bottom: 1px dotted #ccc;
}

@media screen and (min-width: 481px),print {
    #new {
	    display: flex;
	    flex-wrap: wrap;
    }
    /*日付(dt)設定*/
    #new dt {
	    width: 8em;	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
        margin-top: 0;
        padding-top: 20px;
        border-bottom: 1px dotted #ccc;
    }
    /*記事(dd)設定*/
    #new dd {
	    width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
        padding-top: 20px;
    }
}


/*listブロック
---------------------------------------------------------------------------*/
@media screen and (min-width:900px),print {
    /*listブロック全体を囲むブロック*/
    .list-container {
	   display: flex;		/*flexボックスを使う指定*/
	   flex-wrap: wrap;	/*折り返す指定*/
	   justify-content: flex-start;	/*並びかたの種類の指定*/
    }
    /*１個あたりのボックス設定*/
    .list {
        flex-direction: column; /*子要素を縦並びにする*/
        width: 32%; /*幅。３列になります。*/
        margin-right: 2%;
    }
    .list:nth-of-type(3n) { margin-right: 0; }
}

.list {
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 20px;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #999;			/*文字色*/
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	position: relative;
}
.list figure { margin-bottom: 10px; }

/*ボックス内のh4タグ*/
.list h4 {
	margin: 0;
	color: #777;	/*文字色*/
}
.list h4 a {
	color: #777;	/*リンクテキストの文字色*/
}

/*ボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.9em;
}

/*list内のNEWマーク*/
.list .new {
	font-size: 0.6em;		/*文字サイズ*/
	background: #ff0000;	/*背景色*/
	color: #fff;			/*文字色*/
	width: 50px;			/*幅*/
	line-height: 50px;		/*高さ*/
	border-radius: 50%;		/*角丸のサイズ。円形になります。*/
	text-align: center;		/*テキストをセンタリング*/
	position: absolute;
	left: -10px;			/*listブロックに対して左からの配置場所の指定*/
	top: -10px;				/*listブロックに対して上からの配置場所の指定*/
	transform: rotate(-30deg);	/*回転。まっすぐ表示させたいならこの１行を削除。*/
}

/*list内でのbtn*/
.list .btn {
	margin-top: 1em;	/*ボタンの上に１文字分のスペースを空ける*/
}
.list .btn a {
	display: block;
}


/* HOME
-------------------------------------------------------------- */
/*---------------------------------------------------------------
　スポーツ健康科学コースの特徴
---------------------------------------------------------------*/
ul.list_tokucho {
    list-style: none;
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0;
    margin: 0 auto;
}
ul.list_tokucho > li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 30px;
	padding: 10px;
	background: #fff;
	color: #999;
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);
}
ul.list_tokucho > li:nth-of-type(2n) { margin-right: 0; }
ul.list_tokucho > li figure { margin-bottom: 10px; }
ul.list_tokucho > li figure img { width: 100%; }
ul.list_tokucho > li p {
	margin: 0;
	font-size: 0.9em;
}
@media screen and (min-width: 481px),print {
    ul.list_tokucho > li { padding: 20px 20px 10px; }
}
@media screen and (min-width: 768px),print {
    ul.list_tokucho > li {
        width: 32%;
        margin-right: 2%;
    }
    ul.list_tokucho > li:nth-of-type(2n) { margin-right: 2%; }
    ul.list_tokucho > li:nth-of-type(3n) { margin-right: 0; }
}
@media screen and (min-width: 1300px),print {
    ul.list_tokucho > li {
        width: 18.6%;
        margin-right: 1.8%;
    }
    ul.list_tokucho > li:nth-of-type(2n) { margin-right: 1.8%; }
    ul.list_tokucho > li:nth-of-type(3n) { 
        width: 18.6%;
        margin-right: 1.8%;
    }
    ul.list_tokucho > li:nth-of-type(5n) {
        width: 18.4%;
        margin-right: 0;
    }
}


/* スポーツ健康科学コースの特徴
-------------------------------------------------------------- */
/*---------------------------------------------------------------
　見出しリンク
---------------------------------------------------------------*/
ul.midashi_link {
    list-style: none;
	width: 100%;
    max-width: 1300px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 30px 20px 10px;
    margin: 0 auto;
    background: #ebf0f2;
}
ul.midashi_link li {
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 0 20px;
    border-right: 1px solid #57524b;
    line-height: 2;
}
ul.midashi_link li:nth-of-type(1) {
    padding-left: 0;
}
ul.midashi_link li:nth-last-of-type(1) {
    padding-right: 0;
    border-right: none;
}
ul.midashi_link li.has_child {
    width: 100%;
    max-width: 1300px;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
ul.midashi_link li.has_child > ul {
    list-style: none !important;
	width: 100%;
    max-width: 1300px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0;
    margin: 0 !important;
}
@media (max-width: 767px) {
    ul.midashi_link li:nth-of-type(2n+1) {
        padding-left: 0;
        padding-right: 10px;
    }
    ul.midashi_link li:nth-of-type(2n) {
        padding-left: 10px;
        padding-right: 0;
        border-right: none;
    }
    ul.midashi_link li {
        width: 50%;
        text-align: center;
    }
    
    /** スマホ1列表示 **/
    ul.midashi_link.sp_col1 li {
        width: 100%;
        text-align: left;
    }
    ul.midashi_link.sp_col1 li:nth-of-type(2n+1),
    ul.midashi_link.sp_col1 li:nth-of-type(2n) {
        padding-left: 0;
        padding-right: 0;
        border-right: none;
    }
    ul.midashi_link li.has_child > ul { margin-bottom: 20px !important; }
}
@media (min-width: 768px),print {
    ul.midashi_link,
    ul.midashi_link li.has_child > ul {
        display: block;
        text-align: center;
    }
    ul.midashi_link li.has_child > ul > li:nth-last-of-type(1) { margin-bottom: 20px !important; }
    ul.midashi_link li {
        display: inline-block;
        padding-left: 40px;
        padding-right: 40px;
    }
}
ul.midashi_link li a { text-decoration: none; }


/*---------------------------------------------------------------
　教室の行事
---------------------------------------------------------------*/
.box-event {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
    border-bottom: 1px dotted #ccc;
    margin: 0 auto 40px;
}
.box-event:nth-last-of-type(1) { 
    margin-bottom: 0;
}
.box-event .area_txt {
    width: 100%;
    padding-bottom: 30px;
}
.box-event .area_image {
    width: 100%;
}
.box-event .area_image img {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
@media screen and (min-width: 768px),print {
    .box-event .area_txt {
        width: 68.2%;
        margin-right: 1.8%;
    }
    .box-event .area_image {
        width: 30%;
    }
}


/*---------------------------------------------------------------
　退職記念事業のお知らせ
---------------------------------------------------------------*/
dl.list_info {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
dl.list_info dt,
dl.list_info dd {
    width: 100%;
    padding: 0;
    margin: 0;
}
dl.list_info dd { margin-bottom: 20px; }
dl.list_info dd:nth-last-of-type(1) { margin-bottom: 0; }
@media screen and (min-width: 768px),print {
    dl.list_info dt {
        width: 10%;
        padding-right: 10px;
    }
    dl.list_info dd {
        width: 90%;
    }    
}


/* 写真並列配置
-------------------------------------------------------------- */
/*---------------------------------------------------------------
　5列配置
---------------------------------------------------------------*/
ul.gallery_col5 {
    list-style: none;
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0;
    margin: 0 auto;
}
ul.gallery_col5 > li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 10px;
}
ul.gallery_col5 > li:nth-of-type(2n) { margin-right: 0; }
@media screen and (min-width: 768px),print {
    ul.gallery_col5 > li {
        width: 32%;
        margin-right: 2%;
    }
    ul.gallery_col5 > li:nth-of-type(2n) { margin-right: 2%; }
    ul.gallery_col5 > li:nth-of-type(3n) { margin-right: 0; }
}
@media screen and (min-width: 1300px),print {
    ul.gallery_col5 > li {
        width: 18.6%;
        margin-right: 1.8%;
    }
    ul.gallery_col5 > li:nth-of-type(2n) { margin-right: 1.8%; }
    ul.gallery_col5 > li:nth-of-type(3n) { 
        width: 18.6%;
        margin-right: 1.8%;
    }
    ul.gallery_col5 > li:nth-of-type(5n) {
        width: 18.4%;
        margin-right: 0;
    }
}
ul.gallery_col5 > li figure { margin: 0; }
ul.gallery_col5 > li img {
    width: 100%;
    max-width: 100%;
}


/* スタッフ紹介
-------------------------------------------------------------- */
h5.tit_underline {
    font-size: 0.9em;
    font-weight: normal;
    padding: 0 0 3px;
    margin: 0 0 20px;
    border-bottom: 3px solid #9fdcf7;
}
@media screen and (max-width: 767px), print {
    h5.tit_underline { margin-top: 5px; }
}

/*---------------------------------------------------------------
　タグ
---------------------------------------------------------------*/
ul.list_tag {
    list-style: none;
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0;
    margin: 15px auto 5px;
}
ul.list_tag li  {
    display: inline-block;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    padding: 3px 10px 1px;
    margin: 0 10px 10px 0; 
    border-radius: 5px;
    background: #82c9e8;
    line-height: 1.4;
}

/*---------------------------------------------------------------
　外部リンク
---------------------------------------------------------------*/
ul.list_link {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.list_link li {
    position: relative;
    font-size: 16px;
    padding-left: 20px;
    margin-bottom: 20px;
    line-height: 1.4;
}
ul.list_link li:nth-last-of-type(1) { margin-bottom: 0; }
ul.list_link li::before {
    display: block;
    opacity: 1.0;
    margin: 0;
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #69bbe0;
    border-right: solid 2px #69bbe0;
    position: absolute;
    top: 7px;
    left: 0;
    transform: rotate(45deg);
}
ul.list_link li a { 
    color: #69bbe0;
    text-decoration: none;
}


/* 研究?教育
-------------------------------------------------------------- */
dl.list_study {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0 0 20px;
    margin: 0;
}
dl.list_study dt {
    width: 100%;
    padding: 0;
    margin: 0;
}
dl.list_study dd {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
}
@media screen and (min-width: 768px), print {
    dl.list_study dt {
        width: 15%;
        padding-right: 10px;
    }
    dl.list_study dd {
        width: 85%;
    }
}
@media screen and (min-width: 1000px), print {
    dl.list_study dt { width: 10%; }
    dl.list_study dd { width: 90%; }
}
p.list_maru {
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
}
p.list_maru::before {
    position: absolute;
    top: 12px;
    left: 0;
    display: block;
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background: #777;
}


/* 学生の声
-------------------------------------------------------------- */
h4.tit_q {
    position: relative;
    padding: 0 0 0 22px;
    margin: 0 0 20px;
    font-weight: bold;
    line-height: 1.4;
}
h4.tit_q::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: 'Q';
}


/* 各種ボタン
-------------------------------------------------------------- */
.btn_type01 {
    margin: 0 auto;
    text-align: center;
}
.btn_type01 a {
	display: inline-block;text-decoration: none;border: none;
	font-size: 1em;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	background: linear-gradient(150deg, #f8b9d8, #fab1d5);/*背景グラデーション。#logoと合わせています。*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くする指定*/
	color: #fff;			/*文字色*/
	transition: 0.3s;		/*hoverまでにかける時間。0.3秒。*/
	padding: 1em 2em;		/*余白*/
	margin: 0 auto 30px; /*ボタンの外側に空けるスペース。上、左右、下への順番。*/
}

/*ボタンのマウスオン時*/
.btn_type01 a:hover {
	cursor: pointer;		/*inputタグを使う場合に「手」のマークになるように。リンクと同じ表示になるようにという事です。*/
	opacity: 0.8;			/*冒頭のリンクテキストのhoverと合わせました*/
	transform: scale(1.02);	/*実寸の102%に拡大*/
}
.btn_detail {
    text-align: right;
}
.btn_detail a {
    position: relative;
    display: inline-block;
    padding-right: 15px;
    color: #69bbe0;
    text-decoration: none;
    line-height: 1.4;
}
.btn_detail a:hover { text-decoration: none; }
.btn_detail a::before {
    display: block;
    opacity: 1.0;
    margin: 0;
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #69bbe0;
    border-right: solid 2px #69bbe0;
    position: absolute;
    top: 5px;
    right: 0;
    transform: rotate(45deg);
}


/* ライトボックス
-------------------------------------------------------------- */
.lb-number { display: none !important; }

        
/* Option
-------------------------------------------------------------- */
/** ポジション **/
.relative { position: relative !important; }

/** 新着アイコン **/
.icon_new {
	color: #ff0000 !important;
	font-size: 1.6rem;
    font-weight: 500;
	padding-left: 5px;
}

/** PC、スマホ表示切替え **/
.mobile { display: block !important; }
.pc-tab { display: none !important; }
@media screen and (min-width: 992px),print {
    .mobile { display: none !important; }
    .pc-tab { display: block !important; }
}

/** 水平線 **/
hr {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d5dedb;
  border: 0;
  margin-top: 20px;
  margin-bottom: 20px;    
}
hr.wp-block-separator {
    border-top: none !important;
    border-bottom: none !important;
}

.line_gray {
    padding-bottom: 10px !important;
    margin: 0 auto 20px !important;
    border-bottom: 1px solid #d3d3d3; 
}

/** テキストシャドウ **/
.txt_shadow {
    text-shadow:
			0px 2px 1px rgba(0,0,0,0.1);
} 

.nowrap { white-space: nowrap;}

/**
 * テーブルレスポンシブ横スクロール表示
**/
@media screen and (max-width: 480px) {
    .x-scroll {
        overflow: auto;
	    white-space: nowrap;
    }
    .x-scroll table {
        width: 100%;
    }
    .x-scroll::-webkit-scrollbar {
        height: 5px; /* スクロールバーの高さ */
    }
    .x-scroll::-webkit-scrollbar-track {
        background: #f1f1f1; /* スクロールバーの背景色 */
    }
    .x-scroll::-webkit-scrollbar-thumb {
        background: #d6d6d6; /* スクロールバーの色 */
    }
}

/**
 * 幅
 */
.width-40,
.width-50,
.width-60,
.width-70,
.width-80,
.width-90,
.width-100 {
	width: 100% !important;
}
@media screen and (min-width: 768px),print {
	.width-40 {width: 40% !important;}
	.width-50 {width: 50% !important;}
	.width-60 {width: 60% !important;}
	.width-70 {width: 70% !important;}
	.width-80 {width: 80% !important;}
	.width-90 {width: 90% !important;}
	.width-100 {width: 100% !important;}
}

/**
 * マージン関連の設定
**/
.mt5 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt60sp40 { margin-top: 40px !important;}
@media screen and (min-width: 768px),print {
    .mt60sp40 { margin-top: 60px !important;}
}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}
.mt90 { margin-top: 90px !important;}
.mt100 { margin-top: 100px !important;}
.mt100sp60 { margin-top: 60px !important;}
@media screen and (min-width: 768px),print {
    .mt100sp60 { margin-top: 100px !important;}
}

.mb0 { margin-bottom: 0px !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb100 { margin-bottom: 100px !important;}
.mb100sp60 { margin-bottom: 60px !important;}
@media screen and (min-width: 768px),print {
    .mb100sp60 { margin-bottom: 100px !important;}
}
.mb110 { margin-bottom: 110px !important;}
.mb120 { margin-bottom: 120px !important;}
.mb130 { margin-bottom: 130px !important;}
.mb140 { margin-bottom: 140px !important;}
.mb150 { margin-bottom: 150px !important;}

.mall0 { margin: 0 !important;}
.pt10 { padding-top: 10px !important;}
.pt20 { padding-top: 20px !important;}
.pb0 { padding-bottom: 0px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pall0 { padding: 0 !important;}
.pl20 { padding-left: 20px !important;}

/**
 * font関連の設定
**/
.font_normal {font-weight: normal !important;}
.font_bold {font-weight: bold !important;}
.font8 {font-size: 8px !important;}
.font9 {font-size: 9px !important;}
.font10 {font-size: 10px !important;}
.font11 {font-size: 11px !important;}
.font12 {font-size: 12px !important;}
.font13 {font-size: 13px !important;}
.font14 {font-size: 14px !important;}
.font15 {font-size: 15px !important;}
.font16 {font-size: 16px !important;}
.font17 {font-size: 17px !important;}
.font18 {font-size: 18px !important;}
.font19 {font-size: 19px !important;}
.font20 {font-size: 20px !important;}
.font21 {font-size: 21px !important;}
.font22 {font-size: 22px !important;}
.font23 {font-size: 23px !important;}
.font24 {font-size: 24px !important;}
.font25 {font-size: 25px !important;}
.font26 {font-size: 26px !important;}
.font27 {font-size: 27px !important;}
.font28 {font-size: 28px !important;}
.font29 {font-size: 29px !important;}
.font30 {font-size: 30px !important;}
.font31 {font-size: 31px !important;}
.font32 {font-size: 32px !important;}
.font33 {font-size: 33px !important;}
.font34 {font-size: 34px !important;}
.font35 {font-size: 35px !important;}
.font36 {font-size: 36px !important;}
.font37 {font-size: 37px !important;}
.font38 {font-size: 38px !important;}
.font39 {font-size: 39px !important;}
.font40 {font-size: 40px !important;}
.font41 {font-size: 41px !important;}
.font42 {font-size: 42px !important;}
.font43 {font-size: 43px !important;}
.font44 {font-size: 44px !important;}
.font45 {font-size: 45px !important;}
.font46 {font-size: 46px !important;}
.font47 {font-size: 47px !important;}
.font48 {font-size: 48px !important;}
.font49 {font-size: 49px !important;}
.font50 {font-size: 50px !important;}


/**
 * 文字配置
**/
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.text-left { text-align: left !important; }
@media (min-width: 481px),print {
    .center_pc { text-align: center !important; }
}

/**
 * 文字色
**/
.black {
    color: #000 !important;
}
.red {
	color: #ff0000 !important;
}
.red2 {
	color: #d30b0b !important;
}
.red3 {
	color: #fc0d1b !important;
}
.orange {
	color: #ff6600 !important;
}
.orange2 {
	color: #A64A00 !important;
}
.brown {
    color: #834E1D !important;
}
.weight_normal {
  font-weight: normal;
}
/**
 * 背景色
**/
.bgcol01 {
    background: #e8e8e8;
}

/**
 * table
**/
table {
    width: auto;
    border: 1px solid #d5dedb;
    table-layout: fixed;
}
@media screen and (max-width: 480px) {
    table {
        table-layout: auto;
    }   
}
table.border-none,
table.border-none th,
table.border-none td {
    border: none !important;
}
table th {
    padding: 10px;
    text-align: center;
    background: #f5f5f5;
    vertical-align: middle;
    border-right: 1px solid #d5dedb;
    border-bottom: 1px solid #d5dedb;
}
table td {
    padding: 5px 10px;
    border-right: 1px solid #d5dedb;
    border-bottom: 1px solid #d5dedb;
    vertical-align: middle;
}
.v_middle {vertical-align: middle !important;}
.v_top {vertical-align: top !important;}
.v_bottom {vertical-align: bottom !important;}


/**
 * リスト
**/
ul,ol {
    padding-left: 18px;
}
ul li,
ol li {
    margin-bottom: 10px;
}
ul:not(.list_tag):not(.slick-dots):not(.list_tokucho):not(.sitemap_inner):not(.list_menu):not(.gallery_col5):not(.chuki):not(.breadcrumbsul):not(.midashi_link):not(.maru):not(.chuki2):not(.chuikakko):not(.kuromaru):not(.square):not(.mujirushi):not(.list_link) {
	list-style-type: disc;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul:not(.list_tag):not(.slick-dots):not(.list_tokucho):not(.sitemap_inner):not(.list_menu):not(.gallery_col5):not(.chuki):not(.breadcrumbsul):not(.midashi_link):not(.maru):not(.chuki2):not(.chuikakko):not(.kuromaru):not(.square):not(.mujirushi):not(.list_link) li {
	line-height: 2;
	margin: 0 0 20px;
}
ul:not(.list_tag):not(.slick-dots):not(.list_tokucho):not(.sitemap_inner):not(.list_menu):not(.gallery_col5):not(.chuki):not(.breadcrumbsul):not(.midashi_link):not(.maru):not(.chuki2):not(.chuikakko):not(.kuromaru):not(.square):not(.mujirushi):not(.list_link) li:nth-last-of-type(1) {
    margin-bottom: 0;
}

/** ＊ **/
ul.chuki2 {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.chuki2 li:before {
	content: '＊ ';
	margin-left: -18px;
}
ul.chuki2 li {
	margin: 0 0 5px;
	line-height: 2;
}
ul.chuki2 li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** ※印 **/
ul.chuki {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.chuki li:before {
	content: '※ ';
	margin-left: -18px;
}
ul.chuki li {
	margin: 0 0 20px;
	line-height: 2;
}
ul.chuki li:nth-last-of-type(1) {
	margin-bottom: 0;
}
ul.chuki p {
    line-height: 1.7;
}

/** （注） **/
ul.chuikakko {
	list-style: none;
	margin: 0 0 0 36px;
	padding-left: 0;
}
ul.chuikakko li:before {
	content: '（注） ';
	margin-left: -36px;
}
ul.chuikakko li {
	margin: 0 0 20px;
	line-height: 2;
}
ul.chuikakko li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 数字 **/
ol.suji {
	list-style-type: decimal;
    margin: 0;
	padding-left: 20px;
}
ol.suji li {
	line-height: 2;
	margin: 0 0 20px;
}
ol.suji li:nth-last-child(1) {
    margin-bottom: 0;
}

/** 丸数字 **/
ol.marusuji {
	margin: 5px 10px 20px 10px;
	counter-reset: my-counter;
	list-style: none;
	padding-left: 0;
}
ol.marusuji li {
	padding-left: 20px;
	position: relative;
	line-height: 2;
	margin: 0 0 20px;
}
ol.marusuji li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid #111;
  display: block;
  float: left;
  position: relative;
  top: 2px;
  line-height: 18px;
  margin-left: -29px;
  text-align: center;
  height: 19px;
  width: 19px;
  border-radius: 50%;
}
ol.marusuji li:nth-last-of-type(1) {
    margin-bottom: 0;
}
ol.marusuji p:not(:nth-of-type(1)) {
    line-height: 1.7;
}

/** （）数字 **/
ol.kakkosuji {
	margin: 5px 10px 20px 10px;
	counter-reset: my-counter;
	list-style: none;
	padding-left: 0;
}
ol.kakkosuji li {
	padding-left: 20px;
	position: relative;
	line-height: 2;
	margin: 0 0 20px;
}
ol.kakkosuji li:before {
  content: "("counter(my-counter)") ";
  counter-increment: my-counter;
  display: block;
  float: left;
  margin-left: -25px;
  text-align: center;
}
ol.kakkosuji li:nth-last-of-type(1) {
    margin-bottom: 0;
}

 /** 漢数字 **/
ol.kansuji {
	list-style-type: cjk-ideographic;
    margin: 0;
	padding-left: 20px;
}
ol.kansuji li {
	line-height: 2;
	margin: 0 0 20px;
}
ol.kansuji li:nth-last-child(1) {
    margin-bottom: 0;
}

/** 黒丸 **/
ul.kuromaru {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.kuromaru li:before {
	content: '● ';
	margin-left:-18px;
}
ul.kuromaru li {
	margin: 0 0 20px;
	line-height: 2;
}
ul.kuromaru li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 点 **/
ul.maru {
	list-style-type: disc;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.maru li {
	line-height: 2;
	margin: 0 0 20px;
}
ul.maru li:nth-last-of-type(1) {
    margin-bottom: 0;
}

/** 四角 **/
ul.square {
	list-style-type: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.square li:before {
	content: '■ ';
	margin-left: -18px;
    position: relative;
    top: -1px;
}
ul.square li {
	margin: 0 0 20px;
	line-height: 2;
}
ul.square li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 無印 **/
ul.mujirushi {
	list-style-type: none;
	margin: 0;
	padding-left: 0;
}
ul.mujirushi li {
	margin: 0 0 20px;
	line-height: 2;
}
ul.mujirushi li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/**
 * 表示切替え
**/
.d-none{ display: none !important;}
@media (min-width: 576px),print {
    .d-sm-none { display: none !important; }
    .d-sm-inline-block { display: inline-block !important; }
    .d-sm-block { display: block !important; } 
}
@media (min-width: 768px),print {
    .d-md-none { display: none !important; }
    .d-md-inline-block { display: inline-block !important; }
    .d-md-block { display: block !important; }
}
@media (min-width: 992px),print {
    .d-lg-none { display: none !important; }
    .d-lg-inline-block { display: inline-block !important; }
    .d-lg-block { display: block !important; }
} 
@media (min-width: 1300px),print {
    .d-xl-none { display: none !important; }
    .d-xl-inline-block { display: inline-block !important; }
    .d-xl-block { display: block !important; }
} 

.block_sp {
	display: block;
}
br.block_sp {
	display: inline-block;
}
.inline-block_sp {
	display: inline-block;
}
.block_pc {
	display: none;
}
@media screen and (min-width: 768px),print {
	.block_sp,
    br.block_sp
    {
		display: none;
	}
	.inline-block_sp {
		display: none;
	}
	.block_pc {
		display: block;
	}
	br.block_pc {
		display: inline-block;
	}
}
