@charset "utf-8";

/* CSS Document */



@import "lower.css";


#navi{
	margin-bottom:65% ;
}


.clust{
	padding-right:30px ;
	width:570px ;


	
}

/*署名（複数行）------------------------------------*/

.info-sign{
	width: 175px;
	margin-left: auto;
	margin-right: 0;

}
/*署名-(1行）------------------------------------*/
.sign{
	text-align:right ;
	margin-top:20px ;
}

.AncPageTop{
	text-align: right;
	margin-top: 1em;
	margin-bottom: 1em;
}

/*header_topics----------------------------------------------*/



h3{
	display:block ;
	width:90% ;
	margin:10px auto ;
	font-weight:bold ;
	border-bottom:solid 1px ;
	text-align:center ;
}

#header_topics{
	background:url(../i/header_Info.jpg) no-repeat right top ;

}



#header_topics_inner{

	background:url(../lineup/i/header_mog.jpg) no-repeat ;

}


/*見出しカギカッコ----------------------------------------------*/
.heading-kagi {
  position: relative;
  display: inline-block;
  padding: 2px 10px;
  color: #666;
  font-weight: bold;
  text-indent: 5px;
}

.heading-kagi::before,
.heading-kagi::after {
  content: '';
  position: absolute;
  top: 0;
  width: 10px;
  height: 100%;
  border-top: 3px solid #ccc;
  border-bottom: 3px solid #ccc;
}
.heading-kagi::before {
  left: 0;
  border-left: 3px solid #ccc;
}
.heading-kagi::after {
  right: 0;
  border-right: 3px solid #ccc;
}
/*見出しカギカッコ----------------------------------------------*/

/*h4見出し------------------------------------------------------*/
h4 {
	font-size: 120%;
	margin-top: 2em;
	margin-bottom: 2em;
 	position: relative;
	padding-bottom: 6px;
}

h4:after {
	position: absolute;
	content: " ";
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px; /* 線の太さ */
  
  /* 
    【背景パターンの構造】
    1. 左側30%までを「#666」の直線にする
    2. 境界面を「-45deg」で斜めにカットする
    3. 右側を「-45deg」の「#ccc」斜線（ストライプ）パターンにする
  */
  background: 
    /* 左側：#666のソリッド色（右側は透明にして下のストライプを透過） */
    linear-gradient(135deg, #aaa 0%, #aaa calc(30% - 4px), transparent calc(30% + 4px)),
    /* 右側：#cccの斜線（ストライプ）パターン */
    repeating-linear-gradient(-45deg, #ccc, #ccc 2px, transparent 1px, transparent 3px);
}
/*h4見出し------------------------------------------------------*/

/*pointデザイン------------------------------------------------------*/
.point {
    position: relative;
    padding: 1em;
    margin: 2em 0;
    border: solid 3px #ccc;
    border-radius: 8px;
}

.point .point_title {
    position: absolute;
    top: -10px;
    left: 10px;
    padding: 0 10px;
    line-height: 1;
    font-size: 110%;
    background: #ffffff;
    color: #777;
    font-weight: bold;
	width: auto;
}
.point p{
	margin: 0;
	padding: 0;
	text-indent: 0;
}
/*pointデザイン------------------------------------------------------*/


div #credit{
	padding:20px 0 ;
	text-align:left ;
}


#credit-inner{
	width:90% ;
	margin:0 auto ;
	border:solid 1px #ccc ;
	padding:20px;
	font-size:14px ;
	line-height:200% ;
}

.tel{
	width:300px ;
	color:#F00 ;
	border:solid 1px #F00 ;
	padding-left:5px ;
	margin:20px auto ;
}

.emergency-contact{
	width:500px ;
	font-weight:normal;
	border:solid 1px #F00 ;
	padding-left:5px ;
	margin:5px 20px auto ;
}

.emergency-contact h4{
	font-weight:bold;
}

.emergency-contact strong{
	color:#f00;
	font-size:1.5em;
}

.attention{
	width:90% ;
	color:#F00 ;
	border:solid 1px #F00 ;
	padding-left:1.5em ;
	margin:20px auto ;
}

.headline p{
	text-indent:1em ;
}

p.notindent{
	text-indent: 0;
}

span{
	display:block ;
	width:100% ;

}

ul{
	width:90% ;
}
.centering{
	text-align: center ;
}

#navi001{
	padding-top:1px ;
}


.text98{
	font-size:98% ;
}

.text95{
	font-size:95% ;

}
.width90{
	width:90% ;
	margin:10px auto;
}


dl{
	display:block;
	width:350px;
	margin: 20px auto;
	padding:0;
	font-weight:normal;
	font-size:95%;
}

dt,
dd{
	width:250px ;
	display:block;
	float:right;
	margin:0;
	padding:0;
}

.ddimg{
	display:block;
	width:90px;
	float:left;
	margin:0;
	padding:0;
}

.text_s{
	text-align:right;
}



/*table-------------------------------------*/

/*table-------------------------------------*/

table{
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0;
    width: 100%;
	text-align: left;
	margin: 2em auto;
}

.zebra td, .zebra th {
    padding: 10px;
    border-bottom: 1px solid #f5f5f5;    
}

.zebra tbody tr:nth-child(even) {
    background: #efefef;
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; 
    -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;  
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;        
}

