@charset "UTF-8";
/* ================================================
reset
================================================ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

html::-webkit-scrollbar {
  width: 1px;
  background: #666;
}

html::-webkit-scrollbar-thumb {
  background: #d00;
}

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

header, nav, footer, section {
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}

img {
  border: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}





/* var color */
:root {
  --bg-color: #ddd;
  --base-color: #a6862f;
  --main-color: #8E2023;
  --accent-color: #9f0b0b;
  --acce-d-color: #5f0303;
  --side-nav-color:#c25050;
  --container-width: auto;
  --headline-lineheight: 1.4;
  --base-lineheight: 1.7;
  --point-color:  #c50000;
}





/* ================================================
web font
================================================ */

/* Noto Serif Japanese 900 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');


/* ================================================
rem
================================================ */
html {
  font-size: 625%;
}

@media (min-width: 751px) and (max-width: 750px) {
  html {
    font-size: calc(100vw / 12.8);
  }
}


@media (min-width: 751px) and (max-width: 1000px) {
  html {
    font-size: calc(100vw / 9.8);
  }
}




@media (max-width: 750px) {
  html {
    font-size: calc(100vw / 7.67);
  }
}

/* ================================================
text-shadow
================================================ */


/* ================================================
layout
================================================ */
body {
	height: 100%;
	line-height: 1.6;
	background: url("../images/common/body_bg.jpg") center top;
	background-attachment:fixed;
	background-size: cover;
	font-family: -apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Meiryo UI',Meiryo,sans-serif;
	font-size: .18rem;
/*	font-feature-settings: 'palt';
	-webkit-font-feature-settings: 'palt';
	letter-spacing: .08em;文字詰め*/
}

@media (max-width: 750px) {
  body {
    font-size: .24rem;
  }
}

.wrapper {
  margin: 0 auto;
  position: relative;
  width: 100%;
  max-width: 1200px;
    background-color: #1d181b;
  /*background: url("../images/common/wrapperbg.png") center top no-repeat;*/
  background-size: cover;
}

@media (min-width: 751px) {
  .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.contents {/*bodyの背景色*/
  margin: 0 auto;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  color: #ccc;
  /*background: url(../images/common/2nd_bg2.png) center top no-repeat;
  background-size: contain;*/

  box-shadow: 0 0 5px rgb(0,0,0,55%);
}

@media (min-width: 751px) {
  .contents {
    margin: 0 0 0 auto;
    padding: .25rem/*.3rem*/ .5rem;
    width: calc(100% - 240px);
  }
}

@media (max-width: 750px) {
  .contents {
    padding: 1.4rem .3rem;
  }
}
/*
.contents p, .contents dl, .contents ul {
  text-shadow: #000 2px 0 2px, #000 -2px 0 2px, #000 0 -2px 2px, #000 0 2px 2px, #000 2px 2px 2px, #000 -2px 2px 2px, #000 2px -2px 2px, #000 -2px -2px 2px, #000 1px 2px 2px, #000 -1px 2px 2px, #000 1px -2px 2px, #000 -1px -2px 2px, #000 2px 1px 2px, #000 -2px 1px 2px, #000 2px -1px 2px, #000 -2px -1px 2px;
}
*/
.sidebar {
  -webkit-box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 50;
  width: 100%;
  background: url(../images/common/side_bg01.jpg) center top;
  background-size: cover;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
	background-color: rgba(0, 0, 0, 0.6);
}

.sidebar::-webkit-scrollbar {
  display: none;
}

@media (min-width: 751px) {
  .sidebar {
    width: 240px;
    height: 100%;
  }
}

.sidebar .qr {
  margin: 26px 0 0 0;
  color: #54451f;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
}

@media (max-width: 750px) {
  .sidebar .qr {
    display: none;
  }
}

.sidebar .qr img {
  margin: 0 0 20px 0;
  width: 82px;
}

/* ================================================
lang
================================================ */

.lang_list{
  width: 90%;
  margin: auto;
  background: #000;
  border-radius: 0.1rem;
  margin-bottom: 0.1rem;
}
.lang_head{
  display: flex;
  align-items: center;
  justify-content:center;
  gap:0.1rem;
  font-size: 0.15rem;
  color:#fff;
  padding:0.1rem;
  cursor: pointer;
}
.lang_head:hover{
  background-color: #231212;
}

.lang_head img{
  width: 0.2rem;
  min-width: 0.2rem;
  height: auto;
  margin-left: -0.1rem;
}
.lang_list dd{
  display: none;
  padding:0.1rem 0;
}
.lang_list{
  color:#fff;
}
.lang_item{
  font-size: 0.15rem;
  line-height: 1;
  display: block;
  padding:0.12rem 0.5rem;
  text-align: center;
}
.lang_item:hover{
  color:rgb(214, 8, 8);
  background-color: #1a1212;
}

@media (max-width: 750px) {
  .lang_list{
    display: none;
    width: 100%;
    margin-bottom: 0;
  }
  .lang_head{
    display: none;
  }
  .lang_list dd{
    display: block;
  }
  .lang_item{
    font-size: 0.3rem;
    padding:0.3rem 0.5rem;
  }
}


/* ================================================
nav
================================================ */
nav {
  line-height: 1;
  text-align: center;
  letter-spacing: .02em;
}

@media (min-width: 751px) {
  nav {
    /*padding: 10px;*/
    border-top: .01rem solid var(--acce-d-color);
    border-bottom: .01rem solid var(--acce-d-color);
    display: block !important;
     font-size: .15rem;
  }
}

@media (max-width: 750px) {
  nav {
    padding: .1rem;
    display: none;
/*    background: #211D12;*/
    font-weight: bold;
    font-size: .3rem;
  }
}


nav dl,nav ul{margin: 0 0 0 0;}


nav dt {
	cursor: pointer;
	-webkit-transition: .2s;
	transition: .2s;
	cursor:pointer;
	border-bottom:1px solid #522525;
	background: var(--main-color);
	background-repeat: repeat-x;
  background-image: url(../images/common/btn_dec01.png);
  background-size: cover;
}

nav dt a {
  pointer-events: none;
	margin:0;
	color:#ccc;
	text-decoration:none;
	display:block;
}


nav dt a.enable_link    { pointer-events: auto; }


nav dt:hover {

  filter: brightness(1.3);
  color:#fff;
}

nav dt:hover a.enable_link {

  color:#fff;
}



nav dd {
  display: none;
 background: none
}

nav dd a {
  color: #aaa;
}

nav dd a.current {/*navの現在p*/
   background:hsl(10, 50%, 9%);
}

@media (max-width: 750px) {
  nav dd a.current {
    background:hsl(10, 50%, 9%);
  }
}

nav dd a:hover {/*使用中*/
  opacity: 1.0;
  background:hsl(10, 50%, 9%);
}

nav a {
  padding: 1em 0;
  display: block;
}

nav dd ul li{
	width: 100%;
	border-bottom: 1px #2e2e2e solid;
	margin:0 1em 0em 0;
  background-color: hsl(0, 0%, 0%);
}
nav dd ul li:last-child{
border-bottom: none;
}


/* ================================================
header
================================================ */
@media (max-width: 750px) {
  header {
    padding: 0 .8rem 0 .3rem;
    -webkit-box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
            box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.7);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-content: space-between;
    position: relative;
    height: .8rem;
    background: #000;
  }
}

