/* 印刷用
------------------------------------------------ */
@import "default.css";
@import "standard.css";
body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "MS P ゴシック", "MS P Gothic", "sans-Serif";
	font-size: 16px;
	color: #111;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
/* スタイル
------------------------------------------------ */
/* ヘッダー */
header {
	width: 100%;
	padding-top: 10px;
	background-color: #FFF;
	position: relative;
}
header .header_wrap {
	width: 1300px;
	max-width: 100%;
	margin: 0 auto 15px;
}
header .header_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
header .title_box {
	flex-basis: 50%;
}
header h1.title {
	margin-bottom: 10px;
}
header h1.title + span {
	font-size: 14px;
	color: #666;
}
header .language_box {
	text-align: right;
}
header .language_box p {
	margin-bottom: 15px;
	font-size: 12px;
}
header .language {
	padding: 10px 20px;
	background: #F6F6F6;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
}
header .language .text {
	margin-right: 5px;
	font-size: 13px;
	color: #EF7500;
}
header .sns {
	width: 100px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
	top: 15px;
	right: 20px;
}
header .sns li {
	margin-right: 8px;
}
header .sns li:last-of-type {
	margin-right: 0;
}
/*グローバルナビ*/
.menu-content {
	width: 1300px;
	max-width: 100%;
	margin: 0 auto 70px;
	position: relative;
	z-index: 99999;
}
.clone-nav {
	width: 100%;
	background: rgba(255, 255, 255, 0.95);
	border-bottom: 1px solid #DDD;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	transition: .3s;
	transform: translateY(-100%);
}
.is-show {
	transform: translateY(0);
}
.gnavi_lists {
	display: flex;
	flex-wrap: wrap;
}
.gnavi_list {
    width: calc( 100% / 7 );
    height: 45px;
    position: relative;
    transition: all .3s;
}
.gnavi_list:hover {
    background-color: #F6F6F6;
}
.gnavi_list:hover::before {
    background-color: #01AE9A;
}
.gnavi_list a {
	align-items: center;
    width: 100%;
    height: 100%;
	border-right: 1px #EF7500 solid;
	box-sizing: border-box;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
    color: #111;
	font-weight: bold;
    display: flex;
    justify-content: center;
    transition: all .3s;
}
.gnavi_list:last-of-type a {
	border-right: 0;
}
.gnavi_list:hover a {
    color: #EF5200;
}
.dropdown_lists {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    width: 140%;
    position: absolute;
    top: 45px;
    left: 0;
    visibility: hidden;/*デフォルトでは非表示の状態にしておく*/
    opacity: 0;/*不透明度0*/
	transform: scaleY(0);/*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
}
.dropdown_lists.first {
    left: 0;
}
.gnavi_list:hover .dropdown_lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.dropdown_list {
    background-color: #8B8477;
    height: 45px;
    transition: all .3s;
    position: relative;
}
.dropdown_list:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #DDD;
    position: absolute;
    top: 0;
    left: 0;
}
.dropdown_list:hover {
    background-color: #A19A8C;
}
.gnavi_list:hover .dropdown_list a {
	color: #FFF;
}
.dropdown_list a {
	border: 0;
	font-size: 14px;
	text-align: left;
    display: flex;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    position: relative;
}
.dropdown_list a::before {
	width: 3px;
    height: 3px;
    content: '';
    display: block;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 8px;
    top: 50%;
}
.gnavi_list:hover .dropdown_lists {
    visibility: visible;/*Gナビメニューにホバーしたら表示*/
    opacity: 1;/*不透明度1*/
	transform: scaleY(1);/*Gナビメニューにホバーしたら表示*/
}
.dropdown_list a span {
	font-size: 14px;
	font-weight: normal;
}
#nav_wrap_sp {
	display: none;
}
/* フッター - サイトマップ */
footer .sitemap {
	padding: 50px 0;
	background: linear-gradient(to right, #EF7500, #D64200);
}
footer .inbox {
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
}
footer .inbox:last-of-type {
	margin-bottom: 0;
}
footer nav {
	width: calc( 100% / 4 );
}
footer nav.sub {
}
footer nav a {
	color: #FFF;
}
footer nav h2 a::before {
	padding-right: 6px;
	content: url("../image/common/icon_arrow_right_white.svg");
	display: inline-block;
	transform: scale(1);
	vertical-align: middle;
}
footer nav a::before {
	padding-right: 6px;
	content: url("../image/common/icon_arrow_right_s.svg");
	display: inline-block;
	transform: scale(0.6);
	vertical-align: middle;
}
footer nav h2.title {
	margin-bottom: 10px;
	padding: 0;
	background: none;
	border: 0;
	font-size: 18px;
	text-align: left;
}
footer nav ul {
	padding-left: 10px;
}
footer nav ul li {
	margin-bottom: 5px;
	font-size: 15px;
}
/* フッター - 学校情報 */
footer .foot {
	padding: 80px 0;
	background: #FFF8F2;
}
footer .foot .inbox {
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between ;
}
footer .foot_info {
	width: 50%;
	max-width: 100%;
}
footer .logo {
	width: 80%;
	margin-bottom: 30px;
}
footer .logo img {
	width: 100%;
	height: auto;
}
footer .address {
	margin-bottom: 5px;
}
footer .tel {
	margin-bottom: 25px;
	display: flex;
	align-items: center;
}
footer .telno {
	margin-right: 10px;
}
footer .telno::after {
	padding-left: 10px;
	content: "/ ";
	display: inline-block;
}
footer .telno a {
	font-size: 20px;
	color: #EF7500;
	font-weight: bold;
}
footer .link02 {
	margin-bottom: 35px;
}
footer .ggmap {
	width: 50%;
	max-width: 100%;
}
footer .ggmap iframe {
	width: 100%;
	height: 100%;
}
footer .sns_link {
	margin-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
footer .sns_link li {
	margin-right: 10px;
	font-weight: bold;
}
footer .sns_link .skype {
	padding: 5px 15px;
	background: #FFF;
	display: flex;
	align-items: center;
}
footer .sns_link .skype img {
	margin-right: 5px;
}
footer .hyouka {
	font-size: 14px;
}
footer .hyouka::before {
	padding-right: 10px;
	content: url("../image/common/icon_hyouka.svg");
	display: inline-block;
	vertical-align: middle;
}
footer .group {
	padding: 30px 0;
}
footer .group_wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
footer .group_wrap.inbox {
	margin-bottom: 0;
}
footer .group_wrap p {
	font-weight: bold;
}
footer .group_list {
	width: 70%;
}
footer dl {
	width: 100%;
	margin: 0 auto;
	padding: 6px 0;
	font-size: 14px;
    display: flex;
}
footer dl a {
	color: #111;
	text-decoration: none;
}
footer dt {
	width: 30%;
	max-width: 100%;
	border-right: 1px #999 solid;
}
footer dd.address {
	width: 35%;
	max-width: 100%;
	padding-left: 30px;
}
footer dd.tel {
	width: 25%;
	max-width: 100%;
	margin-bottom: 0;
	padding-left: 20px;
}
footer .nintei {
	text-align: center;
}
.copyright {
	padding: 25px 0;
	background: #656565;
	font-size: 14px;
	color: #FFF;
	text-align: center;
}
/* サイド固定リンク */
#fixed_link {
	position: relative;
	z-index: 99999;
}
#fixed_link li {
	position: fixed;
	top: 140px;
	right: 20px;
	z-index: 10;
	letter-spacing: .25em;
	writing-mode: vertical-rl;
}
#fixed_link li a {
	padding: 15px;
	background: #EF5200;
	border: 2px #FFF solid;
	border-radius: 100px;
	color: #FFF;
	font-weight: bold;
	display: block;
}
#fixedTop {
	width: 46px;
	height: 46px;
	background-color: rgba(255, 255, 255, 0.7);
	text-align: center;
	right: 20px;
	bottom: 20px;
	position: fixed;
	z-index: 99999;
}
#fixedTop img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#fixedTop:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}
/* パンくずリスト
------------------------------------------------ */
#rootlist {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	top: -30px;
}
#rootlist p {
	font-size: 14px;
	color: #FFF;
	text-align: right;
	font-weight: bold;
}
#rootlist span {
	padding: 0 10px;
	color: #FFF;
}
#rootlist a {
	color: #FFF;
	text-decoration: underline;
}
/* Hタグ
------------------------------------------------ */
h2.title {
	font-size: 34px;
	font-weight: bold;
}
#contents h3.title,
#post h3 {
	width: 1150px;
	margin: 0 auto 60px;
	padding: 10px 0 10px 30px;
	background: #F7F7F7;
	font-size: 28px;
	font-weight: bold;
	text-align: left;
	position: relative;
	left: -25px;
}
#contents h3.title::before,
#post h3::before {
	width: 6px;
	height: 36px;
	background: #EF7500;
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#contents h3.caption,
#post h3.caption {
	width: 1080px;
	max-width: 100%;
	margin: 0 auto 80px;
	padding: 15px 10px;
	background: #FFF5EF;
	font-size: 20px;
	color: #EF5200;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	letter-spacing: .05em;
	position: relative;
	left: 0;
}
#contents h3.caption_bk,
#post h3.caption_bk {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto 80px;
	padding: 15px 0 ;
	background: #FFF5EF;
	font-size: 20px;
	color: #111;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	letter-spacing: .05em;
	position: relative;
	left: 0;
}
#contents h3.caption:has( + p ),
#contents h3.caption_bk:has( + p ),
#post h3.caption:has( + p ),
#post h3.caption_bk:has( + p ) {
	margin-bottom: 60px;
}
#contents h3.caption::before,
#contents h3.caption_bk::before  {
	content: none;
}
h3.title_contact {
	margin-bottom: 40px;
	font-size: 24px;
	color: #111;
	font-weight: bold;
	text-align: center;
}
#contents h4.title,
#post h4 {
	margin-bottom: 30px;
	font-size: 26px;
	color: #EF5200;
	font-weight: bold;
}
#contents h5.title,
#post h5 {
	margin-bottom: 60px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
