@charset "UTF-8";
/*sassを使用して制作*/
/*compass読み込み*/
/*ベースファイル読み込み*/
/* common
-------------------------------------*/
* {
  margin: 0px;
  padding: 0px;
}

body {
  line-height: 160%;
  line-height: 1.6;
}

a img {
  border: 0px;
  vertical-align: bottom;
}

img {
  vertical-align: bottom;
}

a, area {
  outline: none;
}

option {
  padding: 0 5px 0 0;
}

/* title
-------------------------------------*/
/* character setting
-------------------------------------*/
strong {
  font-weight: 800;
}

em {
  font-style: normal;
}

address {
  font-style: normal;
}

/* list
-------------------------------------*/
ul {
  list-style-type: none;
}

ol {
  padding: 0 10px 8px 20px;
}

ol li {
  padding: 0 0 8px 0px;
}

/* table
-------------------------------------*/
table,
th,
td {
  padding: 3px;
}

caption {
  text-align: left;
}

/* align
-------------------------------------*/
.alnleft {
  text-align: left;
}

.alncenter {
  text-align: center;
}

.alnright {
  text-align: right;
}

.fltleft {
  float: left;
}

.fltright {
  float: right;
}

/* font-size
-------------------------------------*/
.txtxxsmall {
  font-size: xx-small;
}

.txtxsmall {
  font-size: x-small;
}

.txtsmall {
  font-size: small;
}

.txtsmaller {
  font-size: smaller;
}

.txtxxlarge {
  font-size: xx-large;
}

.txtxlarge {
  font-size: x-large;
}

.txtlarge {
  font-size: large;
}

.txtlarger {
  font-size: larger;
}

.txtmed {
  font-size: medium;
}

.txt09 {
  font-size: 9px;
}

.txt10 {
  font-size: 10px;
}

.txt11 {
  font-size: 11px;
}

.txt12 {
  font-size: 12px;
}

.txt13 {
  font-size: 13px;
}

.txt14 {
  font-size: 14px;
}

.txt15 {
  font-size: 15px;
}

.txt16 {
  font-size: 16px;
}

.txt17 {
  font-size: 17px;
}

.txt18 {
  font-size: 18px;
}

.txt19 {
  font-size: 19px;
}

.txt20 {
  font-size: 20px;
}

.txt21 {
  font-size: 21px;
}

.txt22 {
  font-size: 22px;
}

.txt23 {
  font-size: 23px;
}

.txt24 {
  font-size: 24px;
}

.txt25 {
  font-size: 25px;
}

.txt26 {
  font-size: 26px;
}

.txt80 {
  font-size: 80%;
}

.txt90 {
  font-size: 90%;
}

.txt110 {
  font-size: 110%;
}

.txt120 {
  font-size: 120%;
}

.txt130 {
  font-size: 130%;
}

.txt140 {
  font-size: 140%;
}

.txt150 {
  font-size: 150%;
}

/* color
-------------------------------------*/
.clrred {
  color: #da423e;
}

.clrblue {
  color: #279ab3;
}

.clryellow {
  color: #ddb410;
}

.clrorange {
  color: #fe501a;
}

.clrorange2 {
  color: #F39219;
}

.clrgreen {
  color: #0C3;
}

.clrpink {
  color: #FF999C;
}

.clrbrown {
  color: #a87c1c;
}

.clrwhite {
  color: #FFF;
}

.clr333 {
  color: #333;
}

.clr666 {
  color: #666;
}

.clr999 {
  color: #999;
}

.clrCCC {
  color: #CCC;
}

.clrpurple {
  color: #896795;
}

.clrkeiei {
  color: #103c70;
}

.clrjinbun {
  color: #9e0a0f;
}

.clrshinri {
  color: #9e0a0f;
}

.clrkyouiku {
  color: #6a3f76;
}

.clrsports {
  color: #109359;
}

.clrkanri {
  color: #de702d;
}

/* background
-------------------------------------*/
.bg01 {
  background: #F8FBFD;
}

.bg02 {
  background: #ADDBFA;
}

.bg03 {
  background: #DEF0FB;
}

.bg04 {
  background: #FEF9E9;
}

.bg05 {
  background: #D3F1A0;
}

.bg06 {
  background: #f8d9d8;
}

.bg07 {
  background: #A0A9F1;
}

.bg08 {
  background: #e50112;
  color: #fff;
}

.bg09 {
  background: #FDE297;
}

.bg10 {
  background: #EFEFEF;
}

.bg11 {
  background: #F4F4F4;
}

.bg12 {
  background: #EEEEDC;
}

