@charset "UTF-8";
/* CSS Document */

/* IMPORT RESET */
@import url("reset.css");

/* IMPORT 12 COLUMN RESPONSIVE GS */
@import url("responsive.gs.12col.css");

/* IMPORT FONT-AWESOME */
@import url("font-awesome.min.css");


/* body,html */
*+html body {　　　　　/*IE7だけに適用*/
   overflow-y:auto;
}

body {
   overflow-y:scroll;
}

body,html {
	font-size:90%;
}

html , body {height:100%;}
body > #wrapper {height:auto;}

@media screen and (min-width:769px) {
body,html {
	width:100%;
	min-width: 100% !important;
	height:100%;
	min-height:100% !important;
	margin:0;
	padding:0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:.93em;
	line-height:2.5em;
	text-shadow:1px 1px 1px #fff;
	color:#292222;
	letter-spacing:1px;
	background:#ccc;
	}
}

ul,ol {
}

li {
}




hr {
	margin:25px auto;
}

strong {
	font-weight:600;
}

.clear {
	clear:both;
	}
	
.clear hr {
	display:none;
	}

/* pagetop要素 */
#pagetop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  padding: 5px;
  cursor: pointer;
}
.pagetop::before  {
font-family: "Font Awesome 5 Free";
font-weight: 900;
	content: "\f139";
	font-size:40px;
}


/* img */
img {
max-width: 100%;
height: auto;
width /***/:auto;　
}

@media screen and (min-width:769px) {
img {
height: auto;
width /***/:auto;
margin:0;
}
}


/* br */
.br-none{
display:block;
}

br{
display:none;
}

@media (min-width: 769px) {
.br-none {
display:none;
}
br {
display:block;
}
}


#menuList .fa { padding-right:0em; }
.fa {
padding-right:0.5em;
}



/* h1, h2, h3, h4, h5, h6 */
h1, h2, h3, h4, h5, h6 {
  padding-bottom: .5em;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
 }

h1 {
font-size:1.6em;
height:50px;
font-weight:bold;
background:#e0f7ff;
width:100%;
padding-top:10px;
padding-left:0.3em;
 margin-bottom: 1em;
}

@media (min-width: 769px) {
h1 {
font-size: 1.6em;
height:50px;
background:#fff;
padding-top:10px;
padding-left:0.3em;
 margin-bottom: 1em;
}
h1.h1 {
	background-image:url(../img/bg/h1.png);
	background-repeat:no-repeat;
	}
h1.h1w {
padding-left:2em;
	background-image:url(../img/bg/h1w.png);
	background-repeat:no-repeat;
	}

}



h2 {
  font-size: 1.4em;
}

h3 {
  font-size: 1.3em; }

h4 {
  font-size: 1.1em; }

h5 {
  font-size: 1.2em; }

h6 {
  font-size: 1em; }

.h-small {
	font-size:80%;
}

/* telレスポンシブ */
@media screen and (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events: none;
		color:#000;
	}
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix:before {
	　　　　content: "";
	display: block;
	clear: both;
}

.clearfix {
	display: block;
}

/* wrapper */
#wrapper {
	width:100%;
	margin:0px 0 0 0;
	padding:2em 0 4em;
	background:#fff;
	/* box-shadow */
box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
-webkit-box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
-moz-box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
}

@media screen and (min-width:769px){
	#wrapper {
	height:100%;/* for IE6 */
	min-height:100%;
	width:100%;
	margin:287px 0 0 0;
	padding:0;
	background:#fff;
	/* box-shadow */
box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
-webkit-box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
-moz-box-shadow:rgba(186, 186, 186, 0.76) 0px 7px 8px 2px;
}
}



/* #contents */
#contents {
	width:100%;
	margin:auto;
}

@media screen and (min-width:769px){
#contents {
	width:1000px;
	min-width:769px !important;
	margin:auto;
}
}


/* #top */
#top {
	width:100%;
	margin:auto;
	padding:0;
	margin:0 auto;
}
#top img {
	width:100%;
}

@media screen and (min-width:769px){
	#top {
		width:100%;
		padding:0;
		margin:0;
		object-fit: cover;
		object-position: 50% 50%;
	}
	#top img {
		width:100vw;
		object-fit: cover;
		object-position: 50% 50%;
	}
}