/* ボックス内 */
#contents h3.title.box {
	max-width: 96%;
	margin: 0 auto 40px;
	padding: 0;
	background: none;
	border-left: 0;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	position: relative;
	left: 0;
}
#contents h3.title.box::after {
	content: '';
    width: 50px;
    height: 4px;
    background-color: #EF7500;
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
#contents h3.title.box::before {
	content: none;
}
/* 共通
------------------------------------------------ */
#contents {
	background: #FFF;
	position: relative;
}
#contents p,
#post p {
	margin-bottom: 30px;
	line-height: 1.7em;
}
#contents p:last-child {
	margin-bottom: 0;
}
.cbox {
	max-width: 1100px;
	min-width: 960px;
	width: 100%;
	margin: 0 auto 100px;
	box-sizing: border-box;
}
.cbox_m0 {
	max-width: 1100px;
	min-width: 960px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}
.cbox_s {
	max-width: 980px;
	margin: 0 auto 100px;
	box-sizing: border-box;
}
.cbox_s_m0 {
	max-width: 980px;
	margin: 0 auto;
	box-sizing: border-box;
}
.cbox_w {
	max-width: 1200px;
	min-width: 980px;
	width: 100%;
	margin: 0 auto 100px;
	box-sizing: border-box;
}
.inbox {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto 80px;
	padding: 0;
	box-sizing: border-box;
}
.inbox2 {
	max-width: 1100px;
	width: 94%;
	margin: 0 auto 80px;
	padding: 0;
	box-sizing: border-box;
}
.inbox3 {
	max-width: 980px;
	width: 94%;
	margin: 0 auto 80px;
	padding: 0;
	box-sizing: border-box;
}
.wp-pagenavi {
	width: 100%;
	max-width: 980px;
	min-width: 880px;
	margin: 0 auto;
	margin-bottom: 100px;
}
.pc {
	display: inline;
}
.sp {
	display: none;
}
.link01 a {
	width: 280px;
	max-width: 100%;
	padding: 10px 0;
	background: #FFF;
	border: 1px #EF7500 solid;
	border-radius: 100px;
	font-size: 18px;
	color: #EF7500;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
}
.link01 a::before,
.link03 a::before {
	padding-right: 10px;
	content: url("../image/common/icon_arrow_right_s_orange.svg");
	display: inline-block;
	vertical-align: middle;
}
.link02 a {
	width: 280px;
	max-width: 80%;
	padding: 10px 0;
	background: #EF7500;
	border-radius: 100px;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	display: block;
}
#contents .link03 a {
	max-width: 45%;
	padding: 10px 15px;
	background: #FFF;
	border: 1px #EF7500 solid;
	border-radius: 100px;
	font-size: 16px;
	color: #EF7500;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
}
#links a {
	text-decoration: none;
}
/* dl */
#contents dl {
	padding: 25px 0;
	display: flex;
}
#contents dl dt {
	width: 15%;
	font-weight: bold;
	box-sizing: border-box;
}
#contents dl dt img {
	width: 100%;
	height: 100%;
}
#contents dl dd {
	width: 80%;
}
/* 下層ページタイトル下文章 */
h3.caption + p,
h3.caption_bk + p {
	width: 95%;
	margin: 0 auto 60px;
	text-align: center;
	line-height: 1.8;
}
/* スクロールモーション */
.slide-left {
	opacity: 0;
	transform: translate(-50px, 0);
	transition: all 1s ease-out;
}
.slide-right {
	opacity: 0;
	transform: translate(50px, 0);
	transition: all 1s ease-out;
}
.slide-bottom {
	opacity: 0;
	transform: translate(0, 50px);
	transition: all 1s ease-out;
}
/* 投稿(POST)のスタイル
------------------------------------------------ */
/* テーブル */
#post table {
	width: 100%;
	min-width: 100%;
	margin: 0 0 60px;
	border-collapse: collapse;
}
#post th {
	border: 1px #DDD solid;
	text-align: center;
	font-weight: bold;
}
#post td {
	border: 1px #DDD solid;
}
#contents .table01 th {
	width:25%;
	background: #F6F6F6;
	border: 1px #DDD solid;
}
#contents .table01 td {
	background: #FFF;
	border: 1px #DDD solid;
}
/* リスト */
#post.cbox ul,
#post.cbox ol {
	margin-bottom: 40px;
	line-height: 2;
}
#post.cbox ul {
	margin-left: 20px;
	list-style-type: disc;
}
#post.cbox ul li {
	margin-bottom: 15px;
	padding-left: 10px;
	text-indent: -10px;
}
#post.cbox ul li::before {
	margin-right: 8px;
    font-size: 8px;
    color: #ccc;
    font-weight: bold;
    content: " ● ";
    display: inline-block;
    vertical-align: middle;
}
#post.cbox ol {
	counter-reset: number;
}
#post.cbox ol li {
	margin-bottom: 15px;
	padding-left: 40px;
	position: relative;
}
#post.cbox ol li::before {
	counter-increment: number;
	content: '（' counter(number) '）';
	position: absolute;
	left: 0;
}
/* ボタン */
#post .wp-block-button__link {
	width: 380px;
	height: auto;
	margin: 0 auto;
	padding: 15px 40px;
	background: #FFF;
	border: 2px #EF5200 solid;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
}
/* キャプション */
figcaption {
	margin-bottom: 60px;
}
/* 段落 */
#post p:has( + h3 ),
#post table:has( + h3 ),
#post p:has( + h4 ),
#post table:has( + h4 ) {
	margin-bottom: 60px;
}
/* 画像 */
#post img {
	margin-bottom: 10px;
}
/* googlemap */
#post iframe {
	width: 100%;
}
/* 記事 */
#p_news #contents section {
	max-width: 1100px;
    min-width: 960px;
    width: 100%;
    margin: 0 auto 100px;
    box-sizing: border-box;
}
.cbox_post {
	max-width: 1100px;
	min-width: 960px;
	margin: 0 auto 100px;
	padding: 60px;
	border: 1px solid #CCC;
	box-sizing: border-box;
}
/* 投稿NEW */
#p_top i,
#contents i {
	padding-left: 5px;
	font-size: 14px;
	font-weight: normal;
	color: #cc0000;
	font-style: normal;
}
/* 投稿タイトル */
h3.title_post {
	margin-bottom: 60px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	position: relative;
}
h3.title_post::after {
    content: '';
    width: 50px;
    height: 3px;
    background-color: #EF7500;
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
/* トップページ
------------------------------------------------ */
/* スライダー */
#p_top #slider {
	width: 100%;
	max-width: 100%;
	margin-bottom: 60px;
	background-image: url("../image/top/bg_slider.jpg");
	background-color: #EF7500;
	background-size: cover;
	position: relative;
	z-index: 1;
}
#p_top .slide {
	max-height: 100%;
	display: flex;
	justify-content: flex-end;
	position: relative;
}
#p_top .slide p {
	font-family: 'Public Sans', sans-serif;
	font-size: 74px;
	color: #FFF;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: .02em;
	display: inline-block;
	position: absolute;
	top: 25%;
    left: 5%;
    transform: translateY(-30%);
    -webkit-transform: translateY(-30%);
    -ms-transform: translateY(-30%);
	transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
	z-index: 9999;
}
#p_top .slide .fadein_text {
	opacity: 0;
	animation: fade-in 1.5s ease-in-out forwards;
	animation-iteration-count: 1;
}
@keyframes fade-in {
from {
	opacity: 0;
}
to {
	opacity: 1;
}
}
#p_top .photo {
	width: 90%;
	height: 100%;
	box-sizing: border-box;
	position: relative;
	top: -50px;
	overflow: hidden;
}
#p_top .photo img {
	width: 1720px;
	max-width: 100%;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
	  transform: scale(1.15); /* 拡大率 */
	}
	}
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
	}