.bg13 {
  background: #F6F6EE;
}

.bg14 {
  background: #776655;
}

.bg15 {
  background: #EDF3FE;
}

.bg16 {
  background: #F9F9F9;
}

.bg17 {
  background: #7161C4;
}

.bg18 {
  background: #2ABE0F;
  color: #fff;
}

.bg19 {
  background: #FF0B0B;
}

.bg20 {
  background: #FFB82B;
}

.bg21 {
  background: #7CA20A;
}

.bgfff {
  background: #FFF;
}

.bgccc {
  background: #ccc;
}

.bgkeiei {
  background: #103c70;
}

.bgjinbun {
  background: #9e0a0f;
}

.bgshinri {
  background: #9e0a0f;
}

.bgkyouiku {
  background: #6a3f76;
}

.bgsports {
  background: #109359;
}

.bgkanri {
  background: #de702d;
}

/* float
-------------------------------------*/
.fltleft {
  float: left;
}

.fltright {
  float: right;
}

/*clear*/
.clear {
  clear: both;
  font-size: 1px;
}

/*margin
------------------------------------*/
.ma20 {
  margin: 20px;
}

.ma10 {
  margin: 10px;
}

.ma05 {
  margin: 5px;
}

.mt20 {
  margin: 20px 0px 0px 0px;
}

.mt10 {
  margin: 10px 0px 0px 0px;
}

.mt05 {
  margin: 5px 0px 0px 0px;
}

.mb20 {
  margin: 0px 0px 20px 0px;
}

.mb10 {
  margin: 0px 0px 10px 0px;
}

.mb05 {
  margin: 0px 0px 5px 0px;
}

.mr20 {
  margin: 0px 20px 0px 0px;
}

.mr10 {
  margin: 0px 10px 0px 0px;
}

.mr05 {
  margin: 0px 5px 0px 0px;
}

.ml20 {
  margin: 0px 0px 0px 20px;
}

.ml15 {
  margin: 0px 0px 0px 15px;
}

.ml10 {
  margin: 0px 0px 0px 10px;
}

.ml05 {
  margin: 0px 0px 0px 5px;
}

.mtb20 {
  margin: 20px 0;
}

.mtb10 {
  margin: 10px 0;
}

.mtb05 {
  margin: 5px 0;
}

/*padding
------------------------------------*/
.pa20 {
  padding: 20px;
}

.pa10 {
  padding: 10px;
}

.pa05 {
  padding: 5px;
}

.pt20 {
  padding-top: 20px;
}

.pt10 {
  padding-top: 10px;
}

