@charset "UTF-8";
@media screen and (max-width:499px) {
.lock {overflow:hidden;}
header {box-sizing:border-box; position:fixed; top:0; left:0; width:100%; padding:0 10px 5px; background: #fff; z-index:10;}
#headl{display:block; padding:5px 0; margin:0; width:100%;}
        #headl img {max-width:-webkit-calc(100vw - 70px); max-width: calc(100vw - 70px); height:auto; max-height:50px; vertical-align: middle;}
        #spTell, #spMail, #pcTell, #pcMail, #headc, #headr{display:none;}
        #spMenu {top:9px;}
}
@media screen and (min-width:500px) and (max-width:580px) {
.lock {overflow:hidden;}
header {box-sizing:border-box; position:fixed; top:0; left:0; width:100%; padding:0 10px 5px; background: #fff; z-index:10;}
#headl{display:block; padding:0; margin:0; width:100%;}
        #headl img {max-width:-webkit-calc(100vw - 70px); max-width: calc(100vw - 70px); height:auto; max-height:50px; vertical-align: middle;}
        #spTell, #spMail, #pcTell, #pcMail, #headc, #headr{display:none;}
        #spMenu {top:9px;}
}
@media screen and (min-width:581px) and (max-width:789.5px) {
.lock {overflow:hidden;}
header {box-sizing:border-box; position:fixed; top:0; left:0; width:100%; padding:0 10px 5px; background: #fff; z-index:10;}
#headl{display:block; padding:0; margin:0; width:100%;}
        #headl img {max-width:-webkit-calc(100vw - 70px); max-width: calc(100vw - 70px); height:auto; max-height:50px; vertical-align: middle;}
	#spTell {
		display:block;
		z-index:11;
		position:fixed;
		top:13px;
		right:90px;
	}
	#spMail {
		display:block;
		z-index:11;
		position:fixed;
		top:13px;
		right:50px;
	}
	#tellBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#991d17;
                color:#ffffff;
                text-align: center;
	}
	#mailBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#1a5eb0;
                color:#ffffff;
                text-align: center;
        }
        #tellBtn > i, #mailBtn > i {margin-top: 8px;}
        #pcTell, #pcMail, #headc, #headr{display:none;}
}

@media print, screen and (min-width:790px) {
header {
	box-sizing:border-box;
	position:relative;
	width:100%;
	background:#fcfcfc;
        overflow: hidden;
        padding:0 10px;
        background: #fff;
        z-index:10;
}
#headl{display:block; padding:5px 0 5px; margin:0; width:100%;}
#headr, #headc{display:none;}
#spTell, #spMail {display:none;}
#pcTell, #pcMail{float:right; margin-left:10px;}
.fixed {position:fixed; top:0; left:0;}
}

@media screen and (min-width:790px) and (max-width:1099px){
#headl{display:block;padding:0;margin:0;width:50%;float:left;}
#headr{display:block;padding:11px 0 5px;margin:0;width:50%;float:right;display:block; overflow:hidden;}
}

@media print, screen and (min-width:1100px){
#headl{display:block;padding:0;margin:0;width:68%;float:left;}
#headr{display:block;padding:11px 0 5px;margin:0;width:32%;float:right;}
}
header p{margin:5px 0 0; line-height:1.4; letter-spacing:unset;}

