@charset "UTF-8";
/* ================================
 *
 * 共通
 *
 * ================================ */
.main_fair .fair_link,
.main_plan .fair_link,
.main_news .fair_link,
.main_gallery .fair_link,
.main_report .fair_link {
  padding-top: 80px; 

  border-top: 1px solid #ccc;
}

/*---------------------------------------------------
 おすすめ吐き出し
---------------------------------------------------*/
.section_rank {
  width: 1000px;
  margin: 0 auto 120px;
}

.section_rank,
.section_rank div,
.section_rank dl,
.section_rank ul {
  opacity: 1.0;
}

.section_rank .tit_box {
  font-size: 14px; 

  width: 648px;
  margin: 0 auto 40px;
  padding: 20px 20px;

  text-align: center;

  border-top: 1px solid #2d2d2d;
  border-bottom: 1px solid #2d2d2d;
}

.section_rank h3 {
  font-size: 28px;
  line-height: 1; 

  letter-spacing: 1px;

  color: #ffe86b;
}

.section_rank .box {
  position: relative; 

  width: 100%;
  height: 160px;

  background: #fff;
}

.section_rank .box:first-child {
  position: relative;

  height: 322px;
  margin-bottom: 40px;

  border: 1px solid #2d2d2d;
}

.section_rank .box:nth-child(2) {
  float: left;

  width: 487px;

  border: solid 1px;
}

.section_rank .box:nth-child(3) {
  float: right;

  width: 487px;

  border: solid 1px;
}

.section_rank .box:nth-child(2) .txt_box,
.section_rank .box:nth-child(3) .txt_box {
  position: relative; 

  float: right;

  width: 240px;
  height: 100%;
}

.section_rank .box a {
  position: relative; 

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 14px;
}

.section_rank .box:first-child a {
  padding: 0;
}

.section_rank .box .ph {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 200px;
  height: 129px;
}

.section_rank .box .ph.new:after {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 600;
  font-style: normal;
  line-height: 41px;

  position: absolute;
  top: 5px;
  left: 5px;

  display: block;

  width: 40px;
  height: 40px;

  content: "NEW";
  text-align: center;
  letter-spacing: 0px;

  color: #fff;
  border-radius: 50%;
  background: #dfc6b9;
}

.section_rank .box:first-child .ph {
  overflow: hidden; 

  width: 500px;
  height: 320px;
}

.section_rank .box .ph img {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 100%;
  width: 100%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.section_rank .box .txt_box {
  position: relative;

  float: right;

  width: calc(100% - 220px);

  text-align: left;
}

.section_rank .box .txt_box:after {
  position: absolute;
  z-index: 99; 
  right: 0px;
  bottom: 0px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #2d2d2d;
}

.section_plan_list .box .txt_box:after {
  position: absolute;
  z-index: 99; 
  right: -7px;
  bottom: -25px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #2d2d2d;
}

.section_rank .box:first-child .txt_box {
  position: absolute;
  top: 50%;
  right: 0;

  width: calc(100% - 500px);
  padding: 30px;

  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.section_rank .box:first-child .txt_box:after {
  display: none;
}

.section_rank .box .title,
.section_plan_list .box .title {
  font-size: 18px;
  line-height: 1.4; 

  overflow: hidden;

  max-height: 72px;
}

.section_rank .box:first-child .title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; 
  max-height: 120px;
  margin-bottom: 20px;
  padding-bottom: 20px;

  border-bottom: 1px dotted #2d2d2d;
}

.section_rank .box:first-child ul.icon {
  margin-bottom: 10px;
}

.section_rank .box:first-child .txt {
  overflow: hidden; 

  max-height: 90px;
}

.main_fair .section_rank .box:first-child .txt {
  max-height: 45px;
}

.section_rank .box:nth-child(2) .txt,
.section_rank .box:nth-child(3) .txt {
  font-size: 13px;

  overflow: hidden;

  height: 60px;
  margin-top: 10px;
}

.section_rank .box .txt_box .btn_more02 {
  display: none;
  float: right;

  margin-top: 40px;
}

.section_rank .box:first-child .txt_box .btn_more02 {
  display: block;
}

.section_rank .box .date {
  font-size: 14px;

  margin-bottom: 10px;

  color: #a2a49e;
}

.main_fair .section_rank .box ul.icon {
  text-align: left;

  color: #fff;
}
.main_fair .section_rank .box ul.icon span {
  display: inline-block; 

  margin-right: 4px;
  margin-bottom: 5px;
  padding: 5px;
}

.section_rank .box:nth-child(2) .title,
.section_rank .box:nth-child(3) .title {
  font-size: 15px;

  overflow: hidden; 

  max-height: 40px;
  margin-top: 8px;
}

.main_fair .section_rank .box:nth-child(2) .txt,
.main_fair .section_rank .box:nth-child(3) .txt {
  display: none;
}

.section_rank .box .txt_box .btn_more02 {
  display: none;
  float: right;

  margin-top: 10px;
}

/*---------------------------------------------------
 カテゴリーアイコン
---------------------------------------------------*/
div.icon {
  overflow: hidden; 

  max-height: 26px;

  text-align: inherit;
}

div.icon li {
  font-size: 11px;
  line-height: 1.1em;

  display: inline-block;

  width: auto;
  margin-right: 3px;
  padding: 3px 10px 4px;

  text-align: center;

  color: #fff;
  background: #ccc;
}

/*  Pager
 *---------------------------------------------------------- */
.pager li.next a:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-left: 5px solid #fff;
}

.pager li.before a:after {
  position: absolute;
  top: 50%;
  left: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-right: 5px solid #fff;
}

.pager {
  position: relative;
  z-index: 1;

  clear: both; 

  text-align: center;
}

.pager li.next,
section .pager li.before {
  position: relative;

  display: inline-block;
  float: none; 

  width: 239px;
  height: 37px;
  margin: 36px 10px;

  text-align: center;
}

.pager li.next a,
section .pager li.before a {
  line-height: 40px;

  display: block; 

  text-decoration: none;

  color: #fff;
  background: #2d2d2d;
}

/* ================================
 *
 * フェア
 *
 * ================================ */
/*---------------------------------------------------
 Fair_index
---------------------------------------------------*/
.main_fair .container {
  width: 100%;
}

.main_fair .bg_grege .section_fair_cal {
  margin-top: 0;
}

.main_fair {
  padding-bottom: 60px;

  border-top: 1px solid #f0f0ee;
}

.fair_list_inner.day {
  overflow: scroll;
  overflow-x: hidden; 

  width: 542px;
  height: 490px;
  padding: 20px;
}

.fair_list_inner li .tit,
.fair_list_inner.day li .tit {
  font-size: 14px;
  line-height: 1;

  float: left;
  overflow: hidden;

  width: 100%; 
  padding: 7px 0;

  white-space: nowrap;
     text-overflow: ellipsis;

  -o-text-overflow: ellipsis;
}

.fair_list_inner li .caption,
.fair_list_inner.day li .caption {
  font-size: 12px;
  line-height: 1.5;

  float: left;
  overflow: hidden;

  width: 100%; 
  height: 38px;
}

