@charset "utf-8";

@import url("fontawesome-4.6.3.min.css");
@import url("framework.css");

/* Rows
--------------------------------------------------------------------------------------------------------------- */
.row0, .row0 a{}
.row1, .row1 a{}
.row2, .row2 a{}
.row3, .row3 a{}
.row4, .row4 a{}
.row5, .row5 a{}


/* Top Bar
--------------------------------------------------------------------------------------------------------------- */
#topbar{padding:15px 0; font-size:.8rem; text-transform:uppercase;}

#topbar *{margin:0;}
#topbar ul li{display:inline-block; margin-right:10px; padding-right:15px; border-right:1px solid;}
#topbar ul li:last-child{margin-right:0; padding-right:0; border-right:none;}
#topbar i{margin:0 5px 0 0; line-height:normal;}


/* Header
--------------------------------------------------------------------------------------------------------------- */
#header{}

#header #logo{margin-top:25px;}
#header #logo *{margin:0; padding:0; line-height:1;}
#header #logo h1{font-size:22px; font-variant:small-caps;}
#header #logo p{font-size:12px; text-transform:lowercase;}


/* Page Intro
--------------------------------------------------------------------------------------------------------------- */
#pageintro{padding:30px 0;}

#pageintro {max-width:75%;}
#pageintro  *{text-transform:none;}
#pageintro .heading{margin:0 0 30px 0; padding:0; line-height:140%; font-size:40px;}
#pageintro  p{margin:0;}
#pageintro  p:first-of-type{margin-bottom:35px; font-size:22px; letter-spacing:5px;}
#pageintro  footer{margin-top:80px;}


/* Content Area
--------------------------------------------------------------------------------------------------------------- */
.container{padding:50px 0;}

/* Content */
.container .content{}

.excerpt{display:inline-block; width:100%; max-width:320px; padding-bottom:20px;}
.excerpt img{border-radius: 5px}
.excerpt .excerpttxt{display:block; position:relative; max-width:100%; height:150px; margin:0px auto; padding:20px; text-align:left; border-radius:5px; box-shadow: 2px 2px 4px whitesmoke; }
.excerpt .heading{margin:0 0 5px 0;}
.excerpt p:last-of-type{margin:0; padding:0;}