/*インフォ*/
#p_top #info {
	margin-bottom: 220px;
	position: relative;
	z-index: 2;
}
#p_top #info .inbox {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 50px;
	background:rgba(255, 255, 255, 0.8);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: absolute;
	top: -200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#p_top #info .info {
	width: 47%;
	background: #FFF;
	border: 3px solid;
	border-radius: 20px;
	font-weight: bold;
	text-align: center;
	position: relative;
}
#p_top #info .info::before {
	padding-right: 10px;
	content: url("../image/common/icon_info_check.svg");
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	left: -40px;
	top: -30px;
}
#p_top #info .no1 {
	border-color: #EF5200;
	box-shadow: 0 0 0 10px rgb(255, 245, 239);
}
#p_top #info .no2 {
	border-color: #17C1B0;
	box-shadow: 0 0 0 10px rgb(228, 245, 243);
}
#p_top #info a {
	width: 100%;
	display: block;
	color: #111;
	text-decoration: none;
}
#p_top #info h2.title {
	margin-bottom: 10px;
	padding: 20px 0 0 0;
	background: none;
	border: 0;
	font-size: 24px;
	text-align: center;
}
#p_top #info .no1 h2.title {
	color: #EF5200;
}
#p_top #info .no2 h2.title {
	color: #17C1B0;
}
#p_top #info h2.title::after {
	content: " //////////////////////////////// ";
	font-size: 16px;
	font-weight: normal;
	display: block;
	letter-spacing: .3em;
}
#p_top #info p {
	padding-bottom: 10px;
	font-size: 20px;
}
#p_top #info p:last-of-type {
	padding-bottom: 18px;
}
#p_top #info .memo {
	font-size: 16px;
}
/*お知らせ*/
#p_top #news .inbox {
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_top #news h2.title {
	padding: 0;
	background: none;
	border: 0;
	flex-basis: 20%;
	font-size: 30px;
	text-align: left;
	position: relative;
}
#p_top #news h2.title span {
	padding-left: 5px;
	font-size: 15px;
	color: #EF7500;
	letter-spacing: .1em;
	display: block;
}
#p_top #news h2.title::after {
	padding-left: 35px;
	content: url("../image/top/line_news.svg");
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 20px;
	left: 0;
}
#p_top .news_list {
	width: 80%;
}
#p_top .news_list ul {
	margin-bottom: 25px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#p_top .news_list li {
	margin-right: 30px;
	padding: 5px 10px;
	color: #111;
	font-size: 18px;
	font-weight: bold;
	cursor:pointer;
}
#p_top .news_list li:hover {
	opacity: .7;
	transition: all 0.2s ease-out;
}
#p_top .news_list li.active {
	background: #EF7500;
	border-radius: 10px;
	color: #FFF;
	font-weight: bold;
	transition: all 0.2s ease-out;
}
#p_top .news_list li.more {
	margin-right: 0;
	margin-left: auto;
	padding: 0;
}
#p_top .news_list li.more a {
	width: 100px;
	padding: 0;
	font-size: 14px;
	color: #EF7500;
	font-weight: normal;
}
#p_top .news_contents dl,
#p_news #contents dl,
#p_speech #contents dl,
#p_topics #contents dl {
	width: 100%;
	margin: 0 auto;
	padding: 16px 0;
	border-bottom: 1px #DDDDDD solid;
    display: flex;
	align-items: center;
}
#p_top .news_contents dl:first-of-type {
	border-top: 1px #DDDDDD solid;
}
#p_top .news_contents dl a {
	color: #111;
	text-decoration: underline;
}
#p_top .news_contents dt,
#p_news #contents dt {
	width: auto;
	max-width: 100%;
	margin-right: 10px;
	font-weight: bold;
}
#p_top .news_contents dd {
	width: 70%;
	max-width: 100%;
}
#p_top .news_contents .cat,
#p_news #contents .cat {
	width: auto;
	margin-right: 10px;
	padding: 5px 10px;
	border: 1px #707070 solid;
	border-radius: 10px;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