.zebra th {
	font-weight: normal;
    text-align: left;
    text-shadow: 0 1px 0 rgba(255,255,255,.5); 
    border-bottom: 1px solid #ccc;
    background-color: #eee;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#f0efef), to(#e0e0e0));
    background-image: -webkit-linear-gradient(top, #f0efef, #e0e0e0);
    background-image:    -moz-linear-gradient(top, #f0efef, #e0e0e0);
    background-image:     -ms-linear-gradient(top, #f0efef, #e0e0e0);
    background-image:      -o-linear-gradient(top, #f0efef, #e0e0e0); 
    background-image:         linear-gradient(top, #f0efef, #e0e0e0);
}

.zebra th:first-child {
    -moz-border-radius: 6px 0 0 0;
    -webkit-border-radius: 6px 0 0 0;
    border-radius: 6px 0 0 0;  
}

.zebra th:last-child {
    -moz-border-radius: 0 6px 0 0;
    -webkit-border-radius: 0 6px 0 0;
    border-radius: 0 6px 0 0;
}

.zebra th:only-child{
    -moz-border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    border-radius: 6px 6px 0 0;
}

.zebra tfoot td {
    border-bottom: 0;
    border-top: 1px solid #fff;
    /*background-color: #f1f1f1;*/  
}

.zebra tfoot td:first-child {
    -moz-border-radius: 0 0 0 6px;
    -webkit-border-radius: 0 0 0 6px;
    border-radius: 0 0 0 6px;
}

.zebra tfoot td:last-child {
    -moz-border-radius: 0 0 6px 0;
    -webkit-border-radius: 0 0 6px 0;
    border-radius: 0 0 6px 0;
}

.zebra tfoot td:only-child{
    -moz-border-radius: 0 0 6px 6px;
    -webkit-border-radius: 0 0 6px 6px;
    border-radius: 0 0 6px 6px;
}
/*記の内容-------------------------------------*/

div.ki > .centering{
	padding-top: 2em;
	padding-bottom: 2em;
}

div.ki dl{
	display: flex;
	flex-wrap: wrap;
	width:95%;
	margin: 20px auto;
	padding:0;
	font-weight:normal;
	font-size:95%;
	margin: 2em auto;
}

div.ki dt, div.ki dd{
	padding: 5px;
    border-bottom: 1px solid #f5f5f5; 
}
div.ki dt{
	width: 140px;
}

div.ki dd{
	width: 353px;
}

div.ki dd::before{
	content: ":";
	display: inline-block;
	text-indent: -10px;	
}

.haiiro{
    background: #efefef;      
}

/*記の内容-------------------------------------*/

/*画像横並び指定-------------------------------------*/
.comparison-set-ex{
	display: flex;
	gap: 20px;
	justify-content: center;
	margin: 2rem 0;
}
.comparison-set-ex .before, .comparison-set-ex .after {
	flex: 1;
	min-width: 200px;
}
.comparison-set-ex img{
	width: 100%;
	height: auto;
	display: block;
}
/*画像横並び指定------------------------------------*/


/*フローチャート-----------------------------------*/
/* リスト全体のスタイル（初期のドットや余白をリセット） */
.step-list {
  list-style: none;
  padding: 0;
  margin: 2em auto;
  display: flex;
  flex-direction: column;
  gap: 40px; /* ステップごとの縦の隙間 */
}

/* 各ステップの並び（横並び） */
.step-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px; /* アイコンとテキストの隙間 */
}

/* 1番目と2番目のステップの下に、次のステップへ続く「下向き矢印」を自動で表示 */
.step-item:not(:last-child)::after {
  content: "↓";
  position: absolute;
  bottom: -30px; /* 矢印の位置調整 */
  left: 250px;    /* アイコンの中心付近に合わせる（アイコン幅40pxの半分の位置） */
  color: #aaaaaa;
  font-size: 20px;
}

/* アイコンを囲う枠（サイズを固定して潰れを防ぐ） */
.step-icon-wrap {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* アイコン画像自体 */
.step-icon {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* テキスト全体のエリア */
.step-content {
  flex-grow: 1;
}

/* ステップの見出し（1. お問い合わせ など） */
.step-title {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}

/* ステップの説明文 */
.step-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #666666;
}
/*フローチャート-----------------------------------*/
/*お問い合わせ先その２（アイコンあり）-----------------------------------*/


/* 2つの窓口全体を囲うコンテナ（縦に2つ並べる） */
.contact-channels {
  display: flex;
  flex-direction: column;
  gap: 20px; /* ボックス同士の隙間 */
  margin: 2em 0;
}

/* 四角い囲み枠（ボックス） */
.contact-box {
  display: flex;
  align-items: flex-start; /* アイコンを上揃えにする */
  gap: 20px;               /* アイコンとテキストの間の隙間 */
  padding: 24px;          /* 枠内の余白 */
  border: solid 2px #dddddd; /* 落ち着いたグレーの枠線 */
  border-radius: 6px;     /* 緩やかな角丸 */
  background-color: #ffffff;
}

/* アイコンを囲う枠（潰れを完全に防ぐ） */
.contact-icon-wrap {
  width: 48px;  /* アイコンの表示サイズ */
  height: 48px;
  flex-shrink: 0; /* 枠のつぶれ防止 */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* アイコン画像自体 */
.contact-icon {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* 右側の情報エリア */
.contact-content {
  flex-grow: 1;
}

/* 窓口のタイトル（お電話での〜 など） */
.contact-title {
	margin: 0 0 8px 0;
	font-size: 18px;
	font-weight: bold;
	color: #333333;
	display:block ;
	width:90% ;
	font-weight:bold ;
	border-bottom:solid 1px ;
}

/* 説明文 */
.contact-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #555555;
}

/* 強調したい電話番号 */
.phone-number {
  font-size: 20px;
  font-weight: bold;
  color: #333333;
}

/* フォームへのリンクボタン（必要であれば） */
.contact-btn {
  display: table;
  margin: 16px 100px 0 auto;
  padding: 10px 32px;
  background-color: #888; /* 落ち着いたグレーのボタン（ブランド色に変えてもOK） */
  color: #fff !important;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.contact-btn:hover {
  background-color: #666; /* ホバー時に少し暗くする */
}
