@charset 'utf-8';
/*------------------------------------------------

初期化と共通設定

------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
form,
hr {
  margin: 0;
  padding: 0;
  font-size: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  font-weight: bold;
}
body {
  -webkit-font-smoothing: subpixel-antialiased;
}
a img {
  border-style: none;
}
.small {
  font-size: 75%;
  line-height: 140%;
}
.big {
  font-size: 130%;
  line-height: 140%;
}
.extra_big {
  font-size: 150%;
  line-height: 140%;
}
.large_big {
  font-size: 200%;
  line-height: 140%;
}
b,
.bold {
  font-weight: bold;
}
h2.in,
h3.in,
h4.in,
h5.in {
  margin-top: 2.5em !important;
}
.tx_center {
  text-align: center !important;
}
.tx_right {
  text-align: right !important;
}
.tx_left {
  text-align: left !important;
}
/*
------------------------------------------------

//文字設定

------------------------------------------------
*/
h1 {
  margin: 0;
  padding: 0 0 0.5em 0;
  font-size: 220%;
  line-height: 120%;
}
h2 {
  margin: 0;
  padding: 0 0 0.5em 0;
  font-size: 175%;
  line-height: 120%;
}
h3 {
  margin: 0;
  padding: 0 0 0.5em 0;
  font-size: 130%;
  line-height: 120%;
}
h4 {
  margin: 0;
  padding: 0 0 0.5em 0;
  font-size: 120%;
  line-height: 120%;
}
h5 {
  margin: 0;
  padding: 0 0 0.5em 0;
  font-size: 100%;
  line-height: 120%;
}
.yen {
  position: relative;
}
.yen::after {
  content: "円";
  margin-right: 4px;
  font-size: 80%;
}
.dot_image_line {
  position: relative;
  margin: 0 0 0.7em 0;
  padding: 0.8em 1em 0.8em 0.4em;
  background: url(../img/common_css/stripe.png);
  background-size: 10px;
  font-weight: bold;
}
h1.dot_image_line {
  font-size: 220%;
}
h2.dot_image_line {
  font-size: 175%;
}
h3.dot_image_line {
  font-size: 130%;
}
h4.dot_image_line {
  font-size: 120%;
}
.under_dotimage_line {
  margin: 0 0 0.6em 0;
  padding: 0.8em 1em 0.8em 0.4em;
  font-weight: bold;
  background: url(../img/common_css/dot_line.png) center bottom repeat-x;
  background-size: 4px;
}
h1.under_dotimage_line {
  font-size: 220%;
}
h2.under_dotimage_line {
  font-size: 175%;
}
h3.under_dotimage_line {
  font-size: 130%;
}
h4.under_dotimage_line {
  font-size: 120%;
}
.side_line {
  margin: 0 0 0.3em 0;
  padding: 0.8em 1em 0.8em 0.4em;
  font-weight: bold;
  border-left: 4px solid #b2b2a6;
  color: #636352;
}
h1.side_line {
  font-size: 220%;
}
h2.side_line {
  font-size: 175%;
}
h3.side_line {
  font-size: 130%;
}
h4.side_line {
  font-size: 120%;
}
.emp_red {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  border-bottom: 2px solid #fe4584;
  font-weight: bold;
  color: #fe4584;
}
.emp_red:before {
  content: "";
  position: absolute;
  left: 1px;
  top: -5px;
  display: block;
  overflow: hidden;
  margin: 0;
  padding-top: 15px;
  height: 0 !important;
  line-height: 250%;
  width: 16px;
  background: url(../img/common_css/emp.svg) top left no-repeat;
}
.emp_yellow {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  border-bottom: 2px solid #fd8a02;
  font-weight: bold;
  color: #fd8a02;
}
.emp_yellow:before {
  content: "";
  position: absolute;
  left: 1px;
  top: -5px;
  display: block;
  overflow: hidden;
  margin: 0;
  padding-top: 15px;
  height: 0 !important;
  line-height: 250%;
  width: 16px;
  background: url(../img/common_css/emp.svg) top left no-repeat;
  background-position: -16px 0;
}
.emp_green {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  border-bottom: 2px solid #008000;
  font-weight: bold;
  color: #008000;
}
.emp_green:before {
  content: "";
  position: absolute;
  left: 1px;
  top: -5px;
  display: block;
  overflow: hidden;
  margin: 0;
  padding-top: 15px;
  height: 0 !important;
  line-height: 250%;
  width: 16px;
  background: url(../img/common_css/emp.svg) top left no-repeat;
  background-position: -32px 0;
}
.emp_blue {
  position: relative;
  margin: 0;
  padding: 0 0 0 20px;
  border-bottom: 2px solid #029af2;
  font-weight: bold;
  color: #029af2;
}
.emp_blue:before {
  content: "";
  position: absolute;
  left: 1px;
  top: -5px;
  display: block;
  overflow: hidden;
  margin: 0;
  padding-top: 15px;
  height: 0 !important;
  line-height: 250%;
  width: 16px;
  background: url(../img/common_css/emp.svg) top left no-repeat;
  background-position: -48px 0;
}
/*
------------------------------------------------

//リンク

------------------------------------------------
*/
a:link,
a:visited {
  text-decoration: none;
  color: #575744;
}
a:hover {
  text-decoration: none;
  color: #7e7e5a;
}
a.img:link img,
a.img:visited img {
  margin: 0;
  padding: 2px;
  border: 1px solid #9e9e93;
}
a.img:hover img {
  border: 1px solid #717156;
}
a.link:link,
a.link:visited {
  margin: 0 5px;
  padding: 0 0 0 10px;
  background: url(../img/common_css/link.png) center left no-repeat;
  background-size: 8px;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}