#p_top .news_contents {
	display: none;
}
#p_top .news_contents.show {
	display: block;
	transition: all 0.2s ease-out;
}
/*トピックス*/
#p_top #topics {
	padding-top: 100px;
	margin-bottom: 80px;
	position: relative;
}
#p_top #topics::after {
	content: " TOPICS ";
	font-family: 'Public Sans', sans-serif;
	font-size: 176px;
	color: #F2F2F2;
	font-weight: bold;
	letter-spacing: .02em;
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	z-index: -1;
}
#p_top #topics ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#p_top #topics li {
	width: calc( 100% / 3 - 30px );
}
#p_top #topics a {
	color: #111;
}
#p_top #topics p {
	margin-bottom: 0;
	font-weight: bold;
	text-align: left;
	position: relative;
}
#p_top #topics p a::after {
    content: url("../image/common/icon_arrow_sharp.svg");
    display: inline-block;
	position: absolute;
	right: 0;
}
#p_top #topics img {
	width: 370px;
	height: 208px;
	margin-bottom: 15px;
	object-fit:cover;
}
#p_top #topics .more {
	margin-bottom: 20px;
	display: flex;
	justify-content: flex-end;
}
#p_top #topics .more a {
	width: 100px;
	padding: 0;
	font-size: 14px;
	color: #EF7500;
	font-weight: normal;
}
/*学科紹介*/
#p_top #course {
	padding: 120px 0;
	background-image: url("../image/top/bg_course.jpg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top left;
	background-color: rgba(1, 174, 154,1);
	background-blend-mode: multiply;
}
#p_top #course .inbox {
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_top #course .detail {
	width: 48%;
	color: #FFF;
}
#p_top #course .detail h2.title {
	margin-bottom: 5px;
	padding: 0;
	background: none;
	border: 0;
	font-size: 30px;
	text-align: left;
}
#p_top #course .detail p {
	margin-bottom: 20px;
	line-height: 1.8;
	letter-spacing: .05em;
}
#p_top #course .detail .en {
	margin-bottom: 60px;
	color: #F5F5F5;
	font-weight: bold;
	letter-spacing: .1em;
}
#p_top #course .course_list {
	width: 47%;
}
#p_top #course .course {
	margin-bottom: 55px;
	background: #FFF;
	border-radius: 16px;
}
#p_top #course .course:last-of-type {
	margin-bottom: 0;
}
#p_top #course .course a {
	width: 100%;
	height: 100%;
	padding: 30px;
	color: #111;
	display: block;
	box-sizing: border-box;
}
#p_top #course h3.title {
	margin-bottom: 20px;
	padding: 0;
	background: none;
	border: 0;
	font-size: 24px;
	color: #111;
	font-weight: bold;
	text-align: left;
}
#p_top #course h3.title::before {
	padding-right: 10px;
	content: url("../image/common/icon_arrow_right_orange.svg");
	display: inline-block;
	vertical-align: middle;
}
#p_top #course .course p {
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 2;
}
#p_top #course .point {
	width: 80%;
	margin: 0 auto;
	padding: 5px;
	border: 1px #EF7500 solid;
}
#p_top #course .point ul {
	display: flex;
	justify-content: center;
}
#p_top #course .point li {
	margin-right: 5px;
	color: #EF7500;
	font-weight: bold;
}
#p_top #course .point li::after {
	content: " | ";
	font-weight: normal;
}
#p_top #course .point li:last-of-type:after {
	content: none;
}
/*SNS埋め込み*/
#p_top #sns .inbox {
	max-width: 100%;
	width: 100%;
	margin-bottom: 0;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
}
#p_top #sns .insta,
#p_top #sns .fb {
	width: 50%;
	padding: 30px 0;
}
#p_top #sns .insta {
	background: #FFEEF0;
}
#p_top #sns .box {
	width: 60%;
	padding: 10%;
}
#p_top #sns .insta .box {
	margin-right: 0;
	margin-left: auto;
}
#p_top #sns .insta img {
	width: 100%;
}
#p_top #sns .fb {
	background: #E9F2FF;
}
#p_top #sns p {
	margin-bottom: 30px;
	font-size: 30px;
	font-weight: bold;
	position: relative;
}
#p_top #sns .insta p {
	color: #CF00CD;
}
#p_top #sns .fb p {
	color: #0B61AC;
}
#p_top #sns .icon {
	width: 48px;
	margin: 0 auto 5px;
}
#p_top #sns img {
	width: 100%;
	height: auto;
}
/* 下層ページ共通
------------------------------------------------ */
/* ページタイトル */
#sub_title {
	width: 100%;
	height: 220px;
	margin-bottom: 80px;
	padding: 0;
	background-image: url("../image/common/bg_sub_title.jpg");
	background-color: #eee;
	background-size: cover;
	background-position: top center;
	position: relative;
	top: -15px;
}
#sub_title .bg {
	width: 80%;
	max-width: 1560px;
	height: 220px;
	margin-right: 0;
	background-image: url("../image/title/bg.jpg");
	background-position: center;
	background-size: cover;
	text-align: right;
	margin-left: auto;
	position: relative;
	top: -35px;
	right: 0;
}
/* 学校案内 */
#p_aboutus .bg,
#p_overview .bg,
#p_message .bg,
#p_outline .bg {
	background-image: url("../image/title/bg_aboutus.jpg");
}
/* 学科紹介 */
#p_courses .bg,
#p_flanguage .bg,
#p_busicom .bg {
	background-image: url("../image/title/bg_courses.jpg");
}
/* キャンパスライフ */
#p_campuslife .bg,
#p_voice .bg,
#p_event .bg,
#p_speech .bg {
	background-image: url("../image/title/bg_campuslife.jpg");
}
/* 入学案内 */
#p_admission .bg,
#p_boshuyoko .bg,
#p_f_boshuyoko .bg,
#p_scholarship .bg,
#p_download .bg {
	background-image: url("../image/title/bg_admission.jpg");
}
/* 学校説明会 */
#p_opencampus .bg,
#p_open_campus .bg,
#p_off_campus .bg,
#p_reservation .bg {
	background-image: url("../image/title/bg_opencampus.jpg");
}
/* 卒業生の進路・就職 */
#p_career .bg,
#p_support .bg,
#p_stepup .bg,
#p_dreams .bg,
#p_network .bg {
	background-image: url("../image/title/bg_career.jpg");
}
/* 企業のみなさまへ */
#p_topersonnel .bg {
	background-image: url("../image/title/bg_topersonnel.jpg");
}
/* 講師紹介 */
#p_lecturers .bg {
	background-image: url("../image/title/bg_lecturers.jpg");
}
/* 図書室のご案内 */
#p_library .bg {
	background-image: url("../image/title/bg_library.jpg");
}
#sub_title .box {
	min-width: 510px;
	padding: 15px 30px;
	background: rgba(255, 255, 255, 0.95);
	position: absolute;
	top: 35%;
	left: -5%;
	box-sizing: border-box;
}
#sub_title .box h2.title {
	margin-bottom: 0;
	padding: 0;
	background: none;
	border: 0;
	font-size: 34px;
	text-align: left;
	letter-spacing: .1em;
}
#sub_title .box h2.title:first-letter {
	color: #EF5200;
}
/* ボックスリンク */
/* 1個 */
#contents .link_box {
	width: 80%;
	height: auto;
	margin: 0 auto;
	background: #FFF5EF;
	border: 10px #FFF5EF solid;
}
#contents .link_box a {
	height: auto;
	margin: 0 auto;
	padding: 30px 20px;
	color: #111;
	display: block;
	text-align: center;
	background: #FFF;
	border: 2px #EF7500 solid;
	border-radius: 15px;
}
#contents .link_box .link1 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#contents .link_box .link1 .text {
	width: 50%;
}
/* 2個 */
#contents .link2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#contents .link2 .link_box {
	width: 46%;
	height: auto;
	margin: 0 0 35px;
	background: #FFF5EF;
	border: 10px #FFF5EF solid;
}
#contents .link2::after {
	content: "";
    display: block;
    width: 46%;
    height: 0;
}
#contents .link2 .link_box a {
	height: auto;
	margin: 0 auto;
	padding: 30px 20px;
	color: #111;
	display: block;
	text-align: center;
	background: #FFF;
	border: 2px #EF7500 solid;
	border-radius: 15px;
}
#contents .link_box p {
	margin-bottom: 0;
	font-size: 15px;
	color: #333;
}
#contents .link2 .link_box p {
	margin-bottom: 25px;
}
#contents .link2 .link_box img {
	width: 96%;
	margin-bottom: 20px;
}
#contents .link_box .link01,
#contents .link_contact .link01 {
	width: 280px;
	max-width: 80%;
	margin: 0 auto;
	padding: 10px 0;
	background: #FFF;
	border: 1px #EF7500 solid;
	border-radius: 100px;
	font-size: 16px;
	color: #EF7500;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
}
#contents .link_box .link01::before,
#contents .link_contact .link01::before {
	padding-right: 10px;
	content: url("../image/common/icon_arrow_right_s_orange.svg");
	display: inline-block;
	vertical-align: middle;
}
/* ページ下部問い合わせ用 */
#contact .cbox_s .box {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 60px;
	background: #F7F7F7;
}
#contents .link_contact {
	width: 100%;
	height: auto;
	margin: 0 auto;
	background: #EBEBEB;
	border: 10px #EBEBEB solid;
}
#contents .link_contact a {
	height: auto;
	margin: 0 auto;
	padding: 30px 20px;
	color: #111;
	display: block;
	text-align: center;
	background: #FFF;
	border: 2px #CCC solid;
	border-radius: 15px;
}
#contents .link_contact .link1 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#contents .link_contact .link1 .text {
	width: 50%;
}
/* アイコン */
.pdf::after {
	padding-left: 6px;
	content: url("../image/common/icon_pdf.svg");
	display: inline-block;
	vertical-align: middle;
}
.excel::after {
	padding-left: 6px;
	content: url("../image/common/icon_excel.svg");
	display: inline-block;
	vertical-align: middle;
}
/* 画像 */
#contents .photo {
	margin-bottom: 60px;
}
/* テーブル */
#contents .table01 {
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;
}
#contents .table01 th,
#contents .table01 td {
	padding: 10px 20px;
	border: 1px #CCC solid;
}
#contents .table01 th {
	width:25%;
	background: #F6F6F6;
}
#contents .table01 td {
	background: #FFF;
}
/* 学校案内 /aboutus/
------------------------------------------------ */
/*-------- 学校について overview.html --------*/
#p_overview h4.title {
	margin-bottom: 20px;
}
#p_overview h4.title + p {
	margin-bottom: 60px;
	font-size: 18px;
	font-weight: bold;
}
#p_overview .chronology {
	padding: 40px 60px;
	background: #F7F7F7;
}
#p_overview #chronology h3.title {
	width: 100%;
	margin-bottom: 40px;
	padding: 0;
	text-align: center;
	background: none;
	color: #EF5200;
	position: relative;
	left: 0;
}
#p_overview #chronology h3.title::before {
	content: none;
}
#p_overview #chronology table {
	width: 100%;
	border-collapse: collapse;
}
#p_overview #chronology tr.line{
	border-bottom: 1px solid #DDD;
}
#p_overview #chronology th,
#p_overview #chronology td {
	margin: 0;
	padding: 20px 15px;
	background: #FFF;
	vertical-align: top;
}
#p_overview #chronology th {
	font-weight: bold;
}
#p_overview #chronology th.year::before {
	margin-right: 8px;
    font-size: 14px;
    color: #EF5200;
    font-weight: bold;
    content: " ● ";
    display: inline-block;
    vertical-align: middle;
}
#p_overview #chronology span {
	color: #EF5200;
	font-weight: bold;
}
#p_overview #chronology span::after {
	content: " ： ";
	color:#111;
}
/* 学科紹介 /courses/
------------------------------------------------ */
/*-------- トップ index.html --------*/
#p_courses #courses .cbox_w {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#p_courses #courses .info {
	width: 48%;
}
#p_courses #courses .info p {
	margin-bottom: 30px;
	font-size: 14px;
}
#p_courses #courses .info p:first-of-type,
#p_flanguage #main .info {
	width: fit-content;
	margin-bottom: 0;
	padding: 5px 10px;
	background: #01AE9A;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
}
#p_courses #courses .cbox_w:nth-of-type(2) .info p:first-of-type,
#p_busicom #main .info {
	width: fit-content;
	margin-bottom: 0;
	padding: 5px 10px;
	background: #17AFC1;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
}
#p_courses #courses .info p:first-of-type span::after,
#p_flanguage #main .info span::after,
#p_busicom #main .info span::after {
	content: " | ";
	font-weight: normal;
}
#p_courses #courses .info p:first-of-type span:last-of-type::after,
#p_flanguage #main .info span:last-of-type::after,
#p_busicom #main .info span:last-of-type::after {
	content: none;
}
#p_courses #courses h4.title {
	margin-bottom: 20px;
	padding-top: 30px;
	font-size: 30px;
	color: #111;
	text-align: left;
}
#p_courses #courses ul {
	margin-bottom: 20px;
	font-weight: bold;
}
#p_courses #courses .info ul {
	line-height: 2;
}
#p_courses #courses li::before {
	margin-right: 8px;
    font-size: 14px;
    color: #EF5200;
    font-weight: bold;
    content: " ● ";
    display: inline-block;
    vertical-align: middle;
}
#p_courses #courses ul:has(+ .link03),
#p_courses #courses p:has(+ .link03) {
	margin-bottom: 50px;
}
/* シラバス */
#p_courses #syllabus p {
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}
#p_courses #syllabus li {
	margin: 0 0 10px 0;
	padding: 0;
}
#p_courses #syllabus li::before {
	padding-right: 5px;
	font-size: 10px;
	color: #ccc;
	vertical-align: middle;
	content: " ● ";
}
/*-------- 学科詳細ページ f_language.html --------*/
#p_flanguage #main .cbox_w,
#p_busicom #main .cbox_w,
#p_flanguage #main .cbox,
#p_busicom #main .cbox {
	margin-bottom: 60px;
}
#p_flanguage .course,
#p_busicom .course {
	padding: 60px;
	box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.15);
}
#p_flanguage #main h3.title,
#p_busicom #main h3.title {
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	background: none;
	border: 0;
	font-size: 32px;
	text-align: center;
	position: relative;
	left: 0;
}
#p_flanguage #main h3.title::before,
#p_busicom #main h3.title::before {
	content: none;
}
#p_flanguage #main h3.title + p,
#p_busicom #main h3.title + p {
	margin-bottom: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
}
#p_flanguage #main .info,
#p_busicom #main .info {
	margin: 0 auto 60px;
	text-align: center;
	display: block;
}
#p_flanguage .detail,
#p_busicom .detail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#p_flanguage .detail img,
#p_busicom .detail img {
	width: 45%;
}
#p_flanguage .detail div,
#p_busicom .detail div {
	width: 50%;
}
#p_flanguage .detail p,
#p_busicom .detail p {
	margin-bottom: 30px;
	font-size: 14px;
}
#p_flanguage .detail ul,
#p_busicom .detail ul {
	margin-bottom: 30px;
}
#p_flanguage .detail li,
#p_busicom .detail li {
	font-weight: bold;
	line-height: 2;
}
#p_flanguage .detail li::before,
#p_flanguage .point li::before,
#p_busicom .detail li::before,
#p_busicom .point li::before {
	margin-right: 8px;
	font-size: 14px;
	color: #EF5200;
	font-weight: bold;
	content: " ● ";
	display: inline-block;
	vertical-align: middle;
}
.strongpoint {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.strongpoint p {
	width: 260px;
	height: 260px;
	margin: 0;
	padding: 0;
	border-radius: 100%;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
#p_flanguage .strongpoint p {
	border: 2px #01AE9A solid;
	color: #01AE9A;
}
#p_busicom .strongpoint p {
	border: 2px #17AFC1 solid;
	color: #17AFC1;
}
.strongpoint ul {
	width: 70%;
}
.strongpoint li {
	padding: 15px 0;
	font-size: 20px;
	font-weight: bold;
}
#p_flanguage .strongpoint li {
	border-bottom: 1px #01AE9A solid;
}
#p_busicom .strongpoint li {
	border-bottom: 1px #17AFC1 solid;
}
.strongpoint li::before {
	width: 40px;
	height: 40px;
	margin-right: 15px;
	border-radius: 40px;
	font-size: 26px;
	text-align: center;
	color: #FFF;
	display: inline-block;
	vertical-align: middle;
}
#p_flanguage .strongpoint li::before {
	background: #01AE9A;
}
#p_busicom .strongpoint li::before {
	background: #17AFC1;
}
#p_flanguage .strongpoint li:nth-of-type(1)::before,
#p_busicom .strongpoint li:nth-of-type(1)::before {
	content: " 1 ";
}
#p_flanguage .strongpoint li:nth-of-type(2)::before,
#p_busicom .strongpoint li:nth-of-type(2)::before {
	content: " 2 ";
}
#p_flanguage .strongpoint li:nth-of-type(3)::before,
#p_busicom .strongpoint li:nth-of-type(3)::before {
	content: " 3 ";
}
#p_flanguage .point,
#p_busicom .point {
	padding: 45px;
	background: #F6F6F6;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#p_flanguage .point div,
