@charset "utf-8";

/* ===================================================================
  renewal in 2016/03/26

  01.reset
  02.clearfix
  03.adjustment parts
  04.body
  05.ol,ul
  06.dl
  07.table
  08.global menu
  09.hgroup
  10.function buttom
  11.information
  12.accordion menu
  13.calendar
  14.footer
  15.slide show
  16.inquiry
  17.blog
  99.other

=================================================================== */



/* ===================================================================
  01.reset
=================================================================== */

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;
  outline: 0;
  font-size: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

img {
  text-align: center;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/* ===================================================================
  02.clearfix
=================================================================== */

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  overflow: hidden;
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

*+html .clearfix {
  min-height: 1%;
}

.clearfix {
  display: block;
}

/* End hide from IE-mac */


/* ===================================================================
  03.adjustment parts
=================================================================== */

.t_center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.t_left {
  text-align: left !important;
}

.t_right {
  text-align: right !important;
}

.t_bold {
  font-weight: bold !important;
}

em {
  font-style: normal;
  font-weight: bold !important;
}

.of_hidn {
  overflow: hidden !important;
}

.hide {
  display: none;
  margin-top: 10px;
}

.show {
  display: block;
  margin-top: 10px;
}

.expand,
.toggle,
.g_toggle,
.dl_toggle {
  cursor: pointer;
}

p.note {
  margin-left: 1.3em !important;
}

p.note span {
  margin: 0 0.3em 0.5em -1.3em;
}

/* -- width -- */
.w10 {
  width: 10px !important;
}

.w20 {
  width: 20px !important;
}

.w30 {
  width: 30px !important;
}

.w40 {
  width: 40px !important;
}

.w50 {
  width: 50px !important;
}

.w60 {
  width: 60px !important;
}

.w70 {
  width: 70px !important;
}

.w80 {
  width: 80px !important;
}

.w90 {
  width: 90px !important;
}

.w100 {
  width: 100px !important;
}

.w110 {
  width: 110px !important;
}

.w120 {
  width: 120px !important;
}

.w130 {
  width: 130px !important;
}

.w140 {
  width: 140px !important;
}

.w150 {
  width: 150px !important;
}

.w160 {
  width: 160px !important;
}

.w170 {
  width: 170px !important;
}

.w180 {
  width: 180px !important;
}

.w190 {
  width: 190px !important;
}

.w200 {
  width: 200px !important;
}

.w210 {
  width: 210px !important;
}

.w220 {
  width: 220px !important;
}

.w230 {
  width: 230px !important;
}

.w240 {
  width: 240px !important;
}

.w250 {
  width: 250px !important;
}

.w260 {
  width: 260px !important;
}

.w270 {
  width: 270px !important;
}

.w280 {
  width: 280px !important;
}

.w290 {
  width: 290px !important;
}

.w300 {
  width: 300px !important;
}

.w310 {
  width: 310px !important;
}

.w320 {
  width: 320px !important;
}

/* -- width % -- */
.wp5 {
  width: 5% !important;
}

.wp10 {
  width: 10% !important;
}

.wp15 {
  width: 15% !important;
}

.wp20 {
  width: 20% !important;
}

.wp25 {
  width: 25% !important;
}

.wp30 {
  width: 30% !important;
}

.wp35 {
  width: 35% !important;
}

.wp40 {
  width: 40% !important;
}

.wp45 {
  width: 45% !important;
}

.wp48 {
  width: 48% !important;
}

.wp50 {
  width: 50% !important;
}

.wp55 {
  width: 55% !important;
}

.wp60 {
  width: 60% !important;
}

.wp65 {
  width: 65% !important;
}

.wp70 {
  width: 70% !important;
}

.wp75 {
  width: 75% !important;
}

.wp80 {
  width: 80% !important;
}

.wp85 {
  width: 85% !important;
}

.wp90 {
  width: 90% !important;
}

.wp95 {
  width: 95% !important;
}

.wp100 {
  width: 100% !important;
}

/* -- img_width -- */
.img5 {
  width: 5% !important;
  height: auto !important;
}

.img10 {
  width: 10% !important;
  height: auto !important;
}

.img15 {
  width: 15% !important;
  height: auto !important;
}

.img20 {
  width: 20% !important;
  height: auto !important;
}

.img25 {
  width: 25% !important;
  height: auto !important;
}

.img30 {
  width: 30% !important;
  height: auto !important;
}

.img35 {
  width: 35% !important;
  height: auto !important;
}

.img40 {
  width: 40% !important;
  height: auto !important;
}

.img45 {
  width: 45% !important;
  height: auto !important;
}

.img50 {
  width: 50% !important;
  height: auto !important;
}

.img55 {
  width: 55% !important;
  height: auto !important;
}

.img60 {
  width: 60% !important;
  height: auto !important;
}

.img65 {
  width: 65% !important;
  height: auto !important;
}

.img70 {
  width: 70% !important;
  height: auto !important;
}

.img75 {
  width: 75% !important;
  height: auto !important;
}

.img80 {
  width: 80% !important;
  height: auto !important;
}

.img85 {
  width: 85% !important;
  height: auto !important;
}

.img90 {
  width: 90% !important;
  height: auto !important;
}

.img95 {
  width: 95% !important;
  height: auto !important;
}

.img100 {
  width: 100% !important;
  height: auto !important;
}

/* -- margin -- */
.ma {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mlr0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mlr5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.mlr10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.mlr15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.mlr20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  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;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml100 {
  margin-left: 100px !important;
}

/* -- padding -- */
.pt0 {
  padding-top: 0 !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl0 {
  padding-left: 0 !important;
}

.pl5 {
  padding-left: 5px !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;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl100 {
  padding-left: 100px !important;
}

/* -- float -- */
.rf {
  float: right !important;
}

.rf5 {
  float: right !important;
  margin-left: 5px !important;
}

.rf10 {
  float: right !important;
  margin-left: 10px !important;
}

.rf15 {
  float: right !important;
  margin-left: 15px !important;
}

.rf20 {
  float: right !important;
  margin-left: 20px !important;
}

.rf25 {
  float: right !important;
  margin-left: 25px !important;
}

.rf30 {
  float: right !important;
  margin-left: 30px !important;
}

.lf {
  float: left !important;
}

.lf5 {
  float: left !important;
  margin-right: 5px !important;
}

.lf10 {
  float: left !important;
  margin-right: 10px !important;
}

.lf15 {
  float: left !important;
  margin-right: 15px !important;
}

.lf20 {
  float: left !important;
  margin-right: 20px !important;
}

.lf25 {
  float: left !important;
  margin-right: 25px !important;
}

.lf30 {
  float: left !important;
  margin-right: 30px !important;
}

/* -- txt -- */
.txt10 {
  font-size: 10px !important;
}

.txt11 {
  font-size: 11px !important;
}

.txt12 {
  font-size: 12px !important;
}

.txt13 {
  font-size: 13px !important;
}

.txt14 {
  font-size: 14px !important;
}

.txt15 {
  font-size: 15px !important;
}

.txt16 {
  font-size: 16px !important;
}

.txt17 {
  font-size: 17px !important;
}

.txt18 {
  font-size: 18px !important;
}

.txt19 {
  font-size: 19px !important;
}

.txt20 {
  font-size: 20px !important;
}

.txt21 {
  font-size: 21px !important;
}

.txt22 {
  font-size: 22px !important;
}

.txt23 {
  font-size: 23px !important;
}

.txt24 {
  font-size: 24px !important;
}

.txt25 {
  font-size: 25px !important;
}

/* -- color -- */
/*
.t_red { color: #FF0000 !important;}
.t_blu { color: #285E9D !important;}
.t_grn { color: #357704 !important;}
.t_ylw { color: #ff9900 !important;}
.t_org { color: #FA804B !important;}
.t_ppl { color: #933366 !important;}
.t_pnk { color: #f84d70 !important;}
*/
.t_red {
  color: #ff0000 !important;
}

.t_blu {
  color: #2400ac !important;
}

.t_grn {
  color: #b2c95d !important;
}

.t_ylw {
  color: #ffff00 !important;
}

.t_org {
  color: #fa804b !important;
}

.t_org02 {
  color: #f07c00 !important;
}

.t_ppl {
  color: #9c30ce !important;
}

.t_pnk {
  color: #eb415b !important;
}

.t_pnk02 {
  color: #f29c9f !important;
}

.t_brw {
  color: #522c04 !important;
}

.t_wht {
  color: #fff !important;
}

.t_blk {
  color: #000 !important;
}

.bg_red {
  background: #FF0000 !important;
}

.bg_blu {
  background: #3366ff !important;
}

.bg_grn {
  background: #eaf9f7 !important;
}

.bg_ylw {
  background: #ff9900 !important;
}

.bg_org {
  background: #FF9E22 !important;
}

.bg_ppl {
  background: #933366 !important;
}

.bg_pnk {
  background: #fef1e6 !important;
}

.bg_brw {
  background: #522c04 !important;
}

.bg_wht {
  background: #fff !important;
}

.bg_blk {
  background: #000 !important;
}

/* -- rotate -- */
.deg90 {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.deg180 {
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.deg270,
.deg-90 {
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

/* -- font -- */
.t_gothic {
  font-family: Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
}

.t_mincho {
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}


/* ===================================================================
  04.body
=================================================================== */

body {
  font-family: Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
  -webkit-text-size-adjust: none;
  font-size: 14px;
  line-height: 1.4;
  display: none;
}

#container {
  color: #333;
}

.box {
  margin-bottom: 20px;
}

.text:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.text {
  overflow: hidden;
  display: inline-block;
  padding: 0 10px 15px 10px;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Hides from IE-mac \*/
* html .text {
  height: 1%;
}

*+html .text {
  min-height: 1%;
}

.text {
  display: block;
}

/* End hide from IE-mac */

.wrapper {
  border: solid 1px #ccc;
  background: #EBEBEB;
  padding: 10px 10px 0 10px;
  margin-bottom: 15px;
}

.scroll_list {
  white-space: nowrap;
  width: 600px;
}

p {
  margin-bottom: 1em;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  text-decoration: underline;
  color: #cc66cc;
}

a:hover {
  text-decoration: none;
  color: #cc66cc;
}

a.link01 {
  background: #cb7e81;
  border-bottom: 2px solid #653f40;
  color: #fff !important;
  border-radius: 8px;
  padding: 10px;
  margin: 5px 0 10px;
  display: block;
  text-decoration: none;
  text-align: center;
  font-size: 15px;
}

/*
a.link02 {
  border: solid 1px #ccc;
  background: -moz-linear-gradient(top, #eee, #ddd);
  background: -webkit-linear-gradient(#eee, #ddd);
  background: linear-gradient(top, #eee, #ddd);
  color: #333 !important;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 1px 1px rgba(255,255,255,0.5);
  padding: 10px 20px 10px 10px;
  margin: 0 0 5px 0;
  display: block;
  position: relative;
  text-decoration: none;
}
a.link02::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 7px;
  right: 10px;
  top: 16px;
  background: url(https://m9480051.xaas3.jp/images/material/s_icon_01.png) no-repeat;
  background-size: 6px 7px;
}
*/


/* -- ROOK編集時の影響回避 -- */
@media screen and (min-width: 640px) {
  body {
    display: block;
  }

  .header_a {
    display: none;
  }
}

.BFence div h2.BCssInvalidateH2 {
  position: static;
  text-align: left;
  color: #333;
}

.BFence div h2.BCssInvalidateH2 a {
  display: inline;
}

.BFence div h2.BCssInvalidateH2::before {
  content: normal;
}

.BFence div h2.BCssInvalidateH2::after {
  content: normal;
}


/* ===================================================================
  05.ol,ul
=================================================================== */

/* -- ol,ul -- */
ol,
ul,
li {
  list-style: none;
  list-style-position: outside;
  margin: 0 0 15px 0;
}

ul.note {
  margin-left: 5px !important;
  padding: 0 !important;
}

ul.note li {
  margin: 0 0 5px 1.5em !important;
  padding: 0 !important;
  list-style: none !important;
}

ul.note li span {
  margin: 0 0.5em 0 -1.5em !important;
}

.list_disc li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 0 17px;
}

.list_disc li::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 5px;
  background: #333;
  width: 6px;
  height: 6px;
  border-radius: 6px;
}

.list_disc02 li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 0 17px;
}

.list_disc02 li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  background: #333;
  width: 3px;
  height: 3px;
  border-radius: 3px;
}


.list_num li {
  list-style-type: decimal;
  margin: 0 0 5px 20px;
  line-height: 1.5;
}

.list_num02 {
  counter-reset: number;
  list-style: none;
}

.list_num02 li {
  position: relative;
  padding-left: 25px;

}

.list_num02 li::before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  left: 0;
  background: #333;
  color: #fff;
  display: block;
  width: 20px;
  height: 19px;
  text-align: center;
  border-radius: 3px;
  padding-top: 1px;
}

.list_squ li {
  position: relative;
  margin: 0 0 10px 0;
  padding: 0 0 0 20px;
}

.list_squ li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  background: #333;
  height: 8px;
  width: 8px;
}

.in_box_j {
  display: table;
  border-collapse: separate;
  border-spacing: 0 0;
  margin: 0 auto 15px auto;
}

.in_box_j li {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.in_box_j li:nth-child(odd) {
  padding-right: 10px;
}

.in_box_j li:nth-child(even) {
  padding-left: 10px;
}

.in_box_j li span {
  display: block;
  background: #ccc;
  padding: 5px;
}

.in_box_j02 {
  display: table;
  border-collapse: separate;
  border-spacing: 10px 0;
  margin: 0 auto 15px auto;
}

.in_box_j02 li {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

ul.list_anc {
  margin-bottom: 0;
}

ul.list_anc li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 0 18px;
  display: block;
}

ul.list_anc li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  border-right: solid 1px #666;
  border-bottom: solid 1px #666;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 1px;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0 auto auto;
}

ul.list_anc li a {
  text-decoration: underline;
  color: #444;
  display: block;
}

ul.list_anc li a:hover {
  color: #999;
}

ul.flow li {
  position: relative;
  margin-bottom: 36px;
  margin-left: 0;
  margin-right: 0;
  padding: 5px;
  border: solid 1px #666;
  background: #ccc;
}

ul.flow li::before {
  content: '';
  position: absolute;
  border: 15px solid transparent;
  border-top-color: #666;
  height: 0;
  width: 0;
  bottom: -40px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto auto 0 auto;
}

ul.flow li:last-child::before {
  background: none;
  border: none;
}

ol.flow {
  counter-reset: number;
  list-style: none;
}

ol.flow li {
  position: relative;
  margin-bottom: 36px;
  margin-left: 25px;
  margin-right: 0;
  padding: 5px;
  border: solid 1px #666;
  background: #ccc;
}

ol.flow li::before {
  color: #fff;
  counter-increment: number;
  content: counter(number);
  display: block;
  text-align: center;
  padding: 6px 0 0 0;
  position: absolute;
  background: #666;
  width: 25px;
  left: -25px;
  right: 0;
  top: -1px;
  bottom: -1px;
  margin: 0 auto 0 0;
}

ol.flow li::after {
  content: '';
  position: absolute;
  border: 15px solid transparent;
  border-top-color: #666;
  height: 0;
  width: 0;
  bottom: -40px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto auto 0 auto;
}

ol.flow li:last-child {
  margin-bottom: 30px
}

ol.flow li:last-child::after {
  background: none;
  border: none;
}

input[type="checkbox"] {
  -webkit-appearance: none;
}

.list_check li {
  margin-bottom: 10px;
  font-size: 12px;
}

.list_check li input[type="checkbox"] {
  display: none;
}

.list_check li input[type="checkbox"]+label {
  position: relative;
  display: block;
  padding: 10px 10px 10px 28px;
  background: #EFEFEF;
  border-radius: 7px;
  margin: 0 5px;
  cursor: pointer;
  border-bottom: solid 1px #ccc;
}

.list_check li input[type="checkbox"]:checked+label {
  background: #ccc;
  border-radius: 7px;
  border-bottom: solid 1px #666;
}

.list_check li input[type="checkbox"]+label::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  right: 0;
  margin: auto auto auto 0;
  width: 11px;
  height: 11px;
  border: solid 2px #333;
  border-radius: 4px;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2) inset;
}