.lab {zoom: 1; max-height:100%;background-color:#08318A; margin-bottom:30px;}
.lab:after {content: "";display: block; clear: both;}
.inner img {float: right;}
.innertxt { background-color:#08318A; color: #ffffff; padding:15px; padding-bottom:15px;  height:100%;}
.p {float:left; width:100%; }
.green { color:#01B927; font-weight: bold;}




/* Comments */
#comments ul{margin:0 0 40px 0; padding:0; list-style:none;}
#comments li{margin:0 0 10px 0; padding:15px;}
#comments .avatar{float:right; margin:0 0 10px 10px; padding:3px; border:1px solid;}
#comments address{font-weight:bold;}
#comments time{font-size:smaller;}
#comments .comcont{display:block; margin:0; padding:0;}
#comments .comcont p{margin:10px 5px 10px 0; padding:0;}

#comments form{display:block; width:100%;}
#comments input, #comments textarea{width:100%; padding:10px; border:1px solid;}
#comments textarea{overflow:auto;}
#comments div{margin-bottom:15px;}
#comments input[type="submit"], #comments input[type="reset"]{display:inline-block; width:auto; min-width:150px; margin:0; padding:8px 5px; cursor:pointer;}

/* Sidebar */
.container .sidebar{}

.sidebar .sdb_holder{margin-bottom:50px;}
.sidebar .sdb_holder:last-child{margin-bottom:0;}


/* Footer
--------------------------------------------------------------------------------------------------------------- */
#footer{padding:80px 0;}

#footer .title{margin:0 0 50px 0; padding:0; font-size:1.2rem;}

#footer .linklist li{display:block; margin-bottom:15px; padding:0 0 15px 0; border-bottom:1px solid;}
#footer .linklist li:last-child{margin:0; padding:0; border:none;}
#footer .linklist li::before, #footer .linklist li::after{display:table; content:"";}
#footer .linklist li, #footer .linklist li::after{clear:both;}

#footer .contact{}
#footer .contact.linklist li, #footer .contact.linklist li:last-child{position:relative; padding-left:40px;}
#footer .contact li *{margin:0; padding:0; line-height:1.6;}
#footer .contact li i{display:block; position:absolute; top:0; left:0; width:30px; font-size:16px; text-align:center;}


/* Copyright
--------------------------------------------------------------------------------------------------------------- */
#copyright{padding:20px 0;}
#copyright *{margin:0; padding:0;}


/* Transition Fade
--------------------------------------------------------------------------------------------------------------- */
*, *::before, *::after{transition:all .3s ease-in-out;}
#mainav form *{transition:none !important;}



/* Navigation
--------------------------------------------------------------------------------------------------------------- */
nav ul, nav ol{margin:0; padding:0; list-style:none;}

#mainav, #breadcrumb, .sidebar nav{line-height:normal;}
#mainav .drop::after, #mainav li li .drop::after, #breadcrumb li a::after, .sidebar nav a::after{position:absolute; font-family:"FontAwesome"; font-size:10px; line-height:10px;}

/* Top Navigation */
#mainav{}
#mainav ul.clear{margin-top:3px;}
#mainav ul{text-transform:uppercase;}
#mainav ul ul{z-index:9999; position:absolute; width:180px; text-transform:none;}
#mainav ul ul ul{left:180px; top:0;}
#mainav li{display:inline-block; position:relative; margin:0 15px 0 0; padding:0;}
#mainav li:last-child{margin-right:0;}
#mainav li li{width:100%; margin:0;}
#mainav li a{display:block; padding:30px 0;}
#mainav li li a{border:solid; border-width:0 0 1px 0;}
#mainav .drop{padding-left:15px;}
#mainav li li a, #mainav li li .drop{display:block; margin:0; padding:10px 15px;}
#mainav .drop::after, #mainav li li .drop::after{content:"\f0d7";}
#mainav .drop::after{top:35px; left:5px;}
#mainav li li .drop::after{top:15px; left:5px;}
#mainav ul ul{visibility:hidden; opacity:0;}
#mainav ul li:hover > ul{visibility:visible; opacity:1;}

#mainav form{display:none; margin:0; padding:0;}
#mainav form select, #mainav form select option{display:block; cursor:pointer; outline:none;}
#mainav form select{width:100%; padding:5px; border:none;}
#mainav form select option{margin:5px; padding:0; border:none;}

/* Breadcrumb */
#breadcrumb{padding:100px 0 20px;}
#breadcrumb ul{margin:0; padding:0; list-style:none; text-transform:uppercase;}
#breadcrumb li{display:inline-block; margin:0 6px 0 0; padding:0;}
#breadcrumb li a{display:block; position:relative; margin:0; padding:0 12px 0 0; font-size:12px;}
#breadcrumb li a::after{top:3px; right:0; content:"\f101";}
#breadcrumb li:last-child a{margin:0; padding:0;}
#breadcrumb li:last-child a::after{display:none;}

/* Sidebar Navigation */
.sidebar nav{display:block; width:100%;}
.sidebar nav li{margin:0 0 3px 0; padding:0;}
.sidebar nav a{display:block; position:relative; margin:0; padding:5px 10px 5px 15px; text-decoration:none; border:solid; border-width:0 0 1px 0;}
.sidebar nav a::after{top:9px; left:5px; content:"\f101";}
.sidebar nav ul ul a{padding-left:35px;}
.sidebar nav ul ul a::after{left:25px;}
.sidebar nav ul ul ul a{padding-left:55px;}
.sidebar nav ul ul ul a::after{left:45px;}

/* Pagination */
.pagination{display:block; width:100%; text-align:center; clear:both;}
.pagination li{display:inline-block; margin:0 2px 0 0;}
.pagination li:last-child{margin-right:0;}
.pagination a, .pagination strong{display:block; padding:8px 11px; border:1px solid; background-clip:padding-box; font-weight:normal;}

/* Back to Top */
#backtotop{z-index:999; display:inline-block; position:fixed; visibility:hidden; bottom:20px; right:20px; width:40px; height:40px; line-height:36px; font-size:20px; text-align:center; opacity:.2; border-radius:50px; }
#backtotop i{display:block; width:100%; height:100%; line-height:inherit;}
#backtotop.visible{visibility:visible; opacity:.5;}
#backtotop:hover{opacity:1;}


/* Tables
--------------------------------------------------------------------------------------------------------------- */
table, th, td{border:1px solid; border-collapse:collapse; vertical-align:top;}
table, th{table-layout:auto;}
table{width:100%; margin-bottom:15px;}
th, td{padding:5px 8px;}
td{border-width:0 1px;}


/* Gallery
--------------------------------------------------------------------------------------------------------------- */
#gallery{display:block; width:100%; margin-bottom:50px;}
#gallery figure figcaption{display:block; width:100%; clear:both;}
#gallery li{margin-bottom:30px;}



/* Colours
--------------------------------------------------------------------------------------------------------------- */
body{color:#333; }
a{color:#08318A;}
a:active, a:focus{background:transparent;}/* IE10 + 11 Bugfix - prevents grey background */
hr, .borderedbox{border-color:#D7D7D7;}
label span{color:#FF0000; background-color:inherit;}
input:focus, textarea:focus, *:required:focus{border-color:#66CCCC;}
.overlay{color:#FFFFFF; background-color:inherit;}
.overlay::after{color:inherit; background-color:rgba(0,0,0,.2);}

.inherit{color:inherit;}


.btn {
    width:80%;
    height: 80px;
    padding: 20px 0 20px 0;
    border-color:#ffffff;
    border-style:solid;
    border-width: 3px;
    background: linear-gradient(#01B927,#03831D);
    color: #fff;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 400;
    border-radius: 50px;
}

/*.btn, .btn.inverse:hover{color:#FFFFFF; background:linear-gradient(#01B927,#FF54C9); border-color:#66CCCC;}*/
.btn:hover {color:#fff; background-color:#01B927; border-color:inherit;box-shadow: 10px 10px 10px rgba(0,0,0,0.4);}

.box {
  margin: 10px auto;
  width:100%;
	padding: 0 0 30px 0;
    background: #ffffff;
    display: block;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    border-radius: 30px;
    font-size: 20px;
    line-height: 30px;
}


.box2 {
    margin: 10px auto;
    padding: 30px 10px 30px 10px;
    background: rgba(255,255,255,0.5);
    display: block;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    width: 100%;
    font-size: 18px;
}

.box3 {
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    display: block;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    border: solid;
    border-color: #FFCD31; border-width: 8px;
    border-radius: 30px;
    width: 100%;
    font-size: 18px;
}

.box4 {
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    display: block;
    border-radius: 30px;
    width: 100%;
    font-size: 22px;
    line-height: 1.8;
}

.box5 {
    margin: 0 auto;
    padding: 50px;
    background: #fff;
    display: block;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    border-radius: 30px;
    width: 100%;
}

blockquote::before{color:rgba(255,255,255,.2);}

.under01 {background: linear-gradient(transparent 50%, #24BCE0 50%);}
.under02 {background: linear-gradient(transparent 50%, #FFEE00 50%);font-weight: bold;}

.gray {font-size:18px; padding-bottom:15px;color:#333333; line-height:1.8;}
.gray-serif {color:#333333; line-height:1.5;font-family: 'Noto Serif JP', serif; }
.sky{color:#24BCE0; font-size:22px;line-height:1.8;font-weight: bold;}

.list-wrap {
    list-style:  none;      /* デフォルトのアイコンを消す */
    margin:  0;             /* デフォルト指定上書き */
    padding: 0;             /* デフォルト指定上書き */
}
.list:before {
    content:  "";     /* 空の要素作成 */
    width:  30px;               /* 幅指定 */
    height:  30px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-image:url("../../images/icon_check.svg");
    background-size:  contain;              /* アイコンの大きさ指定 */
    background-repeat:  no-repeat;
    /*background-color: #F44336;  /* 背景色指定 */
    /* border-radius:  50%;        要素を丸くする */
    vertical-align: top;
    position:  relative;        /* 位置調整 */
    top: 5px;                  /* 位置調整 */
    margin-right: 15px;          /* 余白指定 */
}

/* Rows */
.row0{color:#333333;background-color:#F6F6F6; padding-bottom: 0px;}
.row1{background-image:url("../../images/bg.png");background-repeat:repeat-y;background-position: top center; background-color:#fff;}
.row2{color:#333333;background-color:#FDF2E9; padding-top: 50px;padding-bottom: 50px;}

/* Top Bar */
#topbar ul li{border-color:rgba(255,255,255,.2);}
#topbar > div:last-of-type li:first-child a{color:#66CCCC;}


/* Header */
#header #logo h1 a{color:inherit;}


/* Content Area */
.excerpt .excerpttxt{color:inherit; background-color:#FFFFFF;}


/* Footer */
#footer .title{color:#FFFFFF;}
#footer .linklist li{border-color:rgba(255,255,255,.2);}


/* Navigation */
#mainav li a{color:inherit;}
#mainav .active a, #mainav a:hover, #mainav li:hover > a{color:#FF7F00; background-color:inherit;}
#mainav li li a, #mainav .active li a{color:#FFFFFF; background-color:rgba(0,0,0,.6); border-color:rgba(0,0,0,.6);}
#mainav li li:hover > a, #mainav .active .active > a{color:#FFFFFF; background-color:#08318A;}
#mainav form select{color:#FFFFFF; background-color:#000000;}

#breadcrumb a{color:inherit; background-color:inherit;}
#breadcrumb li:last-child a{color:#66CCCC;}

.container .sidebar nav a{color:inherit; border-color:#D7D7D7;}
.container .sidebar nav a:hover{color:#66CCCC;}

.pagination a, .pagination strong{border-color:#D7D7D7;}
.pagination .current *{color:#FFFFFF; background-color:#66CCCC;}

#backtotop{color:#FFFFFF; background-color:#FF7F00;}


/* Tables + Comments */
table, th, td, #comments .avatar, #comments input, #comments textarea{border-bottom: 1px solid #D7D7D7;border-top: 1px solid #D7D7D7;border-left: 1px solid #D7D7D7;border-right: 1px solid #D7D7D7;padding:10px;}
#comments input:focus, #comments textarea:focus, #comments *:required:focus{border-color:#66CCCC;}
th{color:#FFFFFF; background-color:#ffffff;}
tr, #comments li, #comments input[type="submit"], #comments input[type="reset"]{color:inherit; background-color:#ffffff;}
tr:nth-child(even), #comments li:nth-child(even){color:inherit; background-color:#ffffff;}
table a, #comments a{background-color:inherit;}





/* Media Queries
--------------------------------------------------------------------------------------------------------------- */
@-ms-viewport{width:device-width;}


/* Max Wrapper Width - Laptop, Desktop etc.
--------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width:978px){
	.hoc{max-width:800px;}
}


/* Mobile Devices
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:900px){
	.hoc{max-width:90%;}

	#topbar{}

	#header{padding:30px 0;}
	#header #logo{margin:0;}

	#mainav{}
	#mainav ul{display:none;}
	#mainav form{display:block; margin-top:8px;}

	#breadcrumb{}

	.container{}
	#comments input[type="reset"]{margin-top:10px;}
	.pagination li{display:inline-block; margin:0 5px 5px 0;}

	#footer{}

	#copyright{}
	#copyright p:first-of-type{margin-bottom:10px;}
}


@media screen and (max-width:750px){
	.imgl, .imgr{display:inline-block; float:none; margin:0 0 10px 0;}
	.fl_left, .fl_right{display:block; float:none;}
	.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter{display:block; float:none; width:auto; margin:0 0 30px 0; padding:0;}

	#topbar{padding-top:15px; text-align:center;}
	#topbar ul{margin:0 0 15px 0; line-height:normal;}

	#header{text-align:center;}
	#header #logo{margin:0 0 30px 0;}

	#mainav form{margin-top:0;}

	#pageintro article{max-width:none;}
	#pageintro{padding:20px 15px 15px 15px;}

#pageintro {max-width:100%;}
#pageintro  *{text-transform:none;}
#pageintro .heading{margin:0 0 10px 0; padding:0; line-height:120%; font-size:30px;}
#pageintro  p{margin:0;}
#pageintro  p:first-of-type{margin-bottom:5px; font-size:22px; letter-spacing:5px;}
#pageintro  footer{margin-top:30px;}

.btn {
    width:90%;
    height: 80px;
    padding: 20px 0 20px 0;
}
}



@media screen and (max-width:450px){
	#topbar ul li{margin-bottom:2px; padding-right:0; border-right:none;}
}


/* Other
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:650px){
	.scrollable{display:block; width:100%; margin:0 0 30px 0; padding:0 0 15px 0; overflow:auto; overflow-x:scroll;}
	.scrollable table{margin:0; padding:0; white-space:nowrap;}

	.inline li{display:block; margin-bottom:10px;}
	.pushright li{margin-right:0;}

	.font-x2{font-size:16px;}
	.font-x3{font-size:1.6rem;}
}


@media screen and (min-width: 650px){
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 650px){
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important;}
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 650px) {
   img { max-width: 100%; }
    .pc { display: none !important; }
    .sp { display: block !important; }
}


/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 100%;
   padding:0;
   margin:0px auto;
   font-size: 17px;
   height: 80px;
}

/*左側メニューを緑色に*/
#sp-fixed-menu li:first-child{
   background: #333333;
opacity: 0.95;
}

/*ボタンを調整*/
#sp-fixed-menu a{
   padding:15px;
   margin:10px auto;
   color: #fff;
   font-weight: bold;
   text-align: center;
   display:block;
   width: 50%;
   background: #FF881D;
   /*background: linear-gradient(#01B927,#03831D);*/
   border-radius: 10px;
   border-bottom: solid 5px #C35805;

}
#sp-fixed-menu a:hover{
   text-decoration: none;
   opacity: 0.9;
}


/*PCの場合にはメニューを表示させない
@media (min-width: 768px) {
   .for-sp{
      display:none;
    }
}*/