#p_busicom .point div {
	width: 42%;
	margin: 0;
	padding: 3%;
	background: #FFF;
	border: 1px #DDD solid;
}
#p_flanguage .point h4.title,
#p_busicom .point h4.title {
	margin-bottom: 30px;
	font-size: 24px;
	text-align: center;
}
#p_flanguage .point ul,
#p_busicom .point ul {
	display: flex;
	flex-wrap: wrap;
}
#p_flanguage .point li,
#p_busicom .point li {
	margin: 0 15px 15px 0;
}
#p_flanguage table,
#p_busicom table {
	width: 100%;
	margin: 0 0 40px;
	border-collapse: collapse;
}
#p_flanguage td,
#p_flanguage th,
#p_busicom td,
#p_busicom th {
	padding: 10px 5px;
	border: 1px #CCC solid;
}
#p_flanguage th,
#p_busicom th {
	background: #444;
	color: #FFF;
}
#p_flanguage td,
#p_busicom td {
	width: calc( 100% / 6 );
	color: #111;
	text-align: center;
}
#p_flanguage td.week,
#p_busicom td.week {
	width: calc( 100% / 6 - 6% );
}
td.blue {
	background: #CFE0F9;
}
td.pink {
	background: #F4E4E6;
}
td.l_pink {
	background: #FFEFEF;
}
td.yellow {
	background: #FFFBD9;
}
td.purple {
	background: #EEDEFF;
}
td.l_purple {
	background: #E9E6F3;
}
td.green {
	background: #D0EED2;
}
td.yellowgreen {
	background: #EFF8E7;
}
td.skyblue {
	background: #DEF0F9;
}
td.orange {
	background: #FFEDC2;
}
td.l_orange {
	background: #F9EEE8;
}
td.brown {
	background: #E5D8C1;
}
td.gray {
	background: #F5F5F5;
}
#p_flanguage .curriculum,
#p_busicom .curriculum {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#p_flanguage .curriculum table,
#p_busicom .curriculum table {
	width: 48%;
	max-width: 100%;
}
/* 講師紹介 /lecturers/
------------------------------------------------ */
#p_lecturers #main_lecturers {
	padding: 60px 0;
	background: #F6F6F6;
}
#p_lecturers #main_lecturers .cbox_w {
	margin-bottom: 0;
}
#p_lecturers #main_lecturers .main {
	margin-bottom: 40px;
	padding: 40px 50px;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#p_lecturers #main_lecturers .main:nth-child(even) {
	flex-direction: row-reverse;
}
#p_lecturers #main_lecturers .main:last-of-type {
	margin-bottom: 0;
}
#p_lecturers #main_lecturers .photo {
	margin-bottom: 0;
}
#p_lecturers #main_lecturers .photo img {
	border: 2px solid #EF7500;
	border-radius: 100%;
}
#p_lecturers #main_lecturers .text {
	width: 72%;
}
#p_lecturers #main_lecturers p {
	line-height: 1.8;
}
#p_lecturers #main_lecturers p:first-of-type {
	margin-bottom: 30px;
	font-weight: bold;
}
#p_lecturers #main_lecturers span {
	padding-left: 15px;
	font-size: 18px;
	color: #EF5200;
}
#p_lecturers #lecturers ul {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#p_lecturers #lecturers li {
	width: calc( 100% / 4 - 20px );
	margin: 0 10px 30px;
	text-align: center;
}
#p_lecturers #lecturers ul li:nth-child(4),
#p_lecturers #lecturers ul li:nth-child(8),
#p_lecturers #lecturers ul li:nth-child(12),
#p_lecturers #lecturers ul li:nth-child(16) {
	margin-right: 0;
}
#p_lecturers #lecturers img {
	width: 80%;
	margin-bottom: 10px;
	border: 2px solid #EF7500;
	border-radius: 100%;
}
#p_lecturers #lecturers p {
	font-weight: bold;
}
#p_lecturers #lecturers span {
	font-size: 18px;
	color: #EF5200;
	display: block;
}
/* キャンパスライフ /campus_life/
------------------------------------------------ */
/*-------- トップ index.html --------*/
#p_campuslife .en {
	width: 85%;
	margin: 0 auto 100px;
	padding: 0;
	font-family: 'Public Sans', sans-serif;
	font-size: 180px;
	color: #FCE3CC;
	font-weight: bold;
	letter-spacing: 0;
	text-align: justify;
}
#p_campuslife .en span {
	font-size: 150px;
	color: #FFECC5;
	line-height: 0.5;
	display: block;
}
/*-------- 年間行事 event.html --------*/
#p_event .list h3.title {
	width: 100%;
	margin: 0;
	padding: 20px 0;
	background: #D0EFEC;
	font-size: 20px;
	text-align: center;
	position: relative;
	left: 0;
}
#p_event .list h3.title::before {
	content: none;
}
#p_event table {
	width: 100%;
	border-collapse: collapse;
}
#p_event tr {
	border: 1px #CCC solid;
}
#p_event th,
#p_event td {
	padding: 20px;
}
#p_event th {
	width: 15%;
	font-size: 22px;
	color: #EF5200;
}
#p_event th span {
	font-size: 16px;
}
#p_event td:nth-of-type(1) {
	width: 65%;
}
#p_event td:nth-of-type(2) {
	width: 20%;
	text-align: right;
}
#p_event td span {
	margin-bottom: 5px;
	font-weight: bold;
	display: block;
}
#p_event td span::before {
	content: " ・ ";
}
#p_event td .special {
	padding: 2px 10px;
	border: 1px #EF7500 solid;
	font-size: 14px;
	color: #EF7500;
	font-weight: bold;
	display: inline-block;
}
#p_event td img {
	width: 85%;
}
/*-------- スピーチコンテスト実績一覧 speech.html --------*/
#p_speech section dl,
#p_topics section dl {
	justify-content: space-between;
}
#p_speech section dt,
#p_topics section dt {
	width: 15%;
}
#p_speech section dt img,
#p_topics section dt img {
	width: 150px;
	height: 90px;
	object-fit: cover;
}
#p_speech section dd,
#p_topics section dd {
	width: 82%;
}
#p_speech section dd span,
#p_topics section dd span {
	margin-bottom: 5px;
	font-weight: bold;
	display: block;
}
.log dl a {
	color: #111;
}
/*-------- スピーチコンテスト実績詳細 speech_detail.html --------*/
#p_speech h3.title {
	width: 100%;
	margin: 0 0 50px;
	padding: 0 0 15px;
	background: none;
	border-bottom: 1px #EF5200 solid;
	font-size: 20px;
	color: #EF5200;
	position: relative;
	left: 0;
}
#p_speech h3.title::before {
	content: none;
}
#p_speech #post p:first-of-type {
	font-weight: bold;
}
#p_speech #post p:last-of-type {
	margin-bottom: 60px;
}
#p_speech #post img {
	width: 50%;
	margin: 0 auto 30px;
	display: block;
}
/*-------- 在校生の声 voice.html --------*/
#voice .list {
	padding: 30px 0;
	border-bottom: 1px #CCC solid;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#voice .list:last-of-type {
	margin-bottom: 0;
}
#voice .photo {
	margin-bottom: 0;
	text-align: center;
}
#voice .photo img {
	width: 80%;
	border: 2px solid #EF7500;
	border-radius: 100%;
}
#voice .text {
	width: 75%;
}
#voice .text p {
	line-height: 1.8;
}
#voice .text p:first-of-type {
	margin-bottom: 20px;
	font-weight: bold;
}
#voice .text p:first-of-type span {
	font-size: 18px;
	color: #EF5200;
	display: block;
}
/* 図書室のご案内 /library/
------------------------------------------------ */
#p_library h4.title {
	margin-bottom: 60px;
	padding-bottom: 25px;
	border-bottom: 1px solid #EF5200;
	text-align: center;
}
#p_library .message {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#p_library .text {
	width: 70%;
}
#p_library .photo {
	margin: 0;
}
#p_library .photo img {
	margin-bottom: 20px;
}
#p_library .photo p {
	font-weight: bold;
	text-align: center;
}
#p_library #lineup ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#p_library #lineup li {
	width: calc( 100% / 4 );
	text-align: center;
}
#p_library #lineup li p:first-of-type {
	width: 200px;
	height: 200px;
	margin: 0 auto 10px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