a.link:hover {
  background-position: 2px center;
}
a.closelink:link,
a.closelink:visited {
  margin: 0 5px;
  padding: 0 0 0 12px;
  background: url(../img/common_css/close.png) center left no-repeat;
  background-size: 9px;
}
a.blanklink:link,
a.blanklink:visited {
  margin: 0 5px;
  padding: 0 0 0 12px;
  background: url(../img/common_css/blank.png) center left no-repeat;
  background-size: 9px;
}
a.uplink:link,
a.uplink:visited {
  margin: 0 5px;
  padding: 0 0 0 12px;
  background: url(../img/common_css/page_up.png) center left no-repeat;
  background-size: 9px;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}
a.uplink:link:hover,
a.uplink:visited:hover {
  background-position: left 0;
}
a.downlink:link,
a.downlink:visited {
  margin: 0 5px;
  padding: 0 0 0 12px;
  background: url(../img/common_css/page_down.png) center left no-repeat;
  background-size: 9px;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}
a.downlink:link:hover,
a.downlink:visited:hover {
  background-position: left 4px;
}
a.mail:link,
a.mail:visited {
  margin: 0 5px;
  padding: 0 0 0 12px;
  background: url(../img/common_css/mail.png) center left no-repeat;
  background-size: 9px;
}
a.alpha_link:link,
a.alpha_link:visited {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}
a.alpha_link:hover {
  opacity: 0.8;
}
.btn_link {
  position: relative;
}
.btn_link::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 6px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
.btn_link:hover {
  text-decoration: none;
}
.btn_link:hover span {
  background-color: #9c121b;
}
.btn_link span {
  line-height: 350%;
  margin: 0;
  padding: 10px 14px 10px 24px;
  background-color: #d0121b;
  border: 2px solid #ffffff;
  border-radius: 5px;
  color: #ffffff;
  font-weight: bold;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}
