@charset "UTF-8";
.grecaptcha-badge { visibility: hidden; }
@media screen and (max-width:789.5px) {
.lock {overflow:hidden;}
header {padding:5px 10px 5px; position:fixed; top:0; left:0; box-sizing:border-box; width:100%; 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: text-top; vertical-align: -webkit-baseline-middle;}
	#spTell {
		display:block;
		z-index:11;
		position:fixed;
		top:15px;
		right:90px;
	}
	#spMail {
		display:block;
		z-index:11;
		position:fixed;
		top:15px;
		right:50px;
	}
	#tellBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#4160b2;
                color:#ffffff;
                text-align: center;
	}
	#mailBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#2d427a;
                color:#ffffff;
                text-align: center;
        }
        #tellBtn > i, #mailBtn > i {margin-top: 6px;}
        #pcTell, #pcMail, #headc, #headr{display:none;}
}
@media screen and (max-width:539.9px) {
#headl img {max-width:-webkit-calc(100vw - 70px); max-width: calc(100vw - 70px); height:auto; max-height:50px; vertical-align: text-top; vertical-align: -webkit-baseline-middle;}
#spTell ,#spMail ,#tellBtn ,#mailBtn {display:none;}
}

@media print, screen and (min-width:790px) {
header {padding:5px 10px 5px; position:relative; box-sizing:border-box; width:100%; background:#fff; overflow:hidden; z-index:10;}
#headl{width:52%; padding:0; margin:0; float:left; display:block;}
#headr{width:48%; padding:0; margin:8px 0 0; float:right; display:block; overflow:hidden;}
#spTell, #spMail {display:none;}
#pcTell, #pcMail{float:right; margin-left:10px;}
.fixed {position:fixed; top:0; left:0;}
#headl img {max-height:50px; vertical-align: text-top; vertical-align: -webkit-baseline-middle;}
}

header p{margin:0px 0 0; line-height:1.4; letter-spacing:unset;}

.fixfoot{display:none;}
@media print, screen and (max-width:680px){
.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:#2d427a;}
.ffboxb{display:block; padding:0; margin:0; width:50%; height:40px; float:left; background:#4160b2; border-left:1px groove rgba(112, 111, 111, 0.5);}
.fffboxb:active,.ffboxb:active{background:#1f5444;}
.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;}
}

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:#4160b2;
	}
	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 groove rgba(112, 111, 111, 0.5);
		background:#1f2e55;
	}

	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:#1f2e55;
	}
	nav#g-menu li a:hover {
		color:#fff;
		background:#4160b2;
	}
	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:#1f2e55;
	}
	nav#g-menu .menu-item-has-children a:hover:after {
	  background:#4160b2;
	}

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

	.gmenu {
		display:none;
	}

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

	#navBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#B1221A;
	}
	#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:375px) {
#spMenu {top:12px;}
}

/*================================================
 *  TB PC
 ================================================*/
@media print, screen and (min-width:790px) {
	nav#g-menu {
		background:#1f2e55;
		border-bottom:5px solid #4160b2;
		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:#1f2e55;
		color:#fff;
		font-size:14px;
		font-weight:bold;
		line-height:1;
		text-decoration:none;
	}

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

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

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

	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:#4160b2;
	}

	.gmenu {
		display:block !important;
	}

	#spMenu {
		display:none;
	}
}

/*================================================
 *  サイドメニュー
 ================================================*/
#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:#4160b2;
	padding: 0 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.2em;
	text-indent: -1.9em;
font-size: 0.9em;
}
#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:#4160b2;
}
#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:#4160b2;
}
@media print, screen and (max-width: 1040px){
#menu-side_menu{padding-left:0.5em;}
}
/*================================================
 *  フッター
 ================================================*/
footer {
    display: block;
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding: 1em 0 2em;
    overflow: hidden;
    background: #d0d0d0;
    color: #000000;
    font-weight: 600;
}
footer a{
    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;}
@media screen and (min-width:790px){
footer {padding: 1em 0 0em;}
.copyright {font-size:16px;}
}

/*================================================
 *  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);
right:0;*/
}
.is-hidden {visibility: hidden; opacity: 0;}
}
/*
@media screen and (min-width:1170px){
.side-fixed {width: 250px;}   195px
}*/



/*----------------------------------------------------
	.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:#1f5444;}
.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: #B1221A; color:#fff; text-align: left; line-height: 1.2;}
.por h3 a:hover{background:#4160b2;}
.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;}