@media screen and (max-width: 599px){
@charset "utf-8";
/* for smartphone */
html {
    position: relative;
   f overflow-x: hidden;
}
/*////////////////////////////*/

body {
	font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background-color: #fff;
	margin: 0;
	padding: 0;
	color: #000;
	
	min-width:360px; 
	width:100%;
	
	font-size:14px;
	
	-webkit-text-size-adjust: 100%;
	
/* for smartphone */
    position: relative;
    left: 0;
    overflow-x: hidden;
/*////////////////////////////*/
}

/* for smartphone */
img{
max-width: 95%;
height: auto;
width /***/:auto;
}
/*////////////////////////////*/

.sp{ display: none; }
	
/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #42413C;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #6E6C64;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}

#button{ display:none; }
#slide_menu{ display:none; }

/* ドロワーメニュー */
.ul_open_h{
	    background: gray;
	    color: #000;
	    margin: 0;
	    padding: 0;
	    list-style: none;
	    top: 0;

	    height: 100%;
	    -webkit-transition: .35s ease-in-out;
	    -moz-transition: .35s ease-in-out;
	    transition: .35s ease-in-out;
	    overflow-y: scroll; 
	    position: fixed;
		
		z-index:50;
		padding-top:50px;

		background-color:#dedede;
		
		
}
.ul_open_h li{
	    padding: 7px;
	    width: 220px;
		border-bottom:1px #333 solid;
		
		font-size:0.85em;
}
.ul_open_h li.bottom{	margin-bottom:100px; }

.ul_open_h li a:link {
	color: #000;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
.ul_open_h li a:visited {
	color: #000;
	text-decoration: underline;
}

.open-sub{ margin:0 0 0 10px; list-style-position:inside; list-style-type:disc; }
.open-sub li{ font-size:1.0em;
	border-bottom:none; 
	padding:5px; 
}

.dmenu{ padding:0 0 0 10px; }

.open-1{
	    right : -100%;
}
.open-1.active{
    right : 0px;
}

.move-1.on.btn{
    position: fixed;
    right: 25px;
    top: 10px;
}

.btn{     width: 45px;
    height: 45px;
    position: absolute;
    right :5px;
    top: 10px;
    background: #fff;

		z-index:90;
}


.btn:before,
.btn:after,
.btn span{
    display: block;
    width: 80%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.btn span{
    height: 3px;
    background-color: #0481ba;
    top: calc(50% - 1.5px);
}

.btn:before{
    content: "";
    top: calc(25% - 5px);
    border-top: 3px solid #0481ba;
}
.btn:after{
    content: "";
    bottom: calc(25% - 5px);
    border-bottom: 3px solid #0481ba;
}
.btn.on span{
    display: none;
}

.btn.on:before{
    top: calc(50% - 1.5px);
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}
.btn.on:after{
    bottom: calc(50% - 1.5px);
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

.btnlink{
    width: 90%;
    display: block;
    margin: auto;
    border: 1px solid #0060ff;
    border-radius: 5px;
    background: #4285F4;
    height: 35px;
    line-height: 35px;
    text-align: center;
    margin-bottom: 35px;
    color: #fff;
}
.linkbox a{
    text-decoration: none;
}

/* 位置固定ボタン */
.fixed_btn
{
  position: fixed;
  top: 100px; 
  right: 40px;
  padding: 0;
  
  z-index:49;
	
  overflow: visible; 
}
.fixed_btn img{
  display:block;
  transition-duration: 0.5s;
	
  cursor: pointer;
}
.fixed_btn img:hover{
  transform: scale(1.2,1.2);
  transition-duration: 0.5s;
}

/* ~~ ヘッダーには幅は指定されません。ヘッダーはレイアウトの幅全体まで広がります。ヘッダーには、ユーザー独自のリンクされたロゴに置き換えられるイメージプレースホルダーが含まれます。~~ */
#headwrap{
	width:100%;
	min-height:55px;
	min-width:360px;
	position:relative;
	
	border-bottom:5px #0481ba solid;
	
	margin-bottom:10px;	
}

#headarea{
	width:360px;
	margin:0 auto;
	
	min-height:55px;
	height:auto;
	position:relative;	
}
	
#headarea img.h-logo{ position: absolute; top:2px; left:5px;}
#headarea img.h-tel{  display:none; }
#headarea img.h-mail{ display:none; }

.bg-slider {
 	width: 100%;
   	height: 550px;
   	background-position:center center;
/*   	background-size: cover; */
   	display: block;
   	align-items: center;
   	justify-content: center;
}
.s-bg-slider {
 	width: 100%;
   	height: 192px;
   	background-position:center center;
/*   	background-size: cover; */
   	display: block;
   	align-items: center;
   	justify-content: center;
}
/* top page */
#mmwrap, .s-menu2-wrap{ width:100%;	 display:block; min-width:360px; text-align:center;
	min-height:160px;
	position:relative;
	
}
	
.menu{ width:360px; text-align: center; margin: 0 auto; position:relative; padding-bottom:10px; margin-top:5px;  }
.menu img{ margin: 3px 0 0 0; }

/* bannerエリア*/
#barea{ width:360px; margin: 0 auto; position: relative; min-height: 270px; text-align: center;}

.bannai{ margin: 5px 0; }
.byoutube{ margin: 5px 0; }

/* main area */
#marea{		 width:360px; margin:0 auto; margin-top:10px; position:relative;
	padding-bottom:30px; text-align: center;
	 min-height:300px;  }