nav#g-menu {
	width:100%;
	background:#fff;
	box-shadow:0 1px 2px #d0d8dc;
	zoom:1;
}
nav#g-menu:after {
	content:'';
	display:block;
	clear:both;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:789.5px) {
	nav#g-menu {
		background:#991d17;
	}
	nav#g-menu ul.gmenu {
		margin:0;
		padding:0;
		}

	nav#g-menu .inner > ul.gmenu {
		z-index:2;
		overflow:auto;
		position:fixed;
		top:60px;
		right:0;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 53px);
		height:calc(100% - 53px);
	}
	nav#g-menu li {
		position:relative;
		width:100%;
		float:none;
		margin:0;
		text-align:left;
		list-style:none;
		border-bottom:1px solid #8c0e0e;
		background:#B1221A;
	}

	nav#g-menu li:first-child {
		border-top:0;
	}
	nav#g-menu li:last-child {
		border-bottom:0;
	}

	nav#g-menu li a {
		display:block;
		padding:10px 30px;
		color:#fff;
		text-decoration:none;
		background:#B1221A;
	}
	nav#g-menu li a:hover {
		color:#fff;
		background:#991d17;
	}
	nav#g-menu ul ul {
		display:none;
		position:relative;
	}
	nav#g-menu li li a {
		box-sizing:border-box;
		width:100%;
		padding:10px 30px 10px 50px;
		text-align:left;
	}

	nav#g-menu li li li a {
		padding:10px 30px 10px 70px;
	}

	nav#g-menu .menu-item-has-children > a:before {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-5px;
		background:#f1f1f1;
	}
	nav#g-menu .menu-item-has-children > a:after {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-10px;
		background:#B1221A;
	}
	nav#g-menu .menu-item-has-children a:hover:after {
	  background:#991d17;
	}

	.active > a:before {
		margin-top:0;
	}
	.active > a:after {
		margin-top:5px;
	}

	.gmenu {
		display:none;
	}

	#spMenu {
		display:block;
		z-index:11;
		position:fixed;
		top:13px;
		right:10px;
	}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#7a3022;
	}
	#navBtnIcon {
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:14px;
		height:2px;
		margin:-1px 0 0 -7px;
		background:#f1f1f1;
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:14px;
		height:2px;
		background:#f1f1f1;
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-6px;
	}
	#navBtnIcon:after {
		margin-top:4px;
	}
	#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}
}
@media screen and (max-width:359px) {
#spMenu {top:10px;}
}

/*================================================
 *  TB PC
 ================================================*/
@media print, screen and (min-width:790px) {
	nav#g-menu {
		background:#B1221A;
		border-bottom:5px solid #991d17;
		box-shadow:0 1px 3px #999;
		z-index:3;
	}

	/* 共通 */
	nav#g-menu ul {
		margin:0;
		padding:0;
	}

	nav#g-menu ul li {
		position:relative;
		margin:0;
		padding:0;
		list-style:none;
	}

	nav#g-menu ul li a {
		display:block;
		margin:0;
		padding:16px 0;
		background:#B1221A;
		color:#fff;
		font-size:14px;
		font-weight:bold;
		line-height:1;
		text-decoration:none;
	}

	nav#g-menu ul li:hover > a {
		color:#fff;
		background:#991d17;
	}

	/* 1段目 */
	nav#g-menu ul.gmenu > li {
		position:relative;
		width:17%;
		float:left;
		margin:0;
		padding:0;
		text-align:center;
		list-style:none;
	}

	nav#g-menu ul.gmenu > li:first-child {
		width:15%;
	}

	nav#g-menu ul.gmenu > li.menu-item-has-children a {
		padding-right:20px;
	}

	nav#g-menu ul.gmenu > li.menu-item-has-children > a:after {
		position:absolute;
		content:"";
		top:20px;
		width:0;
		height:0;
		margin-left:10px;
		border:5px solid transparent;
		border-top-color:#fff;
	}

	/* 2段目 */
	nav#g-menu ul li ul {
		position:absolute;
		z-index:3;
		top:100%;
		left:0;
		width:100%;
		margin:0;
		padding:0;
	}

	nav#g-menu ul li ul li {
		overflow:hidden;
		width:150%;
		height:0;
		color:#fff;
		transition:.2s;
	}

	nav#g-menu ul li ul li a {
		padding:13px 15px;
		text-align:left;
		background:#b63348;
		font-weight:normal;
	}

	nav#g-menu ul li:hover > ul > li {
		overflow:visible;
		height:40px;
		border-bottom:1px solid #8c0e0e;
	}

	nav#g-menu ul li:hover ul li:last-child {
		border-bottom:none;
	}

	nav#g-menu ul.gmenu > li:last-child > ul {
		left:-50%;
	}

	nav#g-menu ul li ul li ul:before {
		position:absolute;
		content:"";
		top:13px;
		left:-20px;
		width:0;
		height:0;
		border:5px solid transparent;
		border-left-color:#fff;
	}

	nav#g-menu ul.gmenu > li:last-child ul li ul:before {
		position:absolute;
		content:"";
		top:13px;
		left:200%;
		margin-left:-20px;
		border:5px solid transparent;
		border-right-color:#fff;
	}

	/* 3段目 */
	nav#g-menu ul li ul li ul {
		top:0;
		left:100%;
	}

	nav#g-menu ul li ul li ul li {
		width:100%;
	}

	nav#g-menu ul li ul li:hover > ul > li {
		border-bottom:1px solid #6d0c0c;
	}

	nav#g-menu ul.gmenu > li:last-child > ul li ul {
		left:-100%;
	}

	nav#g-menu ul li ul li ul li a {
		background:#9a0707;
	}

	nav#g-menu ul li ul li ul li a:hover {
		background:#991d17;
	}

	.gmenu {
		display:block !important;
	}

	#spMenu {
		display:none;
	}
}


