
:root{
    --bn-color01:#8e1523; /* あか */
    --bn-color02:#1f316f; /* あお */
}

.color1 {
	color:var(--bn-color01);
	background-color: var(--bn-color01);
}

.color2 {
	color:var(--bn-color02);
	background-color: var(--bn-color02);
}

/* 赤テーマの場合 */
#bunjyo{
}

/* 青テーマの場合 */
#bunjyo2{
}

.main-img{
	width: 100%;
}

.main-img-sp{
	display: none;
}

@media screen and (max-width:992px) {
	
.main-img{
	display: none;
}
	
.main-img-sp{
	display: block;
	width: 100%;
}
	
}

/* 背景 */
.bn-back01{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #ffffff;
}

.bn-back02{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #e8e6df;
}

.bn-back03{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: var(--bn-color01);
}

.bn-back04{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #f1f0ec;
}

/* 青テーマ用 */
#bunjyo2 .bn-back03{
	background-color: var(--bn-color02);
}

.sec-900{
	width: 900px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

@media screen and (max-width:1200px) {

.bn-back01{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}

.bn-back02{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}

.bn-back03{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}

.bn-back04{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}
	
.sec-900{
	width: 95%;
}
	
}

@media screen and (max-width:992px) {
	
.bn-back01{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.bn-back02{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.bn-back03{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.bn-back04{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}
	
}

/* ボタン */
.bn-btnbox {
	width: 100%;
	display: block;
	position:relative;
	text-align: left;
	font-size: 0;
	margin-right: auto;
	margin-left: auto;
}

.bn-btnbox2 {
	width: 100%;
	display: block;
	position:relative;
	text-align: left;
	font-size: 0;
	margin-top: 80px;
	margin-right: auto;
	margin-left: auto;
}

.bn-btnbox3 {
	width: 100%;
	display: block;
	position:relative;
	text-align: left;
	font-size: 0;
	margin-top: 80px;
	margin-right: auto;
	margin-left: auto;
}

a.bn-bt1 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	background-color: #9a8d7c;
	text-decoration: none;
	font-size: 3rem;
	text-align: center;
	padding: 20px 50px;
	width: 45%;
	display: inline-block;
	position: relative;
	letter-spacing: 1px;
	border-radius: 45px;
}

a.bn-bt1 + a.bn-bt1 {
	margin-left: 10%;
}

a.bn-bt2 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	background-color: var(--bn-color01);
	text-decoration: none;
	font-size: 3rem;
	text-align: center;
	padding: 20px 50px;
	width: 100%;
	display: inline-block;
	position: relative;
	letter-spacing: 1px;
	border-radius: 45px;
}

/* 青テーマ用 */
#bunjyo2 a.bn-bt2 {
	background-color: var(--bn-color02);
}

a.bn-bt6 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	background-color: #9a8d7c;
	text-decoration: none;
	font-size: 3rem;
	text-align: center;
	padding: 20px 50px;
	width: 45%;
	display: block;
	position: relative;
	letter-spacing: 1px;
	border-radius: 45px;
	margin-right: auto;
	margin-left: auto;
}

a.bn-bt1:hover,
a.bn-bt2:hover,
a.bn-bt6:hover {
    opacity:0.7;
}

a.bn-bt1 img.icon,
a.bn-bt6 img.icon {
	display: inline-block;
	width: 40px;
	height: auto;
	vertical-align:middle;
	margin-right: 10px;
	margin-bottom: 10px;
}

a.bn-bt1 img.arrow,
a.bn-bt2 img.arrow,
a.bn-bt6 img.arrow {
	display: inline-block;
	width: 20px;
	height: auto;
	vertical-align:middle;
	position:absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

ul.bn-bt3 {
	width: 100%;
	background-color: #fff;
	font-size: 0;
	margin: 50px 0 0 0;
	border-radius: 10px;
}

ul.bn-bt3 li {
	width: 25%;
	height: 80px;
	display: inline-block;
	text-align: center;
	margin: 10px 0 10px 0;
	position:relative;
}

#bunjyo2 ul.bn-bt3 li {
	width: 20%;
}

ul.bn-bt4 {
	width: 100%;
	background-color: #fff;
	font-size: 0;
	margin: 50px 0 0 0;
	border-radius: 10px;
}

ul.bn-bt4 li {
	width: 16.5%;
	height: 80px;
	display: inline-block;
	text-align: center;
	margin: 10px 0 10px 0;
	position:relative;
}

ul.bn-bt3 li:before,
ul.bn-bt4 li:before {
	content: "";
	position:absolute;
	top: 20px;
	bottom: 20px;
	right: 0px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #666666;
}

ul.bn-bt3 li:last-child:before,
ul.bn-bt4 li:last-child:before {
	border-right-width: 0;
	border-right-style: none;
}