.list_check li input[type="checkbox"]:checked+label::after {
  content: '';
  display: block;
  position: absolute;
  top: -4px;
  bottom: 0;
  left: 12px;
  right: 0;
  margin: auto auto auto 0;
  width: 5px;
  height: 10px;
  border-bottom: solid 3px #333;
  border-right: solid 3px #333;
  -moz-transform: rotate(30deg);
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}


/* ===================================================================
  06.dl
=================================================================== */

dl {
  margin: 0;
  padding: 0;
}

dl dt {
  margin: 0 0 5px 0;
  padding: 0;
}

dl dd {
  margin: 0 0 15px 0;
  padding: 0;
}

dl.sub_ttl dd,
dl.doc_info dd,
dl.career dd {
  padding: 5px 0 5px 0;
  display: block;
}

dl.sub_ttl {
  margin: 0 0 20px 0;
}

dl.sub_ttl dt {
  font-weight: bold;
  border: none;
  position: relative;
  padding: 5px;
  margin-bottom: 5px;
  border-bottom: dotted 1px #333;
}

dl.sub_ttl dd {
  margin: 0 0 10px 0;
  padding: 0 5px;
}

dl.doc_info {
  margin: 0 0 20px 0;
}

dl.doc_info dt {
  clear: both;
  display: block;
  float: left;
  margin: 0 5px;
  padding: 6px 0;
  width: 70px;
}

