
@charset "utf-8";

/* 共通 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

body {
	width: 100%;
    min-width: 100%;
	font-size:18px;
	line-height:1.3em;
	color:#666;
font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

/*リンクの色（基本メインと同色）*/
.a { color: #3E9ED6;}/*メイン濃い*/
.a:link { color: #3E9ED6;}/*メイン濃い*/
.a:visited { color: #3E9ED6;}/*メイン濃い*/
.a:hover { color: #3E9ED6;}/*メイン濃い*/
.a:active { color: #3E9ED6;}/*メイン濃い*/

/*メインカラー濃い*/
.c_main1{ color: #3E9ED6;}/*メイン濃い*/
.bg_main1{background-color: #3E9ED6;}/*メイン濃い*/
.bd_main1{border-color: #3E9ED6;}/*メイン濃い*/
.hr_main1{border-top:solid 3px #3E9ED6;}/*メイン濃い*/

/*メインカラー薄い*/
.c_main2{ color: #EDF8FF;}/*メイン薄い*/
.bg_main2{background-color: #EDF8FF;}/*メイン薄い*/
.bd_main2{border-color: #EDF8FF;}/*メイン薄い*/
.hr_main2{border-top::solid 3px #EDF8FF;}/*メイン薄い*/

/*文字-白黒*/
.c_fff{ color:#fff;}
.c_000{ color:#000;}
.c_666{ color:#666;}

/*背景-白黒*/
.bg_fff{background-color:#fff;}
.bg_000{background-color:#000;}
.bg_eeeeee{background-color:#eeeeee;}/*3グレー*/
.bg_f9f9f9{background-color:#f9f9f9;}/*2グレー*/
.bg_fefefe{background-color:#fefefe;}/*1グレー*/
.bg_ffffde{background-color:#ffffde;}/*薄イエロー*/
.bg_e9ffff{background-color:#e9ffff;}/*薄ブルー*/
.bg_fff6f6{background-color:#fff6f6;}/*薄ピンク*/
.bg_f0ffdf{background-color:#f0ffdf;}/*薄グリーン*/
.bg_fff0c5{background-color:#fff0c5;}/*薄ベージュ*/

/*線-白黒*/
.bd_fff{border-color: #fff;}
.bd_000{border-color: #000;}

/*HR-白黒*/
.hr_fff{border-top:solid 3px #fff;}
.hr_000{border-top:solid 3px #000;}


/*ロールオーバー*/
.lov{
	filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	cursor:pointer;
	text-decoration:none;
    }
.lov:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	cursor:pointer;
    }

.lov_block{
	display:block;
	filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	cursor:pointer;
	text-decoration:none;
    }
.lov_block:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	cursor:pointer;
    }

/*TOPへ戻る*/
#page-top {
    position: fixed;
    bottom: 0px;
    right: 10px;
	cursor: pointer;
	z-index:100;
}

/*リンクボタン*/
a.bt_link{
	background-color:#3E9ED6;/*メイン濃い*/
	color:#FFF;
	padding:3px 10px 3px 10px ;
	text-decoration:none;
	border-radius: 18px;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
}

a.bt_link2{
	background-color:#999;
	color:#FFF;
	padding:3px 10px 3px 10px ;
	text-decoration:none;
	border-radius: 18px;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
}

a.bt_side{
	background-color:#3E9ED6;/*メイン濃い*/
	display: inline-block;
	height:38px;
	line-height:38px;
	font-size:100%;
	color:#FFF;
	padding:0 10px 0 10px ;
	text-decoration:none;
	border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}

a.bt_side2{
	background-color:#999;
	display: inline-block;
	height:38px;
	line-height:38px;
	font-size:100%;
	color:#FFF;
	padding:0 10px 0 10px ;
	text-decoration:none;
	border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}


.bt_motto{
	background-color:#ccc;
	font-size:120%;
	color:#FFF;
	padding:8px 15px 8px 45px ;
	text-decoration:none;
	border-radius: 18px;
	border:solid 2px #eee;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
	background-image:url(../img/ico_opcl.png);
	background-size:24px 24px;
	background-repeat:no-repeat;
	background-position:12px 8px;
	text-align:center;
}


.btn_001{
	display: inline;
	background-color:#3E9ED6;/*メイン濃い*/
	color:#FFF;
	font-size:24px;
	font-weight:bold;
	padding:18px 30px 18px 30px ;
	text-decoration:none;
	border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
	margin:10px;
}
.btn_002{
	display: inline;
	background-color: #999;
	color:#FFF;
	font-size:24px;
	font-weight:bold;
	padding:18px 30px 18px 30px ;
	text-decoration:none;
	border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
	margin:10px;
}

.cell_link{
	display:block;
	width:100%;
	height:100%;
	background-color:#3E9ED6;/*メイン濃い*/
	color:#FFF;
}

.nw{
	white-space: nowrap;
}

.motto_box .text_ob{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}

/*Googleアイコン*/
/* Material iconsを利用する */
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* 推奨サイズ */
  display: inline-block;
  text-transform: none;

  /* WebKitブラウザサポート */
  -webkit-font-smoothing: antialiased;
  /* Chrome、Safariサポート */
  text-rendering: optimizeLegibility;

  /* Firefoxサポート */
  -moz-osx-font-smoothing: grayscale;

  /* IEサポート */
  font-feature-settings: 'liga';
}

.q-number{
	display:inline-block;
	width:56px;
	line-height:26px;
	font-weight:bold;
	background-color: #F00;
	color:#FFF;
	text-align:center;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

/*------------------------------------------------------------
特殊ラジオボタン
-------------------------------------------------------------*/

/* ラジオボタンは非表示にする */
.btn_radio input[type=radio] {
  display: none; 
}
/* チェックされた時のスタイル */
.btn_radio input[type="radio"]:checked + label.lb_yes{
  background: #F90;
  color: #FFF;
}
.btn_radio input[type="radio"]:checked + label.lb_no{
  background: #3CF;
  color: #FFF;
}

/* マウスオーバーしたときのスタイル */
.btn_radio .label:hover {
  background-color: #FFC;
}
/* lableのスタイル */
.btn_radio .label {
  color:#999;
  background-color: #eee; 
  display: inline-block;
  width:85px;
  height: 45px;
  line-height: 45px;
  padding-left: 20px;
  padding-right: 20px;
  cursor: pointer; 
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	margin:5px;
}

/*------------------------------------------------------------
吹き出し
-------------------------------------------------------------*/

.balloon1 {
 	position: relative;
	display: inline-block;
	padding: 7px 10px;
 	max-width: 100%;
	background-color: #ccc;
	color:#FFF;
}

.balloon1:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #ccc;
}

.balloon1 p {
	margin: 0;
	padding: 0;
}
/*------------------------------------------------------------
共通指定
-------------------------------------------------------------*/

.fl_l{float:left;}
.fl_r{float:right;}
.fl_no{ clear:both;}

.ta_l{ text-align: left; }
.ta_r{ text-align: right; }
.ta_c{ text-align: center; }

.m0{margin:0px;}
.m3{margin:3px;}
.m5{margin:5px;}
.m10{margin:10px;}
.m15{margin:15px;}
.m20{margin:20px;}
.m30{margin:30px;}
.m40{margin:40px;}
.m50{margin:50px;}
.m60{margin:60px;}
.m70{margin:70px;}
.m80{margin:80px;}
.m90{margin:90px;}
.m100{margin:100px;}

.mt0{margin-top:0px;}
.mt3{margin-top:3px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt70{margin-top:70px;}
.mt80{margin-top:80px;}
.mt90{margin-top:90px;}
.mt100{margin-top:100px;}

.ml0{margin-left:0px;}
.ml3{margin-left:3px;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}
.ml60{margin-left:60px;}
.ml70{margin-left:70px;}
.ml80{margin-left:80px;}
.ml90{margin-left:90px;}
.ml100{margin-left:100px;}

.mr0{margin-right:0px;}
.mr3{margin-right:3px;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}
.mr60{margin-right:60px;}
.mr70{margin-right:70px;}
.mr80{margin-right:80px;}
.mr90{margin-right:90px;}
.mr100{margin-right:100px;}

.mb0{margin-bottom:0px;}
.mb3{margin-bottom:3px;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb70{margin-bottom:70px;}
.mb80{margin-bottom:80px;}
.mb90{margin-bottom:90px;}
.mb100{margin-bottom:100px;}

.p0{padding:0px;}
.p3{padding:3px;}
.p5{padding:5px;}
.p10{padding:10px;}
.p15{padding:15px;}
.p20{padding:20px;}
.p30{padding:30px;}
.p40{padding:40px;}
.p50{padding:50px;}
.p60{padding:60px;}
.p70{padding:70px;}
.p80{padding:80px;}
.p90{padding:90px;}
.p100{padding:100px;}

.pt0{padding-top:0px;}
.pt3{padding-top:3px;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt40{padding-top:40px;}
.pt50{padding-top:50px;}
.pt60{padding-top:60px;}
.pt70{padding-top:70px;}
.pt80{padding-top:80px;}
.pt90{padding-top:90px;}
.pt100{padding-top:100px;}

.pl0{padding-left:0px;}
.pl3{padding-left:3px;}
.pl5{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl40{padding-left:40px;}
.pl50{padding-left:50px;}
.pl60{padding-left:60px;}
.pl70{padding-left:70px;}
.pl80{padding-left:80px;}
.pl90{padding-left:90px;}
.pl100{padding-left:100px;}

.pr0{padding-right:0px;}
.pr3{padding-right:3px;}
.pr5{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;}
.pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr40{padding-right:40px;}
.pr50{padding-right:50px;}
.pr60{padding-right:60px;}
.pr70{padding-right:70px;}
.pr80{padding-right:80px;}
.pr90{padding-right:90px;}
.pr100{padding-right:100px;}

.pb0{padding-bottom:0px;}
.pb3{padding-bottom:3px;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb40{padding-bottom:40px;}
.pb50{padding-bottom:50px;}
.pb60{padding-bottom:60px;}
.pb70{padding-bottom:70px;}
.pb80{padding-bottom:80px;}
.pb90{padding-bottom:90px;}
.pb100{padding-bottom:100px;}

.s-1em{display:inline-block; width:1em;}
.s-2em{display:inline-block; width:2em;}
.s-3em{display:inline-block; width:3em;}
.s-4em{display:inline-block; width:4em;}
.s-5em{display:inline-block; width:5em;}
.s-6em{display:inline-block; width:6em;}
.s-7em{display:inline-block; width:7em;}
.s-8em{display:inline-block; width:8em;}
.s-9em{display:inline-block; width:9em;}
.s-10em{display:inline-block; width:10em;}
.s-11em{display:inline-block; width:11em;}
.s-12em{display:inline-block; width:12em;}
.s-13em{display:inline-block; width:13em;}
.s-14em{display:inline-block; width:14em;}
.s-15em{display:inline-block; width:15em;}
.s-16em{display:inline-block; width:16em;}
.s-17em{display:inline-block; width:17em;}
.s-18em{display:inline-block; width:18em;}
.s-19em{display:inline-block; width:19em;}
.s-20em{display:inline-block; width:20em;}


/* ナンバー */

.number{
	border-top:#eee solid 2px;
	border-bottom:#eee solid 2px;
	background-color:#FFF;
	padding:10px;
	text-align:center;
}

.number a{
	display: inline-block;
	height:34px;
	background-color:#ccc;
	text-decoration:none;
	color:#FFF;
	font-size:100%;
	padding:0px 15px 0px 15px;
	margin:3px;
	line-height:34px;
    border-radius: 20px ; 
    -webkit-border-radius: 20px ;
    -moz-border-radius: 20px ;
	cursor:pointer;
}

.number a:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	cursor:pointer;
}

.number a.page-on{
	background-color:#3E9ED6;/*メイン濃い*/
}



/*　横スライドプルダウンメニュー */

/*
 * 横スライドIN
 */

body {
    position: relative;
    right: 0;
    overflow-x: hidden;
}

/*
 * Font-style
 */
body,
input,
textarea {
    color: #444444;
    font-size: 16px;
    word-spacing: .1em;
}

/*
 * Link-style
 */
.pd_menu a {
    cursor: pointer;
}
.pd_menu a:link {
    color: #3E9ED6;
    text-decoration: none;
}
.pd_menu a:visited {
    color: #06F;
}
.pd_menu a:active {
    color: red;
}

/*
 * List-style
 * Definition Term-style
 */
.pd_menu ul,
.pd_menu ol {
    margin-top: 15px;
    margin-bottom: 15px;
    list-style-position: inside;
    padding: 0 8px;
}
.pd_menu ul ul,
.pd_menu ul ol,
.pd_menu ol ol,
.pd_menu ol ul {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}
.pd_menu li {
    line-height: 150%;
}

/*
 * Menu styles: basic defaults
 */
.pd_menu a,
.pd_menu a:visited {
    color: #3E9ED6;
    text-decoration: none;
}
.pd_menu .container {
    margin: 0 auto;
    padding: 0;
}
.pd_menu ul {
    list-style: none;
}
.pd_menu ul ul ul {
    padding-left: 16px;
}
.pd_menu a {
    line-height: 250%;
    padding: 0 24px;
    boarder-bottom: none;
    display: block;
}
.pd_menu > ul > li > a {
    background-color: #EDF8FF;
	
}
.pd_menu li.open > a {
    color: #CCCCCC;
}
.pd_menu > ul > li > ul > li:not(:last-child) {
    boarder-bottom: #DDDDDD 1px dashed;
}
.pd_menu > ul > li:not(.open) > ul > li:last-child {
    boarder-bottom: #DDDDDD 1px solid;
}
.pd_menu.vertical > ul > li > ul > li:last-child {
    boarder-bottom: #DDDDDD 1px solid;
}
.pd_menu ul li a:not(:only-child):before {
    content: '\f196';
    font-family: 'FontAwesome';
    margin-right: 4px;
    margin-left: -1em;
}
.pd_menu ul li.open > a:not(:only-child):before {
    content: '\f147';
}
.pd_menu ul li a[href="/"]:before,
.pd_menu ul li a[href^="/index."]:before {
    content: '\f015';
    font-family: 'FontAwesome';
    margin-right: 4px;
    margin-left: -1em;
}

.pd_menu.vertical {
    margin: 15px auto;
    boarder-top: #DDDDDD 1px solid;
}
.pd_menu.vertical .container {
    background-color: #FFFFFF;
}
.pd_menu.vertical > ul > li > a {
    boarder-bottom: #DDDDDD 1px solid;
}

.pd_menu.close ul ul {
    display: none;
}
.pd_menu .open > ul {
}

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

#slide_menu{
    position: static;
    top: auto;
    right: auto;
    width: auto;
    height: auto;
    background: #ccc;
	min-width: inherit;
}

.pd_menu.horizontal {
    background-color: #efefef;
    boarder-top: #DDDDDD 1px solid;
    boarder-bottom: #DDDDDD 1px solid;
}
.pd_menu.horizontal ul ul li {
    background-color: #FFFFFF;
}
.pd_menu.horizontal > ul {
    position: relative;
}
.pd_menu.horizontal > ul > li {
    float:left;
    boarder-left: 1px #DDDDDD solid;
}
.pd_menu.horizontal > ul > li:last-child {
    boarder-right: 1px #DDDDDD solid;
}
.pd_menu.horizontal > ul > li > ul {
    background-color: #ffffff;
    width: 100%;
    position: absolute;
    top: auto;
    left: 0;
    z-index: 1;
    boarder: 1px #DDDDDD solid;
}
.pd_menu.horizontal > ul > li > a.set {
    background-color: #fff;
}
.pd_menu.horizontal > ul > li > a:not(:only-child):before,
.pd_menu.horizontal ul li a[href="/"]:before,
.pd_menu.horizontal ul li a[href*="index."]:before {
    margin-left: 0;
}

}

@media screen and (max-width: 670px) {

#slide_menu{
    position: fixed;
    top: 0;
    right: -240px;
    width: 240px;
    height: 100%;
    background: #EFEFEF;
	min-width:240px;
}

.pd_menu.horizontal {
    margin: 15px auto;
    margin-top: 0;
    boarder-top: #DDDDDD 1px solid;
}
.pd_menu.horizontal .container {
    background-color: #FFFFFF;
}
.pd_menu.horizontal > ul > li > a {
    boarder-bottom: #DDDDDD 1px solid;
}
.pd_menu.horizontal > ul > li > ul > li:last-child { /*li or a*/
    boarder-bottom: #DDDDDD 1px solid;
}
.pd_menu.horizontal > ul > li > a.set {
    background-color: #fff;
}
}

/*
 * Clearfix: contain floats
 */
.clearfix:before,
.clearfix:after {
    content: " "; 
    display: table;
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 */
.clearfix {
    *zoom: 1;
}