.pt05 {
  padding-top: 5px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb05 {
  padding-bottom: 5px;
}

.pr20 {
  padding-right: 20px;
}

.pr10 {
  padding-right: 10px;
}

.pr05 {
  padding-right: 5px;
}

.pl20 {
  padding-left: 20px;
}

.pl10 {
  padding-left: 10px;
}

.pl05 {
  padding-left: 5px;
}

/*--------------------------------------------------------------------------
*/
/* floatさせたボックスが親ボックスの外にはみ出す現象を回避（ここから） */
.clearbox,
.clearfix {
  min-height: 1px;
}

.clearbox:after,
.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clearbox,
.clearfix {
  display: inline-table;
}

/* Mac IE には適用させない \*/
* html .clearbox,
* html .clearfix {
  height: 1px;
}

.clearbox,
.clearfix {
  display: block;
}

/* */
/* floatさせたボックスが親ボックスの外にはみ出す現象を回避（ここまで） */
/*--------------------------------------------------------------------------
*/
/*----上へ戻る----*/
/*.gotop{
	padding:10px 0 20px 0;

}
.contents .gotop p{
	clear:both;
	text-align:right;
	background:url(../img/bg_gotop.gif) no-repeat right 5px;
	padding:0 15px 0 0px;
}
.gotop p a:hover{

}*/
/*----位置の指定----*/
.alncenter {
  text-align: center;
}

.alnleft {
  text-align: left;
}

.alnright {
  text-align: right;
}

.fltleft {
  float: left;
}

.fltright {
  float: right;
}

.marginauto {
  margin-left: auto;
  margin-right: auto;
}

.clear {
  clear: both;
}

.valntop {
  vertical-align: top;
}

.valnmiddle {
  vertical-align: middle;
}

.valnbottom {
  vertical-align: bottom;
}

.indent {
  text-indent: -10000px;
}

.justify {
  text-align: justify;
  text-justify: distribute-all-lines;
}

.fontmincho {
  font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

/*----ディスプレイ----*/
.none {
  display: none;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.cap,
.contents .cap {
  padding-left: 1em;
  text-indent: -1em;
}

.cap2,
.contents .cap2 {
  padding-left: 2em;
  text-indent: -2em;
}

.contents .cap,
.contents .cap2 {
  margin: 0 0 0 10px;
  padding-bottom: 2px;
}

/*a:hover img{
	opacity:0.5;
	filter: alpha(opacity=50);
}*/
.weight400 {
  font-weight: 400;
}

.weight800 {
  font-weight: 800;
}

/*端末のサイズ設定*/
body {
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, sans-serif;
  font-size: 90%;
  background: #fff;
}

a {
  color: #3498db;
  outline: none;
  text-decoration: none;
}
a:hover, a:active, a:focus {
  color: white;
}
a:hover {
  color: #0074a2;
  text-decoration: underline;
}

input,
select,
textarea {
  padding: 5px;
}

input,
textarea {
  border: 1px solid #ccc;
}

input[type=radio], input[type=checkbox] {
  margin: 0 5px 0 0;
}

img {
  max-width: 100%;
  height: auto;
}
.box04 form .xf_block {
	margin-left: auto;
	margin-right: auto;
}
.xf_block tr .xf_input {
	text-align: left;
}
#wrap .bannerbox02 {
	margin-left: auto;
	margin-right: auto;
	background-color: #EFF0EA;
	padding-top: 12px;
	padding-bottom: 28px;
}

#wrap .bannerbox03  {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	background-color: #EFF0EA;
	padding-bottom: 34px;
}

/*追加コード*/
.bannerbox02 ul li a{
	display:block;
	padding-top: 12px;
	text-align:center;
	background-color: #EFF0EA;
	padding-bottom: 50px;
}

.bannerbox03 ul li a{
	display:block;
	padding:28px;
	text-align:center;
	background-color: #EFF0EA;
	padding-bottom: 34px;
}

@media (max-width: 620px) {
  .fltleft, .fltright {
    float: none;
  }
}
@media (min-width: 621px) {
  .leftbox {
    display: inline-block;
    float: left;
    padding-right: 10px;
  }

  .rightbox {
    display: inline-block;
    float: right;
    padding-left: 10px;
  }
}
/*ヘッダ
------------------------------------------------*/
#header {
  padding: 0px 0 10px 0;
}
@media (min-width: 621px) {
  #header {
    max-width: 960px;
    margin: 0 auto;
  }
}

#logo {
  padding: 10px 0 5px 0;
}
@media (min-width: 621px) {
  #logo {
    float: left;
    width: 48%;
  }
}
@media (max-width: 620px) {
  #logo {
    text-align: center;
  }
}
#logo h1 {
  text-indent: -10000px;
}
#logo a {
  display: block;
  width: 179px;
  height: 78px;
  background: url(../img/logo.png) no-repeat;
  float: left;
}
@media (max-width: 620px) {
  #logo a {
    float: none;
    margin: 0 auto;
  }
}
#logo p {
  font-size: 80%;
}
@media (min-width: 621px) {
  #logo p {
    float: left;
    padding: 30px 0 0 10px;
    width: 270px;
  }
}

.headerbtn a {
  font-size: 120%;
  padding: 15px 10px 10px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background: #002a49;
  color: #fff;
  text-decoration: none;
  margin: -5px;
  display: block;
  font-weight: 800;
}
.headerbtn a:hover {
  background: #0071C3;
}
@media (min-width: 621px) {
  .headerbtn a {
    float: right;
  }
}
@media (max-width: 620px) {
  .headerbtn a {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
}

#smb {
  padding: 10px 0 0 10px;
}
#smb div {
  width: 120px;
  float: left;
}
@media (min-width: 621px) {
  #smb {
    width: 50%;
    float: right;
    padding-top: 50px;
  }
}

/*メインメニュー
------------------------------------------------*/
#gnaviwrap {
  border-top: 1px solid #ccc;
}

@media (min-width: 621px) {
  #gnavi {
    max-width: 960px;
    margin: 0 auto;
  }
}

#gnavi li {
  width: 16.66%;
  float: left;
}
@media (max-width: 620px) {
  #gnavi li {
    width: 33.33%;
    border: 1px solid #ccc;
    border-left: none;
    border-bottom: none;
    margin: -1px -1px 0 -0px;
  }
}
#gnavi a {
  color: #000;
  font-weight: 800;
  display: block;
  text-align: center;
  padding: 10px 0 13px 0;
  text-decoration: none;
  font-size: 120%;
}
@media (min-width: 621px) {
  #gnavi a {
    border-top: 3px solid #fff;
  }
  #gnavi a:hover {
    border-color: #ffac1d;
  }
}