.main_fair h3.tit {
  font-size: 18px;

  margin-bottom: 32px; 
  padding: 12px 20px;

  text-align: center;

  border-top: 1px solid #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}

.main_fair h3.tit_category {
  text-align: left;
}

.fair_list {
  width: 1060px;
  margin: 0 auto;
}

.fair_list .box {
  position: relative;

  float: left;

  width: 487px;
  height: 160px;

  border: 1px solid #141414; 
  background: #fff;
}

.fair_list .box {
  float: none; 

  width: 100%;
  height: 322px;
  margin-bottom: 50px;
}

.fair_list .box a {
  position: relative; 

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0;
}

.fair_list .box .ph {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 500px;
  height: 320px;
}

.fair_list .box .ph img {
  /*margin-top: -34px;*/
  position: absolute;
  top: 50%;
  left: 50%;

  width: 100%;
  width: 100%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.fair_list .box .txt_box {
  position: relative;

  float: right;

  width: 462px;
  height: 100%;
  padding-top: 30px;
  padding-right: 30px;

  text-align: left;
}

.fair_list .box .txt_box ul.icon {
  text-align: left;
}

.fair_list .box .title {
  font-size: 18px;
  line-height: 1.4;

  overflow: hidden; 

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-height: 100px;
  padding: 20px 0 10px;

  border-bottom: 1px dotted #2d2d2d;
}

.fair_list .box .txt {
  font-size: 12px;

  overflow: hidden;

  height: 67px;
  padding-top: 12px;
}

.fair_list .box a:hover .txt {
  color: #2d2d2d;
}

.fair_list .box .txt_box .btn_more02 {
  float: right;

  margin-top: 10px;
}

/* calendar
------------------------------------------------- */
.section_fair .fair_all {
  position: relative;
}

.section_fair .fair_all h3.tit {
  font-size: 17px;

  position: relative;

  margin: 0 auto 62px;
  padding: 0;

  text-align: center;

  border: none;
}

.section_fair .fair_inner {
  width: 910px;
  margin: 0 auto 60px;
}

.fair_all > div .flame {
  position: absolute;
  z-index: 999; 
  top: -54px;
  right: -30px;
}

.slick-initialized .slick-slide {
  display: block;
}

.fair_all .calendar_wrapper {
  position: relative;

  float: left;

  width: 535px;
  padding: 40px 30px 25px;

  text-align: center;

  background: #fff;
}
.fair_all .calendar_wrapper > p.month {
  font-size: 70px;
}
.fair_all .calendar_wrapper .catch {
  font-size: 38px;
  line-height: .6;

  margin-top: 30px;
}
.fair_all .calendar_wrapper .fair_txt {
  margin-bottom: 20px;
}
.fair_all .calendar_wrapper .btn_fair {
  width: 203px;
  height: 42px;
  margin: 0 auto;
}
.fair_all .calendar_wrapper .btn_fair a {
  line-height: 39px;

  display: block;

  width: 100%;
  height: 100%;
  padding-left: 0; 

  text-align: center;

  border: 1px solid #2d2d2d;
}
.fair_all .calendar_wrapper .btn_fair a::before {
  left: 10px;
}

.fair_all .slick_month {
  font-size: 70px;

  width: 95px;
  margin: 0 auto 10px; 

  border-bottom: 1px solid #141414;
}

.fair_all .calendar_wrapper .slick-disabled {
  display: none !important;
}

.fair_all .slick_month {
  font-size: 14px;
  font-weight: bold;

  margin: 0 5px 0 0;
}

.fair_all .calendar_wrapper .slick-arrow {
  font-size: 12px;
  font-weight: 600; 

  position: absolute;
  z-index: 2000;
  bottom: 0;

  cursor: pointer;

  border-style: none;
  background: none;
}

.main_fair .fair_all .calendar_wrapper .slick-arrow {
  top: 0px;
}

.fair_all .calendar_wrapper .slick-prev {
  left: 0px;
}

.fair_all .calendar_wrapper .slick-prev::before {
  font-size: 14px;

  display: none; 

  margin-right: 5px;

  content: "<";
}

.fair_all .calendar_wrapper .slick-next {
  right: 0px;
}

.fair_all .calendar_wrapper .slick-next::after {
  font-size: 14px;

  display: none; 

  margin-left: 5px;

  content: ">";
}

.fair_all .calendar {
  outline: none;
}

.fair_all .calendar_wrapper .catch {
  margin-bottom: 10px; 

  text-align: center;
}

.fair_all .calendar .inner {
  font-size: 15px;
  line-height: 50px; 

  display:     grid;
  display: -ms-grid;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;

  text-align: center;

  grid-template-columns: repeat(7, 1fr);
  -ms-grid-columns: repeat(7, 1fr);
}
.fair_all .calendar .inner .month {
  display: none;
}
.fair_all .calendar .inner .slash {
  display: none;
}
.fair_all .calendar .inner div {
  height: 50px; 

  -ms-flex-item-align: center;
  align-self: center;
}
.fair_all .calendar .inner div .past_month,
.fair_all .calendar .inner div .future_month {
  opacity: .2;
}
.fair_all .calendar .inner .sat {
  color: #0d5283;
}
.fair_all .calendar .inner .sun {
  color: #b60000;
}
.fair_all .calendar .inner .event_exist {
  line-height: 40px;
}
.fair_all .calendar .inner .event_exist a {
  display: block; 

  width: 40px;
  height: 40px;
  margin: 0 auto;
  margin: 9px;

  border-radius: 50%;
  background: #f1f0e4;
}
.fair_all .calendar .inner .event_exist.special01 a {
  display: block;

  background: #f1f0e4;
}
.fair_all .calendar .inner .event_exist.special02 a {
  display: block;

  width: 40px;
  height: 40px;
  margin: 0 auto;
  margin: 9px;

  color: #fff; 
  border-radius: 50%;
  background: #ffe86b;
}
.fair_all .calendar .inner .event_exist.special02 a span.day {
  line-height: 38px;
}
.fair_all .calendar .inner .event_exist.special02a::after {
  content: "";
}
.fair_all .calendar .inner .event_exist.special04 a {
  font-size: 11px;

  position: relative;
  bottom: 6px;
  left: -4px;

  display: block;

  width: 50px;
  height: 50px;

  text-align: center;
  letter-spacing: -.06em;

  color: #fff;
  background: url(../img/top/fair_icon02.png) no-repeat top;
  background-size: 50px;
}
.fair_all .calendar .inner .event_exist.special04 a span.day {
  line-height: 38px;
}

.fair_all .calendar .inner .month::before {
  font-size: 16px;

  position: absolute;
  z-index: 99;
  top: 0px;
  left: 50%;

  content: "";
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  text-transform: uppercase; 

  color: #a2a49e;
}

.fair_all .calendar .inner .month .mon1::before {
  content: "January";
}

.fair_all .calendar .inner .month .mon2::before {
  content: "February";
}

.fair_all .calendar .inner .month .mon3::before {
  content: "March";
}

.fair_all .calendar .inner .month .mon4::before {
  content: "April";
}

.fair_all .calendar .inner .month .mon5::before {
  content: "May";
}

.fair_all .calendar .inner .month .mon6::before {
  content: "June";
}

.fair_all .calendar .inner .month .mon7::before {
  content: "July";
}

.fair_all .calendar .inner .month .mon8::before {
  content: "August";
}

.fair_all .calendar .inner .month .mon9::before {
  content: "September";
}

.fair_all .calendar .inner .month .mon10::before {
  content: "October";
}

.fair_all .calendar .inner .month .mon11::before {
  content: "November";
}

.fair_all .calendar .inner .month .mon12::before {
  content: "December";
}

.fair_all .calendar .inner .fair_txt {
  font-size: 13px; 

  margin: 0 0 30px 0;
}

.fair_all .calendar table {
  font-size: 13px;

  width: 100%;
  margin-bottom: 40px; 

  table-layout: fixed;

  letter-spacing: 1px;
}

.fair_all .calendar table th {
  padding: 1px 14px 12px;

  text-align: center;

  border-bottom: 1px solid #151515;
}

.fair_all .calendar table th.sat {
  color: #0d5283;
}

.fair_all .calendar table th.sun {
  color: #b60000;
}

.fair_all .calendar td {
  font-weight: 400;

  width: 37px;
  height: 45px;
  padding: 1px 13px;

  letter-spacing: 2px;

  color: #a2a49e;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.fair_all .calendar table tr:nth-child(2) td {
  padding-top: 10px;
}

.main_fair .fair_all .calendar td {
  height: 54px;
}

.fair_all .calendar td a {
  font-size: 14px;

  padding: 10px; 

  text-decoration: underline;

  color: #151515;
}

.fair_all .calendar .inner table td .premium a,
.fair_all .calendar .inner table td .osusume a {
  display: block; 

  width: 33px;
  height: 33px;
  padding: 10px 8px;

  text-decoration: none;

  color: #fff;
  background: #dfc6b9;
}

.fair_all .calendar .inner table td a:focus {
  text-decoration: none; 

  color: #fff;
  background: #141414;
}

.anc_line {
  margin-top: -50px;
  padding-top: 30px;
}

.main_fair .main_top .section_fair .fair_all {
  margin-bottom: 0px;
}

.section_fair_cal {
  margin-top: 100px; 
  margin-bottom: 0;
}

.section_fair_cal h4 {
  font-size: 34px;
  line-height: 1; 

  text-align: center;
}

.section_fair_cal h4.en02 {
  font-size: 18px;
}

.section_fair_cal .catch {
  font-size: 14px;

  margin-bottom: 24px; 

  text-align: center;
}

.fair_calendar {
  position: relative; 

  margin-top: 80px;
  margin-bottom: 50px;
  padding: 80px 25px 40px;

  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .1);
          box-shadow: 0 0 3px rgba(0, 0, 0, .1);
}

.fair_calendar .frame {
  position: absolute;
  top: -60px;
  left: -30px;

  width: 1063px;
}

.fair h3.tit_h3 {
  margin-bottom: 20px;

  text-align: center;
}

.fair h3.tit_h3 span {
  font-family: "Playfair Display", serif;
  font-size: 23px; 
  font-weight: 400;

  display: block;

  letter-spacing: 1px;
}

.month_title {
  position: relative; 

  width: 100%;
  height: 160px;
  margin: 0 auto 15px;

  text-align: center;
}

.month_title li.btn_back a {
  position: relative;
  z-index: 3; 

  display: block;
  float: left;

  padding-left: 30px;

  background: url(../fair/img/btn_prev.jpg) no-repeat 0 0;
}

.month_title li.btn_next a {
  position: relative;
  z-index: 3; 

  display: block;
  float: right;

  padding-right: 30px;

  background: url(../fair/img/btn_next.jpg) no-repeat right 0;
}

.month_title li.tit_month {
  font-family: "Prata";
  font-size: 65px;
  line-height: 1.0;

  position: relative; 

  letter-spacing: 2px;
}

.tbl_calender {
  width: 100%;

  border-collapse: separate;
}

.tbl_calender th {
  font-family: "a-otf-ryumin-pr6n", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; 
  font-size: 14px;
  line-height: 1;

  width: 144px;
  padding: 12px 0 10px;

  text-align: center;
  letter-spacing: 1px;

  border-top: 1px solid #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}

.tbl_calender th:nth-child(6) {
  color: #0d5fa2;
}

.tbl_calender th:nth-child(7) {
  color: #d6543c;
}

.tbl_calender td {
  width: 144px;
  padding: 10px;

  vertical-align: top; 

  border-top: 8px solid #fff;
  border-right: 8px solid #fff;
  background: #f6f5f3;
}

.tbl_calender td.past {
  width: 144px;
  padding: 0px;

  vertical-align: top; 

  border-top: 8px solid #fff;
  border-right: 8px solid #fff;
  background: #fff;
}

.tbl_calender tr:nth-child(2) td {
  border-top: 20px solid #fff;
}

.tbl_calender td:nth-child(7n) {
  border-right: none;
}

.tbl_calender td p {
  text-align: left; 
  text-decoration: none;
}

.tbl_calender td p a {
  padding-top: 3px; 

  text-decoration: underline;

  color: #666;
}

.tbl_calender td p a:hover {
  color: #d45136;
}

.tbl_calender .day {
  font-family: "a-otf-ryumin-pr6n", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; 

  width: 100%;
  margin-bottom: 5px;
  padding-bottom: 5px;

  text-align: center;

  border-bottom: 1px dotted #ccc;
}

.tbl_calender .ficon span {
  font-size: 12px; 
  line-height: 1.0;

  display: block;

  width: 100%;
  margin-bottom: 2px;
  padding: 3px 0;

  text-align: center;

  color: #fff;
}

.tbl_calender td .cal_box {
  margin-bottom: 10px;
  padding-bottom: 10px;

  border-bottom: 1px dotted #ccc;
}

/* おすすめ吐き出し
------------------------------------------------- */
.special_fair {
  width: 1000px; 
  margin: 0 auto 80px;
  padding-top: 80px;
}
.special_fair .inner {
  margin: 0 auto;
}
.special_fair .sub {
  font-family: "Spinnaker", sans-serif; 
  font-size: 26px;
  line-height: 1;

  margin-bottom: 10px;

  color: #ffe86b;
}
.special_fair .ph {
  float: left;
  overflow: hidden; 

  width: 520px;
  height: 335px;
}
.special_fair .ph img {
  width: 100%;
  height: auto;
}
.special_fair .txt_wrapper {
  float: right;

  width: 448px;
  padding-top: 30px; 

  text-align: left;
}

.special_fair a:hover .txt_wrapper {
  color: #141414 !important;
}

.special_fair .date {
  font-size: 13px;
  line-height: 1; 

  margin-bottom: 10px;
}

.special_fair .tit {
  font-size: 18px;
  line-height: 1.5;

  overflow: hidden;

  max-height: 60px;
  margin-bottom: 15px;
  padding-bottom: 0;

  border-bottom: 1px dotted #d2d2d2;
}

div.icon {
  font-size: 10px; 

  margin-bottom: 10px;

  text-align: left;

  color: #fff;
}
div.icon span {
  display: inline-block;

  margin-right: 2px;
  margin-bottom: 5px;
  padding: 2px 8px;

  color: #ee8026;
  border: solid 1px #ee8026;
  border-radius: 20px;
  background: none !important;
}

.special_fair .ficon {
  margin-bottom: 15px;
}

.special_fair .caption {
  font-size: 13px;
  line-height: 1.6;

  overflow: hidden;

  max-height: 60px;
  margin-bottom: 10px;

  color: #1f1f1f;
}

.special_fair .btn_more::before {
  margin-right: 10px; 

  content: ">";
}

.main_top .fair_list {
  float: right; 

  width: 350px;
  height: 580px;
}
.main_top .fair_list iframe {
  width: 542px;
  height: 524px;

  border-top: 3px solid #2d2d2d;
  border-bottom: 3px solid #2d2d2d;
  border-left: none;
}

.fair_list_day {
  font-size: 14px;
  line-height: 1; 

  height: 40px;
  padding: 14px 30px;

  color: #fff;
  background: #2d2d2d;
}

.fair_list_day02 {
  font-size: 13px;
  line-height: 1; 

  padding: 14px 20px;

  color: #fff;
  background: #141414;
}

.fair_list_inner {
  overflow: scroll;
  overflow-x: hidden; 

  width: 542px;
  height: 484px;
  padding: 20px;

  background: #fff;
}

.fair_list_inner li {
  height: 88px; 
  margin-bottom: 15px;
}

.fair_list_inner li a {
  display: block; 

  width: 100%;
  height: 88px;
}

.fair_list_inner li .date {
  font-size: 12px;
  line-height: 1.2;

  float: left;

  margin-right: 15px; 

  text-align: center;
}

.fair_list_inner li .date .month {
  font-size: 20px;
}

.fair_list_inner li .date .day {
  font-size: 39px;
}

.fair_list_inner li .ph {
  float: left;
  overflow: hidden;

  width: 132px;
  height: 88px;
  margin-right: 14px;
}

.fair_list_inner li img {
  width: 100%;
}

.fair_list_inner li .txt_wrapper {
  float: left; 

  width: 335px;

  text-align: left;
}

.fair_list_inner .txt_wrapper ul.icon {
  width: 90%; 
  margin: 0 0 7px;

  text-align: left;
}
.fair_list_inner .txt_wrapper ul.icon span {
  display: inline-block;

  height: 10px;
}

.fair_list_inner li .caption {
  font-size: 12px;
  line-height: 1.5;

  float: left;
  overflow: hidden;

  width: 100%; 
  height: 55px;
}

/* Fair_detail
---------------------------------------------------*/
.section_fair_main {
  width: 1000px;
  margin: 0 auto 30px; 
  padding: 0 40px;

  background: #fff;
}

.section_fair_main.detail,
.section_fair_main.detail .inner,
.section_fair_main.detail .unit,
.section_fair_main.detail .unit div,
.section_fair_main.detail .unit ul {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; 

  opacity: 1.0;
}

.section_fair_main .info_box {
  text-align: center;
}

.section_fair_main .date {
  font-size: 18px;

  display: inline-block; 

  margin-bottom: 5px;
}

.section_fair_main .title {
  font-size: 22px;

  margin: 10px 0;
}

.section_fair_main .stit {
  font-size: 16px;

  margin-bottom: 20px;
}

.section_fair_main .icons {
  overflow: hidden;

  height: 20px;
  margin-top: 5px;

  text-align: center;

  color: #fff;
}

.section_fair_main .icons span {
  font-size: .85em;
  line-height: 1.1em;

  display: inline-block;
  float: none !important; 

  width: auto !important;
  margin-right: 3px !important;
  padding: 2px 10px 4px;

  text-align: center;

  color: #fff;
}

.section_fair_main .txt {
  font-size: 18px; 

  margin-bottom: 30px;
}

.section_fair_main .section_inner {
  margin-bottom: 36px;
}

.section_fair_main .photo {
  overflow: hidden;

  width: 100%;
  margin-top: 30px;
}

.section_fair_main .photo img {
  width: 100%;
}

.ficon {
  display: inline-block; 

  margin-bottom: 5px;
}

.ficon .special {
  font-size: 13px;
  line-height: 1.1em;

  display: inline;

  margin: 0 3px 2px 0; 
  padding: 2px 10px 3px;

  white-space: nowrap;

  color: #fff;
}

.ficon .special01 {
  background: #c63504;
}

.ficon .special02 {
  background: #c79600;
}

.ficon .special03 {
  background: #c9a389;
}

.ficon .special04 {
  background: #95a977;
}

.ficon .special05 {
  background: #d7a06a;
}

.section_fair_main .data {
  margin-bottom: 24px;
}

.section_fair_main .data table {
  width: 100%;
  margin-bottom: 8px;

  border-collapse: collapse;
}

.section_fair_main .data tbody tr {
  border-bottom: 1px rgba(0, 0, 0, .2) solid;
}

.section_fair_main .data tbody tr:first-child {
  border-top: 1px rgba(0, 0, 0, .2) solid;
}

.section_fair_main .data th,
.section_fair_main .data td {
  font-size: 13px;

  text-align: center;
  vertical-align: middle;
}

.section_fair_main .data th {
  padding: 10px 6px;

  letter-spacing: 1px; 

  color: #fff;
  border-right: 1px solid #333;
  background: #2d2d2d;
}

.section_fair_main .data th:nth-child(1) {
  width: 40%;
}

.section_fair_main .data th:nth-child(2) {
  width: 15%;
}

.section_fair_main .data th:nth-child(3) {
  width: 45%;
}

.section_fair_main .data.date_box {
  margin: 60px 0;
}

.section_fair_main .data.date_box .tit {
  font-size: 18px;
  line-height: 1.0; 

  margin-bottom: 26px;
  padding-bottom: 10px;

  text-align: center;

  border-bottom: 1px solid #1f1f1f;
}

.section_fair_main .data.date_box th {
  width: 30%;
  padding: 10px 6px; 

  color: #373a37;
  border-right: none;
  background: rgba(0, 0, 0, .08);
}

.section_fair_main .data th:nth-child(4) {
  border-right: none;
}

.section_fair_main .data .fairtime {
  text-align: center;
}

.section_fair_main .data td {
  padding: 15px 6px;

  vertical-align: middle;
}

.section_fair_main .data.date_box td {
  padding: 10px 20px; 

  text-align: left;
}

.section_fair_main .data .note {
  width: 35%;
}

.section_fair_main .data .ex dt,
.section_fair_main .data .ex dd {
  font-size: 12px;
  font-weight: normal;

  float: left;
}

.section_fair_main .data .ex dt:after {
  content: ": ";
}

.section_fair_main .data .ex dd {
  margin-right: 2em;
}

.section_fair_main .data .reserve_time a {
  width: 100%;
}

.section_fair_main .data02 th,
.section_fair_main .data02 td {
  font-size: 13px;

  text-align: center;
  vertical-align: middle;
}

.section_fair_main .data02 th {
  font-weight: bold;

  width: 20%;
  padding: 10px 6px;

  letter-spacing: 1px;

  color: #fff;
  border: 1px solid #333; 
  background: #272727;
}

.section_fair_main .data02 td {
  padding: 14px 20px;

  text-align: left;
  word-break: break-all; 

  border: 1px solid #333;
}

.section_fair_main .data02 span {
  display: inline-block; 

  padding-right: 20px;
}

.section_fair_main .txtbox {
  margin-top: 30px;
  margin-bottom: 40px;
}

.section_fair_main .txtbox .caption {
  margin-bottom: 40px; 
  padding-bottom: 40px;

  border-bottom: 1px solid #2d2d2d;
}

.section_fair_main .txtbox .value_box {
  margin-top: 40px; 
  padding: 20px;

  background: #faf6f1;
}

.section_fair_main .txtbox .value_box .tit {
  font-size: 16px;

  margin: 0px 0 15px; 
  padding: 5px 0;

  text-align: center;

  color: #492900 !important;
  border-top: 1px solid #141414;
  border-bottom: 1px solid #141414;
}

.text03 {
  text-align: center;
}

.section_fair_main .txtbox .value_box span {
  padding-left: 3px; 

  color: #ffff6e;
}

.fair_box {
  position: relative; 
  z-index: 999;

  width: 980px;
  margin: 25px auto 0;
}

div.icon_info {
  display: block;

  margin: 0;
}

div.icon_info li {
  display: block;
  float: left;

  margin: 0 0px 3px 0;
}

.section_fair_btns .btn05 a {
  font-size: 1.2em;

  position: relative;

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 520px;
  margin: 0 auto 20px;
  padding: 14px 0 20px;

  text-align: center;
  text-decoration: none;
  letter-spacing: 1px; 

  border-top: 1px solid #141414;
  border-bottom: 1px solid #141414;
}

.section_fair_btns .btn05 a:after {
  position: absolute;
  top: 50%;
  right: 5px;

  display: block;

  width: 0;
  height: 0;
  margin: -3px 0 0 0;

  content: "";

  border: 3px solid transparent;
  border-left: 5px solid #141414;
}

.section_fair_btns span.txt_sub {
  font-size: 14px;
  line-height: 14px; 

  display: block;
}

iframe {
  width: 100% !important;
}

.section_fair_main .form_menu .reserve_time {
  font-size: 16px; 

  margin-bottom: 20px;
  padding: 20px 0;

  text-align: center;

  border-top: 1px dotted #2d2d2d;
  border-bottom: 1px dotted #2d2d2d;
}

.section_fair_main .form_menu .reserve_time .tit_form {
  display: inline-block;

  margin-right: 10px;
}

.section_fair_main .form_menu .reserve_time .select_box {
  display: inline-block;
}

.section_fair_main .form_menu .reserve_time .select_box select {
  height: 40px;
}

.section_fair_main .form_menu .btn_reserve {
  position: relative; 

  width: 500px;
  margin: 0 auto;
}

.section_fair_main .form_menu .btn_reserve::after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 3px solid transparent;
  border-left: 5px solid #141414;
}

.section_fair_main .form_menu .btn_reserve input {
  font-size: 16px;

  width: 100%;
  padding: 18px 0;

  color: #fff;
  border: none;
  border-radius: 0; 
  background: #ffe86b;

  -webkit-appearance: none;
}

.section_fair_main .form_menu .btn_reserve:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #fff;
}

