@charset "UTF-8";
/* common
====================================================================================================================================== */
#conts {
  padding: 0;
}

#conts.in {
  padding: 3em 0 3em;
}

/*非表示*/
.none {
  display: none !important;
}

/*スマホ・PC振り分け*/
.sp {
  display: none !important;
}

.hide {
  display: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

/*カラー*/
.red {
  color: #c1272d;
}

.yellow {
  color: #ac7f1a;
}

.blue {
  color: #185969;
}

/*左寄せ・右寄せ対策*/
img.left_align_img {
  margin-right: 15px;
}

img.right_align_img {
  margin-left: 15px;
}

iframe {
  max-width: 100%;
}

/* テーブル */
table {
  width: 100%;
  margin: 0 0 25px;
  padding: 0;
  margin: 0 0 2em;
  font-size: 1.1875rem;
  border-collapse: collapse;
  vertical-align: top;
}

table caption {
  font-weight: bold;
  background-color: transparent;
  text-align: center;
  padding: 0.7em 0.7em;
}

table,
table th,
table td {
  border: none;
  line-height: 1.5em;
  font-size: 1rem;
}

table th {
  width: auto;
  padding: 0.7em 0.7em;
  font-weight: bold;
  white-space: normal;
}

table td {
  padding: 0.7em 0.7em;
  /*width:100%;*/
}

table thead th {
  background-color: transparent;
  font-weight: bold;
}

table tbody th {
  background-color: transparent;
  font-weight: normal;
}

.table00 {
  width: 100%;
  border-collapse: collapse;
}

.table00 th {
  padding: 1em 0.5em;
  text-align: left;
  vertical-align: top;
  color: #998675;
}

.table00 td {
  padding: 1em 0.5em;
  vertical-align: top;
}

.table01 {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}

.table01 th {
  padding-right: 0.5em;
  background: none;
  border: 0;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  text-align: left;
  vertical-align: top;
  color: #998675;
}

.table01 td {
  padding-left: 0.5em;
  border: 0;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  vertical-align: top;
}

.table02 {
  width: 100%;
  border: none;
  border-collapse: collapse;
}

.table02 th {
  padding-right: 0.5em;
  background: none;
  border: none;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
  color: #998675;
}

.table02 td {
  padding-left: 0.5em;
  border: none;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
}

.table03 {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

.table03 th, .table03 td {
  vertical-align: middle;
  border: 1px solid #ccc;
}

.table03 caption {
  font-weight: bold;
  background-color: #c7b299;
  color: #fff;
}

.table03 thead th {
  white-space: nowrap;
  background-color: #c7b299;
  color: #fff;
}

.table03 tbody th {
  white-space: normal;
  background-color: #eee8e0;
  color: #998675;
}

/*list*/
#conts ul {
  background: none;
  list-style-type: none;
  padding: 0;
  margin-bottom: 1.5em;
}

#conts ul li {
  position: relative;
  line-height: 1.7;
  padding-left: 0.8em;
  margin-bottom: 0.5em;
}

#conts ul li:before {
  content: "";
  display: block;
  width: 0.25em;
  height: 0.25em;
  background-color: #333;
  border-radius: 50%;
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
}

#conts ol {
  counter-reset: orderd_num;
  background: none;
  overflow: hidden;
  margin-bottom: 1.5em;
}

#conts ol li {
  line-height: 1.7;
  margin-bottom: 0.5em;
}

#conts ol li:before {
  counter-increment: orderd_num;
  content: counter(orderd_num) ".";
  font-weight: bold;
  margin-right: 0.2em;
}

#conts ul.plane,
#conts ol.plane,
#conts ul.plane li,
#conts ol.plane li {
  list-style-type: none !important;
  padding: 0;
}

#conts ul.plane li:before,
#conts ol.plane li:before {
  display: none;
}

/*news list*/
#conts .article_list {
  padding: 0;
}

#conts .article_list li {
  overflow: hidden;
  margin: 0 0 0.6em;
}

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

.article_list .date {
  float: left;
  width: 100px;
}

.article_list .title {
  float: left;
  width: 100%;
  margin-left: -100px;
}

