@charset "utf-8";
/* --------------------------------------------
   リセット
-------------------------------------------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
  vertical-align: bottom;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}
ol, ul {
  list-style: none;
}
ul {
  letter-spacing: -1em;
}
li {
  letter-spacing: normal;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
img {
  vertical-align: bottom;
}
/* --------------------------------------------
   ベース
-------------------------------------------- */
html {
  height: 100%;
}
a.op:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
}
a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 16px;
    max-width: 640px;
    min-width: 100%;
  }
}
/* --------------------------------------------
   【structure】
-------------------------------------------- */
#header {
  background: url(../images/common/hdr_bg.gif) repeat-x;
  background-size: auto 120px;
  height: 120px;
  border-bottom: #fff 1px solid;
}
#mainContents {
  width: 960px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.inner {
  width: 960px;
  margin: 0 auto;
  position: relative;
}
#footer {
  clear: both;
}
#fixedTop {
  right: 40px;
  bottom: 40px;
  width: 60px;
  height: 67px;
  display: none;
  position: fixed;
  z-index: 9999;
}
#fixedTop img {
  width: 60px;
  height: 67px;
}
@media screen and (max-width: 640px) {
  #header {
    background: #f9819a;
    height: auto;
    border: none;
  }
  #mainContents {
    width: 98%;
    padding-bottom: 20px;
  }
  .inner {
    width: 98%;
  }
  #fixedTop {
    right: 10px;
    bottom: 10px;
    width: 60px;
    height: 67px;
    display: none;
  }
  #fixedTop img {
    width: 60px;
    height: 67px;
  }
}
/* --------------------------------------------
   【音声ブラウザ用】
-------------------------------------------- */
h2.voicebrowser {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  height: 20px;
  margin-top: -20px;
  background: none;
}
ul.voicemenu {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: none;
}
@media screen and (max-width: 640px) {
  h2.voicebrowser, ul.voicemenu {
    display: none;
  }
}
/* --------------------------------------------
   【header】
-------------------------------------------- */
#header h1.hdrLogo {
  position: absolute;
  top: 35px;
  left: 0;
}
#header ul.hdrControl {
  position: absolute;
  top: 14px;
  right: 0;
  width: 492px;
}
#header ul.hdrControl > li:nth-child(1), #header ul.hdrControl > li:nth-child(2) {
  margin-bottom: 5px;
  text-align: right;
}
#header ul.hdrControl > li:nth-child(3) .button_link_white a {
  font-size: 12px !important;
}
#header ul.hdrControl > li > ul.hdrFont {
  margin-top: 10px;
}
#header ul.hdrControl > li > ul.hdrFont > li {
  display: inline-block;
  text-align: center;
  font-size: 16px;
}
#header ul.hdrControl > li > ul.hdrFont > li.hdrWhite {
  background: url(../images/common/hdrWhite.gif) no-repeat;
}
#header ul.hdrControl > li > ul.hdrFont > li.hdrWhite > a {
  color: #222222;
  width: 220px;
  display: block;
  cursor: pointer;
}
#header ul.hdrControl > li > ul.hdrFont > li.hdrBlack {
  background: url(../images/common/hdrBlack.gif) no-repeat;
}
#header ul.hdrControl > li > ul.hdrFont > li.hdrBlack > a {
  color: #ffffff;
  width: 220px;
  display: block;
  cursor: pointer;
}
#header ul.hdrControl dl#font_list > dt {
  float: left;
  color: #fff;
  width: 209px;
  padding-right: 12px;
  text-align: right;
}
#header ul.hdrControl dl#font_list li {
  display: inline-block;
  background: url(../images/common/hdr_font_list.gif) no-repeat;
  width: 73px;
  text-align: center;
}
#header ul.hdrControl dl#font_list li > a {
  display: block;
  width: 73px;
  color: #222;
}
#header ul.hdrControl dl#font_list li.font_active > a {
  color: #f9819a;
  font-weight: bold;
}
#header ul.hdrControl > li:nth-child(3) {
  border-top: #fbeaee 2px solid;
  padding: 5px;
}
#header ul.hdrControl > li:nth-child(3) > ul > li {
  display: inline-block;
  margin-right: 10px;
}
#header ul.hdrControl > li:nth-child(3) > ul > li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  #header h1.hdrLogo {
    position: static;
    padding: 10px 0;
  }
  #header h1.hdrLogo > a > img {
    width: 85%;
    max-width: 388px;
    height: auto;
  }
  #header ul.hdrControl {
    display: none;
  }
}
/* --------------------------------------------
   【標準navi】
-------------------------------------------- */
#hdrNav01 {
  background: url(../images/common/navi_bg.gif) repeat-x;
  background-size: auto 61px;
  height: 61px;
  border-bottom: #fff 2px solid;
}
#hdrNav01 > ul#menu {
  text-align: center;
  margin: 0 auto;
}
#hdrNav01 > ul#menu > li {
  background: url(../images/common/navi_off.png) no-repeat;
  background-size: auto 60px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  text-align: center;
  margin-top: 1px;
}
#hdrNav01 > ul#menu > li > a {
  display: block;
  height: 60px;
  line-height: 60px;
  padding: 0 12px;
}
#hdrNav01 > ul#menu > li:first-child > a {
  width: 44px;
  background: url(../images/common/home_off.png) no-repeat center center;
  background-size: 44px auto;
  padding: 0;
}
#hdrNav01 > ul#menu > li:first-child > a > span {
  font-size: 10px;
  position: relative;
  top: 14px;
}
#hdrNav01 > ul#menu > li > a:hover {
  background: url(../images/common/navi_on.png) no-repeat;
  background-size: auto 60px;
  color: #fff;
  text-decoration: none;
}
#hdrNav01 > ul#menu > li:first-child > a:hover {
  background: url(../images/common/home_on.png) no-repeat;
  background-size: 45px 60px;
}
/* プルダウン */
#hdrNav01 #menu .child {
  min-width: 100%;
  display: none;;
  position: absolute;
  z-index: 1;
}
#hdrNav01 #menu .child li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
#hdrNav01 #menu .child a {
  background: #fff;
  display: block;
  padding: 10px 5px;
}
#hdrNav01 #menu .child a:hover {
  background: url(../images/common/navi_on.png) no-repeat;
  background-size: auto 60px;
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  #hdrNav01 {
    height: auto;
    position: relative;
    z-index: 99;
    background: none;
    border: none;
  }
  #hdrNav01 > ul#menu {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
  }
  #hdrNav01 > ul#menu > li, #hdrNav01 > ul#menu > li.mb {
    position: relative;
    width: 49.7%;
    height: auto;
    background-color: #ffae0e;
    background-image: none;
    display: inline-block !important;
    margin-top: 0;
    border-bottom: #fff 1px solid;
    border-right: #fff 1px solid;
  }
  #hdrNav01 > ul#menu > li:nth-child(2n) {
    border-right: none;
  }
  #hdrNav01 > ul#menu > li > a {
    width: 100%;
    height: auto;
    color: #fff;
    padding: 10px 0 !important;
    line-height: 1.2;
  }
  #hdrNav01 > ul#menu > li:first-child > a {
    width: 100%;
    background-image: none;
  }
  #hdrNav01 > ul#menu > li:first-child > a > span {
    font-size: inherit;
    position: static;
  }
  #hdrNav01 > ul#menu > li > a:hover {
    background-color: #ffae0e;
    background-image: none;
    color: #fff;
  }
  #hdrNav01 > ul#menu > li:first-child > a:hover {
    background-image: none;
  }
  #hdrNavMB00, #hdrNavMB01 {
    display: block;
  }
  /* toggleボタン */
  #hdrNavMB00 {
    position: absolute;
    right: 5px;
    top: 5px;
    border: #fff solid 1px;
    width: 40px;
    height: 40px;
    background: #f39800;
  }
  #hdrNavMB00 a {
    width: 40px;
    height: 40px;
    display: block;
  }
  #hdrNavMB00 a span {
    display: block;
    position: absolute;
    top: 18px;
    left: 5px;
    width: 30px;
    height: 4px;
    background: #FFF;
    transition: .2s;
  }
  #hdrNavMB00 a:before, #hdrNavMB00 a:after {
    display: block;
    content: "";
    position: absolute;
    top: 18px;
    left: 5px;
    width: 30px;
    height: 4px;
    background: #FFF;
    transition: .3s;
  }
  #hdrNavMB00 a:before {
    margin-top: -10px;
  }
  #hdrNavMB00 a:after {
    margin-top: 10px;
  }
  #hdrNavMB01 {
    position: absolute;
    z-index: 99;
    width: 100%;
    background-color: rgba(63, 181, 241, 0.8);
    display: none;
  }
  #hdrNavMB01 > li > a {
    display: block;
    color: #fff;
    padding: 10px 30px;
    border-bottom: solid 1px #fff;
  }
}
/* --------------------------------------------
   【標準footer】
-------------------------------------------- */
/* ftrMenu */
#footer .ftrMenu {
  background: #f9819a;
  border-bottom: #fff 1px solid;
  padding: 3px 0;
  font-size: 11px;
  text-align: center;
}
#footer .ftrMenu > ul > li {
  display: inline-block;
  margin-right: 15px;
}
#footer .ftrMenu > ul > li:last-child {
  margin-right: 0;
}
#footer .ftrMenu > ul > li > a {
  color: #fff;
}
/* ftrContact */
#footer .ftrContact {
  background: url(../images/common/ftrMenu_bg01.png) repeat-x;
  background-size: auto 100%;
  text-align: center;
}
#footer .ftrContact > .inner {
  background: url(../images/common/ftrMenu_bg02.png) no-repeat;
  background-size: auto 100%;
  padding: 10px 0;
}
#footer .ftrContact > .inner > .ftrLogo {
  background: url(../images/common/ftrLogo.png) no-repeat 50% 10px;
  background-size: 33px auto;
  padding-top: 40px;
  margin-bottom: 10px;
  color: #f9819a;
}
#footer .ftrContact > .inner > ul.ftrAdd > li {
  display: inline-block;
  font-size: 12px;
  position: relative;
  margin-right: 30px;
}
#footer .ftrContact > .inner > ul.ftrAdd > li:nth-child(1)::before {
  display: inline;
  content: url(../images/common/icon_map.png);
  position: absolute;
  top: 50%;
  margin-top: -12px;
  margin-left: -20px;
}
#footer .ftrContact > .inner > ul.ftrAdd > li:nth-child(2)::before {
  display: inline;
  content: url(../images/common/icon_smart.png);
  position: absolute;
  top: 50%;
  margin-top: -12px;
  margin-left: -16px;
}
#footer .ftrContact > .inner > ul.ftrMenu02 {
  text-align: center;
  font-size: 12px;
  margin-top: 10px;
}
#footer .ftrContact > .inner > ul.ftrMenu02 > li {
  display: inline-block;
}
#footer .ftrContact > .inner > ul.ftrMenu02 > li:first-child:After, #footer .ftrContact > .inner > ul.ftrMenu02 > li:nth-child(2):After {
  display: inline;
  content: "｜";
}
#footer .ftrContact > .inner > ul.ftrMenu02 > li > a {
  color: #222;
}
/* コピーライト */
#footer .copyright {
  background: #fbeaee;
  line-height: 24px;
  text-align: center;
  font-size: 11px;
  color: #f9819a;
  border-bottom: #f9819a 4px solid;
}
#footer .sanzen{
  text-align: right;
}
#footer .sanzen a {
  font-size: 11px;
  color: #ccc;
}
@media screen and (max-width: 640px) {
  /* ftrMenu */
  #footer .ftrMenu > ul > li {
    display: none;
  }
  /* ftrContact */
  #footer .ftrContact > .inner > .ftrLogo {
    background-position: 50% 5px;
    padding-top: 35px;
    margin-bottom: 8px;
  }
  #footer .ftrContact > .inner > ul.ftrAdd > li {
    display: block;
    margin: 0;
    text-align: left;
    padding-left: 20px;
    margin-bottom: 3px;
  }
  #footer .ftrContact > .inner > ul.ftrAdd > li:nth-child(1)::before {
    top: 30%;
    left: 0;
    margin-left: 0;
  }
  #footer .ftrContact > .inner > ul.ftrAdd > li:nth-child(2)::before {
    left: 0;
    margin-left: 0;
  }
  #footer .ftrContact > .inner > ul.ftrMenu02 {
    margin-top: 0;
  }
}
/* ---------------------------------------------------------
   【テキストスタイル】
--------------------------------------------------------- */
.center {text-align: center !important; margin:inherit auto !important;}
.right {text-align: right !important;}
.left {text-align: left !important;}
.top {vertical-align: top !important;}
.bottom {vertical-align: bottom !important;}