dl.doc_info dd {
  border-bottom: dotted 1px #333;
  display: block;
  padding: 6px 0 6px 80px;
  margin: 0;
}

dl.career {
  margin: 0 0 20px 0;
}

dl.career dt {
  clear: both;
  display: block;
  float: left;
  margin: 0 5px;
  padding: 6px 0;
  width: 100px;
}

dl.career dd {
  border-bottom: dotted 1px #333;
  display: block;
  padding: 6px 0 6px 110px;
  margin: 0;
}

ul.career {
  margin: 0 0 20px 0;
}

ul.career li {
  border-bottom: dotted 1px #333;
  padding: 6px 0;
  margin: 0;
}

ul.career li::after {
  content: "";
  display: block;
  clear: both;
}

ul.career dt {
  clear: both;
  display: block;
  float: left;
  margin: 0 5px;
  width: 100px;
}

ul.career dd {
  display: block;
  padding: 0 0 0 110px;
  margin: 0;
}

dl.bi-color {
  margin: 0 0 20px 0;
}

dl.bi-color dt {
  clear: both;
  display: block;
  float: left;
  margin: 0 5px;
  padding: 6px 0;
  width: 120px;
}

dl.bi-color dd {
  display: block;
  padding: 6px 0 6px 130px;
  margin: 0;
}

dl.bi-color>dt:nth-of-type(2n),
dl.bi-color>dd:nth-of-type(2n) {
  background: #ccc;
}

dl.list_num {
  counter-reset: number;
  list-style: none;
}

dl.list_num dt {
  position: relative;
  padding-left: 25px;

}

dl.list_num dt::before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  left: 0;
  background: #333;
  color: #fff;
  display: block;
  width: 20px;
  height: 19px;
  text-align: center;
  border-radius: 3px;
  padding-top: 1px;
}

