body {
	margin: 0px 0px 0px 0px;
	padding: 0px;
}

img {
	display: block;
}
a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
/*****************/
#menu {
	display: flex;
	justify-content: center;
	position: fixed;
	top: 0;
	width: 100%;
	padding: 0em 1em;
	box-sizing: border-box;
	border-bottom: 1px solid #999;
	box-shadow: 0px 3px 2px 0px rgba(0,0,0,0.35);
	background: #2E5931;
	z-index: 5000;
	color: #fff;
	font-size: 87.5%;
}
#menuInn {
	display: flex;
	width: 100%;
	/*max-width: 1200px;*/
	max-width: 1276px;
	padding: 0px 0px;
	box-sizing: border-box;
}
#menu ul {
    display: flex;
	flex-direction: row;
    flex-wrap: wrap;
	align-items: center;
    gap: 0.25em 0px;
	margin: 0px auto;
    list-style: none;
}
#menu ul li {
	/*min-width: 10em;*/
	margin-left: -1px;
	padding: 0em 2em;
    border-left: 1px solid #999;
	border-right: 1px solid #999;
	cursor: pointer;
	text-align: center;
}
#menu ul li:hover {
	color: #ffe00f;
}
#menu ul li:first-child {
    border-left: 1px solid #999;
}
#logoArea {
	margin-top: 100px;
}
.blockCont {
	width: 100%;
}
#menuBt {
	display: flex;
    flex-direction: row;
    padding: 10px 0px;
}
.gotoEntryBt {
	display: flex;
	justify-content: center;
	text-align: center;
	/*background: #ff8a00;*/
	background: #1c401f;
    color: #fff;
    padding: 0.25em 0.75em;
    align-items: center;
    white-space: nowrap;
    /*border: 1px solid #fff;*/
	/*border-left: 1px solid #fff;*/
	/*border-right: 1px solid #fff;*/
	border-left: 1px solid rgb(255 255 255 / 0.5);
	border-right: 1px solid rgb(255 255 255 / 0.5);
    box-sizing: border-box;
}
.gotoEntryBt:hover {
	background: #47734a;
	color: #ffe00f;
	cursor: pointer;
}
.gotoEntryBtSp {
    display: flex;
    justify-content: center;
    text-align: center;
    background: #ee983b;
    color: #fff;
    padding: 0.5em 0.75em;
    align-items: center;
    white-space: nowrap;
    border-radius: 20px;
    margin-top: 1em;
    box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 30%);
    /* border: 2px solid #fff; */
}
/******************/
#logoCesArea {
	display: flex;
    position: absolute;
    flex-direction: column;
    align-items: center;
    /*background: rgb(255 255 255 / 0.8);*/
	/*background: rgb(255 255 255 / 0.85);*/
	background: linear-gradient(180deg, rgb(255 255 255 / 0.7), #fff 85%);
    /*padding: 36px;*/
	padding: 23px 36px;
    text-align: center;
    color: #2E5931;
    gap: 18px;
	/*box-shadow: 0px 0px 3px 2px rgb(0 0 0 / 0.25);*/
	box-shadow: 0px 0px 8px 0px rgb(0 0 0 / 0.35);
	margin-top: -360px;
	opacity: 0;
	transition: margin-top 2.5s ease, opacity 2.5s ease, -webkit-margin-top 2.5s ease, opacity 2.5s ease;
}
.logoCesArea_animate {
	margin-top: 285px !important;
	opacity: 1 !important;
}
#logoCesArea > div:first-child {
	font-size: 200%;
	font-weight: bold;
	font-family: serif;
}
#logoCesArea > div:last-child {
	display: flex;
    flex-direction: row;
	align-items: center;
    gap: 45px;
}
#logoCesArea p {
	margin: 0px;
	padding: 0px;
	font-size: 125%;
	font-family: serif;
	font-weight: bold;
}

/******************/
#contentsAll {
	display: block;
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0px auto;
	padding: 10px 88px;
	border: 0px solid #f00;
}
/*******************/
#textLead {
	display: flex;
    color: #2E5931;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 56em;
    margin: 0px auto;
    /*padding: 1em 0em 4em 0em;*/
	padding: 2.8em 0em 4em 0em;
	font-size: 112.5%;
	font-family: serif;
	font-weight: bold;
}