#p_library #lineup li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#p_library .rule {
	margin-bottom: 30px;
	background: #FFF5EF;
	position: relative;
}
#p_library .rule h5.title {
	margin-bottom: 0;
	padding: 0;
	font-size: 24px;
	color: #EF5200;
	position: relative;
	top: -30px;
}
#p_library .rule h5.title::before {
	padding-right: 15px;
	content: url("../library/image/icon_book.svg");
	display: inline-block;
	vertical-align: middle;
}
#p_library .rule ol {
	padding: 0 20px 60px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}
#p_library .rule li {
	font-size: 20px;
	font-weight: bold;
}
#p_library .rule li::before {
	padding-right: 5px;
	font-size: 24px;
	color: #EF5200;
}
#p_library .rule li:nth-of-type(1)::before {
	content: "1.";
}
#p_library .rule li:nth-of-type(2)::before {
	content: "2.";
}
#p_library .rule li:nth-of-type(3)::before {
	content: "3.";
}
#p_library #guide h4.title {
	margin-bottom: 20px;
	padding: 0;
	border: 0;
	font-size: 18px;
	color: #111;
	text-align: left;
}
#p_library #guide h4.title + p {
	margin-bottom: 50px;
}
#p_library #guide h4.title::before {
	margin-right: 5px;
	font-size: 16px;
	color: #EF5200;
	font-weight: bold;
	content: " ● ";
	display: inline-block;
	vertical-align: middle;
}
#p_library #guide h3.title + div {
	display: flex;
}
#p_library table.table01 th {
	width: 20%;
}
/* 卒業生の進路・就職 /career/
------------------------------------------------ */
/*-------- 就職サポート support.html --------*/
#p_support .point {
	padding: 40px 0;
	border-top: 1px #CCC solid;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#p_support .point:nth-child(even) {
	flex-direction: row-reverse;
}
#p_support .point .text {
	width: 54%;
	margin-right: 20px;
}
#p_support .point:nth-child(even) .text {
	margin-left: 20px;
}
#p_support .point h3.title {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	background: none;
	font-size: 28px;
	position: relative;
	left: 0;
}
#p_support .point h3.title::before,
#p_support .system h3.title::before,
#p_support #message h3.title::before {
	content: none;
}
#p_support .point .text p:first-of-type {
	margin-bottom: 10px;
	font-size: 20px;
	color: #EF5200;
	font-weight: bold;
}
#p_support .point .text p:first-of-type span {
	padding-left: 5px;
	font-size: 36px;
}
#p_support .photo {
	margin-bottom: 0;
}
#p_support .system {
	padding: 0 0 50px;
	background: #FFF5EF;
	text-align: center;
	position: relative;
}
#p_support .system h3.title {
	width: fit-content;
	margin: 0 auto;
	padding: 0 20px;
	background: #5D5D5D;
	color: #FFF;
	text-align: center;
	position: relative;
	top: -20px;
	left: 0;
}
#p_support #lesson h4 + p {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px #CCC solid;
}
#p_support #lesson h4 + p:last-of-type {
	border-bottom: 0;
}
#p_support #message .cbox {
	padding: 40px;
	background: #F6F6F6;
}
#p_support #message .message {
	width: 100%;
	padding: 30px 0;
	background: #FFF;
	border: 1px #DDD solid;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}