dl.list_num dd {
  margin: 0;
  padding: 0 0 0 2px;
}

dl.flow {
  margin-bottom: 15px;
}

dl.flow dt {
  background: #666;
  color: #fff;
  font-weight: normal;
  border-left: solid 1px #333;
  border-right: solid 1px #333;
  border-top: solid 1px #333;
  margin: 0;
  padding: 5px;
}

dl.flow dt::before {
  background: none;
  border: none;
}

dl.flow dd {
  position: relative;
  margin-bottom: 36px;
  margin-left: 0;
  margin-right: 0;
  padding: 5px;
  border: solid 1px #333;
}

dl.flow dd.none {
  border-left: none;
  border-right: none;
  border-bottom: none;
  padding: 0;
  margin-bottom: 15px;
}

dl.flow dd::before {
  content: '';
  position: absolute;
  border: 15px solid transparent;
  border-top-color: #333;
  height: 0;
  width: 0;
  bottom: -40px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto auto 0 auto;
}

dl.flow dd:last-child {
  margin-bottom: 0;
}

dl.flow dd:last-child::before {
  content: normal;
  background: none;
  border: none;
}

dl.faq {
  margin: 0 0 10px;
}

dl.faq dt {
  padding-left: 18px;
  position: relative;
  margin: 0 0 5px;
}

dl.faq dt: before {
  content: "Q";
  position: absolute;
  color: #3366ff;
  font-size: 16px;
  display: block;
  font-weight: bold;
  left: 0;
  top: 0;
}

dl.faq dd {
  padding-left: 18px;
  position: relative;
  margin: 0 0 10px 0;
}

dl.faq dd: before {
  content: "A";
  position: absolute;
  color: #ff8c8c;
  font-size: 16px;
  display: block;
  font-weight: bold;
  left: 0;
  top: 0;
}

/*
dl.faq {
  margin: 0 0 15px 0;
}
dl.faq dt {
  background: url(https://m9480051.xaas3.jp/images/material/img_q.gif) no-repeat;
  background-size: 20px 20px;
  line-height: 1.4;
  margin: 0;
  min-height: 25px;
  padding: 2px 0 5px 30px;
}
dl.faq dd {
  background: url(https://m9480051.xaas3.jp/images/material/img_a.gif) no-repeat;
  background-size: 20px 20px;
  border-bottom: 1px dotted #4b402e;
  margin: 0 0 10px 0;
  min-height: 25px;
  padding: 0 0 10px 30px;
}
*/


/* ===================================================================
  07.table
=================================================================== */

/* -- time_table -- */
table.time {
  border-left: solid 1px #ece5d3;
  border-top: solid 1px #ece5d3;
  text-align: center;
  margin-bottom: 5px;
  font-size: 12px;
}

table.time thead th,
table.time tbody th,
table.time tbody td {
  padding: 8px 5px;
  border-bottom: 1px solid #ece5d3;
  border-right: 1px solid #ece5d3;
  line-height: 1;
  text-align: center;
  font-weight: normal;
}

table.time thead th {
  background: #f29c9f;
  color: #fff;
}

table.time tbody th {
  background: #fff;
  color: #333;
}

table.time tbody td {
  background: #fff;
  color: #333;
}

table.time tbody td.none {}


/* -- price_table -- */
table.price {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  text-align: center;
  margin-bottom: 5px;
}

table.price thead th,
table.price tbody th,
table.price tbody td {
  padding: 8px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  line-height: 1;
  text-align: center;
}

table.price thead th {
  background: #444;
  color: #fff;
}

table.price tbody th {
  background: #444;
  color: #fff;
}

table.price tbody td {
  background: #fff;
  color: #333;
}

table.price tbody td.price {
  text-align: right;
  white-space: nowrap;
}


/* -- 汎用_table -- */
table.tbl01 {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  text-align: center;
  margin-bottom: 5px;
}

table.tbl01 thead th,
table.tbl01 tbody th,
table.tbl01 tbody td {
  padding: 8px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  line-height: 1;
  text-align: center;
}

table.tbl01 thead th {
  background: #444;
  color: #fff;
}

table.tbl01 tbody th {
  background: #444;
  color: #fff;
}

table.tbl01 tbody td {
  background: #fff;
  color: #333;
}


/* -- pc_table -- */
table.pc_tbl {
  text-align: center;
  position: relative;
  width: 100%;
  margin-bottom: 15px;
}

table.pc_tbl tbody tr {
  display: block;
}

table.pc_tbl tbody tr th,
table.pc_tbl tbody tr td {
  padding: 5px;
  line-height: 1;
  text-align: center;
}

table.pc_tbl tbody tr th {
  text-align: left;
  font-weight: bold;
  display: block;
  border-bottom: double 3px #666;
  width: 100%;
  line-height: 1.3;
  vertical-align: top;
  margin-top: 15px;
  margin-bottom: 3px;
  padding: 0 5px 3px 5px;
  position: relative;
}

table.pc_tbl tbody tr td {
  text-align: left;
  display: table-cell;
  width: 100%;
  border: none;
  line-height: 1.3;
  vertical-align: bottom;
  border-bottom: dotted 1px #ccc;
}

table.pc_tbl tbody tr td.price {
  text-align: right;
  white-space: nowrap;
  width: 100px;
}

table.pc_tbl tbody tr td.none {
  border: none;
}


/* -- scroll_table -- */
table.scroll_tbl {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  text-align: center;
  margin-bottom: 5px;
  position: relative;
  white-space: nowrap;
}

table.scroll_tbl thead th,
table.scroll_tbl tbody th,
table.scroll_tbl tbody td {
  padding: 8px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  line-height: 1;
  text-align: center;
}

table.scroll_tbl thead th {
  background: #444;
  color: #fff;
}

table.scroll_tbl tbody th {
  background: #444;
  color: #fff;
}

table.scroll_tbl tbody td {
  background: #fff;
  color: #333;
}

.scroll_box {
  position: relative;
  padding: 15px 25px 0 25px;
}