/*センテンス　上部*/
/********/
.sentBlock {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding-bottom: 80px;
}
.sentBlock > div:last-child {
	display: flex;
	flex-direction: column;
	gap: 45px;
	width: 100%;
	max-width: 650px;
}
.sentBlock > div:last-child > div {
	display: flex;
	flex-direction: row;
	gap: 25px;
	width: 100%;
	max-width: 650px;
}
/*******/
.textSentTitleEng {
	font-size: 237.5%;
	font-weight:  bold;
}
.textSentTitle {
}
/*******/
.textSecArea {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.textSecName {
	font-size: 156.25%;
	font-weight:  bold;
}
.textSecNameEng {
	font-size: 81.25%;
}
.textSecOutline {
	/*font-size: 112.5%;*/
	line-height: 175%;
	text-align: justify;
}
.btVM {
	display: block;
	font-size: 81.25%;
	text-align: right;
}
.btVM a {
	border-bottom: 1px solid #d18a8a;
    color: #d18a8a;
}
.btVM a:hover {
	border-bottom: 2px solid #d18a8a;
    color: #d18a8a;
}
.photoSecBlock {
	width: 330px;
}


/*センテンス　ナンバーワン*/
.sentBlock2 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 80px;
	gap: 36px
}
.sentBlock2 > div:last-child {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
}
.secNO {
	display: flex;
    flex-direction: column;
    gap: 0px;
    width: 100%;
    max-width: 318px;
}
.secNO > div:first-child {
	background: #7D9BAB;
	color: #fff;
	padding: 22px 36px;
	box-sizing: border-box;
}
.secNO > div:first-child  > div:first-child {
	font-size: 131.25%;
	font-weight: normal;
}
.secNO > div:last-child img {
    width: 100%;
	height: auto;
}
.secNO > div:last-child {
	position: relative;
}
.secNO > div:last-child  > div:last-child {
	display: block;
    width: 100%;
    position: absolute;
    top: 30px;
    left: 0;
    text-align: center;
    color: #fff;
    font-size: 125%;
    font-weight: normal;
}

/*センテンス　ファイブポイント*/
.sentBlock3 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 80px;
	gap: 36px
}
.sentBlock3 > div:last-child {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
    justify-content: center;
	gap: 24px;
	width: 100%;
}
.secFP {
	display: flex;
    flex-direction: column;
	align-items: center;
    gap: 15px;
    width: 100%;
    max-width: 318px;
	border: 1px solid #AEB0B0;
	padding: 32px 20px;
	box-sizing: border-box;
}
.secFP img {
    width: 100%;
}
.secFP > div:first-child {
	font-size: 168.75%;
	font-weight: bold;
	color: #4F4F4F;
}
.secFP > div:last-child {
	font-size: 93.75%;
	line-height: 175%;
	text-align: center;
}


/*センテンス　インターシップ*/
.sentBlock4 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 80px;
	gap: 36px
}
.sentTitImgArea {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0px -88px;
	padding: 0px 0px 0px 0px;
}
.sentTitImgArea img {
	width: 100%;
}
.sentTitImgArea > div:last-child {
	display: flex;
    position: absolute;
    /*top: 50%;*/
    left: 0px;
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 137.5%;
    font-weight: bold;
	/*margin-top: -1.45em;*/
	text-shadow: 0px 0px 7px rgb(255 255 255);
}
#sentInfoInter {
	display: flex;
	flex-direction: row;
	gap: 160px;
}
.infoInterBlock {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}
.titleInterBlock {
	display: flex;
	flex-direction: column;
}
.titleInterBlock > div:first-child {
	display: block;
	box-sizing: border-box;
	padding: 48px 0em 0em 14px;
	font-size: 112.5%;
	font-weight: bold;
}
.titleInterBlock > div:last-child {
	display: block;
	box-sizing: border-box;
	padding: 1em 0em 1em 21px;
	text-align: justify;
}
.titleInterBlock > div:first-child.bcBlue {
	border-left: 7px solid #036EB8;
}
.titleInterBlock > div:first-child.bcMage {
	border-left: 7px solid #E83828;
}
.textInfoBlockArea {
	display: flex;
	flex-direction: column;
}
.textInfoBlock {
	display: flex;
	flex-direction: row;
	gap: 1em;
}
.textInfoBlock > div:first-child {
	white-space: nowrap;
}
.gotoTimeTable {
	display: flex;
	justify-content: center;
	/*width: 20em;*/
	margin: 2em auto 0px auto;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 0.35em 3em 0.25em 3em;
	font-size: 81.25%;
}
.infoInterBlock:has(.bcBlue) .gotoTimeTable {
	border-color: #036EB8;
}
.infoInterBlock:has(.bcMage) .gotoTimeTable {
	border-color: #E83828;
}