/*メインビジュアル
------------------------------------------------*/
#mainvisualwrap {
  background: #ffac1d;
  padding: 0px 0;
  -moz-box-shadow: #333 0px 5px 12px -8px inset;
  -webkit-box-shadow: #333 0px 5px 12px -8px inset;
  box-shadow: #333 0px 5px 12px -8px inset;
}

@media (min-width: 621px) {
  #mainvisual {
    max-width: 960px;
    margin: 0 auto;
  }
  #mainvisual img {
    max-width: none;
    margin: 0 -63px 0 -20px;
  }
}
/*レイアウト
------------------------------------------------*/
.mainbody {
	padding-top: 20px;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 20px;
}
@media (min-width: 621px) {
  .mainbody {
    max-width: 960px;
    margin: 0 auto;
  }
}

.mainbodybg01 {
  background: #eff0ea;
}

.mainbodybg02 {
  background: #EFF0EA;
  padding: 30px 0 0 0;
}

.pagetitle {
  background: #ffac1d;
  color: #0c0c0c;
  text-align: center;
  padding: 10px 0;
  -moz-box-shadow: #333 0px 5px 12px -8px inset;
  -webkit-box-shadow: #333 0px 5px 12px -8px inset;
  box-shadow: #333 0px 5px 12px -8px inset;
}
.pagetitle h2 {
  font-size: 210%;
  font-weight: 400;
}
.pagetitle p {
  color: #fff;
}

.topicpath {
  /*border-bottom:1px solid #ccc;*/
  font-size: 90%;
}
@media (max-width: 620px) {
  .topicpath {
    padding: 0 10px;
  }
}
.topicpath .mainbody {
  padding: 10px 0;
}

/*トップページ
------------------------------------------------*/
.reason4box h2 {
  font-size: 200%;
  text-align: center;
}
.reason4box h2 strong {
  font-size: 170%;
}
.reason4box dl {
  padding: 10px 2%;
  width: 21%;
  float: left;
}
@media (max-width: 620px) {
  .reason4box dl {
    width: 46%;
  }
}
.reason4box dt {
  text-align: center;
  height: 130px;
  width: 100%;
  display: table;
}
.reason4box dt strong {
  display: table-cell;
  vertical-align: middle;
}
.reason4box dd strong {
  font-size: 110%;
  color: #ffac1d;
}

@media (min-width: 621px) {
  .topsentence {
    background: url(../img/bg_topsentence.png) no-repeat top left;
    padding: 40px 0 40px 400px;
    margin: -30px;
  }
}

.linkbtn {
  background: #33c9b9;
  padding: 10px 10px 10px 40px;
  color: #fff;
  font-size: 170%;
  font-weight: 800;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.linkbtn:after {
  content: ">";
  margin: 0 0 0 30px;
  font-size: 70%;
  vertical-align: middle;
}
.linkbtn:hover {
  text-decoration: none;
}
@media (max-width: 620px) {
  .linkbtn {
    display: block;
  }
}

.newslist h2 {
  font-size: 100%;
  color: #0058a1;
  border-bottom: 1px dotted #ccc;
  margin: 0 0 15px 0;
}
.newslist h2 strong {
  font-size: 110%;
  color: #333;
  padding: 0 10px 0 5px;
}
.newslist dl {
  border-bottom: 1px dotted #ccc;
  clear: both;
  margin: 0 0 5px 0;
}
.newslist dt, .newslist dd {
  padding: 0 10px 5px 10px;
}
@media (min-width: 621px) {
  .newslist dt {
    width: 12%;
    float: left;
  }
  .newslist dd {
    margin: 0 0 0 12%;
  }
}

/*フッター
------------------------------------------------*/
.footerbanner {
	background-color: #EFF0EA;
	-moz-box-shadow: #333 0px 5px 12px -8px inset;
	-webkit-box-shadow: #333 0px 5px 12px -8px inset;
	box-shadow: #333 0px 5px 12px -8px inset;
	padding-top: 8px;
}
.footerbanner li {
  padding: 5px;
  text-align: center;
}

.footerwrap {
  background: #392101;
  color: #fff;
}

.footercomment {
  border: 1px solid #fff;
  padding: 20px;
  margin: 0 10px 20px 10px;
}

address {
  text-align: center;
  padding: 10px;
}

/*コンテンツ
------------------------------------------------*/
.contents {
  padding: 0 50px 20px 50px;
}
@media (max-width: 620px) {
  .contents {
    padding: 0 10px;
  }
}
.contents h2 {
  font-size: 250%;
  text-align: center;
  margin: 0 0 20px 0;
}
.contents h3 {
  color: #f8a20e;
  margin: 0 0 20px 0;
  font-size: 170%;
  font-weight: 400;
}
.contents h4 {
  color: #f8a20e;
  margin: 0 0 20px 0;
  font-size: 140%;
  font-weight: 400;
  border-bottom: 1px solid #f8a20e;
}
.contents p {
  padding: 0 0 10px 0;
}
.contents .flowarrow {
  margin: -10px 0 0px 0;
  text-align: center;
}

.box01 {
  background: #fff;
  padding: 20px;
  margin: 0 0 20px 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.65);
}

