@charset "UTF-8";
/* ==========================================================

title : 主な江戸100藩（家紋）
scope : 主な江戸100藩（家紋）/関東・甲信越地方

memo：

last modify : 2020/12/29 TCI福岡_sakaguchi バナー共通化対応

2020/12/04 55861_nakai 共通動画クラスの導入
2020/08/14 TCI福岡_sakaguchi 共通tableクラスの導入
2019/8/22 バナーを2列表示にする　
2019/8/8 浮世絵表示レイアウト修正 WEB2TCI-4184（コーディング）【刀剣ワールド】主な江戸100藩（家紋）／フリーエリア改修＜FKU-TKN-20758／Co＞
2019/4/17 バナー追加 WEB2TCI-2036 （コーディング）【刀剣ワールド】武将・大名の家紋一覧＜FKU-TKN-20337／Co＞
2019/1/31 WEB2TCI-528 （コーディング）【刀剣ワールド】（制+開）主な江戸100藩（家紋）／frontend＜FKU-TKN-20041／Co＞

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

/* ------------------------------------ */
 /* ▼ 共通処理上書き */
/* ------------------------------------ */

h1 .small {
  color: #fff;
  font-size: 75%;
  line-height: 1.4;
}

/* ▲ 共通処理上書き ここまで */

/* ------------------------------------ */
/* ▼ general */
/* ------------------------------------ */
.wrap.wcm {
  margin-bottom: 70px;
}

.section_outer {
  padding-top: 60px;
}

.section_outer:first-of-type {
  padding-top: 0px;
}

.clearfix_pc::after {
  content: "";
  display: block;
  clear: both;
}

.domain_comingsoon {
  margin-bottom: 20px;
  text-align: left;
  padding: 0 8px;
}

.box_seo {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .wrap.wcm {
    margin-bottom: 40px;
  }
  .section_inner {
    padding: 0 10px;
  }
  .section_outer {
    padding-top: 50px;
  }
  .clearfix_pc::after {
    display: none;
  }
  .domain_comingsoon {
    font-size: 15px;
    margin-bottom: 0;
    padding: 0 5px;
  }
  .box_seo {
    margin-top: 50px;
  }
}

/* ------------------------------------ */
/* ▼ MV */
/* ------------------------------------ */
.banner_h1 .txth1 {
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 43px;
  text-shadow: 2px 2px 3px #000, 4px 5px 3px #000;
  top: 52%;
}

.banner_h1.domain_area_h1 .txth1 {
  top: 42%;
}

.domain_area_mv_name {
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  display: inline-block;
  position: absolute;
  top: 54%;
  left: 50%;
  padding: 4px 23px;
  border-radius: 25px;
  background-color: #344577;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.desc {
  margin: 28px auto 22px;
  max-width: 750px;
}

.desc_txt {
  letter-spacing: .03em;
  line-height: 1.5;
}

.relation_block {
  position: relative;
  max-width: 331px;
  margin: 0 0 1em 1.7em;
}

.relation_block_link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}

.relation_block_link > li {
  position: absolute;
  width: 44.2%;
  height: 48%;
  top: 48.9%;
}

.relation_block_link .link_center {
  left: 27.5%;
  top: 0.9%;
}

.relation_block_link .link_left {
  left: .61%;
}

.relation_block_link .link_right {
  right: .5%;
}

.relation_block_link > li > a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  margin: 0;
}

@media (min-width: 768px) {
  .desc_txt {
    margin-top: 4px;
  }
  .desc_txt > p {
    margin-bottom: 17px;
  }
  .desc_txt > p:last-of-type {
    margin-bottom: 0;
  }
  .relation_block {
    float: right;
    width: 45%;
  }
  .relation_block_link > li > a:hover {
    background: rgba(255,255,255,.5);
  }
}

@media (max-width: 767px) {
  .desc {
    display: flex;
    flex-direction: column-reverse;
  }
  .relation_block {
    margin: 15px auto;
    width: 100%;
  }
}