header a {
  line-height: 1.2;
  color:#ccc;
  font-weight: bold;
}

header a:hover {
  color: #fff;
}

@media (min-width: 751px) {
  header a {
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 190px;
    font-size: 16px;
    background: url("../images/common/logo.png") no-repeat center 14px/212px;
  }
}

header a span {
  display: none;
}

@media (max-width: 750px) {
  header a span {
    display: block;
  }
}

header .home_icon    { width: 8.5%; margin-right: 0.5em;margin-bottom: 0.2em; }
header .home_icon img   { max-width: 50px; }

header .lang_icon{
  position: absolute;
  width: 0.48rem;
  right: 1.7rem;
}

header .toggle {
  position: absolute;
  top: .1rem;
  right: .1rem;
  width: .6rem;
  height: .6rem;
  background-color: var(--acce-d-color);
  cursor: pointer;
}

@media (min-width: 751px) {
  header .home_icon,
  header .lang_icon,
  header .toggle {
    display: none;
  }
}

header .toggle.open span {
  background: none;
}

header .toggle.open span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

header .toggle.open span::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

header .toggle span {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: .4rem;
  height: .02rem;
  background: #fff;
  -webkit-transition: .2s;
  transition: .2s;
}

header .toggle span::before, header .toggle span::after {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: .02rem;
  content: '';
  background: #fff;
  -webkit-transition: .2s;
  transition: .2s;
}

header .toggle span::before {
  -webkit-transform: translateY(-0.08rem);
          transform: translateY(-0.08rem);
}

header .toggle span::after {
  -webkit-transform: translateY(0.08rem);
          transform: translateY(0.08rem);
}

/* ================================================
main
================================================ */
main section {
  margin: -.3rem 0 .5rem 0;
  padding: .3rem 0 0 0;
}

/* @media (max-width: 750px) {
  main section {
    margin-top: -1.1rem;
    padding-top: 1.1rem;
  }
} */

main section:last-child {
  margin-bottom: 0;
}

@media (min-width: 751px) {/*最初のh2の前のあきつめ*/
main section:first-child {
  margin-bottom: 0;
}
}
main section:first-child p:last-child {
  margin-bottom: .45rem;
}


main .sec {
  margin: 0 0 2em 0;
}

main .sec:last-child {
  margin-bottom: 0;
}
main .w80 {
  margin: 1em auto;
  width: 80%;
}

@media (max-width: 750px) {
  main .w80 {
    width: 90%;
  }
}

main p {
  margin: 0 0 .2em 0;
}

main p:last-child {
  margin-bottom: 0;
}

main p img {
  margin: 0 .5em 0 0.5em;
}
main h4 img.icon {/*4100*/
    height: 1.25em;
    width: auto;
  margin: 0 .5em 0 0.5em;
}

main p img, main dl img, main ul img {
  width: auto;
  height: 1.5em;
}
main .disc{padding:1% 0 2% 0;}
main .disc li {
  margin: 0 0 0 1.5em;
  list-style: disc outside;
}

main .reference, main .reference_list li {/*注釈*/
  padding: 0 0 0 1em;
  color: #222222;
  font-size: .16rem;
  text-indent: -1em;
}

@media (max-width: 750px) {
  main .reference, main .reference_list li {
    font-size: .2rem;
  }
}

main .reference::before, main .reference_list li::before {
  margin: 0 .2em 0 0;
  content: '\203b';
  font-family: ‘Hiragino Kaku Gothic ProN’,’ヒラギノ角ゴ ProN W3′,’Meiryo UI’,Meiryo,sans-serif;
}



/*================================================
 *  hover効果
 ================================================*/

.image:hover{filter: brightness(130%);}


.center{
	text-align: center;
	margin: 0 auto;
	clear: both;
}

/* ================================================
link
================================================ */
main + .pagination {
  margin: .5rem 0 0 0;
}

