@charset "UTF-8";

.logo{
	margin-top:10px;
}

/* h1～h6の再定義*/
h1 { font-size: 1.9rem; line-height: 2.8rem; letter-spacing: 0.12rem; }
h2 { font-size: 1.7rem; line-height: 2.6rem; letter-spacing: 0.08rem; }
h3 { font-size: 1.6rem; line-height: 2.5rem; letter-spacing: 0rem; }
h4 { font-size: 1.5rem; line-height: 2.4rem; letter-spacing: 0rem; }
h5 { font-size: 1.4rem; line-height: 2.3rem; letter-spacing: 0rem; }
h6 { font-size: 1.3rem; line-height: 2.2rem; letter-spacing: 0rem; }

#searchbox {
	margin-left: auto;
	font-size: 1.5rem;
	padding: 1rem 0 0 0;
}
#date {
    text-align: right;
    /*margin-bottom:2rem;*/
	margin-right:1em;
    font-size: 1em;
    color: var(--back-color);
    display: block !important;

}
#foot_info{
	padding-top:1em;
}
.footnav{
	padding-bottom:0px;
	margin-bottom:0px;
	color:white;
}
ul.footnav li{
	margin:0;
	padding:5px 7px 5px 8px;
	border-right:1px solid #b6b6b6;
	float:none;
	display:inline-block;
}
ul.footnav{
	float:none;
	width:100%;
	text-align:center;
}
.footnav a {
	color:white;
}

.tel{
color:#00a0e9;
font-size:18px;
font-weight:bold;
margin:0px;
}

.tel span{
color:black;
font-weight:normal;
}

.open{
font-size:1em;
}

#president{
	margin-left:2em;
	width:140px;
	height:175px;
}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0; 
  width: 100%;
  height: 100%;
}
/* 横幅を指定するための要素 */
.map-wrap {
  width:100%;
}
.map-wrap2{
	max-width: 600px; /* ここに横幅を指定 */
	border:solid 1px black;
	margin-bottom:1em;
	padding:8px;
}
.map-wrap3{
  width:100%;
	max-width: 750px; /* ここに横幅を指定 */
	border:solid 1px black;
}
.map-wrap4 img{
	border:solid 1px black;
}
th{
	white-space:nowrap;
}
.outline{
	align:left;
	margin-right:2em;
}
.img_svf1{
	width:30%;
	max-width:173px;
	max-height:221px;
}
.img_svf2{
	width:40%;
	max-width:285px;
	max-height:221px;
}

.manual_cat{
	padding:0em;
	border-bottom: 1px solid gray;
}

.h_underline{
	padding:0em;
	border-bottom: 1px solid gray;	
}
.tb_head{
	white-space:nowrap;
	font-weight:bold;
}

.nowrap{
	white-space:nowrap;
}

.new{
 color:#4CAF50;
 font-weight:bold;
}

.comp {
 margin:0px;
 font-size:0.9em;
 color:red;
 text-align:right;
 border-style:none;
}
code{
 width:100%;
 font-size:0.8em;
 overflow-x: scroll;
}
.price{
 width:100%;
 overflow-x: auto;
}

.frm_reg_in{
 margin:0.5em 0;
 height:2em;
 width:100%;"
}


/*検索ハイライト*/
.s_highlight{
	color:#F66;
}
.s_result_url{
	overflow-wrap: break-word;
	font-size:0.75em;
}


.lineup ul {
  list-style: none;
  font-size:1em;
}
.lineup li {
  position: relative;
  padding-left: 1.2em;/*20px;*/
}
.lineup li::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #aac;
  border-radius: 5px;
}

#prthb{
	display: none;
}
.prog{
/*	overflow-x:auto;*/
}


dl.information dt {
	font-weight:bold;
	font-size:1.0em;
}
dl.information H3{
	font-weight:bold;
	font-size:1.1em;
}