/* #hedaer */
#header {
	width:99%;
	height:auto;
	margin:0 auto;
	border-top:solid 4px  #302c17;

}

@media screen and (min-width:769px){
#header {
	width: 100%;
	height:287px;
	margin: 0;
    position: absolute;  
    top: 0;  
    left: 0;
    background: #ffffff;
	background-image:url(../img/bg/white_bg01.png);
	background-repeat:repeat;
	z-index:999;
/* box-shadow */
box-shadow:rgba(204, 204, 204, 0.62) 0px 4px 5px 1px;
-webkit-box-shadow:rgba(204, 204, 204, 0.62) 0px 4px 5px 1px;
-moz-box-shadow:rgba(204, 204, 204, 0.62) 0px 4px 5px 1px;

	border-bottom:0px solid #0077ff;
}
}


/* .head */
.head {
	width:98%;
	height:auto;
	padding:0;
	margin:auto;
	margin-top: 60px; /* 固定ナビの高さ分のネガティブマージン */
	padding-top: -60px; /* 打ち消し用のパディング */
}

@media screen and (min-width:769px){
.head {
	width: 1000px;
	height: 90px;
	margin: auto;
	font-size:90%;
	padding: 0px 0 0px;
	text-align: left;
	clear: both;
	background: #ffffff;
}
}

/* .head a */
.head a {
	text-decoration:none;
	border:0;
}

/* .h-left */
.h-left {
	width: 99%;
	text-align:center;
	margin:auto;
	float:none;
	clear:both;
	font-size: smaller;
}

.h-left img {
	vertical-align: middle;
}

@media screen and (min-width:769px){
.h-left {
	width:500px;
	height:90px;
	margin-top:30px;
	position:relative;
	left:0%;
	float:left;
	clear:right;
	text-align:left;
	font-size: 8.5pt;
}
.h-left img {
	vertical-align: top;
}
}


/* .h-middle */
.h-middle {
	width: 98%;
	text-align:center;
	margin:1% auto;
	font-size: smaller;
}
.h-middle img {
	width:auto;
}

@media screen and (min-width:769px){
.h-middle {
	margin:0 ;
	float: none;
	width: 1000px;
	height:8px;
	padding-top:0px;
	position:relative;
	left:1%;
	text-align: left;
	color:#000;
	font-size:.8em;
}
.h-right img {
	width:auto;
	vertical-align: top;
}
}

/* .h-right */
.h-right {
	width: 98%;
	text-align:center;
	margin:2% auto;
	font-size: smaller;
}
.h-right img {
	width:auto;
}

@media screen and (min-width:769px){
.h-right {
	margin:0 ;
	float: right;
	width: 450px;
	height:180px;
	position:relative;
	right:1%;
	padding-top:25px;
	margin-bottom:5px;
	text-align: right;
	color:#000;
}
.h-right img {
	width:auto;
	vertical-align: top;
}
}

/* .h-right ul,li */
.h-right ul,li {
	margin:0;
	padding:0;
	line-height:120%;
	list-style: inherit;
}

@media screen and (min-width:769px){
.h-right ul,li {
	margin:0;
	padding:0;
	line-height:120%;
}
}

/* メニュー */
#menuList ul.home {
	font-size:24px;
}
.home:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f015";
}


	/* ロゴ */
.logo {
	padding: 14px 0;
	font-size: 32px;
}

.logo span {
	font-size: 15px;
	margin-left: 10px;
	bottom: 5px;
}

@media only screen and (min-width:769px) {

	.logo {
		padding: 21px 0;
		font-size: 68px;
		font-weight: 500;
		line-height: 1;
		color:#0066cc;
	}
	
	.logo a {
		color: #000;
	}
	
	.logo a:hover {
		color: #333366;
	}
	
	.logo span {
		font-size: 18.5px;
		margin-left: 16px;
		position: relative;
		bottom: 12px;
		font-weight: 400;
	}
}

		main .solid_font {
			font-family:  "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
				font-weight: inherit;
			}
			.solid_font {
				font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
				font-weight: inherit;
			}
			.logo.solid_font {
				font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
					font-weight: 500;
				}
				header .solid_font {
					font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
					font-weight: inherit;
				}

	
	@media only screen and (max-width: 767px) {
		.solid_font {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
		font-weight: 500;
	}
		
			}