.reserve_time a {
  font-size: 1.2em;
  line-height: 60px; 

  position: relative;

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  height: 60px;
  margin: 0 auto;

  text-align: center;
  text-decoration: none;
  letter-spacing: 1px;

  color: #fff;
  background: #ffe86b;
}

.reserve_time.btn_time a {
  font-size: 1.2em;
  font-weight: 500; 
  line-height: 48px;

  position: relative;

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  height: 48px;
  margin: 0 auto;

  text-align: center;
  text-decoration: none;
  letter-spacing: 1px;

  color: #fff;
  background: #dfc6b9;
}

.reserve_time a:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin: -3px 0 0 0;

  content: "";

  border: 3px solid transparent;
  border-left: 5px solid #fff;
}

.section_plan_main.fair {
  padding: 0px;

  border-style: none; 
  background: none;
}

.main_fair .section_plan_main .btn {
  vertical-align: bottom;
}
.main_fair .section_plan_main .btn .btn a {
  font-size: 15px;
}
.main_fair .section_plan_main .btn .btn a span {
  font-size: 14px; 

  display: block;
}

.main_fair .section_plan_main .btn_plan .btn a {
  padding: 24px 0 23px;
}

.section_plan_main .unit .ph img {
  width: 100%;
  margin-top: -200px;
}