/* toppage news */
h1.news{ margin:0 auto; position:relative; margin-top:5px; margin-bottom:10px; }
h1.news img.toptolist{ position:absolute; top:5px; right:20px; }

.n-title{ margin:0 0 10px 10px; font-size:1.1em; text-align: left; width:340px;}
.n-title:before{
	font-family: "Font Awesome 5 Free";
	content: "\f0c8";
	font-weight: 900;
	
	color:#393a34;
}
.new{ vertical-align:middle; }
.next{ width:100%; text-align:center; padding:10px 0; margin:20px 0 0 0; }
.toprev:before{
	font-family: "Font Awesome 5 Free";
	content: "\f100";
	font-weight: 900;
	font-size:1.2em;
	
	color:#393a34;
}
.tonext:after{
	font-family: "Font Awesome 5 Free";
	content: "\f101";
	font-weight: 900;
	font-size:1.2em;
	
	color:#393a34;
}

.kiji{ width:360px; margin:0 auto; text-align:left; margin-top: 20px;
	margin-bottom:20px; }
.kiji:before{	clear: both; }

/* common */
h1.sub{ margin:0 auto; position:relative; margin-top:10px; margin-bottom:40px; }

h1.sub02 { background: url("images/h1_sub_bk_s.png") left bottom no-repeat; padding: 0 0 0 10px; height: 35px; font-size: 1.7em; text-align: left; margin-left:10px;
	font-family: "Jun 501"; color:#0481BA; }


h2 {
	font-size:1.3em; margin:0 0 20px 0;	font-weight:normal; width:100%;
}

h2.news {
	font-size:1.3em; margin:0 0 20px 0;	font-weight:normal; width:100%;
	text-align:center; border-bottom:1px #333 dashed; padding:0 0 5px 0;
}

h2.sub {
  position: relative;
  padding: 0.25em 0 ;
	text-align: left;
	width:80%;
	
	margin-top:20px;
	margin-left:10px;
}
h2.sub:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to right, rgb(4, 129, 186), transparent);
  background: linear-gradient(to right, rgb(4, 129, 186), transparent);
}
	h2.sub div{ margin-left: 1em;}
	
.small85{ font-size:85%; }
.large11{ font-size:1.1em; }
.large12{ font-size:1.2em; }
.large14{ font-size:1.4em; }
.large18{ font-size:1.8em; }
.strong{ font-weight:bold; }

.txt{ width:340px; margin:0 0 10px 10px; line-height:1.8em; font-size:1.0em; text-align:left;  }
	
dl.sub01{ list-style-type:none; width:320px; margin:0 0 40px 5px; list-style-position:outside; display:block; }
dl.sub01 dt{ margin:0 0 8px 0; position:relative; width:200px;   line-height:1.5em; text-align: left; display:block;}
dl.sub01 dt:before{
	font-family: "Font Awesome 5 Free";
	content: "\f0c8";
	font-weight: 900;
	
	margin:-5px 8px 0 5px;
	color:#0481BA;

}
dl.sub01 dd{ margin:0 0 8px 2em; position:relative; width:300px; float:left; line-height:1.5em; text-align: left; }

dl.sub02{ list-style-type:none; width:300px; margin:0 0 20px 0; list-style-position:inside; display:block; }
dl.sub02 dt{ margin:0 0 8px 0; position:relative; width:50px; line-height:1.5em; text-align: left; float: left; }
dl.sub02 dt:before{
	display: none;
}
dl.sub02 dd{ margin:0 0 8px 2em; position:relative; width:200px; line-height:1.5em; text-align: left; float: left;}
	