/* #main */
#main {
	width: 98%;
	text-align: left;
	margin: auto;
	padding: 0;
}

@media screen and (min-width:769px){
#main {
	width: 1000px;
	text-align: left;
	margin: 0px auto auto auto;
	padding: 0;
	z-index:2;
}
}


a {
		-moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
		color: #1954BC;
		text-decoration: none;
	}

a:hover {
			color: #278B33;
			border-bottom-color: transparent;
		}

#main a.example-image-link   {
	border: none;
}

#main p {
  padding-bottom: 1.5em;
  -webkit-text-size-adjust: none; }



/* .secondary */
.secondary {
  width: auto;
  text-transform: none;
  color: #333;
  background: #fff;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); }
  .secondary .container {
    padding: 5em 1em 4em 1em; }
    @media (min-width: 768px) {
      .secondary .container {
        padding: 5em 0 4em 0; } }
    .secondary .container#puzzle {
      padding-top: 0; }
  .secondary h1 {
    padding-bottom: 0;
    color: #666; }
    .secondary h1 span {
      font-style: italic; }
  .secondary h2 {
    padding-bottom: 0;
    margin-top: 3em;
    color: #666; }
    .secondary h2 span {
      font-style: italic; }
  @media (min-width: 768px) {
    .secondary code {
      font-size: 1.06666666666667em; } }

/*	MAIN CONTAINER 
	Set the width to whatever you want the width of your site to be. */
.container {
  max-width: 1000px;
  margin: 0 auto; }

/*	SELF CLEARING FLOATS - CLEARFIX METHOD */
.container:after,
.row:after,
.col:after,
.clr:after,
.group:after {
  content: "";
  display: table;
  clear: both; }

.col img {
	width:100%;
	padding:;
}

.modules {
	min-width:20%;
	padding:5px 5px 0 5px;
	margin:0 1.5% 0 0;
	font-size:90%;
/* boxshadow*/
-webkit-box-shadow: 0px 0px 5px 0px rgba(179,179,179,1);
-moz-box-shadow: 0px 0px 5px 0px rgba(179,179,179,1);
box-shadow: 0px 0px 5px 0px rgba(179,179,179,1);
}
.modules img {
	width:100%;
}
.modules a {
	color:#333;
}
.modules a:hover {
	text-decoration:underline;
}

@media (max-width: 480px) {
.modules img {
	width:100%;
}
}


.modules1 {
	padding:4px;
	background-color: #F1F1F1;
	border:1px solid #F1F1F1;
	font-size:90%;
}
.modules1 img {
	width:99.9%;
}
.modules1 a {
	color:#333;
}
.modules1 a:hover {
	text-decoration:underline;
}
@media (max-width: 480px) {
.modules1 img {
	width:99%;
}
}

.list {
	border-bottom:1px dotted #535353;
	line-height:1.5em;
	margin-top:1em;
	white-space:normal;
}

.list:first-child {
	margin-top:0;
}

.list:before {
	font-family: 'FontAwesome';
	content: "\f0da";
	margin-right:.5em;
	color:#cfa321;
	}
	
.list-box {
	padding:1.2%;
	margin-bottom:2%;
	font-size:90%;
	border-radius:8px;
	background:#FDFDFD;
}

@media screen and (min-width:769px){
.list {
	border-bottom:1px dotted #535353;
	line-height:1.5em;
	margin-top:1em;
}
}



/* .map */
.map {
	width:99%;
	height:auto;
}

@media screen and (min-width:769px){
.map {
	width:1000px;
	height:450px;
}
}


/* .frame */
.frame {
	padding:5px;
	font-size:90%;
}
.frame img {
	width:99.9%;
}

.frame-b {
	padding:8px;
	border:solid 1px #ccc;
	background:#eee;
	border-radius:8px;
}



/* .boxs */
.boxs {
/* boxshadow*/
-webkit-box-shadow: 0px 0px 6px 0px rgba(105,94,94,1);
-moz-box-shadow: 0px 0px 6px 0px rgba(105,94,94,1);
box-shadow: 0px 0px 6px 0px rgba(105,94,94,1);
}

/* .border */
.boxborder {
	padding:3%;
	margin-bottom:2%;
	font-size:95%;
	border:1px solid #ccc;
	border-radius:8px;
	background:#FDFDFD;
}


.boxborder-s {
	padding:1% 1% 0 1%;
	margin-bottom:0%;
	font-size:95%;
	border:1px solid #ccc;
	border-radius:8px;
	background:#FDFDFD;
	font-size:90%;
}

.boxborder-title {
	padding:1% 0 1% 3%;
	margin-bottom:0%;
	font-size:95%;
	border-radius:24px;
	background-color:#FDFDFD;
	font-size:95%;
	font-weight:600;
	background:url(../img/bg03.png) repeat-x bottom;
}


.boxborder_blue {
	padding:3% 3% 0 3%;
	margin-bottom:2%;
	font-size:95%;
	border:1px solid #ccc;
	border-radius:8px;
	background:#AEE9FF;
}

.boxborder_red {
	padding:3% 3% 0 3%;
	margin-bottom:2%;
	font-size:95%;
	border:1px solid #f78568;
	border-radius:8px;
	background:#ffebe6;
}

.boxborder_white {
	padding:1% 2% 0 2%;
	margin-bottom:2%;
	font-size:95%;
	border:1px solid #ccc;
	border-radius:8px;
	background:#fff;
	/* box-shadow */
box-shadow:rgba(212, 212, 212, 0.63) 2px 1px 2px 1px inset;
-webkit-box-shadow:rgba(212, 212, 212, 0.63) 2px 1px 2px 1px inset;
-moz-box-shadow:rgba(212, 212, 212, 0.63) 2px 1px 2px 1px inset;
}

/* 文字拡大他 */
.text-large {
	font-size:200%;
}

.text-small {
	font-size:80%;
}

.small {
	font-size:80%;
}

.strong {
	font-weight: 600;
}

.textright {
	text-align:right;
}

.ti5 {
	text-indent:5em;
}

.texttop {
	margin-top:2em;
}

.textcenter {
	text-align:center;
}

.textboder {
	border-bottom:1px dotted #ccc;
	margin-bottom:.5em;
}

.encircle {
	border:1px solid #ccc;
	border-radius:8px;
	padding:2% 2% 0;
	margin-bottom:1em;
	background:url(../img/bg03.png) repeat-x bottom;
}

@media screen and (min-width:769px){
.encircle {
	border:1px solid #ccc;
	border-radius:8px;
	padding:2% 2% 0;
	margin-bottom:1em;
	background:url(../img/bg03.png) repeat-x bottom;
	font-size:.93em;
}
}

.encircle h4{
	color:#065300;
	text-align:center;
}

@media screen and (min-width:769px){
.encircle h4{
	color:#1B5593;
	font-size:1.2em;
	font-weight:600;
	text-align:left;
}
}

.encircle h4 br {
		display:block;
		margin-top:.5em;
}

@media screen and (min-width:769px){
.encircle h4 br {
		display:none;
}
}


@media screen and (min-width:769px){
#footer a.tel  {
	color:#000;
}

#footer a:hover.tel  {
	border:0;
	text-decoration:none;
}
}