/* ================================
 *
 * プラン
 *
 * ================================ */
/*---------------------------------------------------
 plan_index
---------------------------------------------------*/
.main_plan .article_h2 h2 span,
.main_report .article_h2 h2 span,
.main_gallery .article_h2 h2 span {
  font-size: 50px; 

  display: block;
}

.main_plan {
  width: 1000px;
  margin-right: auto; 
  margin-left: auto;
  padding: 0px 0 60px;

  border-top: 1px solid #f0f0ee;
}

.main_plan.fair {
  padding: 0;

  border-top: none;
}

/*-------------------------------------------
section_plan_list
-------------------------------------------*/
.section_plan_list {
  margin: 0 auto;
}
.section_plan_list h4 {
  font-size: 29px;
  line-height: 1.2;

  width: 254px;
  margin: -17px auto 0; 

  text-align: center;
  letter-spacing: 2px;

  background: #fff;
}
.section_plan_list .catch {
  font-size: 14px;

  margin-bottom: 24px; 

  text-align: center;
}
.section_plan_list .box {
  float: left; 

  width: 500px;
  margin-bottom: 22px;
}

.section_plan_list .box a {
  position: relative; 

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 14px;
}

.section_plan_list .box .ph {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 200px;
  height: 129px;
}
.section_plan_list .box .ph img {
  position: absolute;
  top: 50%;
  left: 50%; 

  width: 100%;
  max-width: 150%;
  max-height: 150%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.section_plan_list .box .txt_box {
  position: relative;

  float: right;

  width: calc(100% - 220px);

  text-align: left;
}

.section_rank .box .txt_box:after {
  position: absolute;
  z-index: 99; 
  right: 0px;
  bottom: 0px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #2d2d2d;
}

.section_plan_list .box ul.icon {
  margin-bottom: 10px;
}

.section_plan_list .box {
  float: left;

  width: 470px;
  margin-right: 10px;
  margin-bottom: 22px;
  margin-left: 10px; 
  padding: 0 0 10px;

  border: solid 1px #ccc;
}
.section_plan_list .box:nth-child(2n) {
  margin-right: 0;
}
.section_plan_list .box .title {
  font-size: 16px;
  line-height: 1.4;

  overflow: hidden;

  max-height: 40px;
  margin-bottom: 5px;
}
.section_plan_list .box .txt {
  font-size: 13px;

  overflow: hidden;

  height: 40px;
}

/*---------------------------------------------------

 Plan_detail

---------------------------------------------------*/
/*-------------------------------------------
section_plan_main
-------------------------------------------*/
.section_plan_main {
  width: 100%;
  margin-bottom: 30px; 
  padding: 0 40px;

  background: #fff;
}

.section_plan_main .unit {
  margin-bottom: 65px;
  padding: 0 38px 38px;

  text-align: center;
}

.section_plan_main .ph {
  position: relative; 

  width: 100%;
  margin-bottom: 30px;
}

.section_plan_main .ph img {
  width: 100%;
}

.section_plan_main .unit .tit {
  font-size: 22px;
  line-height: 1.4;

  margin-bottom: 20px;

  text-align: center;
}

.section_plan_main .icons {
  overflow: hidden;

  height: 20px;
  margin-bottom: 20px;

  text-align: center;
}

.section_plan_main .icons li {
  font-size: .85em;
  line-height: 1.1em;

  display: inline-block;
  float: none !important;

  width: auto !important;
  margin-right: 3px !important;
  padding: 2px 10px 4px;

  text-align: center;

  color: #fff;
}

.section_plan_main .unit .stit {
  font-size: 18px;

  margin-bottom: 20px;

  text-align: center; 

  color: #1f1f1f;
}

.section_plan_main .unit .caption {
  font-size: 16px;
  line-height: 1.6;

  margin-top: 30px;
  margin-bottom: 30px;

  text-align: center;
}

.section_plan_main .unit .tbl_plan {
  margin: 0 auto 30px; 

  border-collapse: collapse;
}

.section_plan_main .unit .tbl_plan dt {
  display: inline-block;

  padding: 3px 30px;

  text-align: center;
  vertical-align: top; 

  color: #fff;
  background: #1f1f1f;
}

.section_plan_main .unit .tbl_plan dd {
  display: inline-block;

  max-width: 33%;
  margin-left: 15px;
  padding-right: 30px;

  text-align: left;
  vertical-align: top;
}

.section_plan_main .unit .tbl_plan dd:last-child {
  padding-right: 0;
}

.section_plan_main .unit .price {
  font-size: 26px;

  margin-bottom: 30px; 
  padding: 15px 0;

  text-align: center;

  border-top: 1px solid #2d2d2d;
  border-bottom: 1px solid #2d2d2d;
}

.section_plan_main .unit .price span {
  font-size: 13px; 

  display: block;
}

.section_plan_main .unit .txt {
  margin-bottom: 30px;
}

.section_plan_main .unit .txt img {
  margin: 10px 0;
}

.section_plan_main .unit .value_box {
  margin-bottom: 50px;
  padding: 20px 24px; 

  background: #f4ece4;
}

.section_plan_main .unit .value_box .tit {
  font-size: 16px;

  margin: 0px 0 15px; 
  padding: 5px 0;

  text-align: center;

  color: #492900 !important;
  border-top: 1px solid #141414;
  border-bottom: 1px solid #141414;
}

.section_plan_main .unit .value_box .text03 {
  font-size: 1.1em;
  font-weight: normal;
  line-height: 1.6;

  margin-bottom: .6em;

  text-align: center; 

  color: #111;
}

.section_plan_main .unit .value_box span {
  padding-left: 3px; 

  color: #ffff6e;
}

.section_plan_main .btn_plan {
  margin-top: 60px; 

  text-align: center;
}

.section_plan_main.fair .btn_plan {
  margin-top: 30px;
}

.section_plan_main .btn_plan .btn {
  display: inline-block;

  width: 350px;
  height: 65px;
  margin: 0 10px;
}
.section_plan_main .btn_plan .btn a {
  font-size: 14px; 
  line-height: 1.4;

  display: block;

  width: 100%;
  padding: 13px 0;

  color: #fff;
  background: #ffe86b;
}
.section_plan_main .btn_plan .btn a:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin: -3px 0 0 0;

  content: "";

  border: 3px solid transparent;
  border-left: 5px solid #fff;
}