.scroll_box::before {
  content: ' ';
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  left: 10px;
  bottom: 0;
  top: -10px;
  right: 0;
  margin: auto auto auto 0;
  border-top: solid 2px #999;
  border-left: solid 2px #999;
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.scroll_box::after {
  position: absolute;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  right: 10px;
  bottom: 0;
  top: -10px;
  left: 0;
  margin: auto 0 auto auto;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.scroll_inner {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
}


/* ===================================================================
  08.global menu
=================================================================== */

.header {
  padding: 0px;
  margin: 0;
  background: #fdf0e6;
  border-top: 3px solid #8a7465;
}

/* -- A -- */
.header_a {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  z-index: 100;
}

.header_a_inner {
  margin: 0;
}

/* -- A.custom -- */
.header_a_custom {
  margin: 0;
  background: rgba(128, 128, 128, 0.7);
}

/* -- C -- */
.header_c {
  position: fixed;
  bottom: 0;
  left: 0;
  margin: 00;
  width: 100%;
  z-index: 100;
}


ul.gnavi {
  display: table;
  width: 100%;
  border-collapse: separate;
  /* セルの間隔を空ける */
  border-spacing: 0 5px;
  /* 左右 上下で記述 */
  background: #fdf0e6;
  height: 50px;
  margin: 0;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  z-index: 100;
}

ul.gnavi li {
  position: relative;
  width: 25%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color: #FFF;
  border-right: solid 1px #fef9f5;
  border-left: solid 1px #cac0b8;
  line-height: 1.2;
}

ul.gnavi li:first-child {
  border-left: none;
}

ul.gnavi li:last-child {
  border-right: none;
}

ul.gnavi li a {
  color: #fff;
  display: block;
  padding: 0;
  margin: 0 auto;
  text-align: center;
  line-height: 0;
}

/* -- A.custom -- */
p.gnavi {
  position: fixed;
  right: 0;
  top: 7px;
  margin: 0;
  padding: 0;
  z-index: 101;
  width: 25%;
  text-align: center;
}

/* -- Aのときの一番大きいとこのサイズ -- */
ul.gnavi li.h_long {
  width: 50%;
}

/* -- B,Cのときは画像の横幅を指定（半分）-- */
.header_b ul.gnavi li a,
.header_c ul.gnavi li a {
  width: 63px;
}

/* -- Cでgnaviにpagetopを置く場合 -- */
#page_block1 li.pgtop span {
  color: #fff;
  display: block;
  padding: 0;
  width: 70px;
  margin: 0 auto;
  text-align: center;
  line-height: 0;
}


/* -- MENUボタン部分 -- */
/* -- A -- */
/*
.spHoverMenu {
  position: fixed;
  left: 0;
  top: 0;
  margin: 0;
  padding: 0;
  z-index: 101;
  width: 25%;
  text-align: center;
}
.spHoverMenuBtn {
  border: none;
  background: none;
  display: block;
  text-align: center;
  width: 63px;
  height: 35px;
  margin: 0 auto;
  font-size: 1em;
}
*/

/* -- B -- */

.spHoverMenu {
  position: absolute;
  left: 0;
  top: 60px;
  margin: 0;
  padding: 0;
  z-index: 101;
  width: 25%;
  text-align: center;
}

.spHoverMenuBtn {
  border: none;
  background: none;
  display: block;
  text-align: center;
  width: 63px;
  height: 35px;
  margin: 0 auto;
  font-size: 1em;
  padding: 8px 0 0 0;
}


/* -- C -- */
/*
.spHoverMenu {
  position: fixed;
  left: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  z-index: 101;
  width: 25%;
  text-align: center;
}
.spHoverMenuBtn {
  border: none;
  background: none;
  display: block;
  text-align: center;
  width: 63px;
  height: 35px;
  margin: 0 auto;
  font-size: 1em;
  padding:0 0 8px 0;
}
*/


/* -- ボタンタップ後-- */
.spMenuTapDisp {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  top: 10px;
}

.spHoverMenuTitle {
  margin: 5px;
  border: none;
  border-radius: 5px;
  background: #fff;
  padding: 10px 0 8px 0;
  color: #333;
}

.spMenuTapDisp ul {
  border-top: none;
}

.spMenuTapDisp ul li {
  border-bottom: dotted 1px #333;
  font-size: 14px;
  text-indent: 15px;
  padding: 0;
  position: relative;
  background: none;
}

.spMenuTapDisp ul li::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 5px;
  margin: auto auto auto 0;
  background: #cb7e81;
  border-radius: 10px;
  width: 10px;
  height: 10px;
}

.spMenuTapDisp ul li::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 5px;
  margin: auto 0 auto auto;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.spMenuTapDisp ul li a {
  color: #333;
  display: block;
  padding: 10px 15px 8px 20px;
}

.spMenuTapDisp ul li a div {
  text-indent: 0;
}

.spHoverMenuCloseBtn {
  background: #fff;
  border: none;
  border-radius: 5px;
  padding: 10px 15px;
  text-align: center;
  margin: 0 auto;
}

.spHoverMenuCloseBtn span {
  color: #333;
}

.spHoverMenuCloseBtnArea {
  display: none;
}


/* ===================================================================
  09.hgroup
=================================================================== */

h1 {
  text-align: center;
  padding: 0;
  margin: 0 auto;
  line-height: 0;
  width: 320px;
}

h2 {
  color: #444444;
  font-size: 20px;
  padding: 20px 0px 10px 0px;
  margin: 0 0 10px 0;
  background: url(../../images/material/s_h2.png) no-repeat top;
  background-size: 100% auto;
  text-align: center;
  font-weight: bold;
  z-index: 0;
}

h2 span {
  display: block;
  width: 100%;
  background: url(../../images/material/s_h2_span.png) no-repeat top;
  background-size: 100% 100%;
  padding: 10px 0;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1), 0px -2px 2px rgba(0, 0, 0, 0.1);
}

h3 {
  color: #fff;
  font-size: 18px;
  margin: 0 0 15px 0;
  padding: 8px 10px 8px 30px;
  background: #f29c9f;
  width: auto;
  position: relative;
  font-weight: normal;
  text-align: left;
  line-height: 20px;
  border-top: 2px solid #f5b0b2;
  border-bottom: 2px solid #f5b0b2;
}

h3::before {
  content: '';
  position: absolute;
  width: 19px;
  height: 27px;
  background: url(../../images/material/s_h3.png) no-repeat;
  background-size: 19px 27px;
  left: 8px;
  top: 4px;
  right: 0;
  margin: auto auto auto 0;
}

h3::after {
  content: '';
  position: absolute;
  width: 70px;
  height: 27px;
  background: url(../../images/material/s_h3_after.png) no-repeat;
  background-size: 70px 27px;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0 auto auto;
}

h3.toggle {
  padding-right: 35px;
  position: relative;
}

h3.toggle::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 5px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_01.png) no-repeat;
  background-size: 25px 25px;
  width: 25px;
  height: 25px;
}