a.hover-underline {
  background: linear-gradient(#d8d8b3, #d8d8b3) 0 100% / 0 8px no-repeat;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  text-decoration: none;
}
a.hover-underline:hover {
  text-decoration: none;
  background-size: 100% 8px;
}
/*
------------------------------------------------

//リスト

------------------------------------------------
*/
ul {
  margin: 0;
  padding: 0 0 0 20px;
  list-style-type: disc;
}
ul li {
  margin-bottom: 5px;
}
ol {
  margin: 0;
  padding: 0 0 0 20px;
}
ol li {
  margin-bottom: 5px;
}
ul.normal {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.normal li {
  position: relative;
  margin: 0;
  padding: 2px 0;
}
ul.kome {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.kome li {
  position: relative;
  margin: 0;
  padding: 2px 0 2px 1em;
}
ul.kome li:after {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 2px 0;
  font-size: 80%;
}
ul.indent {
  margin: 0;
  padding: 4px 0 4px 0;
  list-style-type: none;
}
ul.indent li {
  position: relative;
  margin: 0;
  padding: 2px 0 2px 1em;
}
ul.indent li:after {
  content: "●";
  display: block;
  position: absolute;
  top: 0;
  left: 2px;
  padding: 2px 0;
  font-size: 40%;
}
ul.dot_underline {
  margin: 0;
  padding: 10px 0 10px 0;
  list-style-type: none;
}
ul.dot_underline li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 5px 0;
  background: url(../img/common_css/dot_line.png) bottom left repeat-x;
  background-size: 4px;
}
ul.item_datas {
  margin: 0;
  padding: 4px 0;
  list-style-type: none;
}
ul.item_datas li {
  margin: 0;
  padding: 2px 0 4px 0;
  background: url(../img/common_css/dot_line.png) bottom left repeat-x;
  background-size: 3px;
}
ul.item_datas li i {
  float: right;
  font-style: normal;
}
ul.item_datas:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
ul.indent_num {
  margin: 0;
  padding: 4px 0 4px 0;
  list-style-type: none;
}
ul.indent_num li {
  position: relative;
  margin: 0;
  padding: 2px 0 2px 1.8em;
}
ul.indent_num li:after {
  content: attr(data-text);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  text-align: center;
  padding: 2px 0;
  font-size: 85%;
}
dl.data_dl_structure {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
dl.data_dl_structure i {
  background-color: #ffffff;
  font-style: normal;
  padding: 0 10px 0 0;
}
dl.data_dl_structure dt {
  box-sizing: border-box;
  margin-right: 10px;
  -ms-flex-preferred-size: calc(50% - 10px);
  flex-basis: calc(50% - 10px);
  background: url(../img/common_css/dot_line.png) center left repeat-x;
  background-size: 3px;
}
dl.data_dl_structure dd {
  box-sizing: border-box;
  margin: 0;
  padding-right: 0;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}
ol.dot_line_list {
  margin: 0;
  padding: 10px 0 10px 0;
  list-style-type: decimal;
  list-style-position: inside;
}
ol.dot_line_list li {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 5px 1.2em;
  background: url(../img/common_css/dot_line.png) bottom left repeat-x;
  background-size: 4px;
  text-indent: -1.2em;
}
.floatlist {
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
}
.floatlist:after {
  content: "";
  display: block;
  clear: both;
}
.floatlist li {
  float: left;
  margin: 0;
  padding: 0;
  width: 50%;
}
.floatlist li.thd {
  width: calc(100% / 3);
}
.floatlist li.long {
  width: 100%;
}
.floatlist.thd li {
  width: calc(100% / 3);
}
/*
------------------------------------------------

//テーブルとリストテーブル

------------------------------------------------
*/
table.basic {
  border-collapse: collapse;
}
table.basic td,
table.basic th {
  margin: 0;
  padding: 5px;
  color: #000000;
  border-bottom: 1px dotted #869dad;
  text-align: left;
}
table.basic th {
  background: url("../img/common_css/page_pattern.png");
  background-size: 3px;
}
table.basic th.color {
  background: none;
  background-color: #cdddff;
}
table.basic .sep {
  border-right: 1px dotted #869dad;
}
@media all and (max-width: 1000px) {
  .boxintable {
    position: relative;
    margin: 0 0 30px;
    padding: 0;
    border-bottom: 1px solid #858a8e;
  }
  .boxintable .inner {
    margin: 0;
    padding: 0 0 20px;
    overflow-y: scroll;
  }
  .boxintable:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -15px;
    right: 10px;
    width: 30px;
    height: 45px;
    background: url("../img/common_css/table_hand_drag.png") center center no-repeat;
    background-size: 100%;
  }
}
.grid_table {
  display: grid;
}
.grid_table dt,
.grid_table dd {
  margin: 0;
  padding: 0;
  padding-left: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom: 1px dotted #869dad;
}
.grid_table dt {
  padding-right: 30px;
  background: url("../img/common_css/page_pattern.png");
  background-size: 3px;
}
.grid_table.b2 {
  grid-template-columns: auto 1fr;
  grid-gap: 0px;
}
.grid_table.b3 {
  grid-template-columns: auto 1fr 1fr;
}
.grid_table.b4 {
  grid-template-columns: auto 1fr 1fr 1fr;
}
.grid_table.b5 {
  grid-template-columns: auto 1fr 1fr 1fr 1fr;
}
.grid_table.b6 {
  grid-template-columns: auto 1fr 1fr 1fr 1fr 1fr;
}
/*
------------------------------------------------

//色設定

------------------------------------------------
*/
/*原色*/
.white {
  color: #ffffff;
}
.red {
  color: #ff0000;
}
.purple {
  color: #800080;
}
.green {
  color: #008000;
}
.yellow {
  color: #ffd200;
}
.blue {
  color: #3425f3;
}
.pink {
  color: #fb03a1;
}
.orange {
  color: #f7850b;
}
.bg_white {
  background-color: #ffffff;
}
.bg_red {
  background-color: #ff0000;
}
.bg_purple {
  background-color: #800080;
}
.bg_green {
  background-color: #008000;
}
.bg_yellow {
  background-color: #ffd200;
}
.bg_blue {
  background-color: #3425f3;
}
.bg_pink {
  background-color: #fb03a1;
}
.bg_orange {
  background-color: #f7850b;
}
.bg_light_orange {
  background-color: #fefaf1;
}
.line_white {
  box-sizing: border-box;
  border-color: #ffffff;
}
.line_red {
  box-sizing: border-box;
  border-color: #ff0000;
}
.line_purple {
  box-sizing: border-box;
  border-color: #800080;
}
.line_green {
  box-sizing: border-box;
  border-color: #008000;
}
.line_yellow {
  box-sizing: border-box;
  border-color: #ffd200;
}
.line_blue {
  box-sizing: border-box;
  border-color: #3425f3;
}
.line_pink {
  box-sizing: border-box;
  border-color: #fb03a1;
}
.line_orange {
  box-sizing: border-box;
  border-color: #fea240;
}
/*黒系統*/
.black {
  color: #000000;
}
.bg_black {
  background-color: #000000;
}
.line_black {
  border-color: #000000;
}
.steel_black {
  color: #908e8e;
}
.bg_steel_black {
  background-color: #908e8e;
}
.line_steel_black {
  border-color: #908e8e;
}
.sky_black {
  color: #d3d5d7;
}
.bg_sky_black {
  background-color: #d3d5d7;
}
.line_sky_black {
  border-color: #d3d5d7;
}
.light_black {
  color: #ecedee;
}
.bg_light_black {
  background-color: #ecedee;
}
.line_light_black {
  border-color: #ecedee;
}
/*青系統*/
.oriental_blue {
  color: #014ea5;
}
.bg_oriental_blue {
  background-color: #014ea5;
}
.line_oriental_blue {
  border-color: #014ea5;
}
.marine_blue {
  color: #2a8efd;
}
.bg_marine_blue {
  background-color: #2a8efd;
}
.line_marine_blue {
  border-color: #2a8efd;
}
.sky_blue {
  color: #a4cffd;
}
.bg_sky_blue {
  background-color: #a4cffd;
}
.line_sky_blue {
  border-color: #a4cffd;
}
.light_blue {
  color: #e9f3fe;
}
.bg_light_blue {
  background-color: #e9f3fe;
}
.line_light_blue {
  border-color: #e9f3fe;
}
/*緑系統*/
.viridian {
  color: #037d3e;
}
.bg_viridian {
  background-color: #037d3e;
}
.line_viridian {
  border-color: #037d3e;
}
.cobalt_green {
  color: #63b343;
}
.bg_cobalt_green {
  background-color: #63b343;
}
.line_cobalt_green {
  border-color: #63b343;
}
.mint_green {
  color: #d5f3bf;
}
.bg_mint_green {
  background-color: #d5f3bf;
}
.line_mint_green {
  border-color: #d5f3bf;
}
.light_green {
  color: #f4feed;
}
.bg_light_green {
  background-color: #f4feed;
}
.line_light_green {
  border-color: #f4feed;
}
/*紫系統*/
.violet {
  color: #6e338a;
}
.bg_violet {
  background-color: #6e338a;
}
.line_violet {
  border-color: #6e338a;
}
.hyacinth {
  color: #9f67c0;
}
.bg_hyacinth {
  background-color: #9f67c0;
}
.line_hyacinth {
  border-color: #9f67c0;
}
.lilac {
  color: #e6c6f2;
}
.bg_lilac {
  background-color: #e6c6f2;
}
.line_lilac {
  border-color: #e6c6f2;
}
.light_violet {
  color: #fcf2fc;
}
.bg_light_violet {
  background-color: #fcf2fc;
}
.line_light_violet {
  border-color: #fcf2fc;
}
/*赤系統*/
.maroon {
  color: #a20318;
}
.bg_maroon {
  background-color: #a20318;
}
.line_maroon {
  border-color: #a20318;
}
.rose {
  color: #ee1439;
}
.bg_rose {
  background-color: #ee1439;
}
.line_rose {
  border-color: #ee1439;
}
.salmon_pink {
  color: #fcd0dc;
}
.bg_salmon_pink {
  background-color: #fcd0dc;
}
.line_salmon_pink {
  border-color: #fcd0dc;
}
.light_pink {
  color: #fff5f8;
}
.bg_light_pink {
  background-color: #fff5f8;
}
.line_light_pink {
  border-color: #fff5f8;
}
/*黄系統*/
.brown {
  color: #7d702d;
}
.bg_brown {
  background-color: #7d702d;
}
.line_brown {
  border-color: #7d702d;
}
.buff {
  color: #c6b675;
}
.bg_buff {
  background-color: #c6b675;
}
.line_buff {
  border-color: #c6b675;
}
.beige {
  color: #eee4bd;
}
.bg_beige {
  background-color: #eee4bd;
}
.line_beige {
  border-color: #eee4bd;
}
.light_brown {
  color: #fcf9ee;
}
.bg_light_brown {
  background-color: #fcf9ee;
}
.line_light_brown {
  border-color: #fcf9ee;
}
/*薄い色系（背景色のみ）*/
.cream_bg {
  background-color: #fffeed;
}
.yellow_bg {
  background-color: #fef9df;
}
.red_bg {
  background-color: #fff0ed;
}
.orange_bg {
  background-color: #fff6ed;
}
.green_bg {
  background-color: #f4ffed;
}
.mint_bg {
  background-color: #edfff3;
}
.mintgray_bg {
  background-color: #ebf5ec;
}
.greengray_bg {
  background-color: #f6f8f2;
}
.blue_bg {
  background-color: #f6f7f9;
}
.sky_bg {
  background-color: #f6f9f9;
}
.purple_bg {
  background-color: #f2f0f3;
}
.orangegray_bg {
  background-color: #f3f2f0;
}
.shellpink_bg {
  background-color: #fee4ed;
}
/*罫線のサイズ*/
.px1 {
  border-style: solid;
  border-width: 1px;
}
.px2 {
  border-style: solid;
  border-width: 2px;
}
.px3 {
  border-style: solid;
  border-width: 3px;
}
.px4 {
  border-style: solid;
  border-width: 4px;
}
.px5 {
  border-style: solid;
  border-width: 5px;
}
/*説明用のボックス*/
.color_test_box {
  width: 100%;
  height: 50px;
}
/*
------------------------------------------------

//エレメント

------------------------------------------------
*/
.imgLeft {
  float: left;
  margin-right: 10px;
}
.imgLeft :after {
  /*clear*/
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.imgRight {
  float: right;
  margin-left: 10px;
}
.imgRight :after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.pin_pink_left:after {
  content: "";
  position: absolute;
  left: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url('../img/common_css/pin.svg') top left no-repeat;
  background-size: 143px;
}
.pin_pink_right:after {
  content: "";
  position: absolute;
  right: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url('../img/common_css/pin.svg') top left no-repeat;
  background-size: 143px;
  background-position: -72px 0;
}
.pin_yellow_left:after {
  content: "";
  position: absolute;
  left: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -18px 0;
}
.pin_yellow_right:after {
  content: "";
  position: absolute;
  right: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -90px 0;
}
.pin_green_left:after {
  content: "";
  position: absolute;
  left: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -36px 0;
}
.pin_green_right:after {
  content: "";
  position: absolute;
  right: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -108px 0;
}
.pin_blue_left:after {
  content: "";
  position: absolute;
  left: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -54px 0;
}
.pin_blue_right:after {
  content: "";
  position: absolute;
  right: -5px;
  top: -8px;
  display: block;
  overflow: hidden;
  padding-top: 23px;
  height: 0 !important;
  line-height: 250%;
  width: 18px;
  background: url(../img/common_css/pin.svg) top left no-repeat;
  background-size: 143px;
  background-position: -126px 0;
}
.tape01:after {
  content: "";
  position: absolute;
  left: -10px;
  top: 2px;
  display: block;
  line-height: 250%;
  width: 30px;
  height: 10px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(-45deg);
}
.tape01:before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: 2px;
  display: block;
  line-height: 250%;
  width: 30px;
  height: 10px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(-45deg);
}
.tape02:after {
  content: "";
  position: absolute;
  right: -10px;
  top: 2px;
  display: block;
  line-height: 250%;
  width: 30px;
  height: 10px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(45deg);
}
.tape02:before {
  content: "";
  position: absolute;
  left: -10px;
  bottom: 2px;
  display: block;
  line-height: 250%;
  width: 30px;
  height: 10px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(45deg);
}
.tape_shadow {
  position: relative;
  margin: 5px 0 5px 0;
  padding: 14px;
  box-shadow: 0 8px 8px -8px #c3c1bb;
  -webkit-box-shadow: 0 8px 8px -8px #c3c1bb;
  -moz-box-shadow: 0 8px 8px -8px #c3c1bb;
}
.tape_shadow:before {
  content: "";
  position: absolute;
  left: -12px;
  top: -2px;
  display: block;
  line-height: 250%;
  width: 34px;
  height: 12px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(-45deg);
}
.tape_shadow:after {
  content: "";
  position: absolute;
  right: -12px;
  bottom: -1px;
  display: block;
  line-height: 250%;
  width: 34px;
  height: 12px;
  border: 1px solid #d8d7d3;
  background-color: #ffffff;
  opacity: 0.5;
  transform: rotate(-45deg);
}
.note_image_top {
  position: relative;
  padding: 20px 14px 10px 14px;
  background: url(../img/common_css/note_image.png) top left repeat-x;
  background-size: 12px;
  background-color: #fdf9c7;
}
.note_image_left {
  position: relative;
  padding: 12px 14px 12px 20px;
  background: url(../img/common_css/note_image_left.png) top left repeat-y;
  background-size: 8px;
  background-color: #fdf9c7;
}
.note_image_plane {
  position: relative;
  padding: 20px 14px 10px 14px;
  background-color: #ffffff;
  border: 1px solid #dad5b7;
  box-shadow: 0px 3px 4px 0 #e1dbdb;
}
.note_image_plane::after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 1px;
  width: calc(100% - 2px);
  height: 12px;
  background: url(../img/common_css/note_image_plane.png) top left repeat-x;
  background-size: 12px;
}
.orange_clip:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: -12px;
  background: url(../img/common_css/itemclip.svg) left center no-repeat;
  width: 24px;
  height: 30px;
  background-size: 50px;
}
.green_clip:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: -12px;
  background: url(../img/common_css/itemclip.svg) left center no-repeat;
  width: 24px;
  height: 30px;
  background-size: 50px;
  background-position: -24px 0;
}
.line_box {
  position: relative;
  padding: 20px;
  border: 2px solid #bcb6af;
  border-radius: 5px;
  zoom: 1;
}
.line_box:after {
  content: "";
  display: block;
  clear: both;
}
.photo_flame {
  box-sizing: border-box;
  box-shadow: 0px 1px 6px 0px #e1dbdb;
  border: 8px solid #ffffff;
}
.emp_text,
.emp_text_blue,
.emp_text_green {
  position: absolute;
  top: -1em;
  left: 1.8em;
  padding: 0px 10px 0 10px;
  background-color: #a20318;
  font-size: 80%;
  color: #ffffff;
  transform: rotate(-2deg);
}
.emp_text.r,
.emp_text_blue.r,
.emp_text_green.r {
  right: 1.8em;
  left: auto;
  transform: rotate(4deg);
}
.emp_text_blue {
  background-color: #014ea5;
}
.emp_text_green {
  background-color: #037d3e;
}
div.dotLine {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 10px 0 10px 0;
  background: url(../img/common_css/dot_line.png) center center repeat-x;
  background-size: 4px;
}
.box_shadow {
  box-shadow: 0 0 5px 1px #607f80;
}
.arrow_note_top {
  position: relative;
  margin: 30px 0 0 0;
  padding: 8px;
  border: 1px solid #072747;
  font-size: 90%;
  line-height: 140%;
  border-radius: 5px;
  background-color: #ffffff;
}
.arrow_note_top:after {
  position: absolute;
  left: 20px;
  top: -17px;
  content: "";
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-bottom: 10px solid #072747;
}
.arrow_note_bottom {
  position: relative;
  margin: 10px 0 30px 0;
  padding: 8px;
  border: 1px solid #072747;
  font-size: 90%;
  line-height: 140%;
  border-radius: 5px;
  background-color: #ffffff;
}
.arrow_note_bottom:after {
  position: absolute;
  left: 20px;
  bottom: -17px;
  content: "";
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-top: 10px solid #072747;
}
/*
------------------------------------------------

//その他

------------------------------------------------
*/
.clear {
  clear: both;
  zoom: 1;
}
.clear:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  clear: both;
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.nwcell {
  white-space: nowrap;
}
.alpha_style {
  opacity: 0.5;
}
.alpha_no_style {
  opacity: 0;
}
.disblock {
  display: block;
}
.disnone {
  display: none;
}
.normalbox {
  padding: 5px;
  position: relative;
}
.box5 {
  padding: 5px;
  position: relative;
}
.box10 {
  padding: 10px;
  position: relative;
}
.box15 {
  padding: 15px;
  position: relative;
}
.box20 {
  padding: 20px;
  position: relative;
}
.r5 {
  border-radius: 5px;
}
.r10 {
  border-radius: 10px;
}
.r15 {
  border-radius: 15px;
}
.r20 {
  border-radius: 20px;
}
.r25 {
  border-radius: 25px;
}
.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;
}
.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;
}
.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;
}
.mt50 {
  margin-top: 50px !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;
}
.mb50 {
  margin-bottom: 50px !important;
}
.ang05p {
  transform: rotate(0.5deg);
}
.ang1p {
  transform: rotate(1deg);
}
.ang15p {
  transform: rotate(1.5deg);
}
.ang2p {
  transform: rotate(2deg);
}
.ang25p {
  transform: rotate(2.5deg);
}
.ang3p {
  transform: rotate(3deg);
}
.ang35p {
  transform: rotate(3.5deg);
}
.ang4p {
  transform: rotate(4deg);
}
.ang45p {
  transform: rotate(4.5deg);
}
.ang05 {
  transform: rotate(-0.5deg);
}
.ang1 {
  transform: rotate(-1deg);
}
.ang15 {
  transform: rotate(-1.5deg);
}
.ang2 {
  transform: rotate(-2deg);
}
.ang25 {
  transform: rotate(-2.5deg);
}
.ang3 {
  transform: rotate(-3deg);
}
.ang35 {
  transform: rotate(-3.5deg);
}
.ang4 {
  transform: rotate(-4deg);
}
.ang45 {
  transform: rotate(-4.5deg);
}
dl.dlbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  padding: 0 0 10px 0;
}
dl.dlbox dt {
  margin: 0;
  padding: 0;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}
