@charset "utf-8";



/* =============================================
 改行設定
================================================ */
@media screen and (min-width: 961px) {
	.br-sp-only br {
		display:none !important;
	}
	.br-tb-only br {
		display:none !important;
	}
	.br-pc-except br {
		display:none !important;
	}
}

@media only screen and (min-width: 601px) and (max-width: 960px) {
	.br-pc-only br {
		display:none !important;
	}
	.br-sp-only br {
		display:none !important;
	}
	.br-tb-except br {
		display:none !important;
	}
}

@media screen and (max-width: 600px) {
	.br-tb-only br {
		display:none !important;
	}
	.br-pc-only br {
		display:none !important;
	}
	.br-sp-except br {
		display:none !important;
	}
}


/* =============================================
 アイコン
================================================ */

.icon-circle {
	width: 100px;
	height: 100px;
	background: url(../images/icon-circle.png) no-repeat left top;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.icon-circle {
		width: 100%;
		height: 24px;
		padding: 4px 5px 4px;
		background: #088AB0;
		border-radius: 32px;
		-webkit-box-shadow: 0 0 0 1px #fff inset;
		box-shadow: 0 0 0 1px #fff inset;
		border: 3px solid #088AB0;
		/****************************
		* safari.cssにスタイルあり  *
		****************************/
	}
}

.icon-square {
	width: 100px;
	height: 100px;
	background: url(../images/icon-square.png) no-repeat left top;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.icon-square {
		width: 100%;
		height: 24px;
		padding: 4px 5px 4px;
		background: #088AB0;
		border-radius: 32px;
		-webkit-box-shadow: 0 0 0 1px #fff inset;
		box-shadow: 0 0 0 1px #fff inset;
		border: 3px solid #088AB0;
		/****************************
		* safari.cssにスタイルあり  *
		****************************/
	}
}

/* =============================================
 矢印アイコン
================================================ */
.arrow01 a {
	position: relative;
/****************************
* safari.cssにスタイルあり  *
****************************/
}