h3.cal {
  color: #fff;
  font-size: 18px;
  margin: 0;
  padding: 8px 10px 8px 30px;
  background: #f29c9f;
  width: auto;
  position: relative;
  font-weight: normal;
  text-align: center;
  border: none;
  box-shadow: 0 3px #f29c9f inset, 0 4px #fff inset, 0 -3px #f29c9f inset, 0 -4px #fff inset;
}

h3.cal::before {
  background: none;
}

h3.cal::after {
  background: none;
}

h3.toggle.open {
  border-top: 2px solid #e7b7b9;
  border-bottom: 2px solid #e7b7b9;
  background: #f8cdcf;
  color: #d37f82;
}

h3.toggle.open::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 5px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_02.png) no-repeat;
  background-size: 25px 25px;
  width: 25px;
  height: 25px;
}

h4 {
  border-bottom: solid 2px #f7b8c4;
  padding: 6px 10px 6px 25px;
  line-height: 1.2;
  color: #3c1f00;
  font-size: 16px;
  margin: 0 -10px 10px;
  font-weight: normal;
  position: relative;
}

h4::before {
  content: '';
  position: absolute;
  width: 5px;
  height: 15px;
  background: url(../../images/material/s_h4.png) no-repeat;
  background-size: 5px 15px;
  left: 10px;
  top: 8px;
  right: 0;
  margin: auto auto auto 0;
}

h4.toggle {
  padding-right: 35px;
  position: relative;
}

h4.toggle::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 5px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_03.png) no-repeat;
  background-size: 13px 7px;
  width: 13px;
  height: 7px;
}

h4.toggle.open {
  border-bottom: solid 2px #fad4dc;
}

h4.toggle.open::before {
  content: '';
  position: absolute;
  width: 5px;
  height: 15px;
  background: url(../../images/material/s_h4_toggle.png) no-repeat;
  background-size: 5px 15px;
  left: 10px;
  top: 8px;
  right: 0;
  margin: auto auto auto 0;
}

h4.toggle.open::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 5px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_04.png) no-repeat;
  background-size: 13px 7px;
  width: 13px;
  height: 7px;
}

h5 {
  font-size: 16px;
  padding: 5px;
  margin: 0 0 5px 0;
  color: #3c1f00;
}


/* ===================================================================
  10.function buttom
=================================================================== */

ul.navi_contact {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px 0;
  margin-bottom: 10px;
}

