@charset "UTF-8";

/* -----------------------------------------------------------
	TIMC OSAKA under.css 
	下層ページ共通スタイル

	・下層ページ用共通スタイル

------------------------------------------------------------- */

/*------------------------------------------------------------
	写真・画像配置
-------------------------------------------------------------*/
.img-wrap-fix {
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	justify-content: space-between;
	/* margin: 0 auto 30px auto; */
	margin: 0 auto;
	padding: 0;
	width: 101%;
}
.img-wrap-fix > div {
	margin: 0 1% 14px 0;
	text-align: center;
}
.img-wrap-fix > div > div {
	background-color: inherit;
	border: 1px solid rgba(255, 255, 255, 0);
	padding: 5px 5px 0 5px;
	margin: 0 auto;
}
.img-wrap-fix div.bd {
	background-color: #fff;
	border: 1px solid #ccc;
	padding: 5px;
}

/* 写真を３列で表示する場合 */
.img-wrap-fix .c3 {
	max-width: 286px;
	width: 100%;
}
/* 写真を2列で表示する場合 */
.img-wrap-fix .c2 {
	max-width: 427px;
	width: 100%;
}
/* 写真を2列で表示する場合(422px)*/
.img-wrap-fix .c2-422 {
	max-width: 434px;
	width: 100%;
}
/* 写真を1列で表示する場合 */
.img-wrap-fix > div.c1 {
	margin: 0 auto;
	/* max-width: 752px; */
	max-width: 612px;
}
.img-wrap-fix > div.c1 > div {
	/* margin: 0 0 0 -0.5%; */
	width: 100%;
}

/* キャプション */
.img-wrap-fix .cap {
	color: #666;
	display: block;
	font-size: 0.929em; /* 13px */
	text-align: center;
	line-height: 1.25;
	margin-top: 5px;
	max-width: none;
	padding: 0 5px;
	width: 100%;
}
/* キャプション 1列表示のみ */
.img-wrap-fix > div.c1 .cap {
	margin: 5px auto 0 auto;
	padding: 0 5px 0 0;
	width: 99%;
}

.img-wrap-fix .c3 img,
.img-wrap-fix .c2 img,
.img-wrap-fix .c2-422 img,
.img-wrap-fix .c1 img {
	height: auto;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
}

.photo-bd {
	background-color: #fff;
	border: 1px solid #ccc;
	padding: 5px;
	width: auto;
}

/* 要素のサイズに応じて写真を100％ */
div.photo-bd img, .resp img {
    max-width: 100%;
    width: 100%;
}