/*//////////// #footer ////////////*/
#footer {
	width:99.9%;
	height:auto;
	margin:0 auto;
	padding:0 ;
	color:#000;
	border-top:3px solid #F5F5F5;
}

@media screen and (min-width:769px){
#footer {
	width:99.9%;
	height:auto;
	margin:0 auto;
	padding:1em 0 ;
	color:#000;
	background-color:#ccc;
	border-top:3px solid #F5F5F5;
}
}


/* .foot */
.foot {
	width:99.9%;
	margin:auto;
	padding-top:20px;
	font-size:80%;
}

@media screen and (min-width:769px){
.foot {
	width:1000px;
	margin:auto;
	padding-top:20px;
	font-size:100%;
	background-color:#ccc;
}
}
.text-large15 {
font-size:150%;
}
.foot strong  {
	font-weight:600;
	font-size:200%;
}

.foot ul,li {
line-height:2em;

}

.footlink {
	}


.footlink:before {
	font-family: 'FontAwesome';
	content: "\f04d";
	margin-right:.5em;
	color:#000;
	}


.foot ul,li a {
color:#000;
text-decoration:none;
}

.foot ul,li a:hover {
color:;
text-decoration:none;
}


/* copyright */
.copyright {
	color:#000;
	font-size:70%;
	text-align:center;
}