.arrow01 a::before {
	width:6px;
	height:6px;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -15px;
	margin-top: -5px;
	border-top: 2px solid #088AB0;
	border-right: 2px solid #088AB0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* =============================================
 hr-border 私たちについてのスタッフ
================================================ */
.hr-border{
	width: 100%;
	border: none;
	border-bottom: 1px solid #D6E6ED;
}


/* =============================================
 パンくず
================================================ */

.topic-path {

}

/*スマホ*/
@media screen and (max-width: 600px) {
	.topic-path {
	
	}
}


/* =============================================
 画像
================================================ */

/* sp-half-img
---------------------------------------------- */
/*スマホ*/
@media screen and (max-width: 600px) {
	.sp-half-img {
		width: 50%;
	}
}


/* アンシャープ
---------------------------------------------- */
.image-sharp {
	backface-visibility: hidden;
}



/* =============================================
 リスト
================================================ */

/* ul要素
---------------------------------------------- */
ul.normal-list {
	list-style:disc;
	padding:0 5px 0px 20px;
}

/* ul.career-flow-list reportページ
---------------------------------------------- */
ul.career-flow > li {
	float: left;
	display: table;
	margin-left: 48px;
	margin-bottom: 40px;
	position: relative;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	ul.career-flow > li {
		margin-left: 29px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	ul.career-flow > li {
		margin-left: 0;
		margin-bottom: 21px;
	}
	
	ul.career-flow > li:last-child {
		margin-bottom: 15px;
	}
}

ul.career-flow > li:first-child {
	margin-left: 0;
}

ul.career-flow > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 35px;
	left: -35px;
	width: 22px;
	height: 32px;
	background: url(../images/arrow04.png) no-repeat left top;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	ul.career-flow > li::before {
		top: 43px;
		left: -20px;
		-webkit-background-size: 11px 16px;
		background-size: 11px 16px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	ul.career-flow > li::before {
		top: -19px;
		left: 50%;
		margin-left: -8px;
		background: url(../images/arrow05.png) no-repeat left top;
		-webkit-background-size: 16px 11px;
		background-size: 16px 11px;
	}
}

ul.career-flow > li:first-child::before {
	display: none;
}

/* ul.career-flow > li > span */
ul.career-flow > li > span {
	color: #ddd;
	text-align: center;
	line-height: 1.45;
	vertical-align: middle;
	display: table-cell;
}

/* スマホ */
@media screen and (max-width: 600px) {
	ul.career-flow > li > span {
		line-height: 1.2;
	}
}


/* ol要素
---------------------------------------------- */
ol.normal-list {
	padding-left:27px;
	list-style-type:decimal;
}


/* dl要素
---------------------------------------------- */

/* report-list */
dl.report-list {
	width: 100%;
	border-top: 1px solid #0082A8;
	padding-top: 13px;
	padding-bottom: 8px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	dl.report-list {
		padding-top: 10px;
		padding-bottom: 7px;
	}
}

dl.report-list:last-of-type {
	border-bottom: 1px solid #0082A8;
	margin-bottom: 15px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	dl.report-list:last-of-type {
		margin-bottom: 10px;
	}
}

dl.report-list dt {
	float: left;
	line-height: 1;
}

dl.report-list dt span {
	color: #fff;
	font-size:78.6%; font-size:0.786rem;;
	background: #088AB0;
	display: inline-block;
	width: 61px;
	padding: 5px 5px 4px;
	text-align: center;
	margin-right: 15px;
	vertical-align: 8px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	dl.report-list dt span {
		font-size:60.0%; font-size:0.600rem;
		min-width: 50px;
		padding: 1px 5px 0;
		line-height: 1.5;
		margin-right: 11px;
		vertical-align: baseline;
		margin-bottom: 3px;
		/****************************
		* safari.cssにスタイルあり  *
		****************************/
	}
}

dl.report-list dd {
	overflow: hidden;
	line-height: 1.5;
}

/* スマホ */
@media screen and (max-width: 600px) {
	dl.report-list dd {
		font-size:93.3%; font-size:0.933rem;
		line-height: 1.4;
	}
}


/* =============================================
 ボックス
================================================ */

/* box01
---------------------------------------------- */
.box01 {
	width: 100%;
	border: 5px solid #088AB0;
	background: #FFF;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.box01 {
	
	}
}

/* box01-02 色と太さ違い
---------------------------------------------- */
.box01-02 {
	width: 100%;
	border: 2px solid #D6E6ED;
	background: #FFF;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.box01-02 {
	
	}
}

/* box02 featureのbox01内テキストエリア
---------------------------------------------- */
.box02 {
	padding: 15px 25px 25px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.box02 {
		padding: 15px;
	}
}


/*スマホ*/
@media screen and (max-width: 600px) {
	.box02 {
		padding: 6px 9px 3px;
	}
}

/* box03 テキストボックス
---------------------------------------------- */
.box03 {
	width: 100%;
	border:5px solid #D6E6ED;
	background: #FFF;
	padding: 10px 15px 8px;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.box03 {
		padding: 5px 10px 3px;
	}
}

/* box03-02 box03を画像で使用（パディング調整あり）
---------------------------------------------- */
.box03-02 {
	width: 100%;
	border:5px solid #D6E6ED;
	background: #FFF;
	padding: 25px 15px;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.box03-02 {
		display: block;
		margin: 0 auto;
	}
}

/* box03-03 テキストボックス ボーダーなし
---------------------------------------------- */
.box03-03 {
	width: 100%;
	background: #FFF;
	padding: 10px 15px 8px;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.box03-03 {
		padding: 5px 10px 3px;
	}
}