#p_support #message .photo {
	text-align: center;
}
#p_support #message .photo img {
	width: 80%;
	border: 2px solid #EF7500;
    border-radius: 100%;
}
#p_support #message .text {
	margin-right: 20px;
	width: 65%;
}
#p_support #message h3.title {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	font-size: 22px;
	position: relative;
	left: 0;
}
#p_support #message .name {
	font-weight: bold;
}
#p_support #message .name span {
	padding-left: 15px;
	font-size: 18px;
	color: #EF5200;
}
/*-------- 進学（海外提携大学） network.html --------*/
#p_network #map ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
#p_network #college .list {
	margin: 0 auto;
	padding: 50px;
	background: #F6F6F6;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#p_network #college .item {
	width: calc( 100% / 3 - 50px );
	margin-bottom: 12px;
	padding: 20px;
	background: #FFF;
	border: 1px #DDD solid;
	text-align: center;
}
#p_network #college .item p {
	margin-bottom: 10px;
	font-weight: bold;
	text-align: left;
}
#p_network #college .item p::before {
	width: 40px;
	height: 50px;
	margin-right: 10px;
	padding-bottom: 5px;
	background-image: url("../career/image/network/icon_pin.svg");
	background-size: contain;
	background-position: bottom 0 right 50%;
	background-repeat: no-repeat;
	color: #FFF;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#p_network #college .item:nth-of-type(1) p::before {
	content:" 01 ";
}
#p_network #college .item:nth-of-type(2) p::before {
	content:" 02 ";
}
#p_network #college .item:nth-of-type(3) p::before {
	content:" 03 ";
}
#p_network #college .item:nth-of-type(4) p::before {
	content:" 04 ";
}
#p_network #college .item:nth-of-type(5) p::before {
	content:" 05 ";
}
#p_network #college .item:nth-of-type(6) p::before {
	content:" 06 ";
}
#p_network #college .item:nth-of-type(7) p::before {
	content:" 07 ";
}
#p_network #college .item:nth-of-type(8) p::before {
	content:" 08 ";
}
#p_network #college .item:nth-of-type(9) p::before {
	content:" 09 ";
}
#p_network #college .item p span {
	padding-left: 5px;
	font-size: 14px;
}
#p_network #college .item img {
	width: 75%;
}
/* 企業のみなさまへ /to_personnel/
------------------------------------------------ */
#p_topersonnel #message .cbox {
	padding: 50px 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}