/* table */
section table { width: 100%; border-collapse: collapse;}
section th, section td  { padding: 10px; border: 1px solid #ddd; }
section th  { background: #f4f4f4;  font-weight:bold;}


  

/* dl */

dl#table dl,dt,dd {
	margin: 0;
	padding: 0;
}

dl#table {
	background: #EBFFEC;
	width: 100%;
	border: 1px solid #ccc;
	border-top: none;
}

dl#table dt,dd {
	padding: 5px;
}

dl#table dt {
	border-top: 1px solid #ccc;
	clear: left;
	float: left;
	width: 20%;
}

dl#table dd {
	background: #fff;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	margin-left:20%;
}



/* table_mail */
dl#table_mail dl,dt,dd {
	margin: 0;
	padding: 0;
}

dl#table_mail p {
	margin:0;
	padding:0;
	font-size: smaller;
	color:#ccc;
}


dl#table_mail {
	background: #fff;
	width: 100%;
	line-height: 1.5;
	text-align:left;
}

dl#table_mail dt,dd {
	padding: 5px;
}

dl#table_mail dt {
	border-top: 1px dotted #ccc;
	clear: both;
	float: left;
	width: 25%;
}

dl#table_mail dt:before {
	content:"";
}

dl#table_mail dd {
	float: left;
	background: #fff;
	border-top: 1px dotted #ccc;
	margin:0em;
	padding-top:1em;
	width:65%;
}


dl#table_mail span {
	color:;
}

/* table_link */
dl#table_link dl,dt,dd {
	margin: 0;
	padding: 0;
	text-align:left;
}

dl#table_link p {
	margin:0;
	padding:0;
	font-size: smaller;
	color:#ccc;
}


dl#table_link {
	background: #fff;
	width: 100%;
	line-height: 1.5;
}

dl#table_link dt,dd {
	padding: 5px;
}


dl#table_link dt:before {
	content:"";
}

dl#table_link dd {
	float: left;
	background: #fff;
	border-top: 1px dotted #ccc;
	margin:0em;
	padding-top:1em;
	width:100%;
}

dl#table_link dd.under {
	float: left;
	background: #fff;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	margin:0em;
	padding-top:1em;
	width:65%;
}
		
.must {
	display: block;
	background-color: #C00;
	border: solid 1px #C00;
	text-shadow: 0px 1px 2px #933;
	padding: 0px 5px;
	font-size: 10px;
	color: #FFF;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
	background-image: url(../img/header_bg.png);
	background-size: 100% 100%;
}

.optional {
	display: block;
	background-color: #265EC0;
	border: solid 1px #265EC0;
	text-shadow: 0px 1px 2px #933;
	padding: 0px 5px;
	font-size: 10px;
	color: #FFF;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
	background-image: url(../img/header_bg.png);
	background-size: 100% 100%;
}

.detail {
	display: block;
	background-color: #007B0E;
	border: solid 1px #007B0E;
	text-shadow: 0px 1px 2px #933;
	padding: 0px 5px;
	font-size: 10px;
	color: #FFF;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
	background-image: url(../img/header_bg.png);
	background-size: 100% 100%;
}

/* table_none */
dl#table_none dl,dt,dd {
	margin: 0;
	padding: 0;
	text-align:center;
}
dl#table_none p {
	margin:0;
	padding:0;
	font-size: smaller;
	color:#ccc;
}
dl#table_none {
	width: 100%;
	line-height: 2em;
	margin:auto;
}