.bold{ font-weight:bold; }
.normal {font-weight:normal;}
.underline {text-decoration:underline;}
.italic {font-style:italic;}

.f10 {font-size:10px !important;}
.f11 {font-size:11px !important;}
.f12 {font-size:12px !important;}
.f13 {font-size:13px !important;}
.f14 {font-size:14px !important;}
.f15 {font-size:15px !important;}
.f16 {font-size:16px !important;}
.f18 {font-size:18px !important;}
.f20 {font-size:20px !important;}
.f22 {font-size:22px !important;}
.f24 {font-size:24px !important;}

.fcGreen{color:#7dc270;}
.fcPink{color:#ff8080;}
.fcOrange{color:#ffae0e;}
.fcBlue{color:#7292d3;}

/* ---------------------------------------------------------
   【余白】	5px未満は個別に追加
--------------------------------------------------------- */
.mt00 {margin-top: 0 !important;}
.mt05 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mb00 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.ml00 {margin-left: 0px !important;}
.ml05 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml15 {margin-left: 15px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.mr00 {margin-right: 0px !important;}
.mr05 {margin-right: 5px !important;}
.mr06 {margin-right: 6px !important;}
.mr10 {margin-right: 10px !important;}
.mr15 {margin-right: 15px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr40 {margin-right: 40px !important;}

.pt00 {padding-top: 0px !important;}
.pt05 {padding-top: 5px !important;}
.pt10 {padding-top: 10px !important;}
.pt15 {padding-top: 15px !important;}
.pt20 {padding-top: 20px !important;}
.pt30 {padding-top: 30px !important;}
.pt40 {padding-top: 40px !important;}
.pb00 {padding-bottom: 0px !important;}
.pb05 {padding-bottom: 5px !important;}
.pb10 {padding-bottom: 10px !important;}
.pb15 {padding-bottom: 15px !important;}
.pb20 {padding-bottom: 20px !important;}
.pb30 {padding-bottom: 30px !important;}
.pb40 {padding-bottom: 40px !important;}
.pl00 {padding-left: 0px !important;}
.pl05 {padding-left: 05px !important;}
.pl10 {padding-left: 10px !important;}
.pl15 {padding-left: 15px !important;}
.pl20 {padding-left: 20px !important;}
.pl25 {padding-left: 25px !important;}
.pl30 {padding-left: 30px !important;}
.pl40 {padding-left: 40px !important;}
.pl50 {padding-left: 50px !important;}
.pr00 {padding-right: 00px !important;}
.pr05 {padding-right: 05px !important;}
.pr10 {padding-right: 10px !important;}
.pr15 {padding-right: 15px !important;}
.pr20 {padding-right: 20px !important;}
/* ---------------------------------------------------------
   【フロート】	#は削除
--------------------------------------------------------- */
.fltL {
  float: left;
}
.fltR {
  float: right;
}
.both {
  clear: both;
}
.both20 {
  clear: both;
  height: 20px;
  line-height: 1;
  font-size: 1px;
}
.clearfix:after {
  display: block;
  clear: both;
  height: 0.1px;
  visibility: hidden;
  content: ".";
  line-height: 0;
}
.clearfix {
  display: inline-block;
  min-height: 1%;
}
/* for macIE \*/
* html .clear {
  height: 1%;
}
.clearfix {
  display: block;
}
/* end of for macIE */
#mfp_buttons li {
  margin: 0;
  padding: 0;
}
/* ----------------------------------------------
	forms
---------------------------------------------- */
form dl dt {}
textarea, input[type=email], input[type=tel], input[type=text], input[type=password] {
  border: 0;
  width: 96%;
  padding: 5px 2%;
  font-size: 16px;
  border: solid 1px #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
select {
  border: 0;
  padding: 5px;
  font-size: 16px;
  border: solid 1px #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
input[type=submit], .searchsubmit_btn, .submit_btn, .btn a {
  color: #003300;
  opacity: 0.8;
  filter: alpha(opacity=80);
  cursor: pointer;
  background-color: #99cc99;
  border: none;
  padding: 5px 10px;
  font-size: 16px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
input[type=submit]:hover, .searchsubmit_btn:hover, .submit_btn:hover, .btn a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
@media screen and (min-width: 641px) {
  input[type=email], input[type=tel], input[type=text], input[type=password] {
    width: auto;
  }
}
/* --------------------------------------------------
    【リストデザイン】
-------------------------------------------------- */
.disc {
  list-style: disc;
  margin-left: 1.5em;
}
.decimal {
  list-style: decimal;
  margin-left: 1.5em;
}
/* 括弧付数字 */
.paren {
  counter-reset: cnt;
  margin-left: 1.5em;
}
.paren > li::before {
  counter-increment: cnt;
  content: '('counter(cnt) ') ';
  margin-left: -1.5em;
}
/* 丸数字 */
.bracket {
  counter-reset: cnt;
  margin-left: 1.5em;
}
.bracket > li::before {
  width: 1.4em;
  height: 1.4em;
  counter-increment: cnt;
  content: counter(cnt);
  font-size: 80%;
  display: -webkit-inline-flex;
  display: -ms-inline-flex;
  display: inline-flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  align-items: center;
  margin-left: -1.8em;
  margin-right: 0.3em;
  border: 1px solid;
  border-radius: 50%;
}