/*================================================
 *  top box
 ================================================*/
@media print, screen and (max-width: 789.9px){
.topbox {
  position: relative;
  width:100%;
  height: -webkit-calc(100vh - 40px);
  height: calc(100vh - 40px);
}
.topin {
    width: 100%;
    height: 100%;
    background-image: url(../images/full-bgm.gif);
    background-position: center,center;
    background-repeat: no-repeat;
    background-size: cover;
}
}
@media print, screen and (min-width: 790px){
.topbox {
  position: relative;
  width:100%;
  height: -webkit-calc(100vh - 100px);
  height: calc(100vh - 100px);
}
.topin {
    width: 100%;
    height: 100%;
    background-image: url(../images/full-bgp.gif);
    background-position: center,center;
    background-repeat: no-repeat;
    background-size: cover;
}
}
.topbox h1, .topbox h1 abbr {
    color: white;
    top : 50%;
    transform : translateY(-50%);
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.2em;
    position : relative;
    text-align: center;
    font-size: 20px;
    font-size: -webkit-calc(100vw / 16);
    font-size: calc(100vw / 16);
    z-index: 2;
}
@media print, screen and (min-width: 790px){
.topbox h1, .topbox h1 abbr{font-size: 36px;}
}

.text-wrapper {
    position: relative;
    display: inline-block;
    width:16em;
   /* width:24ch;*/
}

.letter {
    transform-origin: 50% 100%;
    display: inline-block;
    line-height: 1em;
    transform: translateZ(0); /*for older browsers*/
    will-change: transform;
}