#p_topersonnel #message h3.title {
	width: 100%;
	margin-bottom: 0;
	padding: 0;
	background: none;
	font-size: 26px;
	color: #EF5200;
	text-align: center;
	position: relative;
	left: 0;
}
#p_topersonnel #message h3.title::before {
	content: none;
}
#p_topersonnel #message h3.title + p {
	margin-bottom: 50px;
	font-size: 24px;
	color: #EF5200;
	font-weight: bold;
	text-align: center;
}
#p_topersonnel #message p {
	width: 85%;
	margin: 0 auto 30px;
}
#p_topersonnel #message .name {
	margin-bottom: 60px;
	font-weight: bold;
	text-align: right;
}
#p_topersonnel #message .staff {
	width: 86%;
	margin: 0 auto;
	padding: 4%;
	background: #F7F7F7;
	display: flex;
	align-items: center;
}
#p_topersonnel #message .staff img {
	width: 160px;
	height: 160px;
	margin-right: 40px;
}
#p_topersonnel #message .staff p {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
}
#p_topersonnel #message .staff .name {
	font-weight: normal;
	text-align: left;
}
#p_topersonnel #message .staff .name span {
	padding-left: 10px;
	font-size: 18px;
}
#p_topersonnel #message .staff h4.title {
	margin-bottom: 15px;
	font-size: 18px;
	color: #111;
	text-align: left;
}
#p_topersonnel #joboffer ul {
	width: 100%;
	margin: 0 auto 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#p_topersonnel #joboffer li {
	width: 49%;
	max-width: 100%;
	margin-bottom: 20px;
}
#p_topersonnel #joboffer li a {
	width: 100%;
	max-width: 100%;
	padding: 30px;
	border: 3px #DDD solid;
	border-radius: 15px;
	font-size: 18px;
	color: #111;
	font-weight: bold;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	position: relative;
}
#p_topersonnel #joboffer li a::before {
	margin-right: 10px;
	font-weight: bold;
	display: inline-block;
	vertical-align: middle;
}
#p_topersonnel #joboffer li a.pdf::before {
	content: url("../image/common/icon_pdf.svg");
}
#p_topersonnel #joboffer li a.excel::before {
	content: url("../image/common/icon_excel.svg");
}
#p_topersonnel #joboffer li a::after {
	margin-left: 15px;
	font-weight: bold;
	content: url("../image/common/icon_dl.svg");
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	right: 30px;
}
/* お問い合わせ・資料請求 /contact/
------------------------------------------------ */
/* tel */
#p_contact #tel .tel,
#contact .tel {
	margin-bottom: 30px;
	padding: 35px;
	background: #FFF;
	border-top: 2px #CCC solid;
	border-bottom: 2px #CCC solid;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}
#p_contact #tel .tel div,
#contact .tel div { 
	width: calc( 100% / 2 );
	font-weight: bold;
	text-align: center;
}
#p_contact #tel .text,
#contact .text {
	margin-bottom: 0;
	font-size: 18px;
	letter-spacing: .1em;
}
#p_contact #tel .telno p,
#contact .telno p {
	margin-bottom: 5px;
	padding: 0;
}
#p_contact #tel .telno .main a,
#contact .telno .main a {
	font-size: 32px;
	color: #EF7500;
}
#p_contact #tel .telno .main a::before,
#contact .telno .main a::before {
	padding-right: 5px;
	content: url("../image/common/icon_tel.svg");
	display: inline-block;
	vertical-align: middle;
}
#p_contact #tel .telno .sub,
#contact .telno .sub {
	font-size: 20px;
	color: #EF7500;
}
#p_contact #tel .telno .time,
#contact .telno .time {
	margin-bottom: 0;
	padding-top: 10px;
	font-size: 14px;
	font-weight: normal;
}
#p_contact a,
#contact a {
	text-decoration: none;
}
#p_contact .foreigner {
	padding: 15px 0 0;
	text-align: center;
}
#p_contact .foreigner a::before {
	padding-right: 10px;
    content: url(../image/common/icon_arrow_right_s_orange.svg);
    display: inline-block;
    vertical-align: middle;
}
/* 学校情報の公開 /self_assessment/
------------------------------------------------ */
#p_selfassessment #list ul {
	width: 100%;
	margin: 0 auto;
}
#p_selfassessment #list li {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}
#p_selfassessment #list li a {
	width: 100%;
	max-width: 100%;
	padding: 30px;
	border: 3px #DDD solid;
	border-radius: 15px;
	font-size: 18px;
	color: #111;
	font-weight: bold;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	position: relative;
}
#p_selfassessment #list li a::before {
	margin-right: 10px;
	font-weight: bold;
	content: url("../image/common/icon_pdf.svg");
	display: inline-block;
	vertical-align: middle;
}
#p_selfassessment #list li a::after {
	margin-left: 15px;
	font-weight: bold;
	content: url("../image/common/icon_dl.svg");
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	right: 30px;
}
/* プライバシーポリシー /privacypolicy/
------------------------------------------------ */
#p_policy h3.title {
	margin-bottom: 40px;
	text-align: left;
}
#p_policy #list ul {
	margin-bottom: 20px;
	counter-reset: number 0;
}
#p_policy #list ul li::before {
    counter-increment: number 1;
    content: counter(number) " . ";
}
#p_policy #contents p {
	margin-bottom: 50px;
}
/* フォーム共通
------------------------------------------------ */
#form .form_link {
	margin-bottom: 30px;
	text-align: right;
}
#form table.contact {
	width: 100%;
	margin: 0 auto 40px;
	border-collapse: collapse;
	border-top: 1px #CCC solid;
	background: #FFF;
}
#form form {
	margin-bottom: 30px;
}
#form table tr:nth-child(odd) {
	background-color: #F7F7F7;
}
#form table.contact td,
#form table.contact th {
	border-bottom: 1px solid #CCC;
	padding: 15px 20px;
	text-align: left;
}
#form table.contact th {
	white-space: nowrap;
}
#form table.contact td {
	width: 75%;
}
#form table.contact select {
	height: 45px;
	padding: 0 10px;
	font-size: 105%;
}
#form table.contact span {
	font-size: 14px;
	display: block;
}
#form table.contact span.required {
	margin-left: 5px;
	font-size: 14px;
	color: #EF5200;
	display: inline-block;
}
#form table.contact input[type="text"],
#form table.contact input[type="date"],
#form table.contact select,
#form table.contact td textarea {
	height: 45px;
	box-sizing: border-box;
	background: #FFF;
	border: 1px #BBB solid;
	font-size: 110%;
}
#form table.contact td input[type="text"]:focus,
#form table.contact input[type="date"]:focus,
#form table.contact select:focus,
#form table.contact td textarea:focus {
	border: 1px #707070 solid;
	background: #F3F2EB;
	outline: none;
}
#form input:-webkit-autofill,
#form select:-webkit-autofill,
#form textarea:-webkit-autofill {
    box-shadow: 0 0 0 1000px #FFF inset;
}
#form table.contact .file {
	line-height: 2em;
}
#form table.contact textarea.message {
	min-height: 200px;
}
#form input[type="submit"] {
	min-width: 280px;
	max-width: 80%;
	margin: 0 auto;
	padding: 10px 20px;
	box-sizing: border-box;
	background: #002782;
	border-radius: 100px;
	border: 2px #002782 solid;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	display: block;
	transition: 0.1s ease-in-out;
}
#form input[type="submit"]:hover {
	background: #FFF;
	color: #002782;
	cursor: pointer;
}
#form label {
	margin-right: 20px;
}
#form label.date {
	line-height: 2;
	display: block;
}
#form .wsss {
	width: 25%;
}
#form .wss {
	width: 30%;
}
#form .ws {
	width: 50%;
}
#form .wl {
	width: 100%;
}
/* 外国人用フォーム
------------------------------------------------ */
#form.foreigner table.contact td,
#form.foreigner table.contact th {
	border-bottom: 1px solid #CCC;
	padding: 15px 10px;
	font-size: 14px;
	text-align: left;
}
#form.foreigner table.contact td p {
	margin: 0;
	padding: 15px 0 5px;
	font-weight: bold;
}
#form.foreigner table.contact td label {
	line-height: 2.5;
}
#form.foreigner table.contact input[type="text"],
#form.foreigner table.contact input[type="date"],
#form.foreigner table.contact select,
#form.foreigner table.contact td textarea {
	height: 35px;
	font-size: 110%;
}