/* 旧写真配置 */
/* 横並びの写真の間に空白を挿入 */
.photo-sb {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

/* 中央揃え */
.photo-c {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* 左寄せ */
.photo-flex {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

/* レスポンシブ対応用スタイル */
.photo-sb.resp > div {
	margin: 0 0 10px 0;
}
.photo-c.resp > div,
.photo-flex.resp > div {
	margin: 0 10px 10px 0;
}

/* 写真に枠を付ける場合 -- */
.photo-bd {
	background-color: #fff;
	border: 1px solid #ccc;
	padding: 5px;
	width: auto;
}

/* 要素のサイズに応じて写真を100％ */
div.photo-bd img, .resp img {
    max-width: 100%;
    width: 100%;
}

/* 写真にキャプションを付ける場合 */
.cap,
.cap-center,
.cap-full,
.cap-full-center {
	color: #666;
	display: block;
	line-height: 1.25;
	font-size: 0.857em; /*12px */
	max-width: 650px;
	width: 100%;
}
.cap-center {
	margin-top: 5px;
	text-align: center;
}
.cap {
	margin-top: 5px;
	text-align: left;
}
.cap-full {
	margin-top: 5px;
	max-width: none;
	text-align: left;
}
.cap-full-center {
	margin-top: 5px;
	max-width: none;
	text-align: center;
}
/* 分割ボックス -------------------------------------------- */
/* FLexラッパー */
.flex-left-wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.flex-left-nowrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-start;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin-bottom: 30px;
}
.flex-sb {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-sa {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-around;
	margin-bottom: 30px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
@media only screen and (max-width : 980px){
    .flex-left-wrap , .flex-left-nowrap , .flex-sb , .flex-sa {
        display: block;
    }
    .flex-left-wrap > div ,.flex-left-wrap > p ,
    .flex-left-nowrap > div , .flex-left-nowrap > p ,
    .flex-sb > div , .flex-sb > p ,
    .flex-sa >div , .flex-sa > p {
        width: 100% !important;
    }
}

/*---------------------------------------------------------------------------------------------
	ディスプレイサイズ1239px以下（タブレット）
----------------------------------------------------------------------------------------------*/
@media only screen and (max-width : 1239px){
/* -- 下層ページのヘッダIN ------------------------------ */
	/* -- Header inner -- */
	/*
	#header-in {
		max-width: none;
		padding-left: 5px;
		padding-right: 8px;
	}
	*/
/*------------------------------------------------------------
	コンテンツ部＋サイドメニュー部レイアウト
-------------------------------------------------------------*/
	/*2カラムレイアウト*/
	.main-body-in{
		max-width: none;
		padding: 0 35px 0 10px;
	}

	.main-conts{
		margin-right: -312px;
		padding-right: 312px;
	}

	.sub-conts{
		padding-left: 0;
		width: 312px;
	}	
	
}

/*---------------------------------------------------------------------------------------------
	ディスプレイサイズ1199px以下（タブレット）
----------------------------------------------------------------------------------------------*/
@media only screen and (max-width : 1199px){
/*2カラムレイアウト*/
	.main-conts{
		margin-right: -272px;
		padding-right: 272px;
	}

	.sub-conts{
		padding-left:0;
		width: 272px;
	}

	.under-head-ttl {
		left: 10px;
	}
	
/* パンくずリストの調整 */		
	ol.breadcrumbs-in {
		max-width: none;
		padding: 0 10px;
	}
	
	ol.breadcrumbs-in li {
		margin-right: 0px;
		padding-right: 10px;
	}

/*2カラムレイアウト*/
/*	
	.main-body-in{
		max-width: none;
		padding: 0 10px;
	}
*/	

/* 写真画像の配置調整 */
	.photo-sb.resp > div {
		margin: 0 auto 10px auto;
	}

	.photo-c.resp > div,
	.photo-flex.resp > div {
		margin: 0 auto 10px auto;
	}
	
}


/*--------------------------------------------------------
	ブロック・テキスト配置用共通設定
--------------------------------------------------------*/
/*文字の横位置*/
.al-l{ text-align: left; }
.al-r{ text-align: right; }
.al-c{ text-align: center; }

/*文字の縦位置*/
.vl-t{ vertical-align: top!important; }/*上寄せ*/
.vl-m{ vertical-align: middle!important; }/*中央寄せ*/
.vl-b{ vertical-align: bottom!important; }/*下寄せ*/

/*周りのブロックからの距離（margin）*/
.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px!important; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }

.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }

.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }

.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }

.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px!important; }
.m100-l{ margin-left: 100px!important; }

.m120{ margin: 120px!important; }
.m120-t{ margin-top: 120px!important; }
.m120-r{ margin-right: 120px!important; }
.m120-b{ margin-bottom: 120px!important; }
.m120-l{ margin-left: 120px!important; }

.m150{ margin: 150px!important; }
.m150-t{ margin-top: 150px!important; }
.m150-r{ margin-right: 150px!important; }
.m150-b{ margin-bottom: 150px!important; }
.m150-l{ margin-left: 150px!important; }

.m200{ margin: 200px!important; }
.m200-t{ margin-top: 200px!important; }
.m200-r{ margin-right: 200px!important; }
.m200-b{ margin-bottom: 200px!important; }
.m200-l{ margin-left: 200px!important; }

.m300{ margin: 300px!important; }
.m300-t{ margin-top: 300px!important; }
.m300-r{ margin-right: 300px!important; }
.m300-b{ margin-bottom: 300px!important; }
.m300-l{ margin-left: 300px!important; }


/*周りのブロックからの距離（padding）*/
.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }

.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }

.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }

.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }

.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }

/*フォントの装飾*/
.b{ font-weight: bold!important; }/*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/

/*フォントサイズの設定*/
.big{ font-size: 1.2em!important; }
.big2{ font-size: 1.5em!important; }
.big3{ font-size: 1.8em!important; }
.small{ font-size: 0.8em!important; }