.aniimg{
  z-index: 1;
  width: 250px;
  height: auto;
  text-align: center;
  position: absolute;
  bottom: -webkit-calc(50% - 30px);
  bottom: calc(50% - 30px);
  left: -webkit-calc(50% - 125px);
  left: calc(50% - 125px);
/*  color: #fff;
  background: rgba(255, 255, 255, 0.6);
  background: -moz-radial-gradient(rgba(255, 247, 230, 0.8) 20%, rgba(255, 255, 255, 0.8) 90%); 
  background: -webkit-radial-gradient(rgba(255, 247, 230, 0.8) 20%, rgba(255, 255, 255, 0.8) 90%); 
  background: radial-gradient(rgba(255, 247, 230, 0.8) 20%, rgba(255, 255, 255, 0.8) 90%);
  border-top: 2px solid #102b49;
  border-bottom: 2px solid #102b49;
  border-left: 5px double #102b49;
  border-right: 5px double #102b49;
  border-radius:50%;
  border-radius:5px;
  padding:10px;
  box-shadow: 1px 0 15px 5px #fff;*/
  opacity: 0;
  animation: fadeIn 8s linear;
  animation-fill-mode: both;
}
@keyframes fadeIn{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

/*================================================
 *  fixfoot
 ================================================*/
.fixfoot{display:none;}
@media print, screen and (max-width:580px){
.fixfoot
{
        width:100%;
        height: 40px;
        margin:0;
        padding:0;
        display:block;
        position:fixed;
        bottom:0;
        right:0;
        font-size:18px;
        font-family: 'Niconne', cursive;
        z-index: 10000;
}
.fffboxb{display:block; padding:0; margin:0; width:50%; height:40px; float:left; background:#1a5eb0;}
.ffboxb{display:block; padding:0; margin:0; width:50%; height:40px; float:left; background:#991d17; border-left:1px groove rgba(112, 111, 111, 0.5);}
.fffboxb:active,.ffboxb:active{background:#1ab06d;}
.fixfoot a{color:#ffffff; text-decoration:none;}
.fixfoot a:active, .fixfoot a:hover{color:#ffffff; text-decoration:none;}
.ffin{display:block; padding:7px 0 0 0; margin:0 auto; height:40px; text-align:center;}
footer{padding: 1em 0 40px;}
}

/*================================================
 *  サイドメニュー
 ================================================*/
#menu-side_menu ul, .widget ul{
padding-left: 0.5em;
}
#menu-side_menu li, .widget li{
	margin:0;
	padding:0;
	list-style:none;
}
#menu-side_menu li a:before, .widget li a:before{
	content:"■";
	color:#991d17;
	padding-right: 0.5em;
}
#menu-side_menu li a, .widget li a {
	display:block;
	color:#000;
	border-bottom:1px dotted #ddd;
	text-decoration:none;
	padding:10px 0.2em 10px 1.5em;
	text-indent: -1.5em;
}
#menu-side_menu li a:hover, .widget li a:hover{
	background:#eee;
}
#menu-side_menu ul li.menu-item-has-children > a:before{
	content:"■";
	color:#991d17;
}
#menu-side_menu ul.sub-menu {margin-bottom:0;}
#menu-side_menu ul.sub-menu li{margin:0; padding: 0; text-indent: 1em;}
#menu-side_menu ul.sub-menu li a:before{
	content: "\025b6";
	color:#991d17;
}

/*================================================
 *  フッター
 ================================================*/
footer {
    display: block;
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding: 1em 0 0;
    overflow: hidden;
    background: #2e2e2e;
    color: #ffffff;
}
footer a{
    color:#efede9;
    text-decoration:none !important;
}

.copyright {
    clear:both;
    padding:10px 0 20px;
    font-size:11px;
    text-align:center;
    text-decoration:none;
}
.copyright a:hover {text-decoration:underline;}
footer li {line-height:1.6;}


/*================================================
 *  fixed
 ================================================*/
@media screen and (min-width:1040px){
.side-fixed {
    position: fixed !important;
    top: 50px;
    width: 250px;
    margin: 0;
    z-index: 10000;
    background:rgba(255, 255, 255, 0.90);
}
}

/*----------------------------------------------------
	.swiper  .sw:before padding-top: 0%;  幅の何%が高さ 
----------------------------------------------------
.sw {
    position: relative;
    width: 100%;
}
.sw:before {
    content:"";
    display: block;
    padding-top: 0%;
    margin: 0;
    background: rgba(225,225,225,0.4);
}
.swiper-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
    z-index: 1;
}
.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    -ms-transition-property: -ms-transform;
    transition-property: transform;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    text-align: center;
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.swiper-slide img {
    width: 100%;
    height: 100%;
}
*/
@media print, screen and (max-width:680px){
.swiper-button-prev, .swiper-button-next{display:none;}
}
/*================================================
 *  imgtext
 ================================================*/