/*センテンス　活躍する先輩たち*/
.sentBlock5 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 80px;
	gap: 36px
}
.blockSentence {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.blockSchoolArea {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
    gap: 20px;
	margin-top: 20px;
	flex-wrap: wrap;
}
.blockSchoolArea > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.blockSchoolArea > div > div {
	display: flex;
    justify-content: center;
	align-items: center;
	font-weight: normal;
	background: #e1e1e1;
	padding: 0.4em 0em 0.25em 0em;
}
.tableSchool {
	border-collapse: collapse;
	font-size:87.5%;
	width: 20em;
}
.tableSchool td:first-child {
	width: 4.5em;
}
.tableSchool td:last-child {
	width: 3.5em;
}
.tableSchool td {
	padding: 4px;
	border-bottom: 1px solid #555;
}


.blockInterview {
	display: flex;
    flex-direction: row;
    gap: 67px;
}
.blockInterview > div:has( > img) {
	font-size: 87.5%;
}
.blockInterview > div > img {
	margin-bottom: 5px;
}
.sentBar {
	display: block;
	width: 283px;
	margin: 36px auto;
	border-top: 1px solid #555;
}
.textBlockInter > div:first-child {
	padding-bottom: 0.75em;
	font-size: 112.5%;
	font-weight: bold;
}
.textBlockInter > div:last-child p {
	font-size: 93.75%;
	font-weight: normal;
	margin: 0em;
	line-height: 175%;
}



/***************************************/
/***********/
.tableRecruit {
	width: 100%;
	border-collapse: collapse;
	font-size: 87.5%;
}

.tableRecruit td {
	padding: 8px;
	border: 1px solid #000;
}
.tableRecruit td:first-child {
	width: 183px;
	background: #ccc;
}

#tableRecruit1 {
	margin-top: 16px;
}

#tableRecruit1 tr.row-2 td:first-child,
#tableRecruit1 tr.row-5 td:first-child,
#tableRecruit1 tr.row-8 td:first-child,
#tableRecruit1 tr.row-11 td:first-child,
#tableRecruit1 tr.row-18 td:first-child {
	/*background: #e2e2e2;*/
	background: #fff;
}
#tableRecruit1 tr.row-3 td:first-child,
#tableRecruit1 tr.row-6 td:first-child,
#tableRecruit1 tr.row-9 td:first-child,
#tableRecruit1 tr.row-12 td:first-child,
#tableRecruit1 tr.row-19 td:first-child  {
	background: #fff;
}
#tableTabArea {
	display: block;
	position: relative;
	width: 100%;
	height: 1.5em;
}
div[id^="tableTab"]:not(#tableTabArea) {
	display: block;
	width: 50%;
	position: absolute;
	padding: 0.25em 0.5em;
	background: #DCE8DE;
	box-sizing: border-box;
	cursor: pointer;
}
div[id^="tableTab"]:not(#tableTabArea):hover {
	opacity: 100%;
}
#tableTab1 {
	top: 0%;
	left:0%;
}
#tableTab2 {
	top: 0%;
	left: 50%;
}
.oc05 {
	opacity: 50%;
}
div[id^="tableArea"] h2 {
  font-size: 112.5%;
  margin-bottom: 0.25em;
}
#tableArea2 {
	display: none;
}
.sankaku {
	    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    width: 0px;
    height: 0px;
    border-style: solid;
	border-width: 0px 60px 2em 0px;
    border-color: transparent #fff transparent transparent;
    z-index: 10;
}


/*センテンス　エントリー*/
.sentBlock6 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 80px;
	gap: 36px
}
#entryBtArea {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.entryBt {
	display: flex;
    width: 256px;
    height: 191px;
    border: 1px solid #569157;
    padding: 1.5em 1em;
    box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 25%);
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
	text-align: center;	
	color: #2E5931;
	background: #fff;
}
.entryBt:hover {
	opacity: 0.75;
}
.entryBt > div:first-child {
	font-size: 112.5%;
	font-weight: bold;
}
.entryBt > div:last-child {
	font-size: 87.5%;
}
.yaArea2 {
    display: flex;
    flex-direction: column;
    align-items: center;
	font-size: 81.25%;
}
a:has(div.entryBt) {
	background: #416d42;
}