.section_plan_main .btn a span {
  font-size: 12px; 

  display: block;
}

.section_plan_main .btn a:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin: -3px 0 0 0;

  content: "";

  border: 3px solid transparent;
  border-left: 5px solid #141414;
}

.section_plan_main .btn_plan .btn:nth-child(2) a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  color: #141414; 
  border-top: 1px solid #141414;
  border-bottom: 1px solid #141414;
  background: #fff;
}
.section_plan_main .btn_plan .btn:nth-child(2) a:after {
  content: "";

  border-left: 5px solid #141414;
}

.section_plan_main .txtbox .tit {
  font-size: 22px;

  margin-bottom: 20px;
  padding-bottom: 18px;

  text-align: center;

  border-bottom: 1px solid #2d2d2d;
}

.section_plan_main .data {
  margin-bottom: 65px;
}

.section_plan_main .data table {
  width: 100%;
  margin-bottom: 8px;

  border-collapse: collapse;
}

.section_plan_main .data tbody tr {
  border-bottom: 1px rgba(0, 0, 0, .2) solid;
}

.section_plan_main .data tbody tr:first-child {
  border-top: 1px rgba(0, 0, 0, .08) solid;
}

.section_plan_main .data th,
.section_plan_main .data td {
  font-size: 13px;

  text-align: center;
  vertical-align: middle;
}

.section_plan_main .data th {
  padding: 10px 6px;

  letter-spacing: 1px; 

  background: rgba(0, 0, 0, .1);
}

.section_plan_main .data th:nth-child(1) {
  width: 30%;

  border-right: 1px solid #fff;
}

.section_plan_main .data th:nth-child(2) {
  width: 70%;
}

.section_plan_main .data td {
  padding: 10px 6px;

  vertical-align: middle;
}

.section_plan_main .data td.data {
  padding: 13px 20px;

  text-align: left;
}

.section_plan_main .data .note {
  width: 35%;
}

.section_plan_main .data .ex dt,
.section_plan_main .data .ex dd {
  font-size: 12px;
  font-weight: normal;

  float: left;
}

.section_plan_main .data .ex dt:after {
  content: ": ";
}

.section_plan_main .data .ex dd {
  margin-right: 2em;
}

/* section_other
---------------------------------------------------*/
.main_plan .section_other {
  position: relative;

  width: 840px;
  margin: 50px auto 30px;
  padding: 0 !important;

  text-align: center;

  background: #fff !important;
}

.main_plan.fair .section_other {
  width: 1000px;
  margin: 0 auto;
  padding: 0 !important;

  text-align: left;

  background: #fff !important;
}

.main_plan .section_other .unit {
  position: relative;

  display: inline-block;

  width: 390px;
  margin: 0 10px;

  text-align: left;

  border: solid 1px #ccc;
}
.main_plan .section_other .unit.out_of_range {
  display: none;
}

.main_plan.fair .section_other .unit {
  width: 472px;
  margin-bottom: 20px;

  border: solid 1px #ccc;
}

.main_plan .section_other .unit a {
  display: block;

  padding: 12px;

  background: #fff;
}

.main_plan .section_other .unit::after {
  position: absolute;
  z-index: 99; 
  right: 7px;
  bottom: 15px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #2d2d2d;
}

.main_plan .section_other .unit .ph {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 148px;
  height: 96px;
  margin-right: 12px;
}

.main_plan.fair .section_other .unit .ph {
  position: relative; 

  width: 200px;
  height: 132px;
}