ul.bn-bt3 li a,
ul.bn-bt4 li a {
	position:absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

ul.bn-bt3 li span {
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.2rem;
	letter-spacing: 1px;
	font-weight: 400;
	color: #000;
}

ul.bn-bt4 li span {
	width: 100%;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	letter-spacing: 1px;
	font-weight: 400;
	color: #000;
}

#bunjyo2 ul.bn-bt3 li span {
	font-size: 2.1rem;
	letter-spacing: 1px;
}

@media screen and (max-width:992px) {
	
.bn-btnbox {
	width: 80%;
}

.bn-btnbox2 {
	width: 80%;
	margin-top: 50px;
}
	
.bn-btnbox3 {
	width: 80%;
	margin-top: 20px;
}
	
a.bn-bt1 {
	font-size: 1.6rem;
	padding: 10px 30px;
	width: 100%;
	display: block;
	border-radius: 45px;
}

a.bn-bt1 + a.bn-bt1 {
	margin-left: 0;
	margin-top: 20px;
}

a.bn-bt2 {
	font-size: 1.6rem;
	padding: 10px 30px;
	width: 100%;
	display: block;
	border-radius: 45px;
}
	
a.bn-bt6 {
	font-size: 1.6rem;
	padding: 10px 30px;
	width: 100%;
	display: block;
	border-radius: 45px;
}
	
a.bn-bt1 img.icon,	
a.bn-bt6 img.icon {
	width: 25px;
	margin-right: 10px;
	margin-bottom: 5px;
}
	
a.bn-bt1 img.arrow,
a.bn-bt2 img.arrow,
a.bn-bt6 img.arrow {
	width: 13px;
	right: 20px;
}
	
ul.bn-bt3,
ul.bn-bt4 {
	margin: 30px 0 0 0;
	border-radius: 10px;
}
	
ul.bn-bt3 li,
ul.bn-bt4 li {
	width: 50%;
	height: 40px;
	margin: 5px 0 5px 0;
}
	
#bunjyo2 ul.bn-bt3 li {
	width: 50%;
}
	
ul.bn-bt3 li:before,
ul.bn-bt4 li:before {
	content: "";
	position:absolute;
	top: 5px;
	bottom: 5px;
	right: 0px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #666666;
}
	
ul.bn-bt3 li:nth-child(even):before,
ul.bn-bt4 li:nth-child(even):before {
	border-right-width: 0;
	border-right-style: none;
}
	
ul.bn-bt3 li:last-child:before,
ul.bn-bt4 li:last-child:before {
	border-right-width: 0;
	border-right-style: none;
}

ul.bn-bt3 li span,
ul.bn-bt4 li span {
	font-size: 1.6rem;
}
	
#bunjyo2 ul.bn-bt3 li span {
	font-size: 1.6rem;
}

}


/* その他、個別設定 */
.bn-title01 {
	width: 80%;
	margin: 0 auto;
}

.bn-title02 {
	width: 40%;
	margin: 0 auto;
}

.bn-title02 + .bn-title01 {
	margin-top: 50px;
}

@media screen and (max-width:992px) {
	
.bn-title01 {
	width: 100%;
}

.bn-title02 {
	width: 60%;
}
	
.bn-title02 + .bn-title01 {
	margin-top: 30px;
}
	
}

p{
	line-height: 1.5;
}

p.bn-sub01{
	font-size: 2rem;
	text-align: center;
}

p.bn-sub02{
	font-size: 2rem;
	margin: 20px auto 0;
	line-height: 32px;
}

.bn-title01 + p,
.bn-title02 + p,
p.bn-sub01 + p{
	margin: 50px auto 0;
}

p.bn-sub02 + p{
	margin: 10px auto 0;
}

p.bn-sub02 .nun{
	display: inline-block;
	width: 32px;
	height: 32px;
	background-color: var(--bn-color01);
	border-radius: 20px;
	position:relative;
	margin-right: 10px;
	vertical-align:middle;
}

/* 青テーマ用 */
#bunjyo2 p.bn-sub02 .nun{
	background-color: var(--bn-color02);
}

p.bn-sub02 .nun span{
	position:absolute;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	color: #fff;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width:992px) {
	
p.bn-sub01{
	font-size: 1.6rem;
	text-align: left;
}

p.bn-sub02{
	font-size: 1.6rem;
	margin: 10px auto 0;
	line-height: 32px;
	text-align: left;
}
	
.bn-title01 + p,
.bn-title02 + p,
p.bn-sub01 + p{
	margin: 20px auto 0;
}
	
p.bn-sub02 .nun{
	width: 24px;
	height: 24px;
	border-radius: 13px;
	margin-right: 3px;
}

p.bn-sub02 .nun span{
	font-size: 1.6rem;
}
	
}