.pagination {
  margin: 0 0 .2rem 0;
  line-height: 1;
}

.pagination li {
  display: inline-block;
	margin-left:0.2em;
  margin-bottom: 0;
}

.pagination li.prev {
  margin: 0 0 0 .15rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}



@media (max-width: 750px) {
  .pagination li + li {
    margin: 0 0 0 .2rem;
  }
}

.pagination a {
  display: block;
  width: 1rem;
  height: .3rem;
}
.pagination a.next {
  background: url("../images/common/next.png") no-repeat center/100%;
  -webkit-transition: none;
  transition: none;
}
.pagination a.prev {
  background: url("../images/common/back.png") no-repeat center/100%;
  -webkit-transition: none;
  transition: none;
}

@media (max-width: 750px) {
  .pagination a {
    width: 1.6rem;
    height: 0.8rem;
  }
}
.pagination a:hover {
  opacity:0.65;
}





/* ================================================
ph
================================================ */
.ph {
  margin: 1em auto;
  border: solid .01rem #F1F6D5;
}

.ph.controller {
  border: none;
}


.licence_oya {
	margin-top: 2em;
	padding: 1em 1em 1em 0em;
	background-color: rgba(208,204,218, 0.8);
}

.licence li{
	margin-bottom: 0.8em;
	font-size: .16rem;
}

.licence li img{
	font-size: .1rem;
}


/* ================================================
flexbox
================================================ */

/* ================================================
本文用flex
================================================ */

.flexbox_ph {
  margin: 1em 0;
  align-items: flex-start;
}

@media (max-width: 750px) {
  .flexbox_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    position: relative;
  }
}
/*スマホ*/
@media (max-width: 750px) {
  .flexbox_ph img {
		display   : block;
    margin: 0.5em 0 1em 0em;
    width: 100%;
  }
}
@media (max-width: 750px) {
    .flexbox_ph p {
		display   : block;
    width: 100%;
    }
  }

@media (max-width: 750px) {/*横並び画面説明文内のアイコンなどが横100％になるのを避ける*/
  .flexbox_ph img.btn {
    width: auto;
    height: 1.25em;
	display   : inline-block;
	margin: 0 0.2em;
  }
  }



/*PC 751以上*/
@media (min-width: 751px) {
    .flexbox_ph p {
/*	display   : block;*/
	width:100%;
		margin:0 1em 0 auto;
/*		margin:0 0 0 auto;*/
	}
  }
@media (min-width: 751px) {
    .flexbox_ph div.flex_txt {
	width: 100%;
	margin:0 1em 0 0;
	}
  }
@media (min-width: 751px) {
    .flexbox_ph img.ss {
	width:50%;
    height: auto;

	}
  }
@media (min-width: 751px) {
    .flexbox_ph .cap img.ss {
	width:100%;
    height: auto;

	}
  }


@media (min-width: 751px) {
  .flexbox_ph div {
	display   : block;
	width:50%;
/*	  margin-left: 1em;*/
 		margin:0 0 0 auto;

  }
 }

@media (min-width: 751px) {
  .flexbox_ph div.aki_lr {
    margin: 0 1em 0 1em;
  }
 }



@media (min-width: 751px) {
  .flexbox_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row-reverse;
  }
}

/*================================================
 *  左テキスト右写真、スマホ切り替えなし
 ================================================*/
div.photo_yoko {
    display: flex;
}
.block_50 {
	display: inline-block;
	width: 48%;
	vertical-align: text-top;
	margin: 0% 1%;
}


/* ================================================
コラム用flex 使用
================================================ */

.flexbox_column_ph {
  /* margin: 1em 0; */
}

@media (max-width: 750px) {
  .flexbox_column_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-direction: column;
  }
}
/*スマホ*/
@media (max-width: 750px) {
  .flexbox_column_ph img {
		display   : block;
    margin: 0 0 1em 0;
    width: 100%;
  }
 }
@media (max-width: 750px) {
    .flexbox_column_ph p {
		display   : block;
    width: 100%;
    }
  }



/*PC 751以上*/
@media (min-width: 751px) {
    .flexbox_column_ph p {
		display   : block;
		width: 100%;
	}
  }

@media (min-width: 751px) {
  .flexbox_column_ph div {
	display   : block;
	width:70%;
	  margin-top: 0.5em;
  }
 }


@media (min-width: 751px) {
  .flexbox_column_ph {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    gap:0.08rem;
  }
}




/*------------------------------------
pagejump
------------------------------------*/
/*ul.pagejump {
	border: 1px dotted black;
}
*/

.pagejump {
  margin: 0 auto .5rem auto;
  display: flex;
  text-align: center;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
  justify-content: center;
}

@media (max-width: 750px) {
  .pagejump {
    font-size: .24rem;
  }
}

main .pagejump li {
  margin: 0 0.5em 1em 0.25em;

  width: 10em;
  text-align: center;
  text-indent: 0;
  background: url(../images/common/btn_dec01.png);
  /* background: var(--main-color); */
  /* outline: 1px solid hsla(0, 0%, 100%, 0.6); */
  outline-offset: -4px;
  border-bottom: 3px solid #ddd;

  min-height: 3em;
}

main .pagejump li.ex_w  { width: 14em; }


main .pagejump.short li   { width: 8.5em; }


.pagejump li:last-child { }

.pagejump a {
  padding: 0.5em 1em;
  width: 100%;
  height: 100%;
  font-size: 0.8em;
  color: #fff;
  display: flex;
  line-height: 1.2;
  align-items: center;
  justify-content: center;
}
.pagejump a.min{
  font-size: 0.7em;
}