dl.dlbox dd {
  margin: 0;
  padding: 0;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}
dl.dlbox1_9 dt {
  -ms-flex-preferred-size: 10%;
  flex-basis: 10%;
}
dl.dlbox1_9 dd {
  -ms-flex-preferred-size: 90%;
  flex-basis: 90%;
}
dl.dlbox2_8 dt {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}
dl.dlbox2_8 dd {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
}
dl.dlbox3_7 dt {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
}
dl.dlbox3_7 dd {
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
}
dl.dlbox4_6 dt {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
}
dl.dlbox4_6 dd {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
}
/*
------------------------------------------------

//フォーム部品

------------------------------------------------
*/
input.inputBox {
  box-sizing: border-box;
  margin: 4px 0 4px 0;
  padding: 5px;
  width: 100%;
  font-size: small;
  line-height: 100%;
  color: #505353;
  background-color: #fffffd;
  font-family: 'courier';
  border: 1px solid #eaeae5;
  border-radius: 5px;
}
input.small {
  width: 45%;
}
input.e5 {
  width: 5em;
}
input.e10 {
  width: 10em;
}
input.e15 {
  width: 15em;
}
input.e20 {
  width: 20em;
}
input.e25 {
  width: 25em;
}
input.e30 {
  width: 30em;
}
textarea.inputBox {
  box-sizing: border-box;
  margin: 4px 0 4px 0;
  padding: 5px;
  width: 100%;
  font-size: small;
  line-height: 150%;
  color: #505353;
  background-color: #fffffd;
  font-family: 'courier';
  border: 1px solid #eaeae5;
  border-radius: 5px;
}
textarea.small {
  width: 45%;
}
textarea.e5 {
  width: 5em;
}
textarea.e10 {
  width: 10em;
}
textarea.e15 {
  width: 15em;
}
textarea.e20 {
  width: 20em;
}
textarea.e25 {
  width: 25em;
}
textarea.e30 {
  width: 30em;
}
select.selectclass {
  margin: 2px;
  padding: 2px;
  border: 1px solid #8e959e;
  background-color: #f8f8fa;
}
input.btn {
  margin: 0;
  padding: 6px 10px 6px 10px;
  border-left: 1px solid #b0b0c8;
  border-top: 1px solid #b0b0c8;
  border-right: 1px solid #b0b0c8;
  border-bottom: 1px solid #b0b0c8;
  background-color: #f8f8fa;
  background: -moz-linear-gradient(top, #e9e9ed, #d7d7db);
  /* mozilla */
  background: -webkit-gradient(linear, center top, center bottom, from(#e9e9ed), to(#d7d7db));
  /* Webkit */
  filter: progid;
  font-size: 100%;
  color: #000000;
  font-weight: bold;
}
input.btndisabled {
  background-color: #f8f8fa;
  background: -moz-linear-gradient(top, #f8f8fa, #f8f8fa);
  /* mozilla */
  background: -webkit-gradient(linear, center top, center bottom, from(#f8f8fa), to(#f8f8fa));
  /* Webkit */
  filter: progid;
  color: #b0b0c8;
}
.mngfloat {
  float: left;
}
input.sample {
  display: block;
  width: 45px;
  height: 20px;
  margin: 1px;
  padding: 0;
  border: 0;
  text-indent: -9898px;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
input.sample:hover,
input.sample:focus {
  background-position: 0 -20px;
}
/*
------------------------------------------------

//リファレンスで使う

------------------------------------------------
*/
xmp {
  display: block;
  margin: 0.5em 0 0.5em 0;
  padding: 6px;
  background-color: #f4f6f1;
  font-size: 90%;
  line-height: 180%;
  font-family: 'courier';
  /*overflow: hidden;*/
  border: 1px solid #c7cdbf;
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}
code {
  margin: 0 0.3em;
  padding: 0.2em 0.3em 0.2em 0.3em;
  background-color: #f4f6f1;
  font-size: 90%;
  line-height: 180%;
  font-family: 'courier';
  border: 1px solid #c7cdbf;
  white-space: pre-wrap;
  word-wrap: break-word;
}
h1.tpl_pagetitle {
  position: relative;
  margin: 0px 0 1em 0;
  padding: 0px 0 2px 0;
  font-size: 180%;
  font-weight: bold;
  border-bottom: 4px solid #facd55;
}
h1.tpl_pagetitle strong {
  display: block;
  margin: 0px 0 0 0;
  padding: 0.3em;
  border-bottom: 2px solid #facd55;
}
h1.tpl {
  position: relative;
  margin: 0px 0 1em 0;
  padding: 0.3em;
  background-color: #8f9294;
  font-size: 180%;
  font-weight: bold;
  color: #ffffff;
}
h1.tpl:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -16px;
  width: 0;
  height: 0;
  margin: 0px 0 0 -4px;
  padding: 0px 0 0 0;
  border: 8px solid transparent;
  border-top: 8px solid #8f9294;
}
h2.tpl {
  position: relative;
  margin: 0px 0 1em 0;
  padding: 6px;
  border: 2px solid #83909d;
  font-size: 120%;
  background-color: #ffffff;
}
h3.tpl {
  position: relative;
  margin: 0px 0 0.5em 0;
  padding: 0px 0 0.2em 0;
  border-bottom: 1px solid #8f9294;
  font-size: 120%;
}
h1.ref {
  margin: 0 0 10px 0;
  padding: 6px 4px 6px 4px;
  background-color: #5c5e60;
  color: #ffffff;
}
h2.ref {
  margin: 0 0 10px 0;
  padding: 6px 4px 6px 4px;
  border: 2px solid #5c5e60;
  background-color: #ffffff;
  color: #5c5e60;
  font-size: 140%;
}
h3.ref {
  margin: 0 0 10px 0;
  padding: 6px 4px 6px 4px;
  border-bottom: 2px solid #5c5e60;
  color: #5c5e60;
  font-size: 140%;
}
/*------------------------------------------------

カラム設定

------------------------------------------------*/
.column {
  margin: 0;
  padding: 0 0 8em 0;
}
.column:last-child {
  padding-bottom: 0;
}
.grid-box {
  position: relative;
  margin-bottom: 8em;
  padding: 0;
  width: 100%;
}
.grid-box:last-child {
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .grid-box.half,
  .grid-box.three,
  .grid-box.sp_three,
  .grid-box.four,
  .grid-box.one-two,
  .grid-box.one-three,
  .grid-box.two-one,
  .grid-box.three-one {
    display: grid;
  }
}
@media (max-width: 640px) {
  .grid-box.half,
  .grid-box.three {
    display: grid;
  }
}
@media (max-width: 640px) {
  .grid-box.sp_no_column {
    display: block !important;
  }
}
.grid-box div.cell {
  position: relative;
  padding-bottom: 1.5em !important;
}
.grid-box.nm {
  margin-bottom: 0em;
}
.grid-box.mb {
  margin-bottom: 6em;
}
.half {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 50px;
}
.three,
.sp_three {
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
}
.four {
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 30px;
}
.one-two {
  grid-template-columns: 2fr 1fr;
  grid-gap: 50px;
}
.one-three {
  grid-template-columns: 3fr 1fr;
  grid-gap: 50px;
}
.two-one {
  grid-template-columns: 1fr 2fr;
  grid-gap: 50px;
}
.three-one {
  grid-template-columns: 1fr 3fr;
  grid-gap: 50px;
}
/*
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

PC向け

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*/
@media all and (min-width: 1000px) {
  .m {
    display: none;
  }
  .p {
    display: block;
  }
}
/*
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

タブレット向け

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*/
@media all and (min-width: 640px) and (max-width: 1000px) {
  img.full {
    width: 100%;
    height: auto;
  }
  img.half {
    width: 50%;
    height: auto;
  }
  img.qut {
    width: 25%;
    height: auto;
  }
  img.thd {
    width: 33%;
    height: auto;
  }
  .m {
    display: block;
  }
  .p {
    display: none;
  }
}
/*
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

スマホ向け

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*/
@media all and (max-width: 640px) {
  img.full {
    width: 100%;
    height: auto;
  }
  img.half {
    width: 50%;
    height: auto;
  }
  img.qut {
    width: 25%;
    height: auto;
  }
  img.thd {
    width: 33%;
    height: auto;
  }
  img.sp_full {
    width: 100%;
    height: auto;
  }
  img.sp_half {
    width: 50%;
    height: auto;
  }
  img.sp_qut {
    width: 25%;
    height: auto;
  }
  img.sp_thd {
    width: 33%;
    height: auto;
  }
  .m {
    display: block;
  }
  .p {
    display: none;
  }
}
/*
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

媒体別設定

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*/
@media (min-width: 640px) {
}
@media all and (min-width: 640px) and (max-width: 1000px) {
}
@media (max-width: 640px) {
}