/* box04 reportで使用
---------------------------------------------- */
.box04 {
	width: 410px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.box04 {
		width: 100%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.box04 {
		width: 100%;
	}
}

/* box05 reportで使用
---------------------------------------------- */
.box05 {
	width: 520px;
	height: 200px;
	display: table;
}

.box05.w100 {
	width: 100%;
	height: auto;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.box05 {
		width: 100%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.box05 {
		width: 100%;
		height: 155px;
	}
}

/* life-box-left
---------------------------------------------- */
.life-box-left {
	width: 102px;
	display: table-cell;
	color: #088ab0;
	font-size:185.7%; font-size:1.857rem;
	font-family: 'Times New Roman', serif;
	line-height: 1.6;
	border-right: 2px solid #D6E6ED;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.life-box-left {
		width: 62px;
		font-size:166.7%; font-size:1.667rem;
		line-height: 1.2;
	}
}

.life-box-left span {
	font-size:114.3%; font-size:1.143rem;
	vertical-align: 3px;
	margin-right: 3px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.life-box-left span {
		display: block;
		font-size:93.3%; font-size:0.933rem;
		padding-top: 2px;
	}
}

/* life-box-right
---------------------------------------------- */
.life-box-right {
	width: auto;
	display: table-cell;
	padding-left: 12px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.life-box-right {
		padding-left: 10px;
		vertical-align: top;
	}
}

/* link-box
---------------------------------------------- */

/* スマホ */
@media screen and (max-width: 600px) {
	.link-box {
		padding-top: 57px;
		margin-top: -57px;
	}
}



/* 2カラムリスト
---------------------------------------------- */
.column2-list01 {
	/zoom:1;
	width:100%;
}

.column2-list01 > li {
	display:inline-block;
	/display:inline;
	/zoom:1;
	vertical-align:top;
	margin-right: 20px;
	margin-bottom: 20px;
	width: 410px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.column2-list01 > li {
		margin-right: 2%;
		margin-bottom: 15px;
		width: 49%;
	}
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.column2-list01 > li {
		margin-bottom: 10px;
		margin-right: 10px;
		width: 48%;
		width : -webkit-calc(50% - 5px);
		width : calc(50% - 5px);
	}
	
	body.cate-program .container .column2-list01 > li {
		width: 100%;
	}
	
	body.cate-day .container .column2-list01 > li {
		width: 100%;
	}
}

.column2-list01 > li:nth-child(2n) {
	margin-right: 0;
}

/* スマホ以外 */
@media screen and (min-width: 601px) {
	.column2-list01 > li:nth-last-child(-n+2) {
		margin-bottom: 0;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.column2-list01 > li:last-child {
		margin-bottom: 0;
	}
}


/* 2カラムリスト 02
---------------------------------------------- */
.column2-list02 {
	/zoom:1;
	width:100%;
}

.column2-list02 > li {
	display:inline-block;
	/display:inline;
	/zoom:1;
	vertical-align:top;
	margin-right: 30px;
	margin-bottom: 20px;
	width: 440px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.column2-list02 > li {
		margin-right: 3.2%;
		margin-bottom: 15px;
		width: 48.4%;
	}
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.column2-list02 > li {
		margin-bottom: 0;
		margin-right: 0;
		width: 100%;
	}
}

.column2-list02 > li:nth-child(2n) {
	margin-right: 0;
}

.column2-list02 > li:nth-last-child(-n+2) {
	margin-bottom: 0;
}


/* 2カラムリスト 03
---------------------------------------------- */
.column2-list03 {
	/zoom:1;
	width:100%;
}

.column2-list03 > li {
	display:inline-block;
	/display:inline;
	/zoom:1;
	vertical-align:top;
	margin-right: 3.2%;
	width: 48.4%;
}

/*スマホ*/
/*
@media screen and (max-width: 600px) {
	.column2-list03 > li {
		margin-bottom: 0;
		margin-right: 0;
		width: 100%;
	}
}

*/
.column2-list03 > li:nth-child(2n) {
	margin-right: 0;
}




/* 3カラムリスト
---------------------------------------------- */
/* htmlソース側はリストの終了タグ</li>を省略 */
/*
.column3-list {
	width:100%;
}

.column3-list > ul {
	margin-right:-2%;
	/zoom:1;
}

.column3-list > ul > li{
	display:inline-block;
	/display:inline;
	/zoom:1;
	vertical-align:top;
	margin-right:2%;
	width:32%;
	margin-bottom:10px;
}
*/


/* 4カラムリスト
---------------------------------------------- */
.column4-list01 {
	/zoom:1;
	width:100%;
}

.column4-list01 > li {
	display:inline-block;
	/display:inline;
	/zoom:1;
	vertical-align:top;
	margin-right: 20px;
	width: 225px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.column4-list01 > li {
		margin-right: 2%;
		width: 23.5%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.column4-list01 > li {
		margin-right: 2%;
		width: 23.5%;
	}
}

.column4-list01 > li:nth-child(4n) {
	margin-right: 0;
}


/* =============================================
 ボタン
================================================ */

/* コンバージョンボタン
---------------------------------------------- */
.conversion-btn01{
}

.conversion-btn01 a{
	
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.conversion-btn01{
	}
	
	.conversion-btn01 a{
	}
}


/* linkボタン
---------------------------------------------- */

/* link-btn01 */
.link-btn01 {
	
}

.link-btn01 a {
	display: inline-block;
	min-width: 113px;
	font-size:85.7%; font-size:0.857rem;
	color: #088AB0;
	border: 2px solid #088AB0;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	padding: 4px 9px 1px 11px;
	text-align: center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	/****************************
	* safari.cssにスタイルあり  *
	****************************/
}
.link-btn01.t14 a {
	font-size:100.0%; font-size:1.000rem;
}
.link-btn01.wide a {
	min-width: 178px;
}

.link-btn01 a:hover {
	text-decoration: none;
	opacity: 0.6;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.link-btn01.wide a {
		min-width: 189px;
	}
}

/* entry-btn
---------------------------------------------- */
.entry-btn {
	min-width: 230px;
	color: #FFF;
	font-weight: bold;
	font-size:114.3%; font-size:1.143rem;
	display: inline-block;
	padding: 7px 15px 5px;
	background: #0082A8;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	cursor: pointer;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.entry-btn {
		width: 100%;
		font-size:106.7%; font-size:1.067rem;
	}
}

.entry-btn:hover {
	text-decoration: none;
	opacity: 0.7;
}



/* report-link
---------------------------------------------- */
.report-link {
	position: relative;
}

.report-link a {
	min-height: 162px;
	padding-left: 193px;
	display: block;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.report-link a {
		min-height: 99px;
		padding-left: 104px;
	}
}

.report-link a:hover {
	opacity: 0.7;
	text-decoration: none;
}

/* report-link imgポジション指定
---------------------------------------------- */
.report-link img {
	position: absolute;
	bottom: 0;
	left: 19px;
	z-index: 2;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.report-link img {
		left: 0;
	}
}

/* report-name
---------------------------------------------- */
.report-link .report-name {
	width: 100%;
	position: absolute;/* report-linkを基準 */
	bottom: 0;
	left: 0;
	z-index: 1;
	line-height: 0;
	background: #D6E6ED;
}

/* report-name 英語表記 */
.report-link .report-name span.name-en {
	min-width: 115px;
	font-family: 'Times New Roman', serif;
	color: #fff;
	letter-spacing: 0.025em;
	line-height: 1.6;
	display: inline-block;
	padding: 2px 10px 0 176px;
	margin-right: 24px;
	background: #0082A8;
	position: relative;
}

@media only screen and (min-width: 601px) and (max-width: 740px) {
	.report-link .report-name span.name-en {
		letter-spacing: 0;
		line-height: 1.1;
		padding: 2px 5px 2px 175px;
		font-size:60.0%; font-size:0.600rem;
		margin-right: 9px;
	}
}

.report-link .report-name span.name-en::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	right: -20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 24px 20px;
	border-color: transparent #0082A8 transparent;
	z-index: 2;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 740px){
	.report-link .report-name span.name-en::before {
		right: -13px;
		border-width: 0 0 15px 13px;
		/****************************
		* safari.cssにスタイルあり  *
		****************************/
	}
}

/* report-name 日本語表記 */
.report-link .report-name span.name-ja {
	display: inline-block;
	line-height: 1.6;
	color: #088ab0;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 740px) {
	.report-link .report-name span.name-ja {
		line-height: 1.1;
		padding: 0px 5px;
		font-size:60.0%; font-size:0.600rem;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.report-link .report-name span.name-ja {
		line-height: 1.1;
		padding: 3px 5px 1px 104px;
		font-size:60.0%; font-size:0.600rem;
		/****************************
		* safari.cssにスタイルあり  *
		****************************/
	}
}

/* =============================================
 テーブル
================================================ */

/* table01 左列が見出し
---------------------------------------------- */
.table01 th {
	background:#D6E6ED;
	color: #444;
}

.table01 td {
	line-height: 1.5;
	background: #F0F5F7;
}

.table01 th,
.table01 td {
	border:1px solid #FFF;
	padding:10px 10px 8px;
}

/* thead */
.table01 .thead th {
	background: #A2C6D6;
	color: #FFF;
	padding:10px 10px 8px;
	border:1px solid #FFF;
}

/* tfoot */
.table01 .tfoot th,
.table01 .tfoot td {
	background: #A2C6D6;
	color: #FFF;
	padding:10px 10px 8px;
	border:1px solid #FFF;
	border-top: 3px double #fff;
}

/* レスポンシブさせる場合 (size-fixedがない場合)
---------------------------------------------- */
@media screen and (max-width: 600px) {
	.table01:not(.size-fixed),
	.table01:not(.size-fixed) tbody,
	.table01:not(.size-fixed) tr,
	.table01:not(.size-fixed) tr th,
	.table01:not(.size-fixed) tr td {
		display: block;
		width: 100%;
	}
}

/* table02 左列が見出し
---------------------------------------------- */
.table02 th {
	background:#D6E6ED;
	color: #444;
}

.table02 td {
	line-height: 1.5;
	background: #F0F5F7;
}

.table02 th,
.table02 td {
	border:1px solid #FFF;
	padding:6px 5px 4px;
}

/* thead */
.table02 .thead th {
	background: #A2C6D6;
	color: #FFF;
	padding:6px 5px 4px;
	border:1px solid #FFF;
}

/* tfoot */
.table02 .tfoot th,
.table02 .tfoot td {
	background: #A2C6D6;
	color: #FFF;
	padding:6px 5px 4px;
	border:1px solid #FFF;
	border-top: 3px double #fff;
}

/* レスポンシブさせる場合 (size-fixedがない場合)
---------------------------------------------- */
@media screen and (max-width: 600px) {
	.table02:not(.size-fixed),
	.table02:not(.size-fixed) tbody,
	.table02:not(.size-fixed) tr,
	.table02:not(.size-fixed) tr th,
	.table02:not(.size-fixed) tr td {
		display: block;
		width: 100%;
	}
}

/* =============================================
 動画サイズ指定
================================================ */

.movie-wrap {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}

.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}


/* =============================================
 フォーム設定
================================================ */

/* テキスト・チェックボックス
---------------------------------------------- */
input[type=radio] {
	vertical-align: middle;
	margin-top: -1px;
}

form textarea {
	min-height: 90px;
}

form .text {
	padding: 5px;
}

form ul.contact-list li {
	display: inline-block;
	margin-right:10px;
}


/* エラーメッセージ
---------------------------------------------- */
form .msgError{
	color: #f00;
	font-weight: bold;
}

/* formの幅
---------------------------------------------- */
form .sizeS {
	width: 20%;
}

form .sizeM {
	width: 50%;
}

/* スマホ */
@media screen and (max-width: 600px) {
	form .sizeM {
		width: 100%;
	}
}

form .sizeL {
	width: 90%;
}

/* スマホ */
@media screen and (max-width: 600px) {
	form .sizeL {
		width: 100%;
	}
}


/* 入力確認ボタン
---------------------------------------------- */
.confirm-btn, .cancel-btn, .send-btn {
	min-width: 230px;
	color: #FFF;
	font-weight: bold;
	font-size:114.3%; font-size:1.143rem;
	display: inline-block;
	padding: 7px 15px 5px;
	background: #0082A8;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	cursor: pointer;
}

/* スマホ */
@media screen and (max-width: 600px) {
	.confirm-btn, .cancel-btn, .send-btn {
		width: 100%;
		font-size:106.7%; font-size:1.067rem;
	}
}

.confirm-btn:hover, .cancel-btn:hover, .send-btn:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* フォームボタンの角丸をなくす */
input[type="button"],input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	}