@media screen and (min-width: 970px) {
  .break_tab {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .banner_h1 .txth1 {
    display: block;
    font-size: 6.3vw;
    line-height: 1.4;
    width: 100vw;
  }
  .domain_area_mv_name {
    font-size: 3.9vw;
    top: 61%;
    padding: 2px 15px;
    border-radius: 25px;
  }
  .desc {
    font-size: 15px;
    margin: 0 auto 25px;
    padding: 0 20px;
    text-align: left;
  }
}

/* ------------------------------------ */
/* ▼ anchor */
/* ------------------------------------ */
.cmn_anchor {
  margin-bottom: 30px;
  max-width: 838px;
}

.anchor_cmn {
  margin-bottom: 30px;
  max-width: 838px;
}

.anchor_cmn.domain_area_link_wrap {
  margin-top: 40px;
}

.anchor_cmn ul {
  align-content: stretch;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  max-width: 838px;
}

.anchor_cmn ul li {
  display: block;
  margin: 0;
  padding: 0 5px;
}

/* current時のみ指定 */
.cmn_anchor ul li.current a {
  background: url(/image_cmn/anchor/anchor_bg_hv_current.png);
}

.anchor_cmn ul li.current a {
  background: url(/image_cmn/anchor/anchor_bg_hv_current.png);
}

.cmn_anchor ul li.current a::after {
  border: 1px solid #5b73a7;
}

.anchor_cmn ul li.current a::after {
  border: 1px solid #5b73a7;
}

.anchor_cmn ul li.current a span {
  padding: 0;
}

.anchor_cmn ul li.current a span::after {
  content:none;
}

.anchor_cmn ul li:nth-of-type(n+4) {
  margin-top: 8px;
}

.anchor_cmn ul li>span {
  background: url(../image/bg-anchor-gr.png);
  color: #fff;
  font-size: 19px;
  line-height: 20px;
  padding: 14px 15px;
  position: relative;
  width: 100%;
}

.anchor_cmn ul li a,
.anchor_cmn ul li>span {
  align-content: center;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
}

.anchor_cmn ul li>span::before {
  background: url(../image/bg-anchor-before-gr.png) no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 47px;
  height: 36px;
  z-index: 1;
}

.anchor_cmn ul li>span::after {
  content: "";
  position: absolute;
  border: 1px solid #848483;
  bottom: 5px;
  left: 5px;
  top: 5px;
  right: 5px;
}

.anchor_cmn ul li>span span::after {
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #FFF transparent transparent transparent;
  content: "";
  height: 0;
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  width: 0;
}

.anchor_cmn.domain_area_link_wrap ul li a span::after,
.anchor_cmn.domain_area_link_wrap ul li>span span::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.anchor_cmn ul li a span,
.anchor_cmn ul li>span span {
  display: block;
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .anchor_cmn {
    margin-bottom: 30px;
    padding: 0;
  }
  .anchor_cmn ul li {
    padding: 0 5px;
  }
  .anchor_cmn ul li:nth-of-type(n+3) {
    margin-top: 10px;
  }
  .anchor_cmn ul li a,
  .anchor_cmn ul li>span {
    min-height: 50px;
    font-size: 15px;
  }
  .anchor_cmn ul li a span,
  .anchor_cmn ul li>span span {
    padding-right:9px;
  }
  .anchor_cmn ul li a span::after,
  .anchor_cmn ul li>span span::after {
    right: -4px;
  }
  .anchor_cmn ul li>span::before {
    background: url(../image/bg-anchor-before-gr-sp.png) no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
    width: 50px;
  }
  .anchor_cmn.domain_area_link_wrap {
    margin-top: 0;
    padding: 0 10px;
  }
}

@media (max-width: 374px) {
  .anchor_cmn ul li {
    width: 100%;
  }
  .anchor_cmn ul li:nth-of-type(n+2) {
    margin-top: 10px;
  }
  .anchor_cmn ul li a,
  .anchor_cmn ul li>span {
    min-height: 0;
  }
}

.domain_area_anchor_wrap {
  background: #fffbf0;
  max-width: 900px;
  margin: 0 auto;
  padding: 23px 38px 1px;
}

@media (max-width: 767px) {
  .domain_area_anchor_wrap {
    padding: 0 0 20px 0;
  }
}


/* ------------------------------------ */
/* ▼ title */
/* ------------------------------------ */
.title_h2cmn {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .title_h2cmn {
    margin-bottom: 20px;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .title_h2cmn >span {
    padding: 14px 76px 15px; /* IE11で崩れるため base.css上書き*/
  }
}

.title_h3 {
  display: block;
  font-family: "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","游明朝体","游明朝","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","HG明朝E","ryo-display-plusn",serif;
  font-size: 24px;
  font-feature-settings: "pkna";
  font-weight: 600;
  height: auto;
  margin: 0 auto;
  max-width: 900px;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.title_h3_s {
  font-size: 20px;
}

.title_h3::before,
.title_h3::after {
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 203px;
}

.title_h3::before {
  background: url(../image/title-h2-01.png) no-repeat right center;
  background-position: -17px -109px;
  left: 0;
}

.title_h3::after {
  background: url(../image/title-h2-02.png) no-repeat left center;
  background-position: 0 -27px;
  right: 0;
}

.title_h3>span {
  background: url(/image_cmn/titleh2/bkg_ttbl.jpg) repeat;
  display: block;
  letter-spacing: 0;
  padding: 14px 190px 15px;
}

.title_h3>span>span {
  color: #fff;
  display: inline-block;
  position: relative;
}

.title_h4 {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 17px 24px;
  letter-spacing: 0.11em;
}

@media (max-width: 767px) {
  .title_h3 {
    font-size: 16px;
  }
  .title_h3_s {
    font-size: 15px;
  }
  .title_h3::before,
  .title_h3::after {
    display: none;
  }
  .title_h3>span {
    padding: 10px 0;
  }
  .title_h4 {
    font-size: 16px;
    margin: 0 0 15px 0;
    padding: 0;
    letter-spacing: 0.05em;
    line-height: 1.3;
  }
}

/* ------------------------------------ */
/* ▼ button */
/* ------------------------------------ */

.link_btn01_wrap {
  margin: 25px auto 0;
  max-width: 290px;
}

.link_btn02_wrap {
  width: 206px;
  position: absolute;
  bottom: 13px;
  left: 12px;
}

.link_btn01 {
  background-color: #c71b27;
  border: solid 1px #7c1616;
  display: block;
  position: relative;
  transition: opacity .3s;
  width: 100%;
}

.link_btn01:hover {
  opacity: .6;
}

.link_btn02_wrap .link_btn01:hover {
  opacity: .8;
}

.link_btn01::before,
.link_btn01::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
}

.link_btn01::before {
  top: 0;
  left: 0;
  background: url(../image/bg-btn01.png) no-repeat 0 0;
}

.link_btn01::after {
  top: 0;
  right: 0;
  background: url(../image/bg-btn02.png) no-repeat 0 0;
}

.link_btn01_inner::before,
.link_btn01_inner::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
}

.link_btn01_inner::before {
  bottom: 0;
  left: 0;
  background: url(../image/bg-btn01.png) no-repeat 0 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.link_btn01_inner::after {
  bottom: 0;
  right: 0;
  background: url(../image/bg-btn02.png) no-repeat 0 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.link_btn01_text {
  border: solid 1px #d8787e;
  color: #fff;
  display: block;
  font-size: 17px;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 2px 3px;
  padding: 9px 24px 8px;
  position: relative;
  font-feature-settings: "pkna";
  text-align: center;
}

.link_btn01_text_s {
  font-size: 16px;
  padding: 3px 15px;
}

.link_btn01_text::after {
  border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 15px;
  top: calc(50% - 3px);
  width: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.link_btn01_text.link_btn01_text_s::after {
  right: 6px;
}

@media (max-width: 767px) {
  .link_btn01_text {
    font-size: 13px;
    padding: 8px 14px 8px 12px;
  }
  .link_btn01_text::after {
    border-width: 6px 4px 0 4px;
    top: calc(50% - 3px);
    right: 2px;
  }
}

/* ------------------------------------ */
/* ▼ section */
/* ------------------------------------ */
.domain_section {
  max-width: 900px;
  margin: 50px auto 0;
}

.domain_section:first-of-type {
  margin-top: 0;
}

.domain_section_inner {
  background: #fffbf0;
}

.domain_section_inner.top {
  padding: 41px 38px 45px;
}

.domain_section_inner.d_area {
  padding: 38px 36px 20px;
}

/* area */
.domain_area_section {
  max-width: 900px;
  margin: 50px auto 0;
}

.domain_area_section:nth-of-type(n+2) {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .domain_section {
    margin-top: 30px;
  }
  .domain_area_section {
    margin-top: 30px;
  }
  .domain_section_inner.top {
    padding: 30px 10px 30px;
  }
  .domain_section_inner.d_area {
    padding: 30px 0 0;
    background-image: none;
  }
}

/* ------------------------------------ */
/* ▼ top map */
/* ------------------------------------ */
.domain_top_map_wrap {
  max-width: 1000px;
  margin: 0 auto 30px;
}

.domain_top_map_wrap img {
  vertical-align: bottom;
}

/* ------------------------------------ */
/* ▼ domain list */
/* ------------------------------------ */
.domain_list_wrap {
  align-content: stretch;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}

.domain_list_item {
  padding: 0 8px;
  width: 33.333333%;
}

.domain_list_item:nth-of-type(n+4) {
  margin-top: 14px;
}

.domain_area_list_wrap .domain_list_item:nth-of-type(n+3) {
  margin-top: 15px;
}

.domain_list_item a,
.domain_list_item>div {
  display: block;
  border: solid 1px #c92121;
  border-left: solid 3px #c92121;
  background-color: #fff;
  height: 100%;
  position: relative;
  transition: opacity .3s;
}

.domain_list_item>div {
  border-color: #666;
  background-color: #d2d2d2;
}

.domain_list_item a::after,
.domain_list_item>div::after {
  border-color: #c92121 transparent transparent transparent;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 9px;
  top: calc(50% - 4px);
  width: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.domain_list_item>div::after {
  border-color: #666 transparent transparent transparent;
}

.domain_area_list_wrap .domain_list_item a::after,
.domain_area_list_wrap .domain_list_item>div::after {
  top: calc(50% - 3px);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.domain_list_item a:hover {
  opacity: .6;
}

.domain_list_img_wrap {
  align-content: stretch;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  padding: 6px 20px 6px 6px;
}

.domain_list_img {
  align-content: stretch;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  width: 21.87%;
  max-width: 50px;
}

.domain_list_img img {
  width: 100%;
}

.domain_list_text {
  color: #000;
  text-align: left;
  margin-left: 5.8%;
  padding: 5px 0;
  width: 72.33%;
}

.domain_list_item>div .domain_list_text {
  color: #666;
}

.domain_list_text>p {
  line-height: 1.1;
}

.domain_list_text_l {
  font-weight: 600;
}

.domain_list_text_s {
  font-size: 14px;
  margin-top: 5px;
}

.domain_list_space_img {
  padding: 3px 0 0 25px;
}

.domain_list_space_img img {
  vertical-align: bottom;
}

@media (max-width: 767px) {
  .domain_list_item {
    padding: 0 5px;
    width: 50%;
  }
  .domain_list_item a::after,
  .domain_list_item>div::after {
    right: 5px;
  }
  .domain_list_item:nth-of-type(n+4) {
    margin-top: 0;
  }
  .domain_list_item:nth-of-type(n+3) {
    margin-top: 10px;
  }
  .domain_area_list_wrap .domain_list_item:nth-of-type(n+3) {
    margin-top: 0;
  }
  .domain_area_list_wrap .domain_list_item:nth-of-type(n+2) {
    margin-top: 10px;
  }
  .domain_area_list_wrap .domain_list_item:nth-of-type(odd) {
    padding-right: 15px;
  }
  .domain_area_list_wrap .domain_list_item:nth-of-type(even) {
    padding-left: 15px;
  }
  .domain_list_img_wrap {
    padding: 8px 15px 8px 8px;
  }
  .domain_list_img {
    align-content: stretch;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    width: 30%;
    max-width: 40px;
  }
  .domain_list_text {
    color: #000;
    text-align: left;
    margin-left: 5.8%;
    padding: 0;
    width: 64.2%;
  }
  .domain_list_text_l {
    font-size: 15px;
  }
  .domain_list_text_s {
    font-size: 12px;
  }
  .domain_list_wrap .domain_list_space:nth-of-type(odd) {
    display: none;
  }
}

/* area */
.domain_area_list_wrap .domain_list_item {
  float: left;
}

.domain_area_list_map {
  float: left;
  max-width: 587px;
  margin: -23px 0 0 -38px;
  margin-right: calc(-4.533333% + 38px);
  padding-right: 7px;
  width: 71.2%;
}

.domain_area_list_map>img {
  vertical-align: top;
}

@media (max-width: 767px) {
  .domain_area_list_wrap {
    align-content: stretch;
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
  }
  .domain_area_list_map {
    float: none;
    max-width: 580px;
    margin: 0 auto 10px;
    padding-right: 0;
    width: 100%;
  }
  .domain_area_list_wrap .domain_list_item {
    float: none;
  }
}

/* ------------------------------------ */
/* ▼ domain description01 */
/* ------------------------------------ */
.domain_desc01_familycrest {
  float: left;
  max-width: 160px;
  width: 19.33%
}

.domain_desc01_familycrest_img img {
  vertical-align: bottom;
}

.domain_desc01_familycrest_text {
  font-size: 16px;
  margin-top: 6px;
  text-align: center;
}

.domain_desc01_table_wrap {
  float: left;
  margin-left: 1.81%;
  width: 78.86%;
}

.domain_desc01_table01 {
  border-color: #8f6d3d;
  table-layout: fixed;
}

.domain_desc01_table01 th,
.domain_desc01_table01 td {
  text-align: center;
}

.domain_desc01_table01 th {
  background-color: #8f6d3d;
  border-right-color: #e0d2bf;
  color: #fff;
  padding: 5px 0;
  vertical-align: middle;
}

.domain_desc01_table01 td {
  background-color: #fff;
  border-right-color: #8f6d3d;
  font-weight: 600;
  padding: 17px 5px;
  vertical-align: middle;
}

.domain_desc01_table01.cmn_table_border.type01 td {
  border-bottom: none;
}

.domain_desc01_table01.cmn_table_border.type01 td:last-of-type,
.domain_desc01_table01.cmn_table_border.type01 th:last-of-type {
  border-right: none;
}

.table01_col01 {
  width: 15.75%;
}

.table01_col02 {
  width: 32.75%;
}

.table01_col03 {
  width: 22.75%;
}

.table01_col04 {
  width: 26.75%;
}

.domain_desc01_table02 {
  border-color: #8f6d3d;
  table-layout: fixed;
  margin-top: 15px;
}

.domain_desc01_table02 .table02_title01 th {
  background-color: #8f6d3d;
  border-bottom: none;
  border-right: none;
  color: #fff;
  font-weight: normal;
  padding: 5px 0;
  text-align: center;
  vertical-align: middle;
}

.domain_desc01_table02 .table02_title02 th {
  background-color: #dfc896;
  border-color: #8f6d3d;
  font-weight: normal;
  padding: 8px 0;
  text-align: center;
  vertical-align: middle;
}

.domain_desc01_table02 .table02_title02 th:last-of-type {
  border-right: none;
}

.domain_desc01_table02 td {
  background-color: #fff;
  border-color: #8f6d3d;
  padding: 11px 5px;
  text-align: center;
  vertical-align: middle;
}

.domain_desc01_table02 td:last-of-type {
  border-right: none;
}

.domain_desc01_table02 tr:last-of-type td,
.domain_desc01_table02 tr:last-of-type th {
  border-bottom: none;
}

.domain_desc01_table02 td:first-of-type {
  text-align: left;
  text-indent: -1.4em;
  padding: 0 5px 0 calc(30px + 1em);
}

.domain_desc01_table02 td:nth-of-type(2) {
  text-align: left;
  padding: 11px 5px 11px 30px;
}

/* 歴代藩主 No.11以降 */
.domain_desc01_table02 tr:nth-of-type(n+12) td:first-of-type {
  text-indent: -2em;
  padding: 0 5px 0 calc(30px + 1em);
}

.table02_col01 {
  width: 34.5%;
}

.table02_col02 {
  width: 25.75%;
}

.table02_col03 {
  width: 19.75%;
}

.domain_desc01_table03 {
  border-color: #8f6d3d;
  table-layout: fixed;
  margin-top: 15px;
}

.domain_desc01_table03 .table03_title01 th {
  background-color: #8f6d3d;
  border-bottom-color: #8f6d3d;
  border-right: none;
  color: #fff;
  font-weight: normal;
  padding: 5px 0;
  text-align: center;
  vertical-align: middle;
}

.domain_desc01_table03 td {
  background-color: #fff;
  border: none;
  padding: 11px 5px;
  text-align: center;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .domain_desc01_familycrest {
    float: none;
    max-width: 240px;
    margin: 0 auto;
    width: 100%
  }
  .domain_desc01_familycrest_text {
    margin-top: 10px;
  }
  .domain_desc01_table_wrap {
    float: none;
    margin-left: 0;
    margin-top: 30px;
    width: 100%;
  }
  .domain_desc01_table01 th {
    font-size: 15px;
    padding: 5px 0;
  }
  .domain_desc01_table01 td {
    font-size: 14px;
    padding: 5px 2px;
  }
  .table01_col01 {
    width: 17%;
  }
  .table01_col02 {
    width: 23%;
  }
  .table01_col03 {
    width: 30%;
  }
  .table01_col04 {
    width: 30%;
  }
  .domain_desc01_table02 .table02_title01 th {
    font-size: 15px;
    padding: 5px 0;
  }
  .domain_desc01_table02 .table02_title02 th {
    font-size: 15px;
    padding: 5px 0;
  }
  .domain_desc01_table02 td {
    font-size: 14px;
    padding: 5px 2px;
  }
  .domain_desc01_table02 td:first-of-type {
    font-size: 14px;
    text-indent: -1.6em;
    padding: 0 2px 0 calc(20px + 1em);
  }
  .domain_desc01_table02 td:nth-of-type(2) {
    text-align: left;
    padding-right: 2px;
    padding-left: 10px;
  }
  .domain_desc01_table02 tr:nth-of-type(n+12) td:first-of-type {
    text-indent: -2.2em;
    padding: 0 5px 0 calc(20px + 1em);
  }
  .table02_col01 {
    width: 35%;
  }
  .table02_col02 {
    width: 31%;
  }
  .table02_col03 {
    width: 19%;
  }
  .domain_desc01_table03 .table03_title01 th {
    font-size: 15px;
    padding: 5px 0;
  }
  .domain_desc01_table03 td {
    font-size: 14px;
  }
}

@media (max-width: 320px) {
  .domain_desc01_table02 .table02_title02 th {
    font-size: 13px;
  }
}

/* ------------------------------------ */
/* ▼ domain description02 */
/* ------------------------------------ */
.domain_desc02_wrap {
  margin-top: 40px;
}

.domain_desc02_float_img {
  max-width: 360px;
}

.domain_desc02_float_img.left {
  float: left;
  margin: 5px 25px 15px;
}

.domain_desc02_float_img.right {
  float: right;
  margin: 5px 0 15px 30px;
}

.domain_desc02_float_img img {
  vertical-align: bottom;
}

.domain_desc02_img_cap {
  text-align: center;
  font-size: 16px;
  margin-top: 5px;
}

.box__detail {
  padding: 0 15px;
  font-size: inherit;
}

.box__detail p {
  margin-bottom: 30px;
  padding-left: 10px;
}

.box__detail .wp-caption-text {
  margin: 5px 0 0 0;
  padding: 0;
}

.box__detail img {
  border: none;
  vertical-align: bottom;
}

.box__detail .alignright {
  margin: 5px 0 15px 30px;
}

@media (max-width: 767px) {
  .domain_desc02_wrap {
    margin-top: 30px;
    padding: 0 10px;
  }
  .domain_desc02_float_img {
    max-width: 720px;
    margin: 0 auto;
  }
  .domain_desc02_float_img.left {
    float: none;
    max-width: 360px;
    margin: 0 auto 20px;
  }
  .domain_desc02_float_img.right {
    float: none;
    margin: 0 auto 20px;
  }
  .domain_desc02_img_cap {
    font-size: 14px;
    margin-top: 5px;
  }
  .box__detail {
    padding: 0;
  }
  .box__detail p {
    font-size: 15px;
    margin-bottom: 10px;
    padding-left: 0;
  }
  .box__detail .aligncenter,
  .box__detail .alignleft,
  .box__detail .alignright {
    height: auto;
    margin: 0 auto;
    text-align: center;
    width: 100%!important;
  }
  .box__detail .alignright {
    margin: 0 auto 20px;
  }
  .box__detail .wp-caption-text {
    font-size: 14px;
  }
}

/* ------------------------------------ */
/* ▼ annotation */
/* ------------------------------------ */
.domain_annotation01 {
  font-size: 16px;
  max-width: 900px;
  margin: 0 auto 10px;
  text-align: right;
}

.domain_annotation02 {
  font-size: 16px;
  max-width: 900px;
  margin: 10px auto 10px;
  text-align: right;
}

@media (max-width: 767px) {
  .domain_annotation01 {
    font-size: 12px;
    margin-bottom: 5px;
  }
  .domain_annotation02 {
    font-size: 12px;
    margin: 10px auto 0;
  }
}

/* ------------------------------------ */
/* ▼ Page navigation */
/* ------------------------------------ */
.page_skip {
  font-size: 0;
  letter-spacing:0;
  margin: 40px auto;
  position:relative;
  text-align:center;
}
.page_skip * {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
}
.page_skip a:hover {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
.page_count_box {
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
  background:#4250dc;
  border:1px solid #1d558d;
  border-radius:2px;
  color:#fff;
  font-size:15px;
  height:34px;
  letter-spacing:.01em;
  line-height:34px;
  margin:0 5px;
  padding:0;
  width:34px;
}
.page_count_box a {
  background:#fff;
  color:#4250dc;
  display:block;
  font-size:15px;
  height:34px;
  letter-spacing:.01em;
  line-height:34px;
  width:34px;
}
.page_count_box a:hover {
  background:#4250dc;
  color:#fff;
  font-weight: 600;
}
.p_toback,
.p_tonext {
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
  border:1px solid #1d558d;
  border-radius:2px;
  color:#1d558d;
  font-size:15px;
  line-height:34px;
  width:95px;
}
.p_toback a,
.p_tonext a {
  color: #0000ff;
}
.p_tonext.prevp {
  background:url(../image/bg_back.png) no-repeat 92px 12px;
  padding-left: 0;
  padding-right:10px;
}
.p_tonext {
  background:url(../image/bg_next.png) no-repeat 9px 12px;
  margin-left: 3px;
  padding-left:10px;
}
.p_tonext.prevp a:hover {
  background:url(../image/bg_back_ov.png) no-repeat 92px 12px #4250dc;
  color: #fff;
  display: block;
  font-weight: 600;
  line-height: 34px;
  margin-left: 0;
  padding-left: 0;
  padding-right: 10px;
  width: 95px;
}
.p_tonext a:hover {
  background:url(../image/bg_next_ov.png) no-repeat 9px 12px #4250dc;
  color:#fff;
  display:block;
  font-weight: 600;
  line-height:34px;
  margin-left:-10px;
  padding-left:10px;
  width:95px;
}
.p_toback_gr {
  background:url(../image/bg_back_gr.png) no-repeat 92px 12px #ccc;
  border-radius:2px;
  color:#8E8E8E;
  font-size:15px;
  line-height:36px;
  margin-right: 2px;
  padding-right:10px;
  text-shadow:1px 1px 0 rgba(255,255,255,1);
  width:95px;
}
.p_tonext_gr {
  background:url(../image/bg_next_gr.png) no-repeat 9px 12px #ccc;
  border-radius:2px;
  color:#8E8E8E;
  font-size:15px;
  line-height:36px;
  padding-left:10px;
  text-shadow:1px 1px 0 rgba(255,255,255,1);
  width:95px;
}
.page_select {
  margin-left:8px;
  position:absolute;
}
.page_select_ttl {
  background:url(../image/bg_select_bottom.png) no-repeat right center;
  color:#1d558d;
  cursor:pointer;
  display:block;
  font-size:15px;
  line-height:34px;
  padding-left:2px;
  position:relative;
  text-align:left;
  width:155px;
}
.page_select_ttl span {
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
  border:1px solid #1d558d;
  border-radius:2px;
  color:#1d558d;
  cursor:pointer;
  display:block;
  font-size:15px;
  font-weight: normal;
  line-height:34px;
  padding-left:5px;
  position:relative;
  text-align:left;
}
.page_select_ttl_hover {
  background:url(../image/bg_select_bottom_on.png)#fff no-repeat right center;
  color:#1d558d;
}
.page_select_ttl_hover span {
  -moz-border-radius:2px 2px 0 0 / 2px 2px 0 0;
  -webkit-border-radius:2px 2px 0 0 / 2px 2px 0 0;
  border-bottom:1px dotted #1d558d;
  border-radius:2px 2px 0 0 / 2px 2px 0 0;
}
.page_select_menu {
  border-bottom:1px solid #1d558d;
  border-left:1px solid #1d558d;
  border-right:1px solid #1d558d;
  color:#1d558d;
  display:none;
  font-size:15px;
  left:2px;
  line-height:34px;
  max-height:195px;
  overflow-x:hidden;
  overflow-y:scroll;
  position:relative;
  text-align:left;
  width:145px;
  z-index:1000;
}
.page_select_menu ul {
  text-indent:10px;
  width:145px;
}
.page_select_menu li {
  background:#fff;
  border-bottom:1px dotted #1d558d;
  line-height:34px;
}
.page_select_menu li.first_list {
  margin-left:-10px;
}
.page_select_menu .li_last {
  border-bottom:none;
  margin-left:-9px;
}
.page_select_menu a {
  display:block;
  width:140px;
}
.page_select_menu a:hover {
  background:#FFE6EB;
  color: #ff0000;
}
.page_select_menu::-webkit-scrollbar {
  width:12px;
}
.page_select_menu::-webkit-scrollbar-track {
  background:rgba(200,200,200,1);
}
.page_skip_ul,
.page_nav_ul {
  position:relative;
  right:75px;
}
.page_skip_ul li,
.page_nav_ul li,
.page_nav_ul02 li {
  display:inline-block;
  position:relative;
  vertical-align:top;
}
.page_select_menu::-webkit-scrollbar-thumb {
  background:rgba(200,230,255,1);
}

@media (max-width: 767px) {
  .page_skip {
    margin-top: 10px;
    padding: 0 5px;
  }
  .page_skip_ul li,
  .page_nav_ul li,
  .page_nav_ul02 li {
    font-size: 11px;
    height: 29px;
    line-height: 29px;
    margin: 0 1.5% 1.5% 0;
    padding: 0 11px;
    width: auto;
  }
  .page_nav_ul li.p_tonext a:hover {
    background-position: 9px 10px;
    line-height: inherit;
    margin: 0 -11px 0 -25px;
    padding: 0 11px 0 25px;
    width: auto;
  }
  .page_nav_ul li.p_tonext.prevp a:hover {
    background-position: center right 10px;
    margin: 0 -25px 0px -11px;
    padding: 0 25px 0 11px;
  }
  .page_skip_ul li.hide_sp,
  .page_nav_ul li.hide_sp,
  .page_nav_ul02 li.hide_sp {
    display: none;
  }
  .page_nav_ul li.p_tonext {
    background-position: 9px 9px;
    padding-left: 25px;
  }
  .page_nav_ul li.p_tonext.prevp {
    background-position: center right 9px;
    padding-left: 10px;
    padding-right: 25px;
  }
  .page_nav_ul li.p_toback_gr {
    background-position: center right 10px;
    height: 30px;
    line-height: 30px;
    padding-right: 25px;
  }
  .page_nav_ul li:last-child {
    margin-right: 0;
    padding: 0;
  }
  .page_count_box a {
    font-size: 11px;
    height: 29px;
    line-height: 29px;
    margin: 0 -7px;
    padding: 0 7px;
    width: auto;
  }
  .page_skip_ul,
  .page_nav_ul {
    right: 0;
  }
  .page_select {
    left: 0;
    margin: 0;
    position: relative;
  }
  .page_select_ttl {
    font-size: 11px;
    height: 29px;
    line-height: 29px;
    padding-left: 0;
    width: 126px;
  }
  .page_select_ttl span {
    font-size: 11px;
    height: 28px;
    line-height: 29px;
    width: 120px;
  }
  .page_select_menu ul,
  .page_select_menu {
    background: #fff;
    left: 0;
    width: 125px;
  }
  .page_select_menu ul li {
    clear: both;
    float: left;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .page_select_menu li.first_list {
    margin: 0;
  }
  .page_select_menu li:last-child {
    margin: 0;
  }
  .page_select_menu a {
    width: 100%;
  }
}

/* ------------------------------------ */
/* ▼ Banner */
/* ------------------------------------ */
.bnr_box {
  margin: 50px auto 20px;
  width: 500px;
}
.bnr_box figure {
  margin: 0 auto 20px;
}
.bnr_box a,
.bnr_box a img {
  display: block;
}
.bnr_box a:hover {
  opacity: .7;
}
.bnr_box figcaption {
  font-size: 17px;
  line-height: 1.42;
  margin-top: 5px;
  text-align: left;
  width: 100%;
}

@media (max-width: 767px) {
  .bnr_box {
    margin: 20px auto;
    padding: 0 15px;
    width: 100%;
  }
  .bnr_box figure {
    width: 90%;
  }
  .bnr_box figure:last-child {
    margin-bottom: 0;
  }
  .bnr_box figcaption {
    font-size: 15px;
  }
}

/*バナー2つ横並び*/

.bnr_list_2 {
  margin: 50px auto 20px;
  max-width: 850px;
}
.bnr_list_2 ul {
  align-content: center;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  overflow: hidden;
}
.bnr_list_2 ul li {
  margin-bottom: 20px;
  width: 386px;
}
.bnr_list_2 ul li a {
  display: block;
}
.bnr_list_2 ul li a:hover img {
  opacity: .7;
}
.bnr_list_2 ul li figcaption {
  line-height: 1.42;
  margin-top: 2px;
}

@media (max-width: 767px) {
  .bnr_list_2 {
    margin: 20px auto 0;
    padding: 0;
    width: 90%;
  }
  .bnr_list_2 ul {
    margin: 20px auto 0;
    width: 95%;
  }
  .bnr_list_2 ul li {
    width: 100%;
  }
}

/* ------------------------------------ */
/* add 2019/08/08 */
/* ▼ ukiyoe-shoga-link-area */
/* ------------------------------------ */
.ukiyoe-shoga-link-area {
  background: none;
  margin-top: 10px;
  padding-top: 0;
}
.ukiyoe-shoga-link-area .title_h2cmn {
  margin-bottom: 0;
}
.possession__wrap {
  margin-top: .2em;
}
@media (max-width: 767px) {
  .ukiyoe-shoga-link-area .s_box_item_txt_area {
    font-size: 15px;
  }
}

/* ------------------------------------ */
/* ▼ .box_content_under_bnr */
/* ------------------------------------ */
@media (min-width: 768px) {
  .box_content_under_bnr {
    margin: 50px auto 20px;
  }
}

@media (max-width: 767px) {
  .box_content_under_bnr {
    margin: 20px auto 0;
    width: 90%;
  }
  .box_content_under_bnr .cmn_bnr_area.col02 {
    width: 95%;
    padding: 0 0 20px;
  }
}