.pagejump a:after {
  content: '';
  display: inline-block;
  width: 1.2em; min-width: 1.2em;
  height: 0.8em;
  background: url(../images/common/arrow-w_d.png) no-repeat center / contain;
  margin-left: 0.25em;
  border: none;
}



.pagejump li:hover    { filter: brightness(1.4); }

.pagejump a:hover {
  color: #fff;
opacity: 1.0;
}


/*------------------------------------
pagelink 参照p
------------------------------------*/

.pagelink {
  margin: 0.25rem auto .5rem 0.05rem;
	position: relative;
}

@media (max-width: 750px) {
  .pagelink {
    font-size: .24rem;
  }
}

.pagelink li {
    display: inline-block;
	 /* padding: 0 0 0 0.75em; */
/*	 padding: 0 0 0 -0.25em;*/
	margin: 0em;
  text-indent: 0;
/*	border: 1px pink solid;*/
  vertical-align: top;
  margin-bottom: 0.2em;
}

.pagelink li:nth-child(n+2){
  margin-left: 0.2rem;
}

div.kakomi .pagelink li {
  margin-left: 0.75em;
  margin-bottom: 0em;
 }



.pagelink a::after{
 content: "";
 display: block;
 vertical-align: middle;
 width: 0.22rem;
 height: 0.22rem;
 background: url("../images/common/pagelink.jpg") no-repeat center center / contain;
 color: var(--accent-color);
 margin-left: 0.08rem;
}

.pagelink a {
  display: flex;
  align-items: top;
  line-height: 1;
  color: #b7191b;
  border-bottom: 3px solid #8e0b0e;
}
.pagelink a:hover{
  color: #b7191b;
}
/*
.pagelink a::after      {
  content: "▶";
  display: inline-block;
  line-height: 1.1;
  vertical-align: middle;

  margin-left: 0.25em;
  margin-bottom: 0.2em;

 }
*/


/* ================================================
footer
================================================ */
footer {
  margin: .2rem 0 0 0;
}

footer .copyright {
  font-size: .12rem;
  text-align: center;
  letter-spacing: .05em;
}

@media (max-width: 750px) {
  footer .copyright {
    font-size: .2rem;
  }
}

footer .pagetop {
  display: block;
  position: fixed;
  right: .3rem;
  bottom: .3rem;
  z-index: 10;
  width: .8rem;
  height: .5rem;
  content: '';
  background: url("../images/common/totop.png") no-repeat center/100%;
}

@media (max-width: 750px) {
  footer .pagetop {
    width: 1.0rem;
    height: 1.0rem;
  }
}

footer .pagetop:hover {
  filter: brightness(1.3);
  opacity: 1.0;
}

/* ================================================
TOP
================================================ */
.top {
		/* background:#ede4cd; */
}

@media (min-width: 751px) {
  .top {
    padding: 0 .3rem .3rem .3rem;
  }
}

@media (max-width: 750px) {
  .top {
    padding-top: .8rem;
  }
}

.top .mv {
  height: 5.5rem;
  margin: 0 -.3rem;
  background: url("../images/0000/mv_top.jpg") no-repeat center/cover;
}

@media (max-width: 750px) {
  .top .mv {
    height: 8.2rem;
    background: url("../images/0000/mv_sp2.jpg") no-repeat center/cover;
  }
}

.top p, .top dl, .top ul {
  text-shadow: none;
}

.top .link {
  margin: 2em 0;
  line-height: 1;
  font-weight: bold;
}

@media (min-width: 751px) {
  .top .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .17rem;
  }
  @supports (display: grid) {
    .top .link {
      display: -ms-grid;
      display: grid;
      gap: .1rem;
      -ms-grid-columns: 1fr 1fr ;
          grid-template-columns: 1fr 1fr;
    }
  }
}

@media (min-width: 751px) {
  .top .link .col {
    width: calc(100% / 2);
  }
  @supports (display: grid) {
    .top .link .col {
      width: auto;
    }
  }
}

@media (max-width: 750px) {
  .top .link .col {
    margin: 0 0 2em 0;
  }
  .top .link .col:last-child {
    margin-bottom: 0;
  }
}

.top .link dl {/*top目次リンク*/
  margin: 0 0 2em 0;
  padding: 0 0 0 1.5em;
}

@media (max-width:750px) {
  .top .link dl {/*top目次リンク*/
    padding: 0em;
  }
}

.top .link dl:last-child {
  margin-bottom: 0;
}

.top .link dt {/*top目次リンク　項目名　見出し*/
  margin: 0 0 1em 0;
  padding:0.8em 0.8em;
  font-size: 1.1em;
  color: #fff;
  border-bottom: solid 4px #4d0d0d;
  background: #000;

}
.top .link dt.hihyoji {/**/
  border: none;
    height: 2em;

}
@media (max-width: 750px) {
.top .link dt.hihyoji {/**/
    display: none;
  }
}



.top .link li {
  margin: 0 0 1em 0.5em;
  text-indent: 0;
  color: #ddd;
  padding-left: 1em;
  text-indent: -0.9em;
}

.top .link li:last-child {
  margin-bottom: 0;
}


.top .link li li{/*下階層*/
  margin: 0.7em 0 0.7em 0.5em;

	font-size: 80%;
  line-height: 1.2;
}


.top .link li::before {
	content: '\025b6';
	margin-right: 0.4em;
  font-size: 0.8em;
}

.top .link li::before {
	content: '\025b6';
	margin-right: 0.4em;
  font-size: 0.8em;
}