.bn-box01 {
	width: 100%;
	margin: 50px auto 0;
	font-size: 0;
}

.bn-box01 div {
	width: 47%;
	display: inline-block;
	margin: 20px 6% 0 0;
	border : solid 2px #cfa32b ;
}

@media screen and (max-width:992px) {

.bn-box01 {
	margin: 30px auto 0;
}

.bn-box01 div {
	width: 100%;
	display: block;
	margin: 15px 0 0 0;
	border : solid 1px #cfa32b ;
}
	
}

.bn-box02 {
	width: 100%;
	margin: 50px auto 0;
	font-size: 0;
}

.bn-box02 div {
	width: 47%;
	display: inline-block;
	margin: 50px 6% 0 0;
	vertical-align:top;
}

@media screen and (max-width:992px) {
	
.bn-box02 {
	margin: 30px auto 0;
}

.bn-box02 div {
	width: 100%;
	display: block;
	margin: 20px 0 0 0;
}
	
}

.bn-box03 {
	width: 100%;
	margin: 100px auto 0;
	font-size: 0;
}

.bn-box03 div {
	width: 32%;
	display: inline-block;
	margin: 20px 2% 0 0;
	vertical-align:top;
}

@media screen and (max-width:992px) {

.bn-box03 {
	margin: 50px auto 0;
}

.bn-box03 div {
	width: 80%;
	display: block;
	margin: 20px auto 0;
}
	
	
}

.bn-box04 {
	width: 100%;
	margin: 50px auto 0;
	font-size: 0;
}

.bn-box04 div {
	width: 49%;
	display: inline-block;
	margin: 0;
	border : solid 2px #cfa32b ;
	box-sizing: border-box;
}

.bn-box04 div:nth-child(2),
.bn-box04 div:nth-child(4){
	border-left-width: 0px;
	border-left-style: none;
}

.bn-box04 div:nth-child(3),
.bn-box04 div:nth-child(4){
	border-top-width: 0px;
	border-top-style: none;
}

@media screen and (max-width:992px) {
	
.bn-box04 {
	width: 100%;
	margin: 20px auto 0;
	font-size: 0;
}

.bn-box04 div {
	width: 100%;
	display: block;
	border : solid 1px #cfa32b ;
}
	
.bn-box04 div:nth-child(2),
.bn-box04 div:nth-child(4){
	border-left-width: 1px;
	border-left-style: solid;
}
	
.bn-box04 div:nth-child(2),
.bn-box04 div:nth-child(3),
.bn-box04 div:nth-child(4){
	border-top-width: 0px;
	border-top-style: none;
}
	
}

.bn-box01 div:nth-child(even),
.bn-box02 div:nth-child(even),
.bn-box03 div:nth-child(3n){
	margin-right: 0px;
}

.bn-box01 div:nth-child(1),
.bn-box01 div:nth-child(2),
.bn-box02 div:nth-child(1),
.bn-box02 div:nth-child(2),
.bn-box03 div:nth-child(1),
.bn-box03 div:nth-child(2),
.bn-box03 div:nth-child(3)
{
	margin-top: 0px;
}

.bn-box02 div p {
	margin-top: 10px;
}

@media screen and (max-width:992px) {
	
.bn-box01 div:nth-child(2)
{
	margin-top: 15px;
}
	
.bn-box02 div:nth-child(2)
{
	margin-top: 20px;
}
	
.bn-box03 div:nth-child(2),
.bn-box03 div:nth-child(3){
	margin-top: 20px;
	margin-right: auto;
}
	
	
}

.bn-chui1{
	color: #fff;
	text-align: center;
	margin-top: 30px;
}

.bn-chui2{
	margin-top: 10px;
	text-align: right;
}

.bn-chui3{
	margin-top: 10px;
	text-align: right;
}

@media screen and (max-width:992px) {
	
.bn-chui1{
	margin-top: 10px;
	text-align: left;
}
	
.bn-chui2{
	width: 90%;
	margin-top: 10px;
	text-align: left;
	margin-right: auto;
	margin-left: auto;
}
	
.bn-chui3{
	margin-top: 10px;
	text-align: left;
}
	
}

.map{
	margin-top: 50px;
}

@media screen and (max-width:992px) {
	
.map{
	margin-top: 30px;
}

}

.kukaku{
	width: 60%;
	margin: 50px auto 0;
}

.kukaku2{
	width: 80%;
	margin: 50px auto 0;
}

.kukaku3{
	width: 90%;
	margin: 50px auto 0;
}

@media screen and (max-width:992px) {
.kukaku{
	width: 80%;
	margin: 30px auto 0;
}
.kukaku2,
.kukaku3{
	width: 100%;
	margin: 30px auto 0;
}
}