#titleArea {
	display: flex;
	justify-content: center;
	margin: 78px auto 0px auto;
}
#titleArea > div:first-child {
	opacity: 0;
	transition: opacity 1.5s ease, -webkit-opacity 1.5s ease;
}
.titleImgAnima {
	opacity: 1 !important;
}
/******************/
[class^="sentBlock"] {
	padding-bottom: 100px;
	opacity: 0;
}
/*****************/
.footer {
	display: flex;
	justify-content: center;
	padding: 20px 0px;
	background: #2e5931;
	color: #fff;
	font-size: 81.25%;
	text-align: center;
}
/**************/
/*戻るボタン*/
#gototop2 {
    position: fixed;
    right: 10px;
    bottom: 50px;
    width: 60px;
    height: 60px;
    z-index: 100;
}





/***************************/
#spMenuBt {
	display: none;
}
#menuArea {
	display: none;
}
/***************************/
.tableTT {
	display: none;
	border-collapse: collapse;
	font-size: 87.5%;
	width: 100%;
	color: #000;
	margin-top: 1em;
}
.tableTT td {
	border: 1px solid #548235;
	padding: 6px;
	background: #fff;
}
.tableTT tbody > tr:first-child td {
	text-align: center;
	background: #e1e0e0;
}
#tableTT1 td:nth-child(1) {
	text-align: center;
}
#tableTT2 td {
	text-align: center;
}
/****************************/
/****/
div#overLayer {
	display: none;
	position: fixed;
	width: 80%;
	max-width: 980px;
	/*box-sizing: border-box;*/
	top: 120px;
	left: 50%;
	border: 10px solid rgba(255,255,255,1);
	text-align: center;
	box-shadow: 1px 0px 7px rgb(0 0 0 / 70%);
	background: #fff;
	overflow: hidden;
	z-index: 3500;
}
div#overLayer img {
	display: block;
}
div#glayLayer {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: black;
	filter: alpha(opacity=70);
	opacity: 0.75;
	z-index: 3000;
}
div#overLayer img {
	width: 100%;
}

@media only screen and (max-width :480px) {
/*********メインメニューボタン*********/
#spMenuBt {
	display: flex;
	/*position: absolute;*/
	position: fixed;
	top: 0px;
	right: 0px;
	flex-direction: column;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	padding: 15px;
	box-sizing: border-box;
	background: #7aa97d;
	z-index: 50000;
}
#spMenuBt > div {
	display: block;
	width: 100%;
	height: 1px;
	margin: 4px 0px;
	background: #fff;
}
#spMenuBt > div.barTop {
	display: block;
	transform: translateY(0) rotate(45deg);
	margin-top: 3px;
}
#spMenuBt > div.barBottom {
	display: block;
	transform: translateY(0) rotate(-45deg);
	margin-top: -5px;
}
/*********メインメニュー*********/
#menuArea {
	display: block;
	width: 100%;
	height: 2500px;
	margin: 0px 0px 0px 1000px;
	padding: 70px 10px 10px 10px;
	position: fixed;
	background: rgba(255,255,255,1);
	overflow-y: auto;
	z-index: 4000;
	box-sizing: border-box;
}
#menuArea ul {
	display: block;
	flex-direction: column;
	width: 100%;
	margin: 0px;
	padding: 0px;
}
#menuArea ul li {
	border-right: 0px solid #182A88;
	border-bottom: 1px solid #182A88;
	padding: 0.5em 1em;
	text-align: left;
	position: relative;
	list-style: none;
}
/*************/
/***/
#btMenu {
	display: flex;
	justify-content: center;
	width: 100%;
	border-top: 1px solid #fff;
	padding: 0.45em 0em 0.35em 0em;
	background: #182A88;
	background-image: linear-gradient(0deg, #5a895d, #7aa97d);
	color: #fff;
	box-shadow: 0px 2px 2px rgba(0,0,0,0.35);
}
#btMenu > div {
	padding: 0px 5px;
}

/*************************/
	
#menu ul {
	display: none;
}
.gotoEntryBt {
	display: none;
}