ul.navi_contact li {
  position: relative;
  width: 50%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background: -moz-linear-gradient(top, #777, #666);
  background: -webkit-linear-gradient(#777, #666);
  background: linear-gradient(top, #777, #666);
  color: #FFF;
  border-radius: 8px;
  line-height: 1.2;
}

ul.navi_contact li a {
  color: #fff;
  display: block;
  padding: 10px 0 10px 20px;
  text-decoration: none;
}

ul.navi_contact li a img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  margin: auto auto auto -65px;
}

ul.navi_contact li.long {
  width: 100%;
}

ul.navi_contact li.long a {
  padding: 10px 0 10px 45px;
}

ul.navi_contact li.long a img {
  margin: auto auto auto -60px;
}


/* ===================================================================
  11.information(ROOKのパーツ)
=================================================================== */

.sp_info_1 {
  background: #fef1e6;
  margin-bottom: 0px;
  padding-bottom: 10px;
}

.spInfo {
  margin-bottom: 0;
}

/*h3と同じだったらコピー可 (spanでも色指定,border-bottomが勝手に入る) */
.spInfo h1 {
  color: #fff;
  font-size: 18px;
  margin: 0 0 15px 0;
  padding: 8px 10px 8px 30px;
  background: #f29c9f;
  width: auto;
  position: relative;
  font-weight: normal;
  text-align: left;
  line-height: 20px;
  border-top: none;
  border-bottom: none;
}

.spInfo h1::before {
  content: '';
  position: absolute;
  width: 19px;
  height: 27px;
  background: url(../../images/material/s_h3.png) no-repeat;
  background-size: 19px 27px;
  left: 8px;
  top: 4px;
  right: 0;
  margin: auto auto auto 0;
}

.spInfo h1::after {
  content: '';
  position: absolute;
  width: 188px;
  height: 30px;
  background: url(../../images/material/s_spinfo.png) no-repeat;
  background-size: 188px 30px;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0 auto auto;
}

.spInfo h1 span {
  color: #fff;
}

.spInfo .infoBox ul {
  margin: 0 10px 15px 10px;
  padding: 10px;
  border: 1px solid #b9b9b9;
  background: #fff;
}

.spInfo .infoBox ul li {
  border-bottom: dashed 1px #b2b2b2;
  margin: 10px 0;
  padding-bottom: 10px;
}

.spInfo .infoBox ul li dl dd {
  margin-bottom: 0;
}

.spInfo .infoBox ul li p {
  margin-bottom: 0;
}

.info_more {
  background: #cb7e81;
  border-bottom: 2px solid #653f40;
  color: #FFF;
  border-radius: 8px;
  margin: 0 0 5px 0;
  line-height: 40px;
  height: 40px;
  font-weight: normal;
  cursor: pointer;
  font-size: 15px;
  text-align: center;
  padding: 0;
  position: relative;
}

/*
.info_open::after {
  content: '';
  position: absolute;
  background: url(https://m9480051.xaas3.jp/images/material/s_toggle_01.png) no-repeat;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
  right: 10px;
  bottom: 0;
  top: 0;
  left: 0;
  margin: auto 0 auto auto;
}
*/
.info_close {
  border-top: 2px solid #653f40;
  border-bottom: none;
}

/*
.info_close::after {
  content: '';
  position: absolute;
  background: url(https://m9480051.xaas3.jp/images/material/s_toggle_02.png) no-repeat;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
  right: 10px;
  bottom: 0;
  top: 0;
  left: 0;
  margin: auto 0 auto auto;
}
*/
/*
  デフォルト表示件数
  表示したい数 + 1（1件表示なら2）
  全件表示の場合は以下を削除かコメントアウト
*/
.infoBox ul li:nth-child(n + 7) {
  display: none;
}


/* ===================================================================
  12.accordion menu
=================================================================== */

/* -- 汎用アコーディオン -- */
.g_toggle {
  margin: 10px;
}

/*
  デフォルト表示件数
  表示したい数 + 1（1件表示なら2）
  全件表示の場合は以下を削除かコメントアウト
*/
.g_toggle:nth-child(n + 2) {
  display: none;
}

.g_toggle_more {
  background: -moz-linear-gradient(top, #666, #555);
  background: -webkit-linear-gradient(#666, #555);
  background: linear-gradient(top, #666, #555);
  color: #FFF;
  border-radius: 8px;
  margin: 0 10px 15px 10px;
  line-height: 40px;
  height: 38px;
  font-weight: normal;
  cursor: pointer;
  font-size: 15px;
  text-align: center;
  padding: 0;
  position: relative;
}

.g_toggle_close {
  background: -moz-linear-gradient(top, #555, #666);
  background: -webkit-linear-gradient(#555, #666);
  background: linear-gradient(top, #555, #666);
}


/* -- dlアコーディオン -- */
.dl_toggle dt {
  background: #666;
  padding: 5px;
  position: relative;
  color: #fff;
}

.dl_toggle dt::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 10px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_01.png) no-repeat;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
}

.dl_toggle dt.dl_open {
  color: #333;
  background: #ccc;
}

.dl_toggle dt.dl_open::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 10px;
  margin: auto 0 auto auto;
  background: url(../../images/material/s_toggle_02.png) no-repeat;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
}

.dl_toggle dd {
  padding: 5px;
  display: none;
}

.dl_open+dd {
  display: block;
}


/* ===================================================================
  13.calendar(ROOKのパーツ)
=================================================================== */

table.spCalendarTable th {
  border: solid 1px #d5d5d5;
  font-weight: normal;
}

table.spCalendarTable td {
  background: #ffffff;
  border: solid 1px #d5d5d5;
}

.sp_cal_1 {
  background: #fef1e6;
  padding: 15px 0 0 0;
}

.spCalendarException {
  background: #fff;
  padding: 5px;
  border: solid 1px #BCBEBD;
  border-radius: 5px;
}

.spCalendarException p {
  margin: 0;
}

.sp_calendar {
  margin: 0 auto;
  text-align: center;
  width: 280px;
}

.cal_left {
  float: left;
  width: 140px;
  vertical-align: top;
  text-align: left;
}

.calname {
  color: #333;
}

.spSubButton2 {
  -webkit-appearance: none;
  border: solid 1px #d8d8d8;
  text-shadow: none;
  border-radius: 3px;
  background: -moz-linear-gradient(top, #fff, #f2f2f2);
  background: -webkit-linear-gradient(#fff, #f2f2f2);
  background: linear-gradient(top, #fff, #f2f2f2);
  padding: 0 0;
  font-weight: normal;
}

.spCalendarHeadline th {
  background: #fff !important;
  color: #444;
}


/* ===================================================================
  14.footer
=================================================================== */

#page_block5 .pgtop {
  margin: 0;
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 65px;
  height: 65px;
  z-index: 200;
  cursor: pointer;
}

dl.nav_menu {
  margin: 0;
  padding: 0px 0 20px 0;
}

/* -- h3と同じだったらコピー可 (margin;0;) -- */
dl.nav_menu dt {
  color: #fff;
  font-size: 18px;
  margin: 0;
  padding: 8px 10px 8px 30px;
  background: #f29c9f;
  width: auto;
  position: relative;
  font-weight: normal;
  text-align: center;
  box-shadow: 0 3px #f29c9f inset, 0 4px #fff inset, 0 -3px #f29c9f inset, 0 -4px #fff inset;
}

dl.nav_menu dd {
  width: 50%;
  float: left;
  border-bottom: solid 1px #fceadc;
  background: url(../../images/material/s_dd_bg.png) no-repeat right, #fff;
  background-size: 35px 100%, 100%;
  margin: 0;
  text-align: left;
  font-size: 15px;
  font-weight: normal;
  position: relative;
  cursor: pointer;
}

dl.nav_menu dd span {
  display: block;
  padding: 0 20px 0 10px;
  position: relative;
}

dl.nav_menu dd span::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  background: url(../../images/material/s_icon_01.png) no-repeat;
  background-size: 12px 12px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 8px;
  margin: auto 0 auto auto;
}

dl.nav_menu dd span a {
  display: table-cell;
  vertical-align: middle;
  height: 50px;
  color: #444;
  text-decoration: none;
}

dl.nav_menu dd:nth-child(even) span {
  border-right: solid 1px #fceadc;
  border-left: solid 1px #fceadc;
}

dl.nav_menu dd:nth-child(odd) span {
  border-right: solid 1px #fceadc;
}



.lazyloaded.footer_bg {
  background: url(../../images/material/s_footer_bg.jpg) no-repeat top;
  background-size: 100% auto;
  padding: 20px 10px 10px;
}

.f_info {
  font-size: 14px;
  margin: 0 auto;
  width: 300px;
  padding: 10px 0;
}

.f_info p {
  margin: 0 0 10px;
}

.f_info a {
  color: #333;
  text-decoration: none;
}


.copyright {
  background: #fef1e6;
}

.copyright p {
  text-align: center;
  color: #848484;
  padding: 5px 0;
  font-size: 11px;
  margin: 0;
}


/* ===================================================================
  15.slide show
=================================================================== */

/* -- main_visuial(TOPページ用) -- */
.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}

.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  margin: 0;
}

.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
}

.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
}

/* -- swiper slide(下層ページ用) --*/
/* 1ページ内に複数スライドショーを入れる場合は↓をコピーしてクラスを変更（jsも追加）*/
.swiper-container,
.swiper-container2,
.swiper-container3 {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

.swiper-pagination,
.swiper-pagination2,
.swiper-pagination3 {
  position: absolute;
  text-align: center;
  z-index: 10;
}

.swiper-container-horizontal>.swiper-pagination,
.swiper-container-horizontal>.swiper-pagination2,
.swiper-container-horizontal>.swiper-pagination3 {
  bottom: 0;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #cdbaac;
  margin: 0 5px;
}

.swiper-pagination-bullet-active {
  background: #f29c9f;
}

.swiper-slide {
  background: none !important;
}

.swiper-slide p {
  text-align: left !important;
}

.swiper-button-prev {
  position: absolute;
  top: -30px;
  left: 15px;
  right: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  z-index: 10;
  margin: auto auto auto 0;
  cursor: pointer;
  border-top: solid 2px #333;
  border-left: solid 2px #333;
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.swiper-button-next {
  position: absolute;
  top: -30px;
  left: 0;
  right: 15px;
  bottom: 0;
  width: 20px;
  height: 20px;
  z-index: 10;
  margin: auto 0 auto auto;
  cursor: pointer;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.5;
}



/* ===================================================================
  16.inquiry(ROOKのパーツ)
=================================================================== */

/*h3またはh4をコピー */
h2.spContentsHeading2G {
  border-left: solid 5px #333;
  background: #eee;
  padding: 6px 10px;
  line-height: 1.2;
  color: #333;
  font-size: 18px;
  margin: 0 0 10px 0;
  height: 2em;
}

h2.spContentsHeading2G::before {
  content: normal;
}

h2.spContentsHeading2G::after {
  content: normal;
}

h2.spContentsHeading2G span {
  border: none;
  background: none;
}

h2.spContentsHeading2G img {
  border-radius: 6px;
}

h2.spContentsHeading2G .spHeadlineName {
  padding: 0;
}

.spDynamicInputPage .text {
  margin-top: 15px;
}

.spDynamicInputName dt,
.spDynamicInputName dd {
  height: 40px;
}

.spMainButtonArea {
  margin: 0 auto;
}

.spMainButton1 {
  border: solid 1px #FDB8C6;
  background: -moz-linear-gradient(top, #fff, #FFE4E0);
  background: -webkit-linear-gradient(#fff, #FFE4E0);
  background: linear-gradient(top, #fff, #FFE4E0);
  color: #333 !important;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(000, 000, 000, 0.5), inset 0px 1px 1px rgba(255, 255, 255, 0.5);
  padding: 12px;
  display: block;
  position: relative;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-shadow: none;
}

.spMainButton1::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 7px;
  right: 10px;
  top: 16px;
  background: url(../../images/material/s_icon_01.png) no-repeat;
  background-size: 6px 7px;
}


/* ===================================================================
  17.blog(ROOKのパーツ)
=================================================================== */

.sp_blogList_1 .spTopTitle {
  display: none;
}

#article1 li {
  margin-bottom: 0;
}

.spBlogCatgList li {
  margin-bottom: 0;
}

.sp_blogList_1 .spBlogDetailBlock img {
  width: 100%;
  height: auto;
}



/* ===================================================================
  99.other
=================================================================== */

.index_cell {
  background: #fef1e6;
  margin-bottom: 0px !important;
  padding-bottom: 20px;
}

.greeting {
  position: relative;
  background: #fef1e6;
}

.greeting a {
  position: absolute;
  bottom: 7.4%;
  width: 100%;
  margin-bottom: 0px;
  vertical-align: bottom;
}

.greeting a img {
  vertical-align: center;
}

.f_ul li {
  padding: 0 0 0 20px;
  position: relative;
}

.f_ul li::before {
  background: #444 none repeat scroll 0 0;
  content: "";
  height: 11px;
  left: 0;
  position: absolute;
  top: 3px;
  width: 11px;
}

.color01 {
  color: #f29c9f !important;
}

.color02 {
  color: #f07d00 !important;
}

.color03 {
  color: #f2738e !important;
  font-weight: bold;
}

.color04 {
  color: #f0728a !important;
  font-weight: bold;
}

.before {
  color: #009900;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

.after {
  color: #ff0000;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

span.h4_btn {
  background: #f0728a none repeat scroll 0 0;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  margin-left: 10px;
  padding: 2px 10px;
  text-align: center;
  vertical-align: middle;
}

.ballon {
  border-radius: 10px;
  border: 5px solid #0267FF;
  margin-bottom: 10px;
  padding: 10px;
}

.ballon p {
  margin-bottom: 0px;
  text-align: center;
}

.box02 {
  background: #fff none repeat scroll 0 0;
  border: 1px solid #ccc;
  display: table;
  margin: 0 0 10px;
  padding: 10px;
}

.box03 {
  padding: 10px 10px 10px 20px;
  border-radius: 10px;
  background: #ef9a95;
  width: 220px;
  margin: 0 auto;
}

.box03 ul {
  color: #FFF;
}

table.table_c1 {
  border-collapse: collapse;
  border-left: 1px solid #707070;
  border-top: 1px solid #707070;
  margin: 0 0 15px;
}

table.table_c1 thead th,
table.table_c1 tbody th,
table.table_c1 tbody td {
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
  padding: 10px;
}

table.table_c1 thead th {
  background: #000 none repeat scroll 0 0;
  color: #fff;
  text-align: center;
}

table.table_c1 tbody th {
  background: #efe9cf none repeat scroll 0 0;
  color: #444;
  text-align: center;
}

table.table_c1 tbody td {}

table.table_c1 tbody td.none {
  border-right: medium none;
}

table.table_c1.im td {
  background: #fff none repeat scroll 0 0;
}

table.table_c1.im tbody th {
  background: #ef9a95 none repeat scroll 0 0;
  width: 20%;
}

table.table_c1.im ul.list_disc {
  margin: 0;
}

.r_in01 {
  position: relative;
  margin: 0 auto;
  margin-bottom: 20px;
}

.r_in01 .r_btn01 {
  position: absolute;
  left: 35.05%;
  bottom: 4%;
  width: 9.69%;
}

.r_in02 {
  background: url("../../images/material/s_15_31.gif") no-repeat scroll center top;
  display: block;
  height: 550px;
  position: relative;
  width: 300px;
  margin: 0 auto;
  margin-bottom: 20px;
}

.r_in02 p.r_btn01 {
  position: absolute;
  right: 0;
  top: 201px;
}

.r_in03 {
  background: url("../../images/material/s_15_38.png") no-repeat scroll center top;
  display: block;
  height: 330px;
  position: relative;
  width: 300px;
  margin: 0 auto;
  margin-bottom: 20px;
}

.r_in03 p.r_btn01 {
  position: absolute;
  left: 73px;
  top: 99px;
}

.r_in03 p.r_btn02 {
  position: absolute;
  left: 77px;
  top: 207px;
}

.r_in04 {
  background: url("../../images/material/s_15_39.png") no-repeat scroll center top;
  display: block;
  height: 330px;
  position: relative;
  width: 300px;
  margin: 0 auto;
  margin-bottom: 20px;
}

.r_in04 p.r_btn01 {
  position: absolute;
  left: 73px;
  top: 153px;
}

.sbnr_area02 {
  background: #ffffff;
  padding: 10px 5px;
  margin: 0 0 20px;
}

.sbnr_area02 .txt {
  margin-bottom: 10px;
  color: #775635;
}

.sbnr_area02 span {
  font-weight: bold;
  color: #f29c9f;
}

.sbnr_area02 .bnr-img {
  margin-bottom: 0;
}

.sbnr_area02 .bnr-img img {
  width: 100%;
  padding: 5px;
  border: 5px solid #F5B4B1;
}

.sp_area_1 .impant_bnr {
  padding: 5px;
  border: 5px solid #F5B4B1;
  width: calc(100% - 20px);
}

.sp-l-bnr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