.imgtext {
  position: relative;
}
.imgtext h1, .imgtext h2{
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  color:#ffffff;
  font-weight: bold;
  font-family: serif;
  font-style: italic;
  font-size:1.2em;
  line-height: 1.5;
  letter-spacing: 0.3em;
  text-align:center;
  width: 100%;
  background:rgba(255, 255, 255, 0.7);
  text-shadow: 
    black 2px 0px,  black -2px 0px,
    black 0px -2px, black 0px 2px,
    black 2px 2px , black -2px 2px,
    black 2px -2px, black -2px -2px,
    black 1px 2px,  black -1px 2px,
    black 1px -2px, black -1px -2px,
    black 2px 1px,  black -2px 1px,
    black 2px -1px, black -2px -1px;
  /*border-top:unset;
  border-bottom:unset;*/
}
.imgtext h3{
    position: absolute;
    top: 100%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    margin: 0;
    padding: 0;
    color: #ffffff;
    font-family: serif;
    font-style: italic;
    font-size: 1em;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
    width: 100%;
    background: #a59045;
   /* text-shadow: black 1px 0px, black -1px 0px, black 0px -1px, black 0px 1px, black 1px 1px, black -1px 1px, black 1px -1px, black -1px -1px, black 1px 1px, black -1px 1px, black 1px -1px, black -1px -1px, black 1px 1px, black -1px 1px, black 1px -1px, black -1px -1px;*/
}
.imgtext h4, .imgtext h5, .imgtext h6{
  position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0 0.5em;
    color: #ffffff;
    font-weight: bold;
    font-family: serif;
    font-style: italic;
  font-size:1.2em;
  line-height: 1;
  letter-spacing: 0.3em;
    text-align: left;
    width: 100%;
    background: rgba(255, 255, 255, 0.7);
    text-shadow: black 2px 0px, black -2px 0px, black 0px -2px, black 0px 2px, black 2px 2px, black -2px 2px, black 2px -2px, black -2px -2px, black 1px 2px, black -1px 2px, black 1px -2px, black -1px -2px, black 2px 1px, black -2px 1px, black 2px -1px, black -2px -1px;
}

.imgtext img{
    width:100%;
}
.rank-num {
        position: absolute;
        text-align: center;
        left: 0;
        top: 0;
        padding: 0.2em 0.35em 0.1em 0.2em;
        font-size: 1.5em;
        font-style: italic;
        font-weight: bold;
        line-height:1;
        background-color: #f0e68c;
        color: #321602;
}
.imgtext .btn, .imgtext .btnb {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    padding: 1px 3px;
    line-height: 1;
}
.por{position: relative;}
.f3.por{background:#1ab06d;}
.por h3 a{position: absolute; bottom:0em; left:0; width:100%; text-decoration: none; font-size: 0.9em; margin:0; padding:0.3em 0.3em 0.3em 0.5em; background: #941433; color:#fff; text-align: left; line-height: 1.2;}
.por h3 a:hover{background:#991d17;}
.por a img{padding-bottom: 1.53em; width:100%; height:auto;}
.por .btnb{line-height: 1; padding: 1px 3px !important; margin:0 !important; position: absolute; top:0; right:0;}
.por .btnd{line-height: 1; padding: 1px 3px !important; margin:0 !important; position: absolute; top:0; left:0;}
.por a.btnd span:nth-of-type(1){display:none;}
a.nextnone > span:first-child {display:none;}

.card-img{border-radius:5px;}
.card-title{padding:0.5em 0 0 0.5em; font-weight:bold;}
.card-title a{text-decoration: none; font-size: 1em;}
.card-excerpt{padding:0 0.5em; margin:0;}
.bin .catcloud li, .bin .tagcloud li{margin: 0 0.5em 0 0;}