/**********************/
#titleArea {
    flex-direction: column;
}
#titleArea img {
	width: 100%;
	height: auto;
}
#logoCesArea {
	margin: 0px;
	padding: 14px 14px 7px 14px;
    position: relative;
	box-shadow: unset;
}
.logoCesArea_animate {
	margin-top: 0px !important;
	opacity: 1 !important;
}
#logoCesArea > div:first-child {
    font-size: 120%;
}
#logoCesArea > div:last-child {
    flex-direction: column;
	gap: 18px;
}
#logoCesArea p {
    font-size: 87.5%;
}
#textLead {
    padding: 0.75em 14px 2em 14px;
    font-size: 81.25%;
	text-align: left;
	border-top: 1px solid #6e9771;
	box-sizing: border-box;
}
#textLead br {
    display: none;
}


[class^="sentBlock"] {
    flex-direction: column;
}

#contentsAll {
	padding: 10px;
}

.sentBlock > div:last-child > div {
    flex-direction: column;
}

.sentBlock2 > div:last-child {
    flex-direction: column;
}
#sentInfoInter {
    flex-direction: column;
	gap: 10px;
}
.blockInterview {
    flex-direction: column;
    gap: 10px;
}
#entryBtArea {
    flex-direction: column;
	gap: 10px;
}
.sentTitImgArea {
	margin: 0px -10px;
}
.photoSecBlock {
    width: 100%;
}
.photoSecBlock img {
    width: 100%;
	height: auto;
}
.secNO {
    max-width: 100%;
}
.sentTitImgArea > div:last-child {
	padding: 0px 10px;
    font-size: 93.75%;
	box-sizing: border-box;
	margin: 0px;
}
.sentTitImgArea > div:last-child br {
    display: none;
}
.blockInterview > div > img {
    width: 100%;
}
p {
	text-align: justify;
}
.entryBt {
    width: 100%;
	height: auto;
    box-sizing: border-box;
	gap: 10px;
}
[class^="sentBlock"] {
    padding-bottom: 50px;
	gap: 18px;
}
.textSentTitleEng {
    font-size: 181.25%;
}
.textSecName {
    font-size: 125%;
}
.textSecNameEng {
    font-size: 75%;
    padding-bottom: 1em;
}
.textSecOutline {
    font-size: 93.75%;
}
.titleInterBlock > div:last-child {
    font-size: 93.75%;
}
.textInfoBlock {
    font-size: 87.5%;
}
div:has( > .textSentTitleEng) {
	border-left: 5px solid #6e9771;
    padding-left: 10px;
}
.titleInterBlock > div:first-child {
    padding: 10px;
    color: #fff;
	font-size: 100%;
}
.titleInterBlock > div:first-child.bcBlue {
    border-left: 0px solid #036EB8;
	background: #036EB8;
}
.titleInterBlock > div:last-child {
    padding: 10px 0px;
}

.titleInterBlock > div:first-child.bcMage {
    border-left: 0px solid #E83828;
	background: #E83828;
}
/****************/
#blockInterviewArea > div.colRev {
	flex-direction: column-reverse;
}
/*****************/
.titleInterBlock:has(.bcMage) {
	margin-top: 20px;
}

/***************/
.gotoTimeTable {
	padding: 0.35em 1.5em 0.25em 1.5em;
}

/*******table********/
.tableRecruit {
    border-top: 1px solid #555;
}
.tableRecruit td {
	display: block;
	width: 100% !important;
	border: unset;
	border-bottom: 1px solid #555;
	box-sizing: border-box;
}
/***/
.tableRecruit td:first-child {
	background: #c0c0c0;
}
#tableRecruit1 tr.row-1 td.column-2,
#tableRecruit1 tr.row-4 td.column-2,
#tableRecruit1 tr.row-7 td.column-2,
#tableRecruit1 tr.row-10 td.column-2,
#tableRecruit1 tr.row-17 td.column-2 {
	/*background: #e2e2e2;*/
	background: #eeeeee;
}
#tableRecruit1 tr.row-2 td:first-child,
#tableRecruit1 tr.row-5 td:first-child,
#tableRecruit1 tr.row-8 td:first-child,
#tableRecruit1 tr.row-11 td:first-child,
#tableRecruit1 tr.row-18 td:first-child {
	/*background: #e2e2e2;*/
	background: #eeeeee;
}
#tableRecruit1 tr.row-3 td:first-child,
#tableRecruit1 tr.row-6 td:first-child,
#tableRecruit1 tr.row-9 td:first-child,
#tableRecruit1 tr.row-12 td:first-child,
#tableRecruit1 tr.row-19 td:first-child  {
	background: #eeeeee;
}


}