.top .link li li::before {
	margin-right: 0.2em;
  font-size: 0.8em;
  vertical-align: middle;
  margin-bottom: 0em;
  padding-bottom: 0.5em;
}
.top .link li:hover::before, .top .link li li:hover::before{
  color:#ebb8b1;
}


.top .link .pagejump {
  margin: .8em 0 0 0;
  padding: 0 0 0 1em;
  display: inherit;
  font-weight: normal;
  text-align: left;
}

.top .link .pagejump li {
  display: inherit;
  margin: 0 0 .5em 0;
}

.top .link .pagejump li:last-child {
  margin-bottom: 0;
}

.top .reference_list {
  margin: 2em 0;
}

.top .reference_list li {/*トップ注釈*/
  color: #fff;
  font-size: .12rem;
}

@media (max-width: 750px) {
  .top .reference_list li  {
    font-size: .2rem;
  }
}

.top .reference_list img {
  height: 0.7em;
  margin-bottom: 0.3em;
}
.top .reference_list img.hlp {
  height: 1.1em;
}





.top_remake {
	display: flex;
	flex-direction: column;
	 justify-content: center;
	background-color: rgba(255,255,255,0.50);
	padding: 1em;
	color: #555;
}
.top_remake p {
	display: block;
	text-align: center;
}
.top_remake img {
  margin: 0 auto;
  width: 82px;
}

/*# sourceMappingURL=style.css.map */




/* ================================================
ユーザーサポート
================================================ */
.column {
	padding: 0.9em;
	 margin: 1em 0em 1em 0em;
	background: rgba(255,255,255, 0.5);
	border: double 1px #211d12;
}


@media (max-width: 750px) {
	.column {
	}
}
.column div.column_ttl {
	background: linear-gradient(to right, transparent 0%, rgba(121,91,29, 0.7) 30%, rgba(121,91,29, 0.7) 70%, transparent 100%);
	padding: 0.5em 0em;
	  display: flex;
  justify-content: center;
  align-items: center;
}




/*----------------------------------
h1 h2 h3
----------------------------------*/