@media screen and (min-width:769px){
dl#table_none dl,dt,dd {
	margin: 0;
	padding: 0;
	text-align:left;
}
dl#table_none {
	width: 80%;
	line-height: 2em;
	margin:auto;
}
dl#table_none dt,dd {
	padding: 5px;
}
dl#table_none dt {
	padding-top: 2%;
}
dl#table_none dt {
	border-top: none;
	clear: both;
	float: left;
	width: 25%;
}
dl#table_none dt:before {
	content:"";
}
dl#table_none dd {
	float: left;
	border-top: none;
	margin:0em;
	padding-top:0em;
	width:65%;
}
dl#table_none span {
	color:red;
}
}


/* ///// 文字色 ///// */
.red {
	color:red;
}

/* /////h背景・文字色///// */
.title {
		-moz-appearance: none;
		-webkit-appearance: none;
		-o-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-o-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;

		background-image: -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg03.png");
		background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg03.png");
		background-image: -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg03.png");
		background-image: -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg03.png");
		background-image: linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg03.png");
		border-radius: 5px;
		border: 0;
		padding:7px;
}

.bred {
	background-color:red;
	color:#fff;
}

.bgold {
	background-color:#fce294;
	color:#000;
}

.bblue {
	background-color:#37c0fb;
	color:#fff;
}

.bdarkblue {
	background-color:#192E4B;
	color:#fff;
}

.blightblue {
	background-color:#DCE4FB;
	color:#000;
}

.bgray {
	background-color:#606060;
	color:#fff;
}

.blightgray {
	background-color:#ccc;
	color:#292828;
}

.bgreen {
	background-color:#C8F5CE;
}

.borange {
	background-color:#FFEAAD;
}

.bo_bgray {
	border:.5px solid #ccc;
	font-weight:600;
}

.bo_bblue {
	color:#0044BD;
	border-bottom:.5px solid #C7383B;
}



/* Button */
input[type="submit"],
input[type="reset"],
input[type="button"],
.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-o-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-o-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		background-color: #37c0fb;
		background-image: -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg01.png");
		background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg01.png");
		background-image: -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg01.png");
		background-image: -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg01.png");
		background-image: linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.15)), url("../img/bg01.png");
		border-radius: 5px;
		border: 0;
		color: white;
		cursor: pointer;
		display: inline-block;
		padding: 0 1.5em;
		line-height: 2.75em;
		min-width: 9em;
		text-align: center;
		text-decoration: none;
		font-weight: 600;
		letter-spacing: -0.025em;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:hover {
		background-color: #4A82B5;
		color: white !important;
}
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
.button:active {
		background-color: #1eb8fb;
		color: white;
}
input[type="submit"].alt,
input[type="reset"].alt,
input[type="button"].alt,
.button.alt {
		background-color: #555555;
		color: #fff;
}
input[type="submit"].alt:hover,
input[type="reset"].alt:hover,
input[type="button"].alt:hover,
.button.alt:hover {
		background-color: #626262;
}
input[type="submit"].alt:active,
input[type="reset"].alt:active,
input[type="button"].alt:active,
.button.alt:active {
		background-color: #484848;
}
input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
.button.icon:before {
		margin-right: 0.5em;
}
input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
.button.fit {
		width: 100%;
}
input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
.button.small {
		font-size: 0.8em;
}

/* table_cell */
tbody.table_cell   {
max-width:100%;
height:auto;
background-color: #fff;
margin:0 auto;
padding:5px;
border:0px solid #CCCCCC;
}
tbody.table_cell  th, td{
padding:10px 5px;
border-bottom: 1px solid rgba(0,0,0,0.1);
box-shadow: 0 1px 0 rgba(255,255,255,1);
vertical-align: middle; 
font-weight: normal; 
font-size: 100%;
text-align: left; 
}
tbody.table_cell th {
width:100%;
background-color:#F4F4F4;
border-bottom:1px solid #CCCCCC;
}
@media (min-width: 769px) {
tbody.table_cell  th {
width:18%;
background-color:#fff;
border-bottom:1px solid #CCCCCC;
}
}