.article_list .title a {
  display: block;
  margin-left: 100px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/*default heading*/
.cat_page_title {
  margin: 1.5em 0 1.7em;
  text-align: center;
}

.cat_page_title span {
  display: block;
  color: #fff;
  font-weight: normal;
}

.cat_page_title .ja {
  font-size: 1.6875rem;
  letter-spacing: 0.1em;
}

.cat_page_title .en {
  font-size: 1.125rem;
  margin-top: 0.4em;
}

h2 {
  font-size: 1.6875rem;
  font-weight: normal;
  color: #000;
  line-height: 1.3em;
  text-align: center;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 2px solid #000;
}

.bg_black .topicpath + h2.page_title {
  font-size: 1.6875rem;
  letter-spacing: 0.1em;
  padding: 0;
  margin: 1.5em 0 1.7em;
  border: none;
  color: #fff;
}

h3 {
  font-size: 1.4375rem;
  font-weight: normal;
  color: #000;
  text-align: center;
  line-height: 1.3em;
  margin-bottom: 1em;
}

h4 {
  font-size: 1.3125rem;
  font-weight: normal;
  color: #000;
  text-align: center;
  background-color: #eee8e0;
  padding: 0.7em 0;
  margin-bottom: 2em;
}

h4.underline {
  background: none;
  padding-top: 0;
  padding-bottom: 1em;
  border-bottom: 1px dotted #888;
}

h5 {
  font-size: 1.3125rem;
  font-weight: normal;
  color: #000;
  background: url(../img/icon_link.png) no-repeat left center;
  padding-left: 22px;
  margin-bottom: 1.2em;
}

.line_dash {
  border-bottom: 1px dotted #888;
}

.pagelistItem {
  padding: 1em 0;
}

.pagelistItem .pliTitle {
  text-align: left;
  font-size: 1.1875rem;
  margin-bottom: 0;
}

.pagelistItem .pliTitle time {
  font-size: 0.88em;
  margin-right: 0.6em;
}

.pagelistItem .pliTitle a {
  color: #736357;
}

.pagelistItem .pliTitle a,
a.link_with_icon {
  background: url(../img/icon_link.png) no-repeat left center;
  padding-left: 22px;
}

/*
.js_contents{
  display: none;
}
*/
/* Q&Aアコーディオン */
.qaUnit {
  margin-bottom: 2.5em;
}

.qaUnit .js_accordion {
  margin-bottom: 0;
}

.qaUnit .js_contents {
  padding: 2.2em 0 1.5em;
  margin-bottom: 0;
  border-bottom: 1px dashed #a0a0a0;
}

.qaUnit .js_contents p {
  margin-bottom: 0.8em;
}

.qaUnit .js_contents img[src="/users/editor/Image/line_ten.gif"] {
  display: none;
}

.qaUnit .js_contents > *:last-child {
  margin-bottom: 0;
}

/*画像で見出しを作る用（スタイルを強制リセット）*/
h1.plane,
h2.plane,
h3.plane,
h4.plane,
h5.plane {
  background: none !important;
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: !important;
}

h1.plane:after,
h2.plane:after,
h3.plane:after,
h4.plane:after,
h5.plane:after {
  display: none !important;
}

h1.plane img,
h2.plane img,
h3.plane img,
h4.plane img,
h5.plane img {
  margin: 0;
  max-width: none;
}

/*adjust*/
.clear {
  clear: both;
}

.ma0 {
  margin: 0 !important;
}

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

.mab5 {
  margin-bottom: 5px !important;
}

.mab10 {
  margin-bottom: 10px !important;
}

.mab20 {
  margin-bottom: 20px !important;
}

.mab30 {
  margin-bottom: 30px !important;
}

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

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

.mab1em {
  margin-bottom: 1em !important;
}

.mab1-5em {
  margin-bottom: 1.5em !important;
}

.mab2em {
  margin-bottom: 2em !important;
}

.mab2-5em {
  margin-bottom: 2.5em !important;
}

.mab3em {
  margin-bottom: 3em !important;
}

.mab3-5em {
  margin-bottom: 3.5em !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pa0 {
  padding: 0 !important;
}

.pat0 {
  padding-top: 0 !important;
}

.pab0 {
  padding-bottom: 0 !important;
}

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

/*font size*/
.font_xs {
  font-size: 0.8em;
}

.font_sm {
  font-size: 0.86em;
}

.font_la {
  font-size: 1.2em;
}

.font_xl {
  font-size: 2em;
}

.font_normal {
  font-weight: normal;
}

.font_bold {
  font-weight: bold;
}

.text_center {
  text-align: center !important;
}

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

.font_0 {
  font-size: 0;
}

.font_plus {
  font-size: 1.07em;
}

/*kerning*/
.kerning0 {
  letter-spacing: 0;
}

.kerning {
  letter-spacing: -0.05em;
}

.kerning01 {
  letter-spacing: -0.1em;
}

.kerning02 {
  letter-spacing: -0.25em;
}

.kerning03 {
  letter-spacing: -0.5em;
}

.kerning_plus {
  letter-spacing: 0.25em;
}

/*行間詰め*/
.line_height_min {
  line-height: 1.6;
}

/*タイトル調整用*/
.kerning_tit {
  letter-spacing: 0.27em;
}

.kerning_tit_m {
  letter-spacing: 0.17em;
}

.kerning_tit_m02 {
  letter-spacing: 0.1em;
}

.font_num {
  font-size: 1.05em;
}

/* 文章枠用CSS
====================================================================================================================================== */
p, .text_box {
  font-size: 1.1875rem;
  font-weight: normal;
  margin: 0 0 1.5em;
  line-height: 1.7em;
}

.text_box p {
  font-size: inherit;
}

.list_box p {
  margin-bottom: 0;
}

.list_box img {
  max-width: none;
}

/*hr*/
hr {
  height: 1px;
  border-bottom: solid 1px #ccc;
  background: none;
  margin: 2em 0;
  overflow: hidden;
}

/*スタンダード（画像右／左寄せ）*/
.common_box {
  overflow: visible;
  padding: 0 0 3em;
}

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

.common_box .img_box {
  float: left;
  margin-right: 20px;
  width: auto;
  margin-top: 0.6em;
  margin-bottom: 1.5em;
  font-size: 12px;
  line-height: 1.7;
}

.common_box .img_box.auto_width img {
  width: auto;
}

.common_box .text_box {
  display: inline;
  overflow: hidden;
}

/*右*/
.common_box.right .img_box {
  float: right;
  margin-right: 0;
  margin-left: 20px;
}

/*ボタン*/
.black_button a,
.brown_button a,
.border_button a {
  display: inline-block;
  padding: 1.1em 0;
  width: 90%;
  max-width: 320px;
  font-size: 1.5625rem;
  text-align: center;
}

.black_button a:hover,
.brown_button a:hover,
.border_button a:hover {
  text-decoration: none;
}

.black_button a,
.brown_button a,
.black_button a:link,
.brown_button a:link {
  color: #fff;
}

.black_button a,
.brown_button a {
  background: url(../img/icon_arrow_white.png) no-repeat right 20px center;
  transition: 0.3s;
}

.black_button a:hover,
.brown_button a:hover {
  opacity: 0.7;
  color: #fff;
}

.black_button a {
  background-color: #000;
}

.brown_button a {
  background-color: #998675;
}

.border_button a {
  background: url(../img/icon_arrow.png) no-repeat right 20px center;
  border: 1px solid #736357;
  color: #000;
  transition: 0.3s;
}

.border_button a:hover {
  background: url(../img/icon_arrow_white.png) no-repeat right 20px center;
  background-color: #736357;
  color: #fff;
}

/*画像3つ並び*/
.photo_3column {
  overflow: hidden;
  text-align: center;
}

.photo_3column img {
  float: left;
  width: 33.3333%;
}

/*画像3つ並び（ページ内）*/
.photo_3column_in {
  margin: 2em 0;
  margin-right: -2%;
  overflow: hidden;
  text-align: center;
}

.photo_3column_in img,
.photo_3column_in .column_photo {
  float: left;
  width: 31.3333%;
  margin-right: 2%;
  vertical-align: top;
}

.photo_3column_in .column_photo {
  display: inline-block;
  float: none;
  width: 28%;
}

/*画像2つ並び（ページ内）*/
.photo_2column_in {
  margin: 2em 0;
  margin-right: -2%;
  overflow: hidden;
  text-align: center;
}

.photo_2column_in img,
.photo_2column_in .column_photo {
  float: left;
  width: 48%;
  margin-right: 2%;
  vertical-align: top;
}

.photo_2column_in .column_photo {
  display: inline-block;
  float: none;
  width: 28%;
}

#contents .photo_3column_in .column_photo img {
  float: none;
  width: auto;
  margin: 0 auto 10px;
}

.photo_3column_in .column_photo p {
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .page_title .ja {
    margin-bottom: 0.1em;
  }
  p,
  .text_box {
    margin: 0 0 1em;
  }
}

@media screen and (max-width: 540px) {
  .common_box .img_box {
    float: none;
    margin-right: 0;
    text-align: center;
  }
  /*右*/
  .common_box.right .img_box {
    float: none;
    margin-right: 0;
    margin-left: 0;
  }
  .leftImg,
  .rightImg {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 0 0.5em;
  }
  .float {
    float: none !important;
    width: auto;
    text-align: center;
    margin: 0 0 0.5em;
  }
  .table02 th {
    white-space: normal;
    width: 7em;
  }
  #title_area {
    height: 185px;
    padding-top: 100px;
  }
}
