/* CSS interspace202501 */
/* リセットCSS */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:bottom;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:bottom;
    background:transparent;
    text-decoration: none;
}
ins {
    background-color:#fff;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#fff;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;   
    margin:12px 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

*, *:before, *:after {
box-sizing: border-box;
}


/* /////////////////////////////////////////////////////////////// */


/* PCでは表示しない */
@media print, screen and (min-width: 760px) {
	.pc_hiddin {
		visibility: hidden;
		height: 0px;
		width:  0px;
		overflow:hidden;
		display: block;
	}
}

/* スマートフォンでは表示しない
@media screen and (min-width: 480px) and (max-width: 980px) {
	.smp_hiddin {
		visibility: hidden;
		height: 0px;
		width:  0px;
		overflow:hidden;
		display: block;
	}
}
 */

/* 小解像度スマートフォンでは表示しない */
@media screen and (min-width: 0px) and (max-width: 760px) {
	.smp_hiddin {
		visibility: hidden;
		height: 0px;
		width:  0px;
		overflow:hidden;
		display: block;
	}
}


/* イメージのphoto枠 写真風 */
.photo_frame {
	padding: 8px;
	background-color: #FFFFFF;
	box-shadow: 0 1px 8px -4px rgba(0, 0, 0, 0.7);
}


/* box内左右外寄せ */
/* 参考：http://the-zombis.sakura.ne.jp/wp/?p=1564 */

div.box-left {
	text-align: left;
	float: left;
}
div.box-right {
	text-align: right;
}


/* 画像の横のテキストを上下中央に */
/* 参考：http://javascript123.seesaa.net/article/152616392.html */
/* <div class="txt-valign"><img src="/image/a046btn.gif"><span>横のテキスト</span></div> */

.txt-valign *{
  vertical-align : middle;
   }



/* お知らせ：分類と日付つき */
/* <div class="news_list"><ul><li><span class="category">カテゴリ</span><span class="date">9999.99.99</span><span class="news_text"><a href="#">内容</a></span></li></ul></div> */

.news_list {
	margin: 0;
	border-top: 3px dotted #e3e0dd;
}
.news_list li {
	padding: 6px 0 6px 0;
	border-bottom: 3px dotted #e3e0dd;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1.4;
}
.news_list .date {
	display: inline-block;
	width: 4rem;
	padding: 0 0 0 0;
	font-size: 0.8rem;
	color: #b6a89c;
	line-height: 1.6;
}
.news_list .category {
	display: inline-block;
	font-size: 0.7rem;
	color: #ffffff;
	width: 58px;
	line-height: 1;
	border-radius:5px;
	text-align: center;
	margin: 0 10px 2px 0;
	padding: 4px 3px 3px 3px;
}

.news_list .info {
	background-color: #f9c909;
	color: #fe0303;
}
.news_list .keihan {
	background-color: #008170;
}
.news_list .nankai {
	background-color: #e72420;
}
.news_list .hanshin {
	background-color: #dd5b2f;
}
.news_list .kintetsu {
	background-color: #0093d5;
}
.news_list .hankyu {
	background-color: #6f1a4c;
}

@media screen and (max-width: 760px) {
.news_list a {
	display: block;
	margin-top: 7px;
	text-overflow: ellipsis;
	overflow: hidden;
	}
}

.news_list a:link { color: #837061; text-decoration: none; }
.news_list a:visited { color: #837061; text-decoration: none; }
.news_list a:active { color: #e8340c; text-decoration: none; }
.news_list a:hover { color: #e8340c; text-decoration: none; }





/* 2行目以降の行頭をインデント */
.kome {
	padding-left: 1em;
	text-indent: -1em;
}
.kome2 {
	padding-left: 2em;
	text-indent: -2em;
}


/****　単行・複数行 均等配分 http://coliss.com/articles/build-websites/operation/css/css3-flexbox-properties-by-scotch.html
<ul class="flex flex-list flex-box">
<li></li>
<li></li>
</ul>
	.flex-box li {
		width:49%;
		margin:0 2% 20px 0;
	}
	.flex-box li:nth-child(2n) {
		margin:0 0 20px 0;
	}

	.flex-box li {
		width:32%;
		margin: 0 2% 20px 0;
	}
	.flex-box li:nth-child(3n) {
		margin:0 0 20px 0;
	}

	.flex-box li {
		width:19%;
		margin: 0 1.25% 15px 0;
	}
	.flex-box li:nth-child(5n) {
		margin:0 0 15px 0;
	}
*****/

/*　全体設定　*/
.flex {
	display: flex;
}

.flex img {
	width: 100%;
}

/*　複数左寄せ　*/
.flex-list {
	width: 100%;
	flex-wrap: wrap; /* 複数行折り返し */
}
/*　横いっぱい一列表示　*/
.flex-list-flat {
	width: 100%;
	justify-content: space-between; /* 先頭と後尾は両端。残りは等間隔 */
}
/*　センター寄せ一列表示　*/
.flex-list-center {
	justify-content: center; /* センター寄せ一列表示 */
}


/****　画像トリミング*****/
.trimming img {
	object-fit: cover;
	width: 100%;
	height: 200px;
    }



/****　地図（マイマップ）装飾　*****/
.mymap {
    overflow: hidden;
	border: 1px solid #dbd8d1;
	box-shadow: 0px 0px 7px #d3cfcb;
	border-radius: 10px;
}

.mymap iframe {
    margin-top: -67px; /* マイマップの上のバーが出る場合 */
    margin-left: -2px;
}
/* 装飾(ほんのりグレースール→マウスオーバーでゆっくり普通)
.mymap iframe,
.mymap object,
.mymap embed {
	filter: grayscale(60%);
	transition: all  0.7s ease;
}
.mymap iframe:hover,
.mymap object:hover,
.mymap embed:hover {
	filter: grayscale(0%);
}
 */

/**** 埋め込みYoutubeレスポンシブ ****/
/* 参考：https://design.webclips.jp/youtube-movie-size/ */
/* <div style="max-width: 500px; margin: 0 auto;"><div class="movie-wrap"><iframe></iframe></div></div> */
/* ↑PC表示の際の最大値を外側のDIVで決める↑ */

.movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
 
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border-radius:10px;
}



/* リンク設定*********************************************/



/* PCでは電話をかけない<a href="tel:00000000000">000-0000-0000</a> */
@media (min-width: 751px){
		a[href*="tel:"]{
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/* マウスオーバーで左からラインが出る */
.line_link {
	margin: 0;
	padding: 0;
	position: relative;
	display: inline-block;
	transition: .3s;
	line-height: 1.5;
}
.line_link::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	background-color: #c0c0c0;
	transition: .3s;
}
.line_link:hover::after {
	width: 100%;
}



/* 外部リンク自動添付：アイコンフォント
a[target="_blank"]:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f35d';
	font-size: 1em;
	margin: 0 5px 0 5px;
	color: #787878;
	font-weight : 900;
} */


/* 外部リンク用：アイコンフォント */
.newW:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f35d';
	font-size: 1em;
	margin: 0 5px 0 5px;
	color: #87878;
	font-weight : 900;
}

/* PDF用：アイコンフォント */
.pdf:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f1c1';
	font-size: 1em;
	margin: 0 5px 0 5px;
	color: #d31e28;
	font-weight : 900;
}

/* 頭に矢印：アイコンフォント */
.ya:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f105';
	font-size: 1em;
	margin: 0 0.3em 0 0;
	/* color: #2f95bb; */
	font-weight : 900;
}
.ya {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

/* 頭に●印チェックマーク：アイコンフォント */
.maru:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f058';
	font-size: 1em;
	margin: 0 0.3em 0 0;
	color: #ab9b8d;
	font-weight : 900;
}
.maru {
	text-indent: -1.3em;
	padding-left: 1.3em;
}


/* 後ろに矢印：アイコンフォント */
.ya_migi:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f101';
	font-size: 1em;
	margin: 0 0 0 5px;
	/* color: #2f95bb; */
	font-weight : 900;
}





/* 背景画像マウスオーバーhttp://webfeelfree.com/mouseover-css-hover/ <a href="#" class="haikei">ボタン</a> */
.haikei{
	background-size:100% auto;/*この場合は高さが自動設定*/
	background-size:auto 100%;/*この場合は幅が自動設定*/
	background: url(デフォルトで表示させたい背景画像のURL) no-repeat;
}
.haikei:hover{
	background: url(マウスオーバーした時に表示させたい背景画像のURL) no-repeat;
}


/* マウスオーバーしたら拡大 */
.transform a {
	display:block; 
	position:relative;
	text-decoration:none;
	overflow:hidden;
	border-radius:7px 7px 0 0 ;/*角丸がない場合は削除*/
}
.transform a:before{
	content:"";
	display:block;
	padding-top: 90%;/*ここには横幅に対して縦が何%になるかを記述。10:9は90%4:3は75%、16:9は56.25%*/
}
.transform a img{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	transition:0.5s;
	display:block;
	width:100%;
}
.transform a:hover img{
	transform:scale(1.1);
}


/* マウスオーバーしたらマスク＋キャプション */
.transform1 li {
	display: block;
	position:relative;	/* 相対位置指定 */
	overflow:hidden;
}
.transform1 li .caption {
	position:absolute;	/* 絶対位置指定 */
	bottom:0;
	left:0;
	opacity:0;	/* マスクを表示しない */
	width: 100%;
	padding:0 0 10px 10px;
	color:#fff;
}
.transform1 li:hover .caption {
	opacity:1;	/* マスクを表示する */
}


/* マウスオーバーしたらグレーからカラーへ */
.transform2 img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.transform2 :hover img {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
	filter: alpha(opacity=80);
	opacity:0.8;
}

/* マウスオーバーしたら色つき */
.transform3 a {
	display: block;
	background: #0f96b3;
	margin: 0;
	padding: 0;
}

.transform3 :hover img {
	filter: alpha(opacity=70);
	opacity:0.7;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}





/* 角丸リンクボタン */
a.link_btn {
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	padding: 9px 15px 11px 15px;
	color: #ffffff;
	background-color: #c85558;
	border-radius: 7px; /*  */
	margin: 20px 10px 20px 10px;
}
a.link_btn:link {
	color: #ffffff;
}
a.link_btn:visited {
	color: #ffffff;
}
a.link_btn:active {
	color: #ffffff;
	background-color:#f81414;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}
a.link_btn:hover {
	color: #ffffff;
	background-color:#f81414;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}

/* 角丸リンクボタン2（リンク準備中） */
.link_btn2 {
	font-weight: normal;
	text-decoration:none;
	display:inline-block;
	text-align:center;
	padding:5px 15px 3px 15px;
	color: #c8c8c8;
	background-color:#8f8f8f;
	border-radius:7px;
	margin: 5px;
	cursor: default
}

/* 
.link_btn2:link {
	color: #a7a7a7;
}
.link_btn2:visited {
	color: #a7a7a7;
}
.link_btn2:active {
	color: #a7a7a7;
	background-color:#afafaf;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}
.link_btn2:hover {
	color: #a7a7a7;
	background-color:#afafaf;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}

/* 角丸リンクボタン3（モノクロモード） */
a.link_btn3 {
	font-weight: normal;
	text-decoration:none;
	display:inline-block;
	text-align:center;
	padding:3px 15px 3px 15px;
	color: #a09896;
	background-color:#675f5c;
	border-radius:7px; /*  */
	margin: 0;
}
a.link_btn3:link {
	color: #a09896;
}
a.link_btn3:visited {
	color: #a09896;
}
a.link_btn3:active {
	color: #ffffff;
	background-color:#978d8a;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}
a.link_btn3:hover {
	color: #ffffff;
	background-color:#978d8a;
	/* filter: alpha(opacity=50); */
	/* opacity:0.5; */
}


/* 画像リンク：フチつき */
a.img-colorlink:link img {
	padding: 3px;
	border-top: solid #6c9829 1px;
	border-right: solid #6c9829 1px;
	border-bottom: solid #6c9829 1px;
	border-left: solid #6c9829 1px;
	background-color: #ffffff;
}
a.img-colorlink:visited img {
	padding: 3px;
	border-top: solid #6c9829 1px;
	border-right: solid #6c9829 1px;
	border-bottom: solid #6c9829 1px;
	border-left: solid #6c9829 1px;
	background-color: #ffffff;
}
a.img-colorlink:active img {
	padding: 3px;
	border-top: solid #99ce4a 1px;
	border-right: solid #99ce4a 1px;
	border-bottom: solid #99ce4a 1px;
	border-left: solid #99ce4a 1px;
	filter: alpha(opacity=80);
	opacity:0.8;
}
a.img-colorlink:hover img {
	padding: 3px;
	border-top: solid #99ce4a 1px;
	border-right: solid #99ce4a 1px;
	border-bottom: solid #99ce4a 1px;
	border-left: solid #99ce4a 1px;
	filter: alpha(opacity=80);
	opacity:0.8;
}



/* 位置指定*********************************************/

.left {
	text-align: left;
}

.right {
	text-align: right;
}


.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.kinto {
	text-align: justify; /* 両端揃え */
	text-justify: inter-ideograph; /* 両端揃えの種類 */
}

/* 回り込みクリア */
.clear {
	clear: both;
	width: 0;
	height: 0;
	text-indent: -1500px;
	visibility: hidden;
	overflow:hidden;
}




/* line設定*********************************************/
hr {
	width: 100%;
	border-top: solid #d9cfc7 1px;
}

.white {
	border-top: solid #ffffff 1px;
}

.dot {
	border-top: dotted #d9cfc7 3px;
}

/* 表*********************************************/

table { 
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	/* border-top: solid #d9d3ce 1px; 表の上にも線を入れる場合 */
	background-color: #ede8e2;
	border-radius: 10px;
}

/* 表の上の線を入れる場合 */
.table-line { 
	border-top: solid #d9d3ce 1px;
}


.table-auto { 
	width: auto;
	margin-left: auto;
	margin-right: auto;
}


th {
	text-align: center;
	vertical-align: middle;
	/* color: #ffffff; */
	font-weight: normal;
	white-space: nowrap;
	border-right: solid #d9d3ce 1px; /* 線を入れる場合 */
	border-bottom: solid #f5f4f2 1px; /* 線を入れる場合 */
	padding: 8px 15px 8px 15px;
	background-color: #D9CFC7;
}

table tr:first-child th {
	border-radius: 10px 0 0 0; /* 一番上だけ角丸 */
}
table tr:last-child th {
	border-radius: 0 0 0 10px; /* 一番下だけ角丸 */
}

table tr:last-child th {
	border-bottom: none; /* 一番下だけ線を入れない */
}



td {
	text-align: left;
	vertical-align: top;
	border-bottom: solid #d9d3ce 1px; /* 一番下だけ線を入れない */
	padding: 8px 15px 8px 15px;
}

table tr:last-child td  {
	border-bottom: none; /* 一番下だけ線を入れない */
	padding: 8px 15px 15px 15px;
}


.td-center {
	text-align: center;
	vertical-align: middle;
}

.td-dark {
	white-space: nowrap;
	color: #776b62;
	background: #e7e4e0;
}

.nowrap {
	white-space: nowrap;
}

/* 透明テーブル */
table .table_noline { 
	border: 0;
}
.table_noline th { 
	background-color: transparent;
	border: 0;
}
.table_noline td { 
	background-color: transparent;
	border: 0;
}


/* 入力フォーム*********************************************/

/* postmailプログラムのエラーメッセージの色 */
.msg {
	color: #bd4f4e;
}

.input_txt {
	color: #837061;
	width: 100%;
	border: solid #c7c2b6 1px;
	background-color:#ffffff;
	padding: 3px;
	font-size: 1.1rem;
}

.input_txt_free {
	color: #837061;
	width: auto;
	max-width: 100%;
	border: solid #c7c2b6 1px;
	background-color:#ffffff;
	padding: 3px;
	font-size: 1.1rem;
}

textarea {
	color: #837061;
	width: 100%;
	border: solid #c7c2b6 1px;
	background-color:#ffffff;
	height: 80px;
	margin-top: 3px;
	margin-bottom: 3px;
	overflow-x: hidden;
	font-size: 1.1rem;
}

select { 
	color: #837061;
	width: 100%;
	padding: 3px;
	border: solid #c7c2b6 1px;
	background-color:#ffffff;
	font-size: 1.1rem;
}

date { 
	color: #837061;
	color: #837061;
	padding: 3px;
	border: solid #c7c2b6 1px;
	background-color:#ffffff;
	font-size: 1.1rem;
}

form input[type=radio], input[type=checkbox]{ 
	color: #837061;
	font-size: 1.1rem;
	margin: 0;
	padding: 5px;
	background-color:#ffffff;
	border: 0;
}

form input[type=radio]{ 
	-webkit-appearance: radio-button;
	-moz-appearance: radio-buttonl;
	appearance: radio-button;
}

form input[type=checkbox]{ 
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
	outline: solid #c7c2b6 1px;
}

form input[type=date]{ 
	-webkit-appearance:button;
	-moz-appearance: button;
	appearance: button;
	outline: solid #c7c2b6 1px;
}

/* 角丸テキストボタン <button type="submit" class="form_btn" value="送信内容を確認">送信内容を確認</button><input type="button" class="form_btn" value="そだついえ。ホーム" onClick="location.href='http://www.sodatsu-ie.jp/'"><input type="button" class="form_btn" value="前のページに戻る" onClick="history.go(-1);"> */

.form_btn {
	cursor: pointer;
	/*  width: 100%; */
	font-size: 1rem;
	font-weight: normal;
	padding: 12px 20px 10px 20px;
	margin: 10px 0px 10px 0px;
	background-color:#be4f4e;
	border-radius:7px;
	color: #ffffff;
	border-style: none;
}
.form_btn:link {
	text-decoration: none;
	color: #ffffff;
	background-color:#be4f4e;
}
.form_btn:hover {
	color: #ffffff;
	background-color: #f81414;
	transition: 0.3s ease-in-out;
}
.form_btn:active {
	color: #ffffff;
	background-color: #f81414;
}
.form_btn:visited {
	color: #ffffff;
	background-color:#be4f4e;
}

input:focus, select:focus, checkbox:focus, textarea:focus {
background-color: #ffd9d9;
}