.main_plan .section_other .unit .ph img {
  position: absolute;
  top: 50%;
  left: 50%; 

  width: 100%;
  max-width: 150%;
  max-height: 150%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.main_plan .section_other .unit .box {
  float: left;

  width: 192px;
  padding-top: 5px;
}

.main_plan.fair .section_other .unit .box {
  width: 232px;
}

.main_plan .section_other.plan .unit .box {
  padding-top: 0px;
}

.main_plan .section_other .unit .box .tit {
  font-size: 15px; 

  margin-bottom: 5px;
}

.main_plan.fair .section_other .unit .box .tit {
  overflow: hidden;

  max-height: 74px;
}

.main_plan.fair .section_other .unit .box .icon {
  display: inline-block;
  overflow: hidden;

  max-height: 23px;
  margin-bottom: 0;
  padding: 2px;

  color: #fff;
}
.main_plan.fair .section_other .unit .box .icon span {
  display: inline-block;

  margin-bottom: 3px;
  padding: 0 5px;
}

.main_plan .section_other.plan .unit .box .tit {
  overflow: hidden; 

  height: 48px;
}

.main_plan .section_other .unit .box .catch {
  overflow: hidden; 

  height: 28px;
}

.main_plan .section_other .unit .box .price {
  overflow: hidden; 

  height: 42px;
}

.main_plan .section_other .btn_prev {
  position: absolute;
  top: 50px;
  left: -30px;
}

.main_plan .section_other .btn_next {
  position: absolute;
  top: 50px;
  right: -30px;
}

/* ================================
 *
 * レポート
 *
 * ================================ */
/*---------------------------------------------------
 Report_index
---------------------------------------------------*/
.main_report {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 60px;

  border-top: 1px solid #f0f0ee;
}
.main_report h2 {
  margin-bottom: 20px;
}
.main_report .section_report_article {
  background: #aa9bc2;
}
.main_report .section_report_article .inner {
  padding: 40px;
}
.main_report .section_report_article .inner .main_box {
  width: 939px;
  margin: 0 auto;
  padding: 19px 0 19px 19px;

  background: #fff;
  -webkit-box-shadow: .5px .866px 5px 0 rgba(0, 0, 0, .1);
          box-shadow: .5px .866px 5px 0 rgba(0, 0, 0, .1);
}
.main_report .section_report_article .inner .main_box .photo01.main {
  display: inline-block;

  width: 460px;
  margin-right: 20px;
  margin-bottom: 0; 

  vertical-align: middle;
}
.main_report .section_report_article .inner .main_box .txt_box {
  display: inline-block; 

  width: 410px;

  vertical-align: middle;
}
.main_report .section_report_article .inner .main_block {
  width: 900px;
  margin: 50px auto;
  padding-top: 50px; 

  border-top: dotted 1px #ccc;
}
.main_report .section_report_article .inner .main_block .unit .unit_image {
  float: left;

  min-width: 450px;
  margin-bottom: 0; 
  padding: 0;

  vertical-align: middle;
}
.main_report .section_report_article .inner .main_block .unit .unit_image .photo01 {
  display: inline-block;
  overflow: hidden;

  width: 450px;
  max-height: 400px;
  margin-right: 20px; 
  padding: 0;

  vertical-align: middle;
}
.main_report .section_report_article .inner .main_block .unit .unit_image .photo01 img {
  width: 100%;
}
.main_report .section_report_article .inner .main_block .unit .unit_text {
  display: inline-block;
  float: left;

  width: 430px;
  padding: 0 20px; 

  vertical-align: middle;
}
.main_report .section_report_article .inner .main_block .unit .unit_text .unit_faq dt {
  font-size: 22px;
}
.main_report .section_report_article .inner .main_block .unit .unit_text .unit_faq dt::before {
  content: "|";
}
.main_report .section_report_article .inner .photo02 {
  display: block;

  width: 890px;
  margin-right: 20px;

  vertical-align: middle;
}
.main_report .section_report_article .inner .photo02 ul {
  width: 890px; 

  vertical-align: middle;
}
.main_report .section_report_article .inner .photo02 ul li {
  display: inline-block;
  display: inline-block; 
  float: inherit;
  overflow: hidden;

  width: 434px;
  margin-bottom: 20px;
}
.main_report .section_report_article .inner .gallery ul {
  width: 900px;
  margin: 0 auto;
}
.main_report .section_report_article .inner .gallery ul li {
  display: inline-block;
  overflow: hidden;

  width: 297px;
  height: 230px;
}
.main_report .section_report_article .inner .gallery ul li img {
  width: 100%;
}
.main_report .section_report_article .inner .planner_message {
  padding: 50px; 

  background: #f2f1ed;
}
.main_report .section_report_article .inner .planner_message .tit {
  font-size: 25px;

  border-bottom: dotted 1px #ccc;
}
.main_report .section_report_article .inner .planner_message .txt {
  text-align: left;
}

.section_report_list {
  width: 1000px;
  margin: 0 auto;
}

.section_report_list .report li.box {
  position: relative;

  float: left;

  width: 316px;
  height: 204px;
  margin-right: 22px;
  margin-bottom: 22px;

  text-align: center;

  background: rgba(156, 153, 143, .5);
}

.section_report_list .report li.box:nth-child(3n) {
  margin-right: 0;
}

.section_report_list .report li.box a {
  display: block;
}
.section_report_list .report li.box a .icon {
  display: inline-block;

  margin-bottom: 5px; 
  padding: 0 10px;

  color: #fff;
}

.section_report_list .report li.box a .txt_wrapper {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0;

  width: 316px;
  height: 204px;
  padding-top: 60px;

  -webkit-transition: all .3s ease 0s;
       -o-transition: all .3s ease 0s;
          transition: all .3s ease 0s;

  opacity: 0; 
  color: #141414;
}

.section_report_list .report li.box a:hover,
.section_report_list .report li.box a:hover .txt_wrapper {
  opacity: 1;
}

.section_report_list .report li.box .ph {
  position: relative; 

  overflow: hidden;

  width: 316px;
  height: 204px;
  margin-bottom: 10px;
}

.section_report_list .report li.box .ph::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  content: "";

  opacity: 0; 
  background: rgba(255, 255, 255, .4);
}

.section_report_list .report li.box:hover .ph::after {
  opacity: 1;
}