h1	{
	position: relative;
	text-align:center;
  background: linear-gradient(0deg, #b1b1b1, #f3f3f3 50%);
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 6px #000);

  font-size:0.45rem;

	padding: 30px 5px 20px;
	margin-bottom:0.7em;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-optical-sizing: auto;
	line-height: 1.2em;
}

@media (max-width: 750px) {
  h1{
    font-size:0.55rem;
  }
}

h1 > span {
	font-weight: bold;
	}

h2	{
	position: relative;
	font-size: 130%/*25px*/;
	font-weight: bold;
	color: #fffe;
	line-height: 1.2em;
	text-align: center;
	padding: 15px 10px 15px 10px;
	margin-bottom:0.5em;
	z-index: 4;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
	line-height: 1.2em;


	background-image:url("../images/common/title_base_lg.png");
	background-position: center center;
	background-repeat: repeat-x;
  border-bottom: 0.2em solid #500a0a;
}



h2 img {
	height:30px;
	vertical-align:middle;
	padding:0px 5px;
}

.before { /*スマホヘッダー固定用の空白 shiyo*/
	height:60px;
}
@media (max-width: 750px) {
  .before{
    height: 5vw;
  }
}


h3 {
	position: relative;
	font-size:110%;
	font-weight: bold;
	line-height: 1.2;
	padding: 0.6em 0.75em;
	margin-top:3em;
	margin-bottom:0.5em;

	vertical-align: middle;

	text-decoration: none;
	/*background: rgb(95, 5, 5);
    color: rgb(255, 255, 255);*/
    background-color: #000;
    color: gainsboro;
    /*box-shadow: rgb(159 0 50) 0px 0px 0px 2px;*/
    border-bottom: solid 4px #4d0d0d;

    display: flex;
    align-items: center;

}
h3 img {
	height:120%/*22px*/;
	padding:0px;
	margin:0px 5px ;
	vertical-align: middle;
  max-height: 2em;
  width: auto;
}
h3 > span {
	font-weight: bold;
	}
h3 > span > span {
	font-weight: bold;
	}

h3 ~ p {   }




h4 {
	font-size:110%;
	clear: both ;
	color:#b02c16;
	font-weight: bold;
	line-height: 1.2em;
	padding: 3px 0px 5px 10px;
	margin-top:2em;
	margin-bottom:0.5em;
	border-bottom: 1px solid #a02410;
  position: relative;
  padding-bottom: 5px;
  border-left: 0.4em solid #a02410;

  display: flex;
  align-items: center;

}

h4 img {
	height:110%;
	vertical-align:middle;
	padding:0px 0px 0px 0px;
}

main h4 img.icon    { margin: 0 .5em 0 0; }

h4 a {
	text-decoration: none;
	color:#72640c;
}




h4.us::after{border-bottom: none;}



h5 {
	font-size:0.2rem;
	clear: both ;
	color:#9f1114;
	font-weight: bold;
	line-height: 1.2em;
	padding: 3px 0px 0.1rem 0px;
	margin-top:3%;
	margin-bottom:0.5em;
	border-bottom: 2px solid rgba(85,71,56,0.5);
}

@media (max-width:750px){
  h5{
    font-size: inherit;
  }
}

h5 img {
	height:1.5em;/*25px;*/
	width: 2em;
	vertical-align:middle;
	padding:0px 10px 0px 0px;

}

section {
	overflow: hidden;
	margin-bottom:0.5em;
	clear: both ;
}
section:first-child {
	margin-bottom:0;
}


.indent_left        { margin-left: 1.5em; }


a:hover {
	color:#ebb8b1;
	opacity:0.65;
}
p {
	margin:0 0 1em 0;
}
img {
	vertical-align:middle;
}
img.frame {/*shiyo*/
	border:1px solid #b8860b;
	background-color: rgba(0,0,0,0.5);
}
img.frame_02 {/*mishiyo*/

}
ul,ol,dl {
	margin:0 0 1em 0;
}
ul li {
		list-style-type: none;
/*	list-style:disc;*/
}

main li {
	margin-left:2em;
  margin-bottom: 0.25em;
  text-indent: -0.5em;
  line-height: 1.25;
}

ul.maru li {
	list-style:disc;
	text-indent: -0em;
	padding-left: 1em;
}
ul.nodisc li {
	list-style:none;
/*	text-indent: -0em;
	padding-left: 1em;*/
}
ul.maru_kei li {
	list-style:disc;
	text-indent: -0em;
	padding-left: 1em;
}
div.list_kei {
	border: 2px #be0006 solid;
	margin: 0.5em 0 1em;
}
div.list_back {
/*	border: 2px #be0006 solid;*/
	margin: 0.5em 0 1em;
	background: rgba(245, 240, 187, 0.4)/*rgba(190,0,6,0.1)*/;
	padding-bottom: 0.1em;
}
p.list_back_ttl {
	border-bottom: 3px solid rgba(245, 240, 187, 1);
	margin: 0 0 0.5em;
	background: rgba(245, 240, 187, 0.6)/*rgba(190,0,6,1)*/;
	padding: 0.2em 0 0 0.5em;
	color: rgba(190,0,6,1);
}

/*================================================
 *  表
 ================================================*/

 table {
  margin: 1em 0;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  line-height: 1.2;
  color: #000;
  border: solid 2px #222;
}

table:last-child {
  margin-bottom: 0;
}

table th, table td {
  padding: .5em;
  border: dotted 1px #333;
}

table td {
  border: dotted 1px #333;
  background: #9d9d9d;
}
table td.info {
  background: #b9a281;
  color:#111;
  text-align: center;
}

table th {
  width: 8em;
  background: #808080;
  border: dotted 1px #333;
  font-weight: bold;
  text-align: center;
	color: #222;
}

table th.strong {
  background: #50090a;
  color:#fff;
}

table tr.strong-sub th {
  background: #a88989;
  color:#1d1d1d;
}


table.thw15em th  { width:15em; }

table th br.force { display: block; }


table th > span {/*thの改行*/
	display: inline-block;
    font-size: 75%;
    font-style: normal;
    background-color: gold;
    color: black;
    padding: 0 0.5em;
    margin-top: 0.2em;
}
/*
@media (min-width: 751px) {
  table th br {
    display: none;
  }
}
*/

table img {
  margin: 0 .5em;
  width: auto;
  height: 1.2em;
}

table.table_btn {
  table-layout: fixed;
}

table.table_btn th, table.table_btn td {
  width: auto;
	text-align: center;
}

table.table_btn th.th_02 {
  background: rgba(68,68,68, 1.0);
  font-weight: bold;
  text-align: center;
}


th.th_second {/*表の見出しが2段階*/
  width: 20%;
 background: rgba(20,0,71, 0.8);
}

table.w_ttl {/*冒頭に見出し行あり*/
}

table.w_ttl th.midashigyo {
  width: auto;
  background-color: rgba(0,0,0,0.3)	;
	color: #000;
}

table.w_ttl th {
 width: 35%;
}







th {
	text-align:left;
	font-weight:bold;
}



td {
	text-align:left;
	color:#000;
	padding:2px 10px;
	background: rgba(255,255,255,0.3);
}

td.info {
	font-size:85%;
	color:#392703;
/*	padding:2px 10px;*/
	background: rgba(255,255,255,0.75);
    /* border: solid 1px #7b672e; */

}


th img {
	height:30px;
	vertical-align:middle;
	margin:5px;
}

th img.ps4icon {
	height:25px;
	vertical-align:middle;
	margin:5px;
}


td img {
	height:25px;
	vertical-align:middle;
	margin:5px;
}
th,td {
  	border: solid 1px #7b672e;
	vertical-align: middle;
}

td p.shita_midashi {
	font-weight: bold;
	color: rgba(20,0,71, 1.0);
	border-bottom: 1px rgba(20,0,71, 1.0) solid;
	border-left: 3px rgba(20,0,71, 1.0) solid;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	padding-left: 0.2em;
	}
td p.shita_midashi:first-child{
	margin-top: 0em;
}

table.sousa th {
    width: 40%
}


/* cat2000 */

/* .cat2000 h1           { font-size: 0.55rem; } */

.cat2000 table th     { width: 15em; background: #808080; color: #333; border: dotted 1px #333; }



/*================================================
 *  表（テキストセンター）
 ================================================*/
.center th {
  	text-align: center;
}
.center td {
  	text-align: center;
}






/*================================================
 *  クラス
 ================================================*/

.sec_inner {
  width: 96%;
  margin: 0 auto 0;
}


.float_clear{
	clear: both ;
}
.line {
	display: inline-block;
}
.text_main{/*shiyo*/
	margin-top: 0.5em;
  	margin-bottom:0.5em;
	padding:0;
	text-align: justify;
}
.text_main img {/*shiyo*/
	height:22px;
	margin:5px;
}
.reflect_lr {/*左右反転*/
  display: inline-block;
  transform: scale(-1,1);
}
.reflect_ud {/*上下反転*/
  display: inline-block;
  transform: scale(1,1);
}
.rotated_90 {
transform: rotate(90deg)
}


/*================================================
 *  注釈
 ================================================*/

p.hint0,p.hint1 {/*注釈1*/
	font-size: 0.9em;
	color: rgba(136, 118, 83, 0.9);
}
.hint0::before {
	content: '\203b';
	margin-right: 0.2em;
}

div.flexbox_ph p.hint0 {/*flex内*/
	font: 1em;
	color: hsl(8, 58%, 42%);
  display: inline-block;
  margin-left: 1em;
    text-indent: -1em;
    line-height: 1.3;
}



.hint1::before {/*\203b*/
	content: 'Caution';

	padding: 0.2em;
	margin-right: 0.25em;
}




/*================================================
 *  san8re 3200 zu
 ================================================*/


 .z3200_1--wrapper         {     margin: 2em 0; }

 hr.spacer                 { border: none; }

 hr.spacer::after          {
   content: '';
   display: block;
   width: 2.0em;
   height: 2.0em;
   background: url("../images/common/arrow_d.png") no-repeat center / contain;
   margin: 0 auto;
 }


 .z3200_1--blk             { padding: 1.5em; background: hsl(41, 100%, 88%); border-radius: 0.5em; }

 .hyojo--blk               { background: url(../images/3000/bg1.png) no-repeat bottom center; background-size: cover; }
 .toshi--blk               { background: url(../images/3000/bg2.png) no-repeat top center; background-size: cover; }
 .next_season--blk         { background: hsl(0, 30%, 78%);  }


 .inner_blk                { padding: 0.25em; margin: 0.75em auto; background: hsla(0, 0%, 98%, 0.7); border-radius: 0.25em;  }


 .hyojo--blk dl      {
   display: flex;
   justify-content: space-around;
   align-items: center;
 }

 .hyojo--blk dd      { width: 50%; font-size: 1.3em; text-align: center; }

 .hyojo--blk dd.img_wrap      { width: 20%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.hyojo--blk img       { display: block; margin: 0.2em auto; }

 .battle--wrap div   { min-height: 5em; color: #fff; border-radius: 0.25em; display: flex; align-items: center; justify-content: center;}

 .battle--wrap.battle1 div   { background-color:hsl(34, 70%, 41%); }
 .battle--wrap.battle2 div   { background-color:hsl(17, 70%, 41%); }


 .toshi--blk          {  }

 .toshi--blk ul          { display: flex; align-items: center; justify-content: center; }
 .toshi--blk li          { display: flex; align-items: center; flex-direction: column; justify-content: center;
    margin:  0.5em 0.5em; text-indent: 0; text-align: center; padding: 0.25em; font-size: 1.1em;
    background: hsla(0, 0%, 98%, 0.7); border-radius: 0.25em; min-height: 6em; width: 40%; }
 .toshi--blk li.img_wrap { background: none; margin: 0; width: 20%; }

 .toshi--blk li.img_wrap img      { display: block; }

 .z3200_1--wrapper h5      { border: none; font-size: 0.25rem; margin: 0; padding: 0; margin-bottom: 0.5em; }
 .z3200_1--wrapper h6      { text-align: center; font-size: 1.3em;}


 @media (max-width: 750px) {
   .toshi--blk ul {
     flex-direction: column;
   }

   .toshi--blk li.img_wrap        { flex-direction: row }

   .toshi--blk li.img_wrap,
   .toshi--blk li                 { width: 100%; min-height: 4em; }

   .toshi--blk li.img_wrap img     { display: block; transform: rotate(90deg); }

 }








/*================================================
 *  photo
 ================================================*/


div.photo {/*画像センタ*/
     width:80%;
     min-width: 320px;
     margin:0.4rem 10% 10%;
/*     border:#F70841 1px solid;　外ケイ1*/
background-color: rgb(53 53 53 / 50%);
	padding:1.5%;/*背景とアキで外ケイ2*/
}

@media (max-width: 750px) {
div.photo {/*画像センタ*/
	width: 100%;
     margin:0;
	}
}
/*================================================
 *  san8re kobetsu
 ================================================*/



table.btn150 th img{/*4200*/
  width: 50px;
    height: 50px;
}

table.btn150 th{/*4200*/
  padding: .1em;
}



/*================================================
 *  san8re 3200 zu
 ================================================*/



.zu_base{
    position: relative;
    background: white;
    width: 100%;
    height: auto;
    padding: 0.5em;
}
.zu_naka{
    margin: 0.5em;
    padding: 0.25em;
}
p.center{
text-align: center;
}

.hyojo_sento{
    background-color: palegoldenrod;
}
.toshi{
    background-color: peachpuff;
}
.next_season{
    background-color: pink;
}


.hyojo {
    border: 2px red dotted;
    margin: 0.5em;
}
.hyojo_senryaku {
    border: 1px red solid;
    margin: 0.5em;
}
.hyojo_ninmu{
    border: 1px red solid;
    margin: 0.5em;
    bottom: 0;
}


/*
.flex_zu{
    display: flex;
}

.zu30 {
    width: 30%;
}
.zu70 {
    width: 70%;
}
.zu50 {
    width: 50%;
}


.zu_up {
    position: relative;
    display: flex;
    height: auto;
}


.zu_up div.base01{
    padding: 0.5em;
    width:100%;
    height:auto;
    position: relative;
    display: flex;
}


.base101{
    padding: 1em;
    justify-content: center;
  align-items: center;

}

.zu_up div.base02{
    margin: 8px;
    padding: 0.5em;
    width:40%;
    background: #B56062;
    height: auto;
}
.war_gungi,.war_sento{
    border: 1px solid black;
    margin: 0.25em;
}


.base03{
    margin: 0.5em;
  justify-content: center;
  align-items: center;
    display: flex;
}
.base03 div{
    background: white;
    margin: 0.5em;
    padding: 2px;
  justify-content: center;
  align-items: center;
}


@media (max-width: 750px) {
    .base03{
    flex-wrap: wrap;
    }

    .base03 div{
    width: 90%
    }
}
*/



/*================================================
 *  画像（横並び)
 ================================================*/

/*
.block_30 {
	display: inline-block;
	width: 30%;
	vertical-align: text-top;
	margin: 0% 1%;
}
*/


/* 1100 */

.p1100          {  }

.p1100 .kakomi          { margin-bottom: 1.5em; }
.p1100 .kakomi h4       { border-left: 0; border-bottom: 2px solid; border-color: var(--acce-d-color); color:#3b0101;}

.p1100 a        { text-decoration: underline; text-underline-offset:0.2em;  }

main .p1100 .disc li  { margin-bottom: 0.75em;}

/*================================================
 *  番号付き見出し インデントあり
 ================================================*/

.number{
	margin-left: 3%;
	margin-right: 3%;
	text-align: justify;
}

.number h3 {
	font-weight: bold;
	clear: both ;
	background-color: inherit;
	border:none;
	box-shadow: none;
	color:#cd1919;
	font-size: 1.2em !important;
	line-height: 0.5;
	/*padding-left:1.75em;
	text-indent:-1.75em;*/
    padding-left:0em;
	margin-bottom: 0.05rem ;
	padding-bottom: 0;
	text-align: left;
}
.number_img{ /*数字画像 sample使用*/
	height: 1.5em;
	width: auto;
	margin: 0em 0.25em 0em 0em;
	vertical-align: middle;
}

/*================================================
 *  番号付き見出し インデントなし
 ================================================*/


.cont_wrap      { margin-left: 1em; }

.number_akinashi {
	margin-left: 0%;
	margin-right: 0%;
}

.number_akinashi h3 {
	font-weight: bold;
	clear: both ;
	background-color: inherit;
	border:none;
	box-shadow: none;
	color:#730031;
	font-size: 1.2em !important;
	line-height: 1.2;
	padding-left:0;
	text-indent:0;
	margin-bottom: 0 ;
	padding-bottom: 0;
	text-align: left;
}
.number_img{
	height: 1.5em;
	width: auto;
	margin: 0em 0.25em 0em 0em;
	vertical-align: middle;
}

@media (max-width: 750px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-top: 0.1em;
margin-right: 0.1em;
}
}

@media (min-width: 751px) {
.capcenter_no img {
	display: inline-block;
	width: auto;
margin-right: 0.1em;
}
}

/*
@media (min-width: 751px) {
.number_akinashi br{
	display: none;
}
}
@media (max-width: 750px) {
.number_akinashi.capcenter_no br{
	display: inline;
}
}
*/

/*4100*/
.photo p.capcenter_no{
	margin-top: 0.5em;
}
.indent_left{
	margin-left: 2.2em;
}

@media (max-width: 750px) {
  .indent_left{
    margin-left: 1em;
  }
}


/*================================================
 *  囲み1
 ================================================*/

.kakomi {
	margin: .5em auto;
	border: solid 1px #a00032;
	clear: both;
	color: #360a03;
	background: #bcb8b4cc;
  padding: 0.75em;

}


.kakomi p {
	padding: 0.5em;
	margin: 0.25em 0;
	color:#360a03;
}
.kakomi h4 {
	margin: 0;
	padding: 0.5em;

  margin-bottom: 0.5em;
   }


/*================================================
 *  span (h3内)
 ================================================*/
h3 span {
	margin: 0 0.3em;
	font-size: 70%;
	padding: 0.1em 0.3em ;
	vertical-align: 0.15em;
	background: rgb(0,0,0);
}
span.kunshu,span.totoku {color: red;}
span.kunshu::before {content: '君主';}
/*span.totoku {color: #fce45f;}*/
span.totoku::before {content: '都督';}


span.taishu {color: orange;}
span.taishu::before {content: '太守';}


span.gunshi {color: yellow;}
span.gunshi::before {content: '軍師';}


span.ippan {color: green;}
span.ippan::before {content: '一般';}


span.toryo,span.doshi {color: blue;}
span.toryo::before {content: '頭領';}
span.doshi::before {content: '同志';}

/*furious*/
.flex_ph_left {
    display: flex;
    position: relative;
    flex-direction: row;
    align-items: center;

}
img.mini {
    width: 30%;
    margin: 0 4% 0 0;
}


.flex_2box {
    display: flex;
    position: relative;
}
.flex_2box img {
    width: 50%;
    height: 50%;
    padding: 0.5em;
}
.cap {
    font-size: 90%;
        text-align: center;
}


.flex_2box_child_cap {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    height: 100%;
    justify-content: space-between;

}
.flex_2box_child_cap img {
    width: 100%;
    padding: 0　0.5em;
}
/*.p.cap_c {
    font-size: 90%;
    text-align: center;
}
*/


.flex_ph_r {
    display: flex;
    position: relative;
    flex-direction: row;
    width: 100%;
    height: 100%;
    justify-content: space-between;
}
.flex_ph_r img {
    width: 50%;
    padding-left: 12px;
}

div.ninpo{
    width: 96%;
    margin: 4%;

}
/*かこみに追加*/
.hint_box {
    position: relative;
}
.hint_box::after {
    content: '提示';
    position: absolute;
    top:0;
    left:0;
    background-color: #b9270f;
    color: aliceblue;
    font-size: 75%;
    margin: 0px;
    padding: 2px 12px;
}
ul.kakomi li {
    list-style-type: circle;
}

img.ue {
    width: 100px;
    margin: auto;
  display: block;

}