/* table form */
tbody{
max-width:100%;
height:auto;
background-color: #fff;
margin:0 auto;
padding:5px;
border:1px solid #CCCCCC;
}
tbody th{
width:28%;
background-color:#F4F4F4;
border-bottom:1px solid #CCCCCC;
}
tbody th, td{
padding:10px 5px;
border-bottom: 1px solid rgba(0,0,0,0.1);
box-shadow: 0 1px 0 rgba(255,255,255,1);
vertical-align: middle; 
font-weight: normal; 
font-size: 100%;
text-align: left; 
}


 /* テキストエリアの設定 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,select{
border: solid 1px #CCC;
border-radius: 3px;
box-shadow: 0px 0px 5px #CCC inset;
padding: 3px 8px;
margin: 2px;
width: 90%;
background-color: #fff;
color: #000;
padding:10px 0 10px 10px;
margin:10px 0;
}
input[type="month"],
input[type="date"],
select{
width: 20%;
background-color: #fff;
color: #000;
padding:2px;
margin:10px 0;
}
input[type="number"] {
width: 70%;
background-color: #fff;
color: #000;
padding:2px;
margin:10px 0;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,select:focus{
background-color: #fff;
}

textarea {
border: solid 1px #ccc;
}

/*max-width: 480px*/
@media (max-width: 480px) {
.form{
max-width:100%;
}
tbody tr{
width:100%;
display: block;
list-style: none;
}
tbody th, td{
width:100%;
display: list-item;
padding:0px 0px; 
border:none;
}
 /* テキストエリアの設定 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="month"],
input[type="number"],
textarea,select{
width:80%;
padding:10px 0px 0px 0px;
margin:10px 0;
}
}


/* navi */
div.navi {
	padding:5px;
	margin:5px 0 10px;
	float:right;
	clear:both;
	width:100%;
	font-size:85%;
	color:#565050;
	text-align:right;
}

div.navi a {
	color#293F73;
}

div.navi .current {
	color:#2D363A;
	font-weight:600;
}


/* ========= お問い合わせ（電話＋メール） ========= */
.contact {
	background: #fff;
	color: #222;
	padding:;
	margin: 0 auto;
	max-width: 1200px;
	text-shadow:none;
}

.contact__header { margin-bottom: 1.25rem; text-align: left; }
.contact__header h2 {
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 800;
	color: #0f172a;
}
.contact__lead { color: #666; margin-top: .25rem; }

.contact__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.contact__grid { grid-template-columns: 1fr 1fr; }
}

.contact__card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 1.5rem 1.25rem;
	box-shadow: 0 6px 20px rgba(15,23,42,.06);
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.contact__label {
	display: inline-block;
	font-size: .8rem;
	color: #0ea5e9;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.contact__value { margin: .25rem 0; }
.contact__link {
	color: #0f172a;
	text-decoration: none;
	font-weight: 800;
	font-size: clamp(18px, 2vw, 22px);
	word-break: break-word;
}
.contact__link--lg { font-size: clamp(24px, 3vw, 32px); }
.contact__link:hover { color: #0ea5e9; }

.contact__note {
	color: #555;
	font-size: .95rem;
}

.contact__cta {
	margin-top: .5rem;
	display: inline-block;
	text-align: center;
	border-radius: 10px;
	padding: .85rem 1.25rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform .08s ease, filter .2s ease;
	border: 1px solid transparent;
}
.contact__cta:active { transform: translateY(1px); }

.contact__cta--phone {
	background: #111;
	color: #fff !important;
	border-color: #111;
}
.contact__cta--phone:hover { filter: brightness(1.15); }

.contact__cta--mail {
	background: #fff;
	color: #0f172a;
	border-color: #d1d5db;
	box-shadow: 0 4px 14px rgba(15,23,42,.06);
}
.contact__cta--mail:hover {
	border-color: #0ea5e9;
	color: #0ea5e9;
}

/* 小さな画面での余白最適化 */
@media (max-width: 480px) {
	.contact__card { padding: 1.25rem 1rem; }
}

/* すでに contact__card 系のデザインがある前提で追加調整 */
.contact__card--fax .contact__value {
	font-size: 1.4rem;
	font-weight: 700;
	color: #0f172a;
}

.contact__card--fax .contact__note {
	color: #555;
	font-size: .9rem;
}