.f08em{ font-size: 0.8em; }
.f09em{ font-size: 0.9em; }
.f10em{ font-size: 1.0em; }
.f11em{ font-size: 1.1em; }
.f12em{ font-size: 1.2em; }
.f13em{ font-size: 1.3em; }
.f14em{ font-size: 1.4em; }
.f15em{ font-size: 1.5em; }
.f16em{ font-size: 1.6em; }
.f17em{ font-size: 1.7em; }
.f18em{ font-size: 1.8em; }
.f19em{ font-size: 1.9em; }
.f20em{ font-size: 2.0em; }
.f21em{ font-size: 2.1em; }
.f22em{ font-size: 2.2em; }
.f23em{ font-size: 2.3em; }
.f24em{ font-size: 2.4em; }
.f25em{ font-size: 2.5em; }
.f26em{ font-size: 2.6em; }
.f27em{ font-size: 2.7em; }
.f28em{ font-size: 2.8em; }
.f29em{ font-size: 2.9em; }
.f30em{ font-size: 3.0em; }

.f8pt{ font-size: 8.5pt; }
.f9pt{ font-size: 9.0pt; }
.f10pt{ font-size: 10pt; }
.f11pt{ font-size: 11pt; }
.f12pt{ font-size: 12pt; }
.f13pt{ font-size: 13pt; }
.f14pt{ font-size: 14pt; }
.f15pt{ font-size: 15pt; }
.f16pt{ font-size: 16pt; }
.f17pt{ font-size: 17pt; }
.f18pt{ font-size: 18pt; }
.f19pt{ font-size: 19pt; }
.f20pt{ font-size: 20pt; }
.f21pt{ font-size: 21pt; }
.f22pt{ font-size: 22pt; }
.f23pt{ font-size: 23pt; }
.f24pt{ font-size: 24pt; }

/*フォントの色設定*/
.red{ color: #e53935!important; }/*赤*/
.blue{ color: #0000dd!important; }/*青*/
.green{ color: #4caf50!important; }/*緑*/
.yellow{ color: #ffff00!important; }/*黄*/
.navy{ color: #3f51b5!important; }/*紺*/
.orange{ color: #ff9800!important; }/*橙*/
.pink{ color: #ec407a!important; }/*ピンク*/
.purple{ color: #9c27b0!important; }/*紫*/
.olive{ color: #808000!important; }/*オリーブ*/
.lime{ color: #00ff00!important; }/*黄緑*/
.aqua{ color: #00bcd4!important; }/*水色*/
.black{ color: #000!important; }/*黒*/
.gray{ color: #ccc!important; }/*灰*/
.white{ color: #fff!important; }/*白*/
.brown{ color: #6d4c33!important; }/*茶*/

/*マーカー表示（背景に着色）*/
.box-yellow,
.box-orange,
.box-pink,
.box-lime,
.box-gray{ padding: 2px; }

.box-yellow{ background-color: #ff6; }/*黄*/
.box-orange{ background-color: #f90; }/*橙*/
.box-pink{ background-color: #ffccff; }/*ピンク*/
.box-lime{ background-color: #9f9; }/*黄緑*/
.box-gray{ background-color: #ccc; }/*灰*/


/*行間の設定*/
.lh10{ line-height: 1.0!important; }
.lh11{ line-height: 1.1!important; }
.lh12{ line-height: 1.2!important; }
.lh13{ line-height: 1.3!important; }
.lh14{ line-height: 1.4!important; }
.lh15{ line-height: 1.5!important; }
.lh16{ line-height: 1.6!important; }
.lh17{ line-height: 1.7!important; }
.lh18{ line-height: 1.8!important; }
.lh19{ line-height: 1.9!important; }
.lh20{ line-height: 2.0!important; }

/*横幅を指定*/
.w05{ width: 5%; }
.w10{ width: 10%; }
.w12{ width: 12%; }
.w15{ width: 15%; }
.w20{ width: 20%; }
.w25{ width: 25%; }
.w30{ width: 30%; }
.w33{ width: 33.33%; }
.w35{ width: 35%; }
.w40{ width: 40%; }
.w45{ width: 45%; }
.w48{ width: 48%; }
.w50{ width: 50%; }
.w55{ width: 55%; }
.w60{ width: 60%; }
.w65{ width: 65%; }
.w70{ width: 70%; }
.w75{ width: 75%; }
.w80{ width: 80%; }
.w85{ width: 85%; }
.w90{ width: 90%; }
.w95{ width: 95%; }
.w100{ width: 100%; }

/*汎用Flex指定*/
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/*SP表示で画像横サイズを100%へ*/
@media only screen and (max-width : 767px){
img.sp_img{ width: 100% !important; }
}