﻿.clearfix:after {content:".";
 display:block; 
clear:both;
 height:0;
 visibility:hidden;
}


body {font-size:19px;

}


#scroll-to-top-btn{
	position: fixed;
	bottom: 10px;
	right: 10px;
	height: 50px;
	width: 50px;
	color: #FFF;
	font-size: 32px;
	background-color: #9E9E9E;
	border: none;
	border-radius: 50%;
	outline: none;
	transform: rotate(-90deg);
}



.clearfix 		{ min-height:1px;}

/*++++++++++++++++ font styles ++++++++++++++++*/


#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 10px;
  bottom: 0;
  opacity: 0;
  transition: all 1s ease;
}
#page_top.show {
    opacity: 0.6;
    transform: none;
 }
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 30px;
  color: #A12568;
  position: absolute;
  width: 30px;
  height: 30px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'TOP';
  font-size: 18px;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #A12568;
}



.r{color:#F00;margin-bottom:20px; font-size:20px;}
.blue{color:blue;margin-bottom:10px; font-size:18px;}
.r-mid{color:#F0000FF;margin-bottom:10px; font-size:22px;}
.r-big{color:#F00;margin-bottom:10px; font-size:24px;}


.o{color:#C60;font-weight:bold;}
.ob{color:#C60;font-weight:bold;font-size:20px}
.onb{color:#C60;}

.underline{text-decoration: underline;}
.gr{color:#096;}

.bl{color:#03C;
font-size: 20px;
}

.red-space{color:red;margin-top:20px;}
.gl{color:#666;}

.min{font-size:10px !important;}
.big{font-size:18px !important;}

.sbig{
font-size: 28px;
font-weight: bold;
}

.sbig-blue{
font-size: 24px;
font-weight: bold;
color: blue;
}

p.midashi{font-weight:bold;
font-size:26px;
color:#F00;
text-align: left}



.marker-red3 {
background: linear-gradient(transparent 90%, #ff0000 0%);
font-size: 22px;
}



p{padding:5px 0 5px 0;}

.r-waku {
color: black;
border: 2px dotted #ff0000;
}



.bubble5 {
     position: relative;
     display: inline-block;
     width: 350px; 
     text-align: center;
     color:#FFF;
     padding: 25px;
     background-color: #f39800;
     border-radius: 5px;

}
.bubble5:before {
     content: '';
     position: absolute;
     display: block;
     z-index: 1;
     border-style: solid;
     border-color: #f39800 transparent;
     border-width: 20px 10px 0 10px;
     bottom: -20px;
     left: 50%;
     margin-left: -10px;
font-size: 22px;

}




.balloon2 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
}

.balloon2:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

.balloon2:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #555;
  z-index: 1;
}

.balloon2 p {
  margin: 0;
  padding: 0;
}











.box3 {
    position: relative;
    margin: 2em 0 2em 40px;
    padding: 8px 15px;
    background: #fff0c6;
    border-radius: 30px;
}
.box3:before{font-family: FontAwesome;
    content: "\f111";
    position: absolute;
    font-size: 15px;
    left: -40px;
    bottom: 0;
    color: #fff0c6;
}
.box3:after{
    font-family: FontAwesome;
    content: "\f111";
    position: absolute;
    font-size: 23px;
    left: -23px;
    bottom: 0;
    color: #fff0c6;
}
.box3 p {
    margin: 0; 
    padding: 0;
}







/* 点滅 */ 



.blinking{ 


    -webkit-animation:blink 1s ease-in-out infinite alternate; 

    -moz-animation:blink 1s ease-in-out infinite alternate; 

    animation:blink 1s ease-in-out infinite alternate; 

} 



@-webkit-keyframes blink{ 


    0% {opacity:0;} 

    100% {opacity:1;} 

} 


@-moz-keyframes blink{ 

    0% {opacity:0;} 

    100% {opacity:1;} 

} 



@keyframes blink{ 

    0% {opacity:0;} 

    100% {opacity:1;} 
}

 

h2.waku{
	
    background-size: 100% auto;
background-color: #fffacd;
    height: auto;
    margin: 1.6% 4%;
    padding: 1.2% 6%;
    color: #000;
    font-size: 20px;
}

hr.style-a {
    height: 30px;
    border-style: dotted;
    border-color: black;
    border-width: 3px 0 0 0;
       border-right:10px;
}

hr.style-b {
    height: 30px;
    border-style: dotted;
    border-color: green;
    border-width: 3px 0 0 0;
       border-right:10px;
    
}


hr.style-d {
    height: 30px;
    border-style: solid;
    border-color: black;
    border-width: 1px 0 0 0;
    border-radius: 20px;
}



span.r{padding-right:5px;
font-size: 19px;
    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #ff0000; padding-left:5px; }



span.red{padding-right:5px;
font-size: 19px;
    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #ff0000; padding-left:5px; }



span.b{padding-right:5px;
   font-size:16px;
    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #0000ff; padding-left:5px; }

span.g{padding-right:5px;

    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #008000; padding-left:5px; }

span.m{padding-right:5px;

    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #800000; padding-left:5px; }



span.go{padding-right:5px;

      color:#069;    
   text-decoration:none;  
    border-left:solid 3px #daa520; padding-left:5px; }



span.pu{padding-right:5px;

    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #800080; padding-left:5px; }

span.pi{padding-right:5px;

    color:#069;  
   text-decoration:none;  
    border-left:solid 3px #ff69b4; padding-left:5px; }




/*++++++++++++++++ page styles ++++++++++++++++*/
body{font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; overflow:auto;}
#mainContents{padding:15px 0 0 0; width:1000px; margin:0 auto; }

/*++++++++++++++++ header styles ++++++++++++++++*/
header .top{height:22px; overflow:hidden; background:#000000;}
	h1{font-size:14px; float:left; color:#FFF; padding-left:0.6em;}
	.sitemap{font-size:12.5px; float:right; color:#FFF; padding-right:1.6em; text-decoration:none;}
	.sitemap:hover{text-decoration:underline;}



header .middle div{height:80px; overflow:hidden; border-bottom:2px solid #630;}
header .middle p{height: 390px;width:1020px; margin:0 auto;padding-left:30px;}

.logo{float:left; padding:8px 0 0 80px;}
.contact{
	float:right;
	padding:12px 10px 0 3;
	text-align:right;
	font-size:14px;
	line-height:24px;
	color:#999;
	font-weight:bold;
	text-shadow:1px 1px 2px #EEE;
	text-decoration:none;
	
	behavior: url(PIE/PIE.htc);
}
.contact span{font-size:32px;}





.navi{border-top:1px solid #630; border-bottom:1px solid #630; background:#008000;
}
.navi ul{width:1020px; margin:0 auto; border-right:0px solid #ffffff; border-left:-2px solid #ffffff;}
.navi li{float:left; width:16.5%;}
.navi li a{
	display:block;
	padding:12px 0px 11px 0;
	text-align:center;
	
	font-size:16px;
	color:#FFF;
	font-weight:bold;
	text-decoration:none;
	letter-spacing:2px;
	
	
	
	border-left:1px solid #ffffff;
	border-right:1px solid #ffffff;
	
	behavior: url(PIE/PIE.htc);
}
.navi li a:hover{background:#adff2f;}

/*++++++++++++++++ menu styles ++++++++++++++++*/
#leftColm{
	width:240px;
	float:left;
	margin-bottom:20px;
     
}
#leftColm h2{
	background:#32cd32;
	font-size:17px;
	padding:15px 0 8px 0px;
	font-weight:bold;
	letter-spacing:2px solid #ff8c00;
	text-align:center;
}
#leftColm ul{border-left:1px solid #CCC; border-right:1px solid #CCC padding:5px 0 0 0px;}
#leftColm a{
	display:block;
	font-size:16px;
 
	color:#069;
	text-decoration:none;
	padding:15px;
	border-top:1px solid #FFF;
	border-bottom:1px solid #CCC;

        
	
	
	background: #FFF;
	background: -webkit-gradient(linear, 0 0, 0 bottom, from(#FFF), to(#EEE));
	background: -webkit-linear-gradient(#FFF, #EEE);
	background: -moz-linear-gradient(#FFF, #EEE);
	background: -ms-linear-gradient(#FFF, #EEE);
	background: -o-linear-gradient(#FFF, #EEE);
	background: linear-gradient(#FFF, #EEE);
	-pie-background: linear-gradient(#FFF, #EEE);
	
	behavior: url(PIE/PIE.htc);
}
#leftColm a:hover{
	text-decoration:underline;
        color:#ff0000;
	background: #EEE;
	background: -webkit-gradient(linear, 0 0, 0 bottom, from(#EEE), to(#FFF));
	background: -webkit-linear-gradient(#EEE, #FFF);
	background: -moz-linear-gradient(#EEE, #FFF);
	background: -ms-linear-gradient(#EEE, #FFF);
	background: -o-linear-gradient(#EEE, #FFF);
	background: linear-gradient(#EEE, #FFF);
	-pie-background: linear-gradient(#EEE, #FFF);
	
	behavior: url(PIE/PIE.htc);
}

/*++++++++++++++++ main styles ++++++++++++++++*/
#rightColm{float:right; width:710px;}
.komidashi{font-size:14px; text-align:right;}

p{font-size:18px; line-height:28px;}
article{padding:0 10px; margin-bottom:35px;}

.index1{  /*+++++++++++++++++++ 大見出し +++++++++++++++++++*/
	font-size:30px;
	line-height:36px;
	color:#666;
	letter-spacing:2px;
	
	padding:12px 12px 8px 12px;
	margin-bottom:15px;
	background:#FFF;
	
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: #666 0px 0px 6px;
	-moz-box-shadow: #666 0px 0px 6px;
	box-shadow: #666 0px 0px 6px;
	
	behavior: url(PIE/PIE.htc);
}

.index2{  /*+++++++++++++++++++ 中見出し +++++++++++++++++++*/
       margin-top:15px;
	font-size:30px;
	line-height:30px;
	color:#333;
	letter-spacing:2px;
	
	padding:12px 12px 8px 12px;
	margin-bottom:15px;
	border-bottom:2px solid #F90;
	
	-webkit-box-shadow: #666 0px 0px 6px;
	-moz-box-shadow: #666 0px 0px 6px;
	box-shadow: #666 0px 0px 6px;
	
	background: #FFF;
	background: -webkit-gradient(linear, 0 0, 0 bottom, from(#FFF), to(#EEE));
	background: -webkit-linear-gradient(#FFF, #EEE);
	background: -moz-linear-gradient(#FFF, #EEE);
	background: -ms-linear-gradient(#FFF, #EEE);
	background: -o-linear-gradient(#FFF, #EEE);
	background: linear-gradient(#FFF, #EEE);
	-pie-background: linear-gradient(#FFF, #EEE);
	
	behavior: url(PIE/PIE.htc);
}

.index5{  /*+++++++++++++++++++ 中見出し +++++++++++++++++++*/
	font-size:30px;
	line-height:30px;
	color:#333;
	letter-spacing:2px;
	
	padding:12px 12px 8px 12px;
	margin-bottom:15px;
	border:2px solid #0000ff;
	
	-webkit-box-shadow: #666 0px 0px 6px;
	-moz-box-shadow: #666 0px 0px 6px;
	box-shadow: #666 0px 0px 6px;
	
	background: #FFF;
	background: -webkit-gradient(linear, 0 0, 0 bottom, from(#FFF), to(#EEE));
	background: -webkit-linear-gradient(#FFF, #EEE);
	background: -moz-linear-gradient(#FFF, #EEE);
	background: -ms-linear-gradient(#FFF, #EEE);
	background: -o-linear-gradient(#FFF, #EEE);
	background: linear-gradient(#FFF, #EEE);
	-pie-background: linear-gradient(#FFF, #EEE);
	
	behavior: url(PIE/PIE.htc);
}


.index6{  /*+++++++++++++++++++ 小見出し +++++++++++++++++++*/
	font-size:24px;
	padding:6px;
	border-left:10px solid #a52a2a;
	border-bottom:2px dotted #a52a2a;
	margin-bottom:15px;
}


#anshin ul{margin:0px 0px 0px 30px; padding:30px;}

#anshin li{font-size:17px;
margin:0px;
list-style-type:none;
list-style-position:30px 30px 0px 10px;
background-image:url("../img/gif/checkbox-red.gif");
background-repeat:no-repeat;
background-position:top left;
padding: 10px 0px 20px 50px;}



.index3{  /*+++++++++++++++++++ 小見出し +++++++++++++++++++*/
	font-size:28px;
	padding:6px;
	border-left:10px solid #F90;
	border-bottom:1px dotted #F90;
	margin-bottom:15px;
}



.index4{  /*+++++++++++++++++++ 装飾見出し +++++++++++++++++++*/
	font-size:16px;
	padding:8px;
	margin-bottom:15px;
	border:4px solid #F90;
	background:#FFF;
	
	-webkit-box-shadow: #F90 2px 2px 0px,#630 4px 4px 0px,#F90 6px 6px 0px;
	-moz-box-shadow: #F90 2px 2px 0px,#630 4px 4px 0px,#F90 6px 6px 0px;
	box-shadow: #F90 2px 2px 0px,#630 4px 4px 0px,#F90 6px 6px 0px;

	
	-webkit-border-radius: 0 6px 6px 6px/0 6px 6px 6px;
	-moz-border-radius: 0 6px 6px 6px/0 6px 6px 6px;
	border-radius: 0 6px 6px 6px/0 6px 6px 6px;
	
	behavior: url(PIE/PIE.htc);
}


.index-k{  /*+++++++++++++++++++ 装飾見出し +++++++++++++++++++*/
	font-size:16px;
	padding:8px;
	margin-bottom:15px;
	border:4px solid #F90;
background-image:url("../jpg/cross-driver.jpg" width="240" height="300");
background-repeat:no-repeat;


	
	behavior: url(PIE/PIE.htc);
}


.index-t{  /*+++++++++++++++++++ 装飾見出し +++++++++++++++++++*/
	font-size:23px;
       
	padding:8px;
	margin-bottom:20px;
	border:4px solid #F90;
background-image:url("../jpg/cross-driver.jpg" width="240" height="300");
background-repeat:no-repeat;
background-position: 20% 50%;

}


.img{padding:5px; background:#FFF; border:1px solid#CCC; display: block;

}
.img2{float: right;display: inline;margin:0 0 1em 20px;
width:190px ;height:243px;

}


/*++++++++++++++++ footer styles ++++++++++++++++*/
footer div{font-size:14px; text-align:right; width:1020px; margin:0 auto;}
	footer div a{color:#000000;}
	footer div a:hover{color:#000;}
footer p{text-align:center; font-size:14px; padding:1em 0; background:#008000;}
	footer p a{color:#000; text-decoration:none;}
	footer p a:hover{text-decoration:underline;}






.sample1{padding:12px 12px 0 12px; border:1px #CCC solid; overflow:hidden; margin-bottom:15px;}
.sample2{font-size:14px; line-height:17px; padding:8px; border:1px #CCC solid; background:#EEE;}


.notice {

    position: relative;
    margin: 4em 0;
    padding: 0.5em 1em;
    border: solid 3px #ff0000;
}
.notice .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #ff0000;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.notice p {
    margin: 0; 
    padding: 0;
}




.quick {
    position: relative;
    margin: 4em 0;
    padding: 0.5em 1em;
    border: solid 3px #008000;
    border-radius: 8px;
}
.quick .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #ff0000;
    font-weight: bold;
}
.quick p {
    margin: 0; 
    padding: 0;
}



.datafirst {
    position: relative;
    margin: 4em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.datafirst .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #ff0000;
    font-weight: bold;
}
.datafirst p {
    margin: 0; 
    padding: 0;
}

.repairfirst {
    position: relative;
    margin: 4em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.repairfirst .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #ff0000;
    font-weight: bold;
}
.repairfirst p {
    margin: 0; 
    padding: 0;
}



/* A:▼テーブル全体の装飾▼ */
table.abc {text-align:center;
   border-collapse: collapse; /* 枠線を重ねる */
   border: 1px solid #aaaacc; /* 外枠の装飾 */
}
/* B:▼テーブル内側(セル)の装飾▼ */
table.abc th,
table.abc td {
   padding: 0.3em;            /* セル内側の余白量 */
   border: 1px solid #aaaacc; /* 内枠の装飾 */
}

/* C:▼テーブルの見出し部分の装飾▼ */
table.abc thead th { width:605px;
text-align: center;
   background-image: url("img/gif/backblue.gif"); /* 背景画像 */
   background-position: bottom left; /* 背景画像の配置 */
   color: black;           /* 文字色 */
   background-color: #eeeeff; /* (念のための背景色) */
}
/* D:▼各行の見出し部分の装飾▼ */
table.abc tbody th {
    background-image: url("img/gif/backgrey.gif");
   color: black;            /* 文字色 */
}


/* A:▼テーブル全体の装飾▼ */
table.abcd {text-align:left;
   border-collapse: collapse; /* 枠線を重ねる */
   border: 1px solid #aaaacc; /* 外枠の装飾 */
}
/* B:▼テーブル内側(セル)の装飾▼ */
table.abcd th,
table.abcd td {
   padding: 0.3em;            /* セル内側の余白量 */
   border: 1px solid #aaaacc; /* 内枠の装飾 */
}

/* C:▼テーブルの見出し部分の装飾▼ */
table.abcd thead th { width:605px;
text-align: center;
   background-image: url("../img/gif/backgreen.gif"); /* 背景画像 */
   background-position: bottom left; /* 背景画像の配置 */
   color: black;           /* 文字色 */
   background-color: #eeeeff; /* (念のための背景色) */
}
/* D:▼各行の見出し部分の装飾▼ */
table.abcd tbody th {text-align:left;
    background-image: url("../img/gif/backgrey.gif");
   color: black;            /* 文字色 */
}

.meiji-table {
	table-layout: fixed;
}

/* ヘッダー */
.meiji-table thead th {
	background:#E73275;
	font-weight: bold;
	color:#fff;
}


/* ボディ項目・フッター項目 */
.meiji-table tbody th,
.meiji-table tfoot th {
	background:#FFF;
	font-weight: bold;
}

/* ボディデータ・フッターデータ */
.meiji-table tbody td,
.meiji-table tfoot td {
	text-align:center;
}

/* 偶数行　１行ごとの色変えが不要なら削除 */
.meiji-table tr:nth-child(2n) td {
    background: #FBFBF6;
}
/* 偶数行の項目 １行ごとの色変えが不要なら削除 */
.meiji-table tr:nth-child(2n) th {
    background: #FBFBF6;
}






/* 全体のコンテナ */
.price-container {
    max-width: 700px;
    margin: 40px auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
}

/* テーブルの基本設定 */
.repair-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #d1d8e0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

/* ヘッダー（料金表タイトル） */
.repair-table thead th {
    background: linear-gradient(135deg, #4a69bd, #1e3799);
    color: #fff;
    padding: 20px;
    font-size: 1.2rem;
    letter-spacing: 1px;
    border: none;
}

/* セルの共通設定 */
.repair-table td {
    padding: 15px 20px;
    border-bottom: 1px solid #edf2f7;
    background-color: #fff;
}

/* 最後の行のボーダーを消す */
.repair-table tbody tr:last-child td {
    border-bottom: none;
}

/* サービス名（左側） */
.service-name {
    text-align: left;
    font-weight: 500;
}

/* 料金（右側） */
.price {
    text-align: right;
    font-weight: bold;
    color: #e67e22; /* アクセントカラーにオレンジ */
    white-space: nowrap; /* 改行防止 */
}

/* 1行おきに背景色を変える（縞々） */
.repair-table tbody tr:nth-child(even) td {
    background-color: #f8fbff;
}

/* ホバー時に色を変える */
.repair-table tbody tr:hover td {
    background-color: #f1f4f8;
    transition: background-color 0.3s;
}

/* 下の注釈 */
.tax-note {
    text-align: right;
    font-size: 0.85rem;
    color: #777;
    margin-top: 10px;
}

/* スマホ対応：画面が狭いとき */
@media (max-width: 480px) {
    .repair-table td {
        padding: 12px 10px;
        font-size: 0.9rem;
    }
}