.section_report_list .report li.box .ph img {
  position: absolute;
  top: 50%;
  left: 50%; 

  width: 100%;
  max-width: 150%;
  max-height: 150%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.section_report_list .report li.box:hover .ph img {
  position: absolute;
  top: 50%;
  left: 50%; 

  -webkit-filter: blur(5px) opacity(.3);
     -moz-filter: blur(5px) opacity(.3);
       -o-filter: blur(5px) opacity(.3);
      -ms-filter: blur(5px) opacity(.3);
          filter: blur(5px) opacity(.3);
}

.section_report_list .report li.box .tit {
  font-family: "a-otf-ryumin-pr6n", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 15px;

  overflow: hidden;

  margin-bottom: 27px; 

  white-space: nowrap;
     text-overflow: ellipsis;

  -o-text-overflow: ellipsis;
}

.section_report_list .report ul.icon li {
  font-size: 11px;
  line-height: 1.1em;

  display: inline-block;

  width: auto;
  margin-right: 3px;
  padding: 3px 10px 4px;

  text-align: center;

  color: #fff;
  background: #ccc;
}

.section_report_list .report li.box .date {
  position: relative;

  margin-bottom: 10px;
}

.section_report_list .report li.box a:hover .date {
  color: #2d2d2d;
}

.section_report_list .report li.box .date:after {
  position: absolute;
  top: -14px;
  left: 50%;

  width: 150px;
  height: 1px;
  margin-left: -75px; 

  content: "";

  background: #2d2d2d;
}

/*---------------------------------------------------

 Report_detail

---------------------------------------------------*/
.section_report_article {
  width: 100%;
  margin-bottom: 70px; 
  padding-top: 20px;
}

.section_report_article.detail .photo01.main {
  margin-bottom: 40px;
}

.report_data {
  text-align: center;
}

.report_data .report_date {
  margin-bottom: 10px;
}

.report_data .icon li {
  display: inline-block;
}

.tbl_report {
  margin: 0 auto 10px; 

  border-collapse: collapse;
}

.tbl_report dt {
  display: inline-block;

  padding: 3px 30px;

  text-align: center;
  vertical-align: top; 

  color: #141414;
  background: #eedcd3;
}

.tbl_report dt.empty {
  display: none;
}

.tbl_report dd {
  font-size: 14px; 

  display: inline-block;

  max-width: 33%;
  margin-left: 15px;
  padding-right: 30px;

  text-align: left;
}

.tbl_report dd:last-child {
  padding-right: 0;
}

.report_tit {
  font-size: 18px;

  margin-bottom: 30px; 

  text-align: center;
}

.report_name {
  font-size: 20px; 

  text-align: center;
}

.report_people {
  font-size: 13px;

  margin-top: 20px;
  margin-bottom: 20px; 

  text-align: center;
}

.report_people p {
  display: inline-block;

  margin-bottom: 0 !important;
  padding: 0 10px;
}

.section_report_article .main_block {
  width: 750px;
  margin: 40px auto;
}

.section_report_article p,
.section_report_article .photo01,
.section_report_article .photo02 {
  margin-bottom: 20px;
}

.section_report_article p {
  font-size: 15px;
  line-height: 2;

  text-align: center;
}

.section_report_article .photo01 img {
  display: block;

  width: 100%;
}

.section_report_article .photo02 {
  *zoom: 1;
}

.section_report_article .photo02:after {
  font-size: 0;

  display: block;
  visibility: hidden;
  clear: both;

  height: 0;

  content: " ";
}

.section_report_article .unit_faq {
  margin-bottom: 50px;
}

.section_report_article .unit_faq dt,
.section_report_article .unit_faq dd {
  font-size: 14px;
  line-height: 2em;
}

.section_report_article .unit_faq dt {
  font-size: 15px; 
  font-weight: bold;
}

.section_report_article .unit_faq dd:last-child {
  margin-bottom: 0;
}

.section_report_article .unit_data table {
  width: 100%;

  border-collapse: collapse;

  border-top: 1px #ccc solid;
}

.section_report_article .unit_data tr {
  border-bottom: 1px #ccc solid;
}

.section_report_article .unit_data td {
  font-size: 13px;

  padding: 16px 0;
}

.section_report_article .unit_data th {
  font-size: 13px; 
  font-weight: bold;

  width: 240px;
  padding: 16px;

  text-align: left;

  background: #f7f2ee;
}

.section_report_article .unit_data td {
  padding: 16px 32px;
}

.section_report_article.new {
  position: relative;
}

.section_report_btn ul {
  width: 652px;
  margin: 0 auto;
}

.section_report_btn li {
  line-height: 0;

  float: left;

  margin-right: 4px;
}

.section_report_btn li:last-child {
  margin-right: 0;
}

/* other_report
---------------------------------------------------*/
.main_report .other_report {
  position: relative; 

  width: 840px;
  margin: 50px auto 30px;

  text-align: left;
}

.main_report .other_report .unit {
  position: relative; 

  display: inline-block;

  width: 390px;
  margin: 0 10px 10px;

  text-align: left;
}
.main_report .other_report .unit.out_of_range {
  display: none;
}

.main_report .other_report .unit a {
  display: block;

  padding: 12px;

  border: 1px solid #141414;
}

.main_report .other_report .unit::after {
  position: absolute;
  z-index: 99; 
  right: 7px;
  bottom: 7px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms;

  border: 3px solid transparent;
  border-left: 5px solid #2d2d2d;
}

.main_report .other_report .unit .ph {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 148px;
  height: 96px;
  margin-right: 12px;
}

.main_report .other_report .unit .ph img {
  position: absolute;
  top: 50%;
  left: 50%; 

  width: 100%;
  max-width: 150%;
  max-height: 150%;

  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.main_report .other_report .unit .box {
  float: left; 

  width: 192px;
}

.main_report .other_report .unit .box .tit {
  font-size: 14px;

  overflow: hidden;

  max-height: 47px;
  margin-bottom: 5px;
}

.main_report .other_report .unit .box .catch {
  overflow: hidden; 

  height: 28px;
}

.main_report .other_report .unit .box .icon {
  overflow: hidden;

  max-height: 40px;

  text-align: left;
  text-align: left;

  color: #fff;
}
.main_report .other_report .unit .box .icon span {
  padding: 0 3px;
}

/* ================================
 *
 * ギャラリー
 *
 * ================================ */
.main_gallery {
  width: 1000px;
  margin: 0 auto;
}
.main_gallery ul.gallery {
  -webkit-transition: none;
       -o-transition: none;
          transition: none; 

  opacity: 1.0;
}
.main_gallery ul.gallery li {
  position: relative; 

  float: left;
  overflow: hidden;

  width: 239px;
  height: 232px;
  margin: 0 14px 14px 0;
}
.main_gallery ul.gallery li:nth-child(4n) {
  margin: 0 0 14px 0;
}
.main_gallery ul.gallery li img {
  width: 100%;
}

.main_gallery p.btn_open {
  font-size: 16px;

  position: relative; 

  width: 120px;
  height: 120px;
  margin: 35px auto 20px;
  padding-top: 60px;

  text-align: center;

  border: 1px solid #242424;
  border-radius: 50%;
}

.main_gallery p.btn_open::after {
  position: absolute;
  top: 30px;
  left: 50%;

  display: block;

  width: 30px;
  height: 37px;
  margin-left: -15px; 

  content: "";

  background: url(../gallery/img/ico_more.png) no-repeat;
  background-size: 30px auto;
}

.main_gallery p.btn_open:hover {
  cursor: pointer;

  opacity: .8;
}

.main_gallery .area_more {
  display: none;
}

.main_gallery .btn_more {
  line-height: 40px;

  position: relative;

  display: block;

  width: 300px;
  height: 40px;
  margin: 0px auto 20px; 

  cursor: pointer;
  text-align: center;
  text-decoration: none;

  color: #fff;
  background: #1f1f1f;
}

.main_gallery .btn_open.open {
  display: none;
}

.main_gallery .btn_more.open:after {
  margin-top: -7px; 

  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}

.main_gallery .btn_open .label_open {
  display: inline;
}

.main_gallery .btn_open.open .label_open {
  display: none;
}

.main_gallery .btn_open .label_close {
  display: none;
}

.main_gallery .btn_open.open .label_close {
  display: inline;
}

.main_gallery .comment {
  font-size: 30px;

  text-align: center;
}

.main_gallery .btn_open.hidden,
.comment.hidden {
  display: none;
}

/* ================================
 *
 * 新着・ブログ
 *
 * ================================ */
/* index
--------------------------------------------------*/
.main_news {
  width: 1000px;
  margin-right: auto; 
  margin-left: auto;

  border-top: 1px solid #f0f0ee;
}
.main_news .article_h2 h2 {
  color: #bababa;
}
.main_news .article_h2 h2 span {
  font-size: 30px;

  display: block;

  color: #333;
}

.main_news h3.tit {
  font-size: 18px;

  margin-bottom: 32px;
  padding: 12px 20px;

  text-align: center;
  letter-spacing: 1.0px; 

  border-top: 1px solid #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}

.main_news h3.tit_category {
  opacity: 1.0;
}

.section_last {
  margin-bottom: 50px;

  -webkit-transition: none;
       -o-transition: none;
          transition: none; 

  opacity: 1.0;
}

.section_last div,
.section_last dl,
.section_last ul {
  -webkit-transition: none;
       -o-transition: none;
          transition: none; 

  opacity: 1.0;
}

.section_last .category_list {
  font-size: 14px;

  margin-bottom: 30px; 
  padding: 20px 20px;

  text-align: left;

  border-top: 1px solid #2d2d2d;
  border-bottom: 1px solid #2d2d2d;
}

.section_last .category_list li {
  display: inline-block;
}

.section_last .category_list li::after {
  content: "・";
}

.section_last .category_list li:last-child::after {
  content: "";
}

.section_last .category_list li a {
  padding: 0 7px;
}

.section_last .box_l .box {
  width: 620px;
}

.section_last .box_l .box .ph {
  position: relative; 

  overflow: hidden;

  width: 620px;
  height: 408px;
  margin-bottom: 10px;
}

.section_last .box .ph.new {
  position: relative;
}

.section_last .box .ph.new:after {
  position: absolute;
  top: 0;
  left: 0; 

  display: block;

  width: 59px;
  height: 59px;

  content: "";

  background: url(../news/img/icon_new.png) no-repeat;
}

.section_last .box_l .box .ph img {
  width: 100%;
}

.section_last .box_l .box .tit {
  font-size: 14px;

  overflow: hidden;

  white-space: nowrap; 
     text-overflow: ellipsis;

  -o-text-overflow: ellipsis;
}

.section_last .box .date {
  font-size: 14px;

  color: #a1827d;
}

.section_last .box a:hover .date {
  color: #a1827d;
}

.section_last .box_r {
  width: 372px;
}

.section_last .box_r .box {
  float: left;

  width: 182px;
  margin-bottom: 16px;
}

.section_last .box_r .box:nth-child(2n) {
  float: right;
}

.section_last .box_r .ph {
  overflow: hidden; 

  width: 182px;
  height: 119px;
}

.section_last .box_r .ph img {
  width: 100%;
}

.section_last .box_r .box .tit {
  font-size: 14px;
  line-height: 1.4; 

  overflow: hidden;

  height: 64px;
}

.next_btn {
  clear: both;
}

.next_btn p a {
  line-height: 40px;

  position: relative;

  display: block;

  width: 300px;
  height: 40px;
  margin: 0 auto; 

  text-align: center;
  text-decoration: none;

  color: #fff;
  background: #1f1f1f;
}

.next_btn p a:hover,
li.next a:hover,
li.before a:hover {
  background: #e08268;
}

.main_news .pager li.next a:after {
  position: absolute;
  top: 50%;
  right: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-left: 5px solid #fff;
}

.main_news .pager li.before a:after {
  position: absolute;
  top: 50%;
  left: 10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -4px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-right: 5px solid #fff;
}

.main_news .pager {
  position: relative;
  z-index: 1;

  clear: both; 

  text-align: center;
}

.main_news .pager li.next,
.main_news .pager li.before {
  position: relative;

  display: inline-block;

  width: 239px;
  height: 37px;
  margin-top: 36px; 

  text-align: center;
}

.main_news .pager li.next a,
.main_news .pager li.before a {
  line-height: 40px;

  display: block; 

  text-decoration: none;

  color: #fff;
  background: #2d2d2d;
}

/* news_box
--------------------------------------------------*/
.short .section .box {
  position: relative;
  z-index: 999; 

  display: block;
  float: left;

  width: 372px;
  height: 126px;
  margin: 0 31px 31px 0;

  cursor: pointer;
}

.short .section .box a {
  display: block; 

  width: 100%;
}

.short .section .box:nth-of-type(2n) {
  margin: 0 0 31px 0;
}

.short .section .box .ph {
  position: relative;

  float: left; 
  overflow: hidden;

  width: 190px;
  height: 126px;
}

.short .section .box .txt_box {
  float: right; 

  width: calc(100% - 200px);
}

.short .section .box .ph.new {
  position: relative;
}

.short .section .box .ph.new:after {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 600;
  font-style: normal;
  line-height: 41px;

  position: absolute;
  top: 5px;
  left: 5px;

  display: block;

  width: 40px;
  height: 40px;

  content: "NEW";
  text-align: center;
  letter-spacing: 0px;

  color: #fff;
  border-radius: 50%;
  background: #dfc6b9;
}

.short .section .box .ph img {
  width: 100%;
}

.short .section .box .tit {
  font-size: 15px;
  line-height: 1.4;

  overflow: hidden; 

  height: 45px;
  margin-top: 8px;
  margin-bottom: 5px;
}

.short .section .box .date {
  font-size: 14px;

  letter-spacing: 1px; 

  color: #a2a49e;
}

.short .section .box a:hover .date {
  color: #a2a49e;
}

/* side
--------------------------------------------------*/
.side_tit {
  width: 100%; 
  padding: 7px 0;

  text-align: center;

  color: #fff;
  background: #9dc8e1;
}

.archive {
  margin-bottom: 30px;
}

.archive a {
  text-decoration: none;
}

.archive .nextback {
  position: relative;

  height: 34px;
  padding: 0;

  text-align: center;

  background: #f6f6f5;
}

.archive .nextback .back,
.archive .nextback .next {
  width: 30%;
}

.archive .nextback .back {
  float: left;
}

.archive .nextback .next {
  float: right;
}

.archive .nextback .back a,
.archive .nextback .next a {
  line-height: 34px;

  position: relative;

  display: block;

  width: 100%;
  height: 34px;
  padding: 0;

  letter-spacing: 1.0px; 

  color: #2d2d2d;
}

.archive .nextback .back a {
  padding-left: 10px;
}

.archive .nextback .next a {
  padding-right: 10px;
}

.archive .nextback .back a:hover,
.archive .nextback .next a:hover {
  text-decoration: none; 

  color: #e77b5e;
}

.archive .nextback .back a span,
.archive .nextback .next a span {
  font-size: 12px; 
  font-weight: 400;

  position: relative;

  display: block;
}

.archive .nextback .back a span:before {
  position: absolute;
  top: 50%;
  left: -10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-right: 5px solid #1f1f1f;
}

.archive .nextback .next a span:after {
  position: absolute;
  top: 50%;
  right: -10px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -3px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-left: 5px solid #1f1f1f;
}

.archive .nextback p.yearbox {
  font-size: 16px;
  font-weight: 400;
  line-height: 36px;

  position: absolute;
  top: 0;
  left: 50%;

  width: 50%;
  height: 34px;
  margin-left: -25%;

  text-align: center;
  letter-spacing: 1px;
}

.archive ul li a {
  position: relative;

  display: block;

  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 9px 15px 8px 15px;

  text-align: left; 

  color: #333;
  border-bottom: 1px dotted #888;
}

.archive ul li a:before {
  position: absolute;
  top: 50%;
  left: 5px;

  display: block;

  width: 0;
  height: 0;
  margin-top: -5px;

  content: "";
  -webkit-transition-duration: 200ms;
       -o-transition-duration: 200ms;
          transition-duration: 200ms; 

  border: 4px solid transparent;
  border-left: 5px solid #1f1f1f;
}

.archive ul li a:hover {
  color: #e77b5e;
}

/* section_detail
--------------------------------------------------*/
.section_detail {
  margin-bottom: 80px;
}

.section_detail .inner {
  width: 100%;
  margin-bottom: 30px; 
  padding: 0;

  background: #fff;
}

.section_detail .inner.detail {
  width: 100%;
  margin-bottom: 0; 
  padding: 0;

  background: #fff;
}

.section_detail .inner.detail,
.section_detail .inner.detail div,
.section_detail .inner.detail ul {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; 

  opacity: 1.0;
}

.section_detail .unit {
  margin-bottom: 20px;
}

.section_detail .unit .ph {
  position: relative;

  float: left; 
  overflow: hidden;

  width: 500px;
  height: 295px;
}

.section_detail .unit .ph img {
  width: 100%;
}

.section_detail .unit .ph.new::after {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 61px;

  position: absolute;
  top: 5px;
  left: 5px;

  display: block;

  width: 60px;
  height: 60px;

  content: "NEW";
  text-align: center;
  letter-spacing: 1px;

  color: #fff;
  border-radius: 50%;
  background: #dfc6b9;
}

.section_detail .unit .txtbox {
  float: right;

  width: 555px;
  padding-top: 45px;
  padding-right: 45px;
}

.section_detail .cnt_box {
  font-size: 15px; 

  padding: 50px;
}

.section_detail .unit .icon {
  margin-bottom: 6px;
}

.section_detail .unit .tit {
  font-size: 18px;
  line-height: 1.6;
}

.section_detail .unit .date {
  font-size: 16px;

  margin-bottom: 10px;

  color: #a2a49e;
}

/* ================================
 *
 * システム吐き出し用CSS
 *
 * システムから出力されるテキスト全体を囲む<div>等に
 * class="system_article"を付与すること。
 *
 * ================================ */
/* 文字色・文字サイズなどのデフォルト設定 */
.system_article p,
.system_article ul,
.system_article ol {
  font-size: 16px !important;
  font-weight: normal !important;
  line-height: 1.4 !important;

  margin-bottom: .6em !important; 

  color: #111 !important;
}

/* リンクテキスト */
.system_article a {
  text-decoration: underline !important; 

  color: #37d !important;
}

.system_article a:hover {
  text-decoration: none !important;
}

.system_article a:active {
  text-decoration: underline !important;
}

/* 左揃え・中央揃え・右揃え */
.system_article p {
  min-height: 1.4em;

  *zoom: 1;
}

.system_article p::after {
  font-size: 0;

  display: block;
  visibility: hidden;
  clear: both;

  height: 0;

  content: " ";
}

.alignleft {
  float: left;
  clear: both; 

  margin-right: 20px;
  margin-bottom: 20px;
}

.alignright {
  float: right;
  clear: both; 

  margin-bottom: 20px;
  margin-left: 20px;
}

.system_article .aligncenter,
.system_article img.aligncenter {
  display: block !important;
  clear: both !important;

  margin: 0 auto !important;
}

/* 写真のキャプションの揃え */
.wp-caption-text {
  text-align: center;
}

/* 箇条書きリスト */
.system_article ul,
.system_article ol {
  padding-left: 1.5em !important;
}

.system_article ul {
  list-style: disc !important;
}

.system_article ol {
  list-style: decimal !important;
}

.system_article li {
  list-style: none !important;
}

/* 太字 */
.system_article strong {
  font-weight: boldl !important;
}

/* 斜体 */
.system_article em {
  font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
  font-weight: normal; 
  font-style: italic !important;
}

/* 見出しの基本設定 */
.system_article h1,
.system_article h2,
.system_article h3 {
  font-weight: bold;
  line-height: 1.4; 

  clear: both;
}

.system_article h1:first-child,
.system_article h2:first-child,
.system_article h3:first-child {
  margin-top: 0;
}

.system_article h1 {
  font-size: 1.25em; 

  margin: 2.4em 0 1.2em;
}

.system_article h2 {
  font-size: 1.25em; 

  margin: 2em 0 1em;
}

.system_article h3 {
  font-size: 1.2em; 

  margin: 1.6em 0 .8em;
}

/* 表組み */
.system_article table {
  max-width: 100%;
  margin: 1em 0 1.4em;

  border-collapse: collapse;

  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.system_article th,
.system_article td {
  font-size: .9em;

  padding: .4em;

  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.system_article th {
  text-align: center;

  background-color: #eee;
}

.system_article img,
.system_article video {
  max-width: 100%;
}