ul.sub, ul.sub02{ list-style-type:none; width:330px; margin:0 0 10px 15px; list-style-position:outside; }
ul.sub li, ul.sub02 li{ margin:0 0 10px 0; position:relative; line-height:2.0em;
	text-align: left; }
ul.sub02 li{ line-height:1.5em; text-align: left;}

ul.sub li:after, ul.sub02 li:after{
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0481BA;
	border-radius: 100%;
}


.red{ color:#F00; }
.orange{ color:#F60; }
.blue{ color:#36C; }
.green{ color:#009933; }	

.imgarea{ width:100%; text-align:center; font-size:1.0em; }
.imgarea02{ width:45%; text-align:center; font-size:1.0em; float: left;}
.imgarea img, .imgarea02 img{ padding: 10px; }

.tolist{ width:98%; text-align:right; margin-top:10px; }

#navi{ display:none; }

.pdfarea{ width:90%; padding:15px 10px; font-size:0.9em; text-align:left; 
	border:1px #ccc solid; margin: 0 auto;
	margin-top:20px; } 

.link:after{
	font-family: "Font Awesome 5 Free";
	content: "\f101";
	font-weight: 900;
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

.pdf:after{
	font-family: "Font Awesome 5 Free";
	content: "\f15c";
	font-weight: 400;
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

/* square */
.square:before{
	font-family: "Font Awesome 5 Free";
	content: "\f0c8";
	font-weight: 900;
	
	margin:-5px 8px 0 5px;
	color:#0481BA;
	
}
	
/* policy */
dl.policy{ margin:20px 0 20px 10px; width:330px; }
dl.policy dt{ font-weight:bold; font-size:1.0em; text-align: left; }
dl.policy dd{ font-size:1.0em; margin:10px 0 30px 30px; line-height:1.5em; 
	text-align: left; 	}

/* map */
.map{ border:1px #ccc solid; }
	
/* mail */
table.mail{	width:100%; margin:0 auto; border:none; }
table.mail th{ border:none; width:30%; text-align:left; vertical-align:top; padding:5px; font-weight:normal;
	padding-left:15px;
	font-size:100%; font-size:90%;}
table.mail td{ border:none; width:70%; padding:5px; line-height:120%; text-align:left; vertical-align:text-top;
	 font-size:90%; }

table.mail td.conf{ border:none; width:70%; padding:5px; line-height:120%; text-align:left; 
	vertical-align:text-top; border:solid #cccccc 1px; }

.error{ text-align:center; width:100%; margin:30px 0 20px 0;  }
.error_conf{ text-align:center; width:100%; margin:0 0 20px 0;  }
input {
	font-size: 16px ;
}	
/* ~~ フッター ~~ */
#fwrap01{ display: none; }

#fwrap02{ width:100%; background-color:#f2f2f2;  display:block; height:135px; text-align:center; padding:10px 0;
 }
.footer02{ width:360px; min-height:135px; position:relative; margin:0 auto; }

.footer02 div.fmenu{ display: none;	}

.f-mail{ margin-top:10px;}
	
#fwrap03{ width:100%; background-color:#d9ecf5;  display:block; min-height:80px; 
	text-align:center;	padding:5px 0;
}
.footer03{ margin: 0 auto; width:360px; mimn-height: 80px; position: relative; text-align: center; }
.f-logo{ margin:0 auto; margin-top:5px; }
.f-addr{ margin:0 auto; margin-top:5px; font-size: 14px;}
.f-tel{ margin:0 auto;  margin-right:30px; }
.f-access{ margin:0 auto; margin-top:10px;}

#fcopy{ width:100%; background-color:#fff; display:block; height:15px; text-align:center; padding:3px 0;
	font-size:0.8em; }
#fcopy div {
	width:340px;
	margin:0 auto;
	
	min-height:15px;
	height:auto;
	position:relative;
	
	text-align:center;
	
	font-size:0.85em;
	
}
	

/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}
.bottom50{
	margin-bottom:50px; 
}

/*------------------------------------------------------------------------------------------*/

/*/////////////////////////////////////*/
.shadow01{
    /*影を入れる*/
    -webkit-box-shadow: 0 10px 8px -6px #8d8c8c;
    -moz-box-shadow: 0 10px 8px -6px #8d8c8c;
     box-shadow: 0 10px 8px -6px #8d8c8c;
}


.kana{ ime-mode:active; }
.rome{ ime-mode:disabled; }


/*****************************************************/
p{ margin:10px 0 0 0; }

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

}