.madori-w1,
.madori-w2,
.madori-w3,
.madori-w4{
	font-size: 0;
	position:relative;
	width: 100%;
	margin: 50px auto 0;
}

.bn-btnbox2 + .madori-w1{
	margin: 100px auto 0;
}

.madori-w3{
	text-align: center;
}

.madori00{
	width: 48%;
	position:absolute;
	top: 20px;
	left: 0px;
    z-index: 1;
}

.madori01{
	width: 100%;
}

.madori02{
	margin-top: 20px;
	text-align: right;
}

.madori02 img{
	width: auto;
	height: 43px;
	margin-right: 80px;
	margin-left: auto;
}

.madori03{
	position:relative;
	width: 57%;
	margin-right: 0;
	margin-left: auto;
}

.madori04{
	display: inline-block;
	width: 47%;
	margin-right: 6%;
}

.madori05{
	display: inline-block;
	width: 47%;
}

.madori-w3 div{
	display: inline-block;
	font-size: 2rem;
	width: 30%;
	border : solid 1px #333 ;
	background-color: #fff;
	text-align: center;
	padding: 20px 10px;
}

.madori-w3 div + div{
	margin-left: 30px;
}

.madori-w3 + .madori-w1{
	margin-top: 100px;
}

.madori-pc{
	width: 100%;
}

.madori-sp{
	width: 100%;
	display: none;
}

.madori-vr{
  width: 100%;
  padding-top: 600px;
	margin-top: 50px;
  position: relative;
}

.madori-vr iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


@media screen and (max-width:992px) {
	
.madori-w1,
.madori-w2,
.madori-w3,
.madori-w4{
	margin: 30px auto 0;
}
	
.bn-btnbox2 + .madori-w1{
	margin: 50px auto 0;
}
	
.madori00{
	width: 100%;
	position:relative;
	top: auto;
	left: auto;
}
	
.madori02{
	margin-top: 15px;
	text-align: center;
}

.madori02 img{
	width: 35%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}
	
.madori03{
	width: 100%;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
}
	
.madori04{
	display: block;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

.madori05{
	display: block;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 15px;
}
	
.madori-w3 div{
	font-size: 1.4rem;
	width: 49%;
	border : solid 1px #333 ;
	padding: 15px 5px;
}

.madori-w3 div + div{
	margin-left: 2%;
}
	
.madori-w3 + .madori-w1{
	margin-top: 50px;
}

.madori-pc{
	display: none;
}

.madori-sp{
	width: 100%;
	display: block;
}
	
.madori-vr{
  width: 100%;
  padding-top: 350px;
	margin-top: 30px;
}
	
}

.bu-table01 {
	display: table;
	width: 100%;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #000;
	margin-top: 50px;
}

.bu-table01 .tr {
	border-bottom-color: #000;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	padding-top: 5px;
	padding-bottom: 5px;
}

.bu-table01 .th {
	display: table-cell;
	background-color: var(--bn-color01);
	padding-top: 15px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 15px;
	width: 200px;
	font-size: 2rem;
	color: #fff;
	text-align: center;
	font-weight: 400;
	vertical-align:middle;
}

/* 青テーマ用 */
#bunjyo2 .bu-table01 .th {
	background-color: var(--bn-color02);
}

.bu-table01 .td {
	display: table-cell;
	padding-top: 15px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 15px;
	font-size: 2rem;
	font-weight: 400;
	vertical-align:middle;
}

.bu-aw {
	display: block;
	width: 100%;
	background-color: #e8e6df;
	margin: 50px auto 0;
	padding: 30px;
}

.bu-aw + .bu-aw {
	margin: 30px auto 0;
}

@media screen and (max-width:992px) {
	
.bu-table01 {
	display: block;
	width: 90%;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #000;
	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
}

.bu-table01 .tr {
	border-bottom-color: #000;
	border-bottom-width: 0px;
	border-bottom-style: solid;
	padding-top: 0px;
	padding-bottom: 0px;
}

.bu-table01 .th {
	display: block;
	padding-top: 5px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 5px;
	width: 100%;
	font-size: 1.4rem;
}

.bu-table01 .td {
	display: block;
	padding-top: 5px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 5px;
	font-size: 1.4rem;
}
	
.bu-aw {
	margin: 30px auto 0;
	padding: 20px;
}

.bu-aw + .bu-aw {
	margin: 20px auto 0;
}
	
}

.shisetsu-blue {
	position:relative;
}

.shisetsu-blue img {
	width: 100%;
	height: auto;
	z-index: 1;
}

.shisetsu-blue div {
	position:absolute;
	top: 0px;
	left: 0px;
	background-color: #fff;
	color: #333333;
	font-size: 3rem;
	z-index: 2;
}

.shisetsu-blue div span {
	color: #CFA32B;
	font-size: 5rem;
}