.prd{
}
.prd a {
	font-size:1.5rem;
	text-decoration:none;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
/*	margin: 0 auto;*/
	margin-bottom:0.75em;
	margin-right: auto;
	max-width: 220px;
	padding: 0.55em 0.5em 0.5em 0em;/*10px 25px;*/
	color: #FFF;
	transition: 0.3s ease-in-out;
	font-weight: 700;
	background: #00a0e9;
	filter: drop-shadow(0px 2px 4px #ccc);
	border-radius: 3px;
	border-radius: 50px;
	overflow: hidden;
}
.prd a:before{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: -100%;
	background-image: linear-gradient( 
		130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
	-webkit-transition: 0.5s;
	transition: 0.6s;
}
.prd a:hover:before {
	left: 100%;
}
.prd a:hover{
/*	color:#003399;*/
	color:#b2e7ff;
}
.prd a:after {
	font-size:1.8em;
	position: absolute;
	top: 50%;
	right: 12px;
	transition: 0.2s ease-in-out;
	content: "\25b8";
	/*font-family: "Font Awesome 5 Free";*/
	font-weight: 900;
	transform: translateY(-50%);
}
/*
 詳細はこちらのリンク
*/
.fmd a {
	font-size:0.9em;
	text-decoration:none;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
/*	margin: 0 auto;*/
	margin-bottom:0.75em;
	margin-right: auto;
	max-width: 180px;
	padding: 0.1em 1.5em 0.1em 0.1em;/*10px 25px;*/
	color: #FFF;
	transition: 0.3s ease-in-out;
	font-weight: 500;
	background: #00a0e9;
	filter: drop-shadow(0px 2px 4px #ccc);
	border-radius: 3px;
	border-radius: 50px;
	overflow: hidden;
}
.fmd a:before{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: -100%;
	background-image: linear-gradient( 
		130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
	-webkit-transition: 0.5s;
	transition: 0.6s;
}
.fmd a:hover:before {
	left: 100%;
}
.fmd a:hover{
/*	color:#003399;*/
	color:#b2e7ff;
}
.fmd a:after {
	font-size:1.5em;
	position: absolute;
	top: 50%;
	right: 0.5em;
	transition: 0.2s ease-in-out;
	content: "\25b8";
	/*font-family: "Font Awesome 5 Free";*/
	font-weight: 900;
	transform: translateY(-50%);
}


.linkarrow{
	height:24px;
	text-align:right;
	margin-bottom:0.5em;
}
.linkarrow a{
	text-decoration:none;
}

.linkarrow img{
	margin-left:6px;
}
.ask{
	margin-top:0;
	background:#edf9ff;
	padding:0.5em;
	border:solid 1px;
	border-color:#8ca1c2;
}
.ask h2{
	color:#21387a;
	font-size:1.1em;
	font-weight:700;
	padding:0;
	margin:0;
}
.ask p{
	font-size:0.8em;
	padding-bottom:0.5em;
}
.ask div{
	margin:0;
	padding:0;
}
.mb10{
	margin-bottom:10px;
}


/* -------- ユーザ登録のアコーディオン --------*/
.accordion__item{
  margin-top:1em;
  margin-bottom:0;
  padding:0;
}
/*
  アコーディオンの開閉ボタンの装飾。
  position: relative;が無いと、
  「+」「-」の位置がずれるので注意。
*/
.accordion__head {
  position: relative;
  width: 100%;
  padding:0.3em 0.5em;
  background: #b2e5ff;
  cursor: pointer;
}

/*
  アコーディオンの開閉ボタンの右側に「+」を表示。
*/
.accordion__head::after {
  content: "\FF0B";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  font-size: 1.4em; /* 記号のサイズ */
}
.accordion__item label {
	margin:0;
	padding:0;
	line-heght:1em;
}
/*
  アコーディオンが開いた際に、
  開閉ボタンの右側に「+」を「-」に変更する。
*/
.accordion__item.active .accordion__head::after {
  content: "\FF0D";
  right: 10px;
}
@media print {
.accordion__head::after {
	display:none;
}
}
/*
  アコーディオンの閉じている部分の装飾。
  height: 0; overflow: hidden;にすることで、
  通常時は表示されないようにする。
*/
.accordion__body {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding: 0 10px;
  background: #e8e8e8;
  transition: all .4s ease;
}

/*
  アコーディオンが開いた際に、
  heightを0からautoに、paddingの上下を0から10に。
*/
.accordion__item.active .accordion__body {
  height: auto;
  padding: 10px;
}



/* ---------------------- 印刷 --------------------------------*/
@media print{
#prthb{
	display:block;
	margin:0px;
	padding:0px;
	border-bottom:solid 6px #003399;
}

.prd a, .fmd a{
	color:black;
	font-weight:normal;
}

.copyright {
	background-color:white;
	color: black;
	border-top:solid 1px#0283C4;
	border-bottom:solid 1px #0283C4;
}
.newpage{
 page-break-before: always;
}
#searchbox{
	display: none;
}
#navi{ 
	display: none;
}
.footnav{
	display: none;
}

.notforprint{
	display: none;		
}
	
/* INFORMATION CUSTOMIZE */
dl.information H3{
	margin-bottom:0.2em;
}
dl.information dd  {
/*	margin:0 0 1.0em 10em;*/
	margin-bottom:1em;
	padding:0;
	background:transparent;
	border-bottom: 1px solid gray;
}

.blueback {
	background-color: white;
	color: black;
	padding:0px 10px;
	border-left:solid 10px #003399;
	border-bottom:solid 1px #003399;
}

	
}

/* ---------------------- PC ----------------------------------*/
@media screen and (min-width: 769px){
.for_mobile{
	display: none;
}
.price{
 font-size:1.0em;
}

#searchbox {
    display: block !important;
}
/*
#date {
    display: block !important;
}
*/
.map-wrap {
  max-width: 750px; /* ここに横幅を指定 */
}

/* INFORMATION CUSTOMIZE */
dl.information dt {
	float:left;
	width:10em;
	margin:0;
	padding:0;
}
dl.information H3{
	margin-bottom:0.2em;
}
dl.information dd  {
	margin:0 0 1.0em 10em;
	padding:0;
	background:transparent;
}
	
}


/* ---------------------- Mobiles -----------------------------*/
@media screen and (max-width: 768px){
.for_mobile{
	display: block;
}
.logo{
    max-width: 80%;
    height: auto;
}	
.price{
 font-size:0.85em;
}

#searchbox {
    display: none;
}

/* INFORMATION CUSTOMIZE */
dl.information H3{
	margin-bottom:0.2em;
}
dl.information dd  {
/*	margin:0 0 1.0em 10em;*/
	margin-bottom:2em;
	padding:0;
	background:transparent;
	border-bottom: 1px solid gray;
}

}