.box02 {
  /*	border:1px solid #ccc;*/
  background: #fff;
  padding: 30px 50px;
  margin: 0 0 30px 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: #cbd0d2 0px 2px 0px;
  -webkit-box-shadow: #cbd0d2 0px 2px 0px;
  box-shadow: #cbd0d2 0px 2px 0px;
}
@media (max-width: 620px) {
  .box02 {
    padding: 30px 10px;
  }
}

.box03 {
  border: 1px solid #ccc;
  padding: 20px 30px;
  margin: 0 0 30px 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.box04 {
	border: 1px solid #ccc;
	padding: 20px 30px;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 30px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	background-color: #FFFFFF;
}
@media (max-width: 620px) {
  .box02 {
    padding: 30px 10px;
  }
}

.bannerbox li {
  text-align: center;
  margin: 0 0 10px 0;
}

.table01 {
  width: 98%;
  margin: 0 0 20px 0;
  border-collapse: collapse;
}
.table01 td, .table01 th {
  border: 1px solid #ccc;
  padding: 10px 10px;
}
.table01 th {
  background: #eee;
}

.table02 {
  width: 98%;
  margin: 0 0 20px 0;
}
.table02 td {
  border-bottom: 1px solid #ccc;
  padding: 15px 5px;
}
@media (max-width: 620px) {
  .table02 td {
    font-size: 80%;
  }
}

.tdcolor01 {
  background: #4d90f7;
  color: #fff;
  font-size: 120%;
}

.tdcolor02 {
  background: #3fbd22;
  color: #fff;
  font-size: 120%;
}

.tdcolor03 {
  background: #e7f5fa;
}

.tdcolor04 {
  background: #eefae7;
}

.tdcolor05 {
  background: #FFAC1D;
  color: #fff;
  font-size: 120%;
}

.tdcolor06 {
  background: #EFF0EA;
}

.tdcolor07 {
  background: #0090C5;
  color: #fff;
  font-size: 120%;
}

.formbanner li {
  margin: 0 2% 0px 2%;
}
@media (min-width: 621px) {
  .formbanner li {
    width: 46%;
    float: left;
  }
}
.formbanner li a {
  display: block;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 20px 0;
  text-align: center;
  font-size: 140%;
  color: #fff;
  margin: 0 0 10px 0;
}
.formbanner li p a {
  padding: 0;
  background: none;
  font-size: 100%;
}

.basicbtn {
  background: #4d90f7;
}

.premiumbtn {
  background: #3fbd22;
}

.faqbox {
  padding: 30px 50px 20px 50px;
  background: #fff;
  margin: 0 0 20px 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
@media (max-width: 620px) {
  .faqbox {
    padding: 30px 10px;
  }
}
.faqbox dl {
  background: #fff;
  /*border:1px solid #d0d0d0;*/
  margin: 0 0 10px 0;
}
.faqbox dt {
  padding: 10px 10px 10px 30px;
  margin: 0 0 0px 0;
  text-indent: -1em;
  cursor: pointer;
  background: #F1F1F1;
}
.faqbox dt:before {
  content: "Q";
  font-weight: 800;
  font-size: 150%;
  margin: 0 10px 0 0;
  color: #ffac1d;
}
.faqbox dt:after {
  content: "+";
  float: right;
  color: #ccc;
  font-weight: 800;
  font-size: 150%;
  margin: -5px 0 0 20px;
}
.faqbox .active {
  color: #fff;
  background: #ffac1d;
}
.faqbox .active:before {
  color: #fff;
}
.faqbox dd {
  padding: 20px;
  margin: 0 0 0px 0;
  background: #fff;
}
.faqbox .active:after {
  content: "-";
}

@media (max-width: 620px) {
  .pcimg {
    display: none;
  }
}

@media (min-width: 621px) {
  .spimg {
    display: none;
  }
}
