@charset "UTF-8";
/*
Theme Name: 日本ロングライフ様メディア用テンプレート
Template: twentyfifteen
Author: 未知株式会社
Description:
Version: 1.0
Updated: 2019-11-01
*/

/* Color Scheme
-----------------------------------------------------

	=Theme Color = #bd0034

-----------------------------------------------------
*/

@import url(reset.css);
@import url(wordpress.css);

/*
-----------------------------------------------------

 	=Global Layout

-----------------------------------------------------
*/

* {
	margin: 0; padding: 0;
}

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

html {
	font-family: 'Roboto', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: #444;
	font-size: 10px;
	font-weight: normal;
	line-height: 2.2;
	word-wrap: break-word;
	letter-spacing: 0.00em;
}

body{
	/* background-color: #fff8f1; */
	font-size: 1.6rem;
}

h1, h2, h3, h4, h5, h6, p, pre, dt, dd, li { line-height: 2.2;}
p, ul, ol, dl { margin-bottom: 20px;}
p:last-child, ul:last-child, ol:last-child, dl:last-child { margin-bottom: 0;}
table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.75;
	text-align: left;
}
th,td {
	padding: 1.4em;
	vertical-align: top;
	border: none;
}
th { font-weight: normal;}
tr { border-bottom: solid 1px #ddd;}
tr:last-child { border-bottom: none !important;}
img {
	display: inline-block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a img { border: none;}
a {
	color: #bd0034;
	text-decoration: underline;
}
a,
a img {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
a:focus, a:active, a:hover { text-decoration: none;}
em {}
ol li {
	display: list-item;
	list-style: decimal inside;
	line-height:2;
	margin: 0;
	font-size: 100%;
}
strong { font-weight: bold; }

input[type=text],
input[type=email],
input[type=password],
textarea {
	padding: 0.7em;
	font-size: 100%;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
	border-radius: 0;
}
input[type=text],
input[type=email],
input[type=password],
textarea,
select {
	background-color: #fff;
	color: #777;
	-webkit-box-shadow: inset 2px 2px 0 #ddd;
	   -moz-box-shadow: inset 2px 2px 0 #ddd;
	        box-shadow: inset 1px 1px 0 #ddd;
	border: 1px solid #ccc;
	border-radius: 0;
	line-height: 1;
}
input[type=text] {}
input[type=email] {}
input[type=submit] { cursor: pointer;}
input[type="text"],
input[type="submit"],
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input[type=text]:focus,
textarea:focus {
	color: #373737;
}
textarea {
	width: 92%;
}
form em { background: #bd0034; color: #fff; font-size: 80%; padding: 0.3em 0.3em; border-radius: 5px; font-style: bold;}
form table em { margin-left: 0.7em;}
form ul { margin: 0 !important; padding: 0 !important; border: none !important;}
form ul li { display: inline-block !important;}
form label { margin-right: 1.4em;}
form input[type="radio"] { margin-right: 0.7em;}
form input[type*="submit"] {
	display: block;
	width: 280px;
	margin: 0 auto 20px;
	padding: 10px;
	border: none;
	background-color: #bd0034;
	color: #fff;
	font-size: 1.5em;
	font-weight: normal;
	text-align: center;
	border-radius: 3px;
	cursor: pointer;
	-webkit-transform: translate3d(0,0,0);
	   -moz-transform: translate3d(0,0,0);
	    -ms-transform: translate3d(0,0,0);
	        transform: translate3d(0,0,0);
	-webkit-transition: all ease-out 0.1s;
	   -moz-transition: all ease-out 0.1s;
	    -ms-transition: all ease-out 0.1s;
	        transition: all ease-out 0.1s;
}
form input[type*="submit"]:hover {
	opacity: 0.7;
}

/*
-----------------------------------------------------

 	=Global Style

-----------------------------------------------------
*/

#container {
	position: relative;
	z-index: 2;
}

.wrapper {
	max-width: 1120px;
	margin: auto;
}

/* Animation & Decoration
-----------------------------------------------------*/

/* Zoom Effect */
.zoom_effect { overflow: hidden; }
.zoom_effect img {
	opacity: 0.8;
	-webkit-transition: all ease-out 12.0s;
	   -moz-transition: all ease-out 12.0s;
	    -ms-transition: all ease-out 12.0s;
	        transition: all ease-out 12.0s;
	-webkit-transform: scale(1.1);
	   -moz-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

.fade_in {
  -webkit-animation: fade_in_animation 2s;
          animation: fade_in_animation 2s;
}

.fade_in_two {
  -webkit-animation: fade_in_animation 4s;
          animation: fade_in_animation 4s;
}

.fade_in_three {
  -webkit-animation: fade_in_animation 6s;
          animation: fade_in_animation 6s;
}

.fade_in_four {
  -webkit-animation: fade_in_animation 8s;
          animation: fade_in_animation 8s;
}

@-webkit-keyframes fade_in_animation {
	0% { opacity: 0;}
	50% { opacity: 0;}
	100% { opacity: 1;}
}


/*
-----------------------------------------------------

	=Header

-----------------------------------------------------
*/

#cont {
	padding-top: 177px;
}

/* 追従Table of Contents Plus */
@media screen and (min-width: 600px) {
	.js-fixed-toc.scrolled {
		top: 150px;
		position: fixed;
	}
	.js-fixed-toc {
		position: static;
		padding: 20px 0;
		max-width: 280px;
		font-size: 1.4rem;
	}
	.js-fixed-toc ul li {
		line-height: 1.6;
	}
}

@media screen and (min-width: 600px) {

	/* Fixed Sidebar */
	.js-fixed-sidebar {
		opacity: 0;
		-webkit-transition: all ease-out 0.4s;
		   -moz-transition: all ease-out 0.4s;
		    -ms-transition: all ease-out 0.4s;
		        transition: all ease-out 0.4s;

		position: static;
    padding: 20px 0;
		max-width: 280px;
	}
	.js-fixed-sidebar.scrolled {
		opacity: 1;
		top: 140px;
		position: fixed;
	}
	.js-fixed-sidebar.fadeout {
		top: -100%;
	}

	/* Table of Contents Plus */
	.js-fixed-toc ul li {
		line-height: 1.6;
		font-size: 1.4rem;
	}
	.toc_widget ul li .toc_number { font-weight: bold; }

}

/* Fixed Slidein */
.js-fixed-slidein {
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;

	position: fixed;
	z-index: 9999;
	right: -120%;
	bottom: 0;
  margin: 3.125vw;
	max-width: 280px;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
	background-color: #fff;
}
.js-fixed-slidein.scrolled {
	right: 0;
}
.js-fixed-slidein .button {
	position: absolute;
	display: block;
	cursor: pointer;
	content: "×";
	top: -20px;
	right: -20px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	background-color: #000;
	border: solid 1px #fff;
	border-radius: 50%;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
}

.js-fixed-slidein .js-target.active {
	display:none;
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.js-fixed-slidein {
		max-width: 100%;
		margin: 6.25vw;
		margin: 0;
	}
}
/* Boxzilla →不採用
@media screen and (min-width: 600px) {
	.boxzilla {
		display: none !important;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.boxzilla {
		display: none !important;
	}
} */

/*
WP Popups – WordPress Popup builder (=New Version of Popups - WordPress Popup)
https://ja.wordpress.org/plugins/wp-popups-lite/
*/

/* Popups - WordPress Popup
https://ja.wordpress.org/plugins/popups/
*/
.spu-box {
	padding: 0 !important;
	width: auto !important;
	background-color: #000 !important;
	border: none !important;
}
.spu-close.top_right {
	right: -30px !important;
	top: -30px !important;
}
.spu-close {
	color: #fff !important;
	text-shadow: none !important;
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.spu-box,
	.spu-bg {
		display: none !important;
	}
}

/* バナー */
#header_bnr{
	display: none;
	width: 100%;
	background:#BA0134;
	padding: 10px 30px;
	text-align: center;
	position: relative;
	top: -1px;
	left:0;
	}
	#header_bnr p{
		display: inline-block;
		vertical-align: middle;
		margin-bottom: 2px;
		text-align: center;
	}
	@media all and (-ms-high-contrast: none) {
	  #header_bnr p {
	    vertical-align: bottom;
	  }
	}
	#header_bnr p:nth-child(1){
		color: #fff;
		font-weight: bold;
		line-height: 1.6;
	}
	#header_bnr p:nth-child(2) a{
		display: inline-block;
		background: #fff;
		padding: 0 20px;
		border-radius: 50px;
		color: #BA0134;
		font-size: 14px;
		font-weight: 500;
		text-decoration: none;
		animation: header_bnr_move 5s infinite;
	}
	@-webkit-keyframes header_bnr_move {
	  2% {
	    -webkit-transform: translateX(3px) rotate(2deg);
	    transform: translateX(3px) rotate(2deg)
	  }

	  4% {
	    -webkit-transform: translateX(-3px) rotate(-2deg);
	    transform: translateX(-3px) rotate(-2deg)
	  }

	  6% {
	    -webkit-transform: translateX(3px) rotate(2deg);
	    transform: translateX(3px) rotate(2deg)
	  }

	  8% {
	    -webkit-transform: translateX(-3px) rotate(-2deg);
	    transform: translateX(-3px) rotate(-2deg)
	  }

	  10% {
	    -webkit-transform: translateX(2px) rotate(1deg);
	    transform: translateX(2px) rotate(1deg)
	  }

	  12% {
	    -webkit-transform: translateX(-2px) rotate(-1deg);
	    transform: translateX(-2px) rotate(-1deg)
	  }

	  14% {
	    -webkit-transform: translateX(2px) rotate(1deg);
	    transform: translateX(2px) rotate(1deg)
	  }

	  16% {
	    -webkit-transform: translateX(-2px) rotate(-1deg);
	    transform: translateX(-2px) rotate(-1deg)
	  }

	  18% {
	    -webkit-transform: translateX(1px) rotate(0);
	    transform: translateX(1px) rotate(0)
	  }

	  20% {
	    -webkit-transform: translateX(-1px) rotate(0);
	    transform: translateX(-1px) rotate(0)
	  }
	}
	#header_bnr p#header_bnr_close{
		color: #fff;
		font-size: 20px;
		position: absolute;
		top: 0px;
		right: 15px;
		line-height: 1;
	}
	#header_bnr p#header_bnr_close:hover{
		cursor: pointer;
	}
/* 5秒後表示 */
body #cont{
	transition: .3s;
	}
	body.header_bnr_on #cont{
		padding-top: 230px;
	}


#header {
	position: fixed;
	z-index: 9999;
	top: auto;
	left: 0;
	width: 100%;
	background: #fff;
	border-top: solid 3px #bd0034;
	border-bottom: solid 3px #D5D5D5;
}

#header #header-in {
	align-items: center;
	padding: 15px 0;
}

/* Scrolled */
#header.scrolled #header-in {}

#header .header-left { width: 38%;}
#header .header-right { width: 62%; text-align: right;}

/* Left */
#header .sitetitle {
	display: none;
	margin: -0.25em 0 0.5em 0;
	font-size: 11px;
}
#header .logo {
	padding: 0;
}
#header .logo .img,
#header .logo .navigation {
	display: inline-block;
	vertical-align: middle;
}

/*#header .logo .img { margin: -11px 0 -11px 0; }*/
#header .logo .img img { display: block; max-width: 247px;}

#header .logo .navigation {
	margin-left: 25px;
	display: inline-block;
}

/*#header .social-button { margin-left: 15px; }
#header .social-button .article-sns,
#header .social-button .article-sns .item { margin-bottom: 0; }*/

/* Right */
#header .header-right {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
#header .header-right .search {
}
/* Right */
#header .header-right {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}

#header .header-right .button,
#header .header-right .search {
	display: inline-block;
	vertical-align: middle;
}

#header .header-right .search {
	margin: 0 20px 0px 0;
}


/* =Navigation
----------------------------------------------------- */

#header .navigation {
	border-top: solid 1px #bd0034;
}
#nav {

}
#nav ul {
	margin-bottom: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#nav ul li {
	flex: 1;
	font-size: 1.6rem;
	font-weight: normal;
	text-align: center;
	position: relative;
}
#nav ul li::before{
	content: "";
	width: 1px;
	height: 22px;
	background: #D5D5D5;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
#nav ul li:last-child::after{
	content: "";
	width: 1px;
	height: 22px;
	background: #D5D5D5;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
}
#nav ul li,
#nav ul li a {
	color: #444;
}
#nav ul li a {
	display: block;
	padding: 18px 20px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.5;
}
#nav ul li:hover,
#nav ul li.active { opacity: 0.6;}
/* イベント・ニュース非表示 */
#nav ul li.cat-item-138{
	display: none;
}
/* スクロールしたら表示 */
#header.scroll-nav #header-in{
	display: none;
}
#header #gnav_sp{
	display: none;
}
#header.scroll-nav ul#gnav_sp{
	display: flex;
	margin-bottom: 0;
}
#header.scroll-nav ul#gnav_sp li{
	flex: 1;
	border-right: 1px solid #bd0034;
}
#header.scroll-nav ul#gnav_sp li a{
	display: block;
	padding: 15px 0;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.6;
}
@media screen and (min-width: 600px) {}

/* =Searchform
----------------------------------------------------- */
.searchform {
	position: relative;
	width: 220px;
}
.searchform input {
	padding: 10px;
	height: 40px;
}
.searchform .assistive-text {
	display: none;
}
.searchform .field {
	width: 100%;
	font-size: 14px;
	border: solid 1px #A7A7A7;
	box-shadow: none;
}
.searchform .submit {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	margin: 0;
	font-size: 0;
	background: #bd0034 url(assets/images/ico-search.png) no-repeat center;
	background-size: 16px auto;
	border-radius: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}
.searchform .submit:hover {}


/* =Fiexd Button
----------------------------------------------------- */
#fixed-button {
	position: fixed;
	z-index: 9999;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: auto;
	padding: 0;
	background-color: rgba(255, 255, 255, 0.9);
	-webkit-transition: all ease-out 0.5s;
		 -moz-transition: all ease-out 0.5s;
			-ms-transition: all ease-out 0.5s;
					transition: all ease-out 0.5s;
}

#fixed-button a:hover {}


/* =Key Visual
----------------------------------------------------- */
/* ※ ループについては後述 */

/*
-----------------------------------------------------

	=Main

-----------------------------------------------------
*/

#main {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

/* メインカラム・サイドバー */
#primary { width: 800px;}
#secondary { width: 280px;}


/*
-----------------------------------------------------

	=Side

-----------------------------------------------------
*/

#secondary .sidebar {}

.list-bnr li { margin-bottom: 10px; }
.list-bnr li:last-child { margin-bottom: 0; }
.list-bnr li a img:hover { opacity: 0.6; }

/* サイドバーの見出し */
.sidebar .tit-main {
	font-size: 20px;
}
.sidebar .tit-main em { font-size: 11px; }

.tit-icon {
	position: relative;
	margin-bottom: 20px;
	padding: 7px 5px 5px 40px;
	border-bottom: solid 3px #bd0034;
	color: #bd0034;
	font-size: 2.0rem;
	font-weight: bold;
	background: no-repeat left 0 center;
	background-size: 25px  auto;
	line-height: 1.8;
	text-transform: uppercase;
}

/*.tit-icon::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}*/
.tit-icon em {
	margin: 0 0 0 2em;
	display: inline-block;
	vertical-align: middle;
	font-size: 1.2rem;
	color: #000;
}

.ranking .tit-icon {
	background-image: url(assets/images/ico-ranking.png);
	background-size: 26px  auto;
}
/*.recommend .tit-icon {
	background-image: url(assets/images/ico-recommend.png);
}*/
.new .tit-icon{
	background-image: url(assets/images/ico-new.png);
	background-size: 25px  auto;
}

/* タグのリスト一覧 */
ul.list-tag {
	font-size: 0;
	letter-spacing: 0;
}
ul.list-tag li {
	font-size: 1rem;
	letter-spacing: 0;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
}
ul.list-tag li a {
	display: block;
	min-width: 100px;
	padding: 7px 15px;
	padding-left: 30px;
	background: url(assets/images/ico-tag.png) no-repeat 10px center;
	background-color: rgba(108, 0, 30, 0.1);
	border: solid 0 #bd0034;
	color: #6c001e;
	background-size: 14px auto;
	border-radius: 50px;
	line-height: 1;
	font-size: 1.1rem;
	font-weight: bold;
	text-decoration: none;
}
ul.list-tag li a:hover {
	background-color: rgba(108, 0, 30, 0.2);
}

/*
-----------------------------------------------------

	=Action

-----------------------------------------------------
*/

/*  */
.action {

}

/*
-----------------------------------------------------

	=Footer

-----------------------------------------------------
*/

/* ページトップへ戻る */
#btn-pagetop {
	position: absolute;
	z-index: 9990;
	right: 0px;
	bottom: 50px;
	/*top: -30px;*/
	width: 40px;
	-webkit-transition: all ease-in 0.2s;
	   -moz-transition: all ease-in 0.2s;
	    -ms-transition: all ease-in 0.2s;
	        transition: all ease-in 0.2s;
}
#btn-pagetop:hover {
	opacity: 0.75;
}

#footer {
	background-color: #FDEFEB;
	font-size: 1.1rem;
}
#footer,
#footer a { color: inherit; }
#footer a { text-decoration: underline; }
#footer a:hover { text-decoration: none; }

#footer #footer-in {
	position: relative;
	padding: 40px 0;
	flex-direction: row-reverse;
}

#footer .footer-left { width: 75%;}
#footer .footer-right { width: 22%;}


/* Right */
#footer { }
#footer .search { margin-bottom: 20px; text-align: right;}
#footer .search:after {
	content:".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
#footer .search .searchform { margin-left: auto; }
/*#footer .sns {
	font-size: 0;
	letter-spacing: 0;
	text-align: right;
}
#footer .sns li {
	display: inline-block;
	font-size: 1em;
	margin-left: 7px;
}
#footer .sns li:first-child {
	margin-left: 0;
}*/

/* Left */
#footer .footer-left {
	font-size: 0;
	letter-spacing: 0;
}
#footer .logo,
#footer .nav { display: inline-block; vertical-align: top; }

#footer .logo { margin-right: 6%; width: 33%;}
#footer .nav { width: 55%; }
#footer .logo .img { max-width: 462px;}

#footer .nav .tit {
	margin-bottom: 0.25em;
	font-size: 1.6rem;
	font-weight: bold;
		color: #bd0034;
}
#footer .nav ul {
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
}
#footer .nav ul:last-child {}
#footer .nav ul.x2 { width: 60%;}
#footer .nav ul:first-child {}
#footer .nav ul li {
	width: 50%;
	display: block;
	margin-bottom: 0em;
}
#footer .nav ul.x2 li {
	display: inline-block;
	vertical-align: top;
	width: 48%;
}
#footer .nav ul li a {
	font-size: 16px;
	text-decoration: none;
}
#footer .nav ul li a:hover { opacity: 0.4; text-decoration: none;}

#footer #copyright {
	border-top: solid 1px rgba(0, 0, 0, 0.15);
	padding: 10px 0;
	text-align: right;
	font-size: 12px;
	color: inherit;
	line-height: 1;
	text-transform: uppercase;
}


/*
-----------------------------------------------------

	=Common Parts

-----------------------------------------------------
*/
.single_top_bnr_sp{
	display: none;
	margin-bottom: 5px;
}

/* =Breadcrumbs
----------------------------------------------------- */
#breadcrumbs {
	margin-bottom: 40px;
	padding: 10px 0;
	border-bottom: solid 1px #dcdcdc;
	font-size: 1.2rem;
	line-height: 20px;
}

#breadcrumbs .wrapper {
	background: url(assets/images/ico-home.png) no-repeat left center;
	background-size: 13px auto;
	padding-left: 20px;
}
#breadcrumbs,
#breadcrumbs a {
	color: #444;
}
#breadcrumbs a {
	font-weight: bold;
	text-decoration: none;
}
#breadcrumbs a:hover {
	text-decoration: underline;
}

/* =Common Format
-----------------------------------------------------*/
/* Section */
.section {
	padding: 60px 0;
}
.block {
	margin-bottom: 60px;
}
.block:last-child {
	margin-bottom: 0;
}

/* Decoration */
a.plain { text-decoration: none; color: inherit;}

/* Heading */
.tit-main {
	margin-top: 40px;
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	border-bottom: solid 1px #5f190b;
	color: #5f190b;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.00em;
}
.tit-main em {
	display: inline-block;
	vertical-align: middle;
	margin-top: -0.35em;
	margin-left: 20px;
	color: #5f190b;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, Georgia, Times New Roman, Times, "ＭＳ Ｐ明朝", MS PMincho, serif;
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: 0;
}
.tit-main:first-child { margin-top: 0;}
.tit-main.noborder {
	padding-bottom: 0;
	border-bottom: none;
}

.tit-main.noborder { border-bottom: none; padding-bottom: 0; }


.tit-category {
	margin: 0 0 2em;
	padding: 0.5em 1em;
	border-radius: 20px;
	background-color: #5f190b;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
}
.tit-category::before {
	content: "●";
	color: #fff;
	display: inline-block;
	margin: 0 0.5em 0 0;
}


/* Text */
.txt-note { font-size: 0.875em; color: #999; }

.link { font-size: 1.2rem; }


/* list */
.list-button {
	text-align: center;
	letter-spacing: 0;
	font-size: 0;
}
.list-button li {
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 20px 10px 0;
}
.list-button li:last-child { margin: 0; }


/* button */
.btn-main {
	display: inline-block;
	margin: 0 auto;
	width: 100%;
	max-width: 540px;
	padding: 0.75em 1em;
	background-color: #bd0034;
	border-radius: 3px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.btn-main:hover {
	background-color: #5f190b;
}

.btn-main.min {
	padding: 0.5em 1em;
	font-size: 1.4rem;
	font-weight: normal;
	width: auto;
}

.btn-main.download {
	background-color: #22ac38;
}
.btn-main.download:hover {
	background-color: #009944;
}



/* =Common Parts
-----------------------------------------------------*/

/* =Summary（カテゴリー一覧ページのみ） */
#summary {}
#summary .wrapper {
	margin-bottom: 40px;
	padding-bottom: 30px; /* -10px for tags */
	border-bottom: solid 1px #dcdcdc;
}

#summary .pic { width: 25%; }
#summary .cont { width: 73%; }

#summary .tit {
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.25;
}
#summary .tit em {
	display: block;
	font-size: 1.6rem;
	margin-top: 10px;
	text-transform: uppercase;
}
#summary p {
	font-size: 1.3rem;
	line-height: 1.75;
	letter-spacing: 0;
}

/* =Sticky（カテゴリー一覧ページのみ） */
#sticky {
	margin-bottom: 60px;
}


/* =カテゴリーナビゲーション */
.nav-category {
}
.nav-category ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.nav-category ul li {
	width: 33.33%;
}
.nav-category ul li a {
	display: block;
	padding: 10px 20px;
	border: solid 1px #dcdcdc;
	margin: -1px;
	background: url(assets/images/ico-arrow-right.png) no-repeat right 15px center;
	background-size: 8px auto;
	background-color: #fff;
	text-decoration: none;
	font-size: 1.4rem;
	font-weight: bold;
	-webkit-transition: none;
	   -moz-transition: none;
	    -ms-transition: none;
	        transition: none;
}
.nav-category ul li a:hover {
	background-color: #bd0034;
	color: #fff;
}


/*
-----------------------------------------------------

	=Loop

-----------------------------------------------------
*/

/* =Common
----------------------------------------------------- */
/* 全ループ共通 */
.loop {}
.loop .row {}
.loop .row .col {}

.loop .title a {
	color: inherit;
	text-decoration: none;
}
.loop .title a:hover { text-decoration: underline; }

.loop .image img {

	/* objectFitImages for ie11 */
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;'
}
.more-link { display: none; }




/* =Type : slider
----------------------------------------------------- */
/* スワイプスライダー専用 */
.loop .type-slider {
	padding: 30px 0 0;

	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-right: -3%;
	/*margin-bottom: -40px;*/
}

.loop .type-slider .col {
	position: relative;
	z-index: 2;
}
.loop .type-slider .col:hover {
	z-index: 3;
	background-color: #fff;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}

.loop .type-slider .image {
	position: relative;
	height: 400px;
}
.loop .type-slider .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loop .type-slider .header {
	width: 100%;
	padding: 20px;
	background-color: rgba(255, 255, 255, 0.8);
}

.loop .type-slider .header,
.loop .type-slider .header a {
	text-decoration: none;
}
.loop .type-slider .header > * { margin: 0 0 1.5rem;}
.loop .type-slider .header > *:last-child { margin: 0;}
.loop .type-slider .title {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.75;
}
.loop .type-slider .title a { color: inherit; }

.loop .type-slider .meta {
	font-size: 1.4rem;
}
.loop .type-slider .category {
	position: absolute;
	display: inline-block;
	top: 0;
	right: 0;
}
.loop .type-slider .category a {
	display: inline-block;
	padding: 0.5em 1em;
	background: #bd0034;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
}
.loop .type-slider .category a:hover { opacity: 1;}
.loop .type-slider .date {
	color: #bd0034;

}
.loop .type-slider .content { display: none; }



		/* Swiper
		-------------------------------------------------- */
		.swiper-grandparent {
			overflow: hidden;
			width: 100%;
			background-color: #FDEFEB;
		}
		.swiper-parent {
			max-width: 600px;
		}
		.swiper-grandparent .swiper-parent .swiper-container {
		    overflow: visible !important; /* swiper.min.css を上書き */
		}

		.loop .row.swiper-wrapper {
			flex-wrap: inherit !important; margin-bottom: 0px !important;
		}

		/* setting */
		.swiper-container {}
		.swiper-slide {}
		.swiper-slide-active { opacity: 1; }

		/* Prev & Next */
		.swiper-button-prev,
		.swiper-container-rtl .swiper-button-next,
		.swiper-button-next,
		.swiper-container-rtl .swiper-button-prev {
		  top: 0 !important;
		  width: 50px !important;
		  height: 90% !important;
		  margin-top: 0 !important;
		}
		.swiper-button-prev,
		.swiper-container-rtl .swiper-button-next {
		  left: -25px !important;
		  background-image: url(assets/images/ico-arrow-swiper-left.png) !important;
		  background-size: 50px auto !important;
		}
		.swiper-button-next,
		.swiper-container-rtl .swiper-button-prev {
		  right: -25px !important;
		  background-image: url(assets/images/ico-arrow-swiper-right.png) !important;
		  background-size: 50px auto !important;
		}

		.swiper-container .swiper-pagination {
			position: static;
			padding: 15px 0;
		}
		.swiper-container .swiper-pagination-bullet { background-color: #bd0034 !important; }
		.swiper-container .swiper-pagination-bullet-active { background-color: #bd0034 !important; }



/* =Type : sticky
----------------------------------------------------- */
/* フルワイド3カラムのループ
.loop .type-sticky {

	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-right: -3%;
	margin-bottom: -40px;
}
.loop .type-sticky .col {
	width: 30.33%;
	margin-right: 3%;
	margin-bottom: 40px;
}

.loop .type-sticky .image {
	margin-bottom: 20px;
	height: 390px;
}
.loop .type-sticky .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loop .type-sticky .image img:hover {
	opacity: 0.7;
}
.loop .type-sticky .title {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 1.6;
	font-weight: bold;
}
.loop .type-sticky .title a {
	color: #000;
	text-decoration: none;
}
.loop .type-sticky .content {
	margin-bottom: 15px;
	font-size: 12px;
}
.loop .type-sticky .title a:hover {
	text-decoration: underline;
}
.loop .type-sticky .meta {
	font-size: 12px;
}
.loop .type-sticky .meta .date,
.loop .type-sticky .meta .category {
	display: inline-block;
	font-weight: bold;
}
.loop .type-sticky .meta .date {
	margin-bottom: 10px;
	margin-right: 1.5em;
}
.loop .type-sticky .meta .category a {
	margin-bottom: 10px;
	margin-right: 1em;
	color: #bd0034;
	font-weight: bold;
	text-decoration: none;
}
.loop .type-sticky .meta .category a:hover {
	text-decoration: underline;
} */




/* =Type : Main
----------------------------------------------------- */
/* トップや一覧ページなどで表示する */
/* メインカラム内のメインのループ */
/* ※縦配置パターン　*/
/* ※縦配置パターン　*/
.loop .type-main {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-right: -3%;
}
.loop .type-main .col {
	width: 30.33%;
	margin: 0 3% 3% 0;
}

.loop .type-main .image {
	height: 0;
	padding-bottom: 66.66%;
	position: relative;
}
.loop .type-main .image img {
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loop .type-main .image img:hover {
	opacity: 0.7;
}

.loop .type-main .header {
	padding: 20px 0 0;
}

.loop .type-main .title {
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
}
.loop .type-main .title a { color: inherit; text-decoration: none;}
.loop .type-main .title a:hover {
	text-decoration: underline;
}
.loop .type-main .meta {
	font-size: 14px;
}
.loop .type-main .meta span {
	display: inline-block;
	font-weight: normal;
}
.loop .type-main .meta .date {
	margin-bottom: 10px;
	margin-right: 1.5em;
	color: #bd0034;
}


.loop .type-main .category {
	position: absolute;
	display: inline-block;
	top: 0;
	right: 0;
}
.loop .type-main .category a {
	display: inline-block;
	padding: 0.5em 1em;
	background: #bd0034;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
}
.loop .type-main .content {
	margin-bottom: 15px;
	font-size: 12px;
	color: #666666;
}
.loop .type-main .content p {
	line-height: 1.5;
}


/* =Type : Full
----------------------------------------------------- */
/* フルワイド最新の1記事 */
@media screen and (min-width: 600px) {
	/* Full */
	.loop .type-full,
	.loop .type-full .col,
	.loop .type-full .col .image {}
	.loop .type-full .col {
		position: relative;
		width: 342px;
	}
	.loop .type-full .col .image {}
	.loop .type-full .header .title {
		font-size: 1.7rem;
	}
	.loop .type-full .header .meta .date {}
	.loop .type-full .header .meta .category {}
	/*.loop .type-full .header {
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: rgba(255, 255, 255, 0.75);
		padding: 20px;
	}
	.loop .type-full .header > * { margin-bottom: 15px; }*/
}





/* =Type : Horiontal
----------------------------------------------------- */
/* トップや一覧ページなどで表示する */
/* メインカラム内のメインのループ */
/* ※横配置パターン */
.loop .type-horizontal {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.loop .type-horizontal .col {
	width: 48%;
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.loop .type-horizontal .col:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.loop .type-horizontal .image { width: 150px;}
.loop .type-horizontal .image {
	height: 0;
	padding-bottom: 150px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.loop .type-horizontal .image img {
	position: absolute;
	z-index: 2;
	margin: auto;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loop .type-horizontal .header { width: 210px;}
.loop .type-horizontal .header > * { margin: 0 0 25px;}
.loop .type-horizontal .header > *:last-child { margin: 0;}

.loop .type-horizontal .meta {
	border-bottom: solid 1px #bd0034;
	margin: 0.5em 0 1em;
	padding: 0 0 0.5em;
	font-size: 1.4rem;
}
.loop .type-horizontal .meta > * {
	display: inline-block;
	margin: 0 1em 0 0;
}
.loop .type-horizontal .meta > *:last-child { margin: 0;}
.loop .type-horizontal .date {
}
.loop .type-horizontal .category a {
	display: inline-block;
	color: #bd0034;
	font-weight: bold;
	text-decoration: none;
}

.loop .type-horizontal .title {
	font-size: 1.5rem;
	line-height: 1.8;
}

.loop .type-horizontal .content {
	display: none;
	color: #787878;
	font-size: 1.2rem;
}



@media screen and (min-width: 600px) {
	/* Focus */
	.loop .type-focus .col {
		margin-right: 14px !important;
	}
	.loop .type-focus .col:nth-child(1),
	.loop .type-focus .col:nth-child(2),
	.loop .type-focus .col:nth-child(3),
	.loop .type-focus .col:nth-child(4),
	.loop .type-focus .col:nth-child(5),
	.loop .type-focus .col:nth-child(6) {
		margin-right: 14px !important;
		width: 257px !important;
	}
	.loop .type-focus .col:nth-child(1) .teaser-image,
	.loop .type-focus .col:nth-child(2) .teaser-image,
	.loop .type-focus .col:nth-child(3) .teaser-image,
	.loop .type-focus .col:nth-child(4) .teaser-image,
	.loop .type-focus .col:nth-child(5) .teaser-image,
	.loop .type-focus .col:nth-child(6) .teaser-image {
		height: 171px !important;
	}
	.loop .type-focus .col:nth-child(3),
	.loop .type-focus .col:nth-child(6) { margin-right: 0 !important; }
	.loop .type-focus .col:nth-child(4n+6) { margin-right: 0 !important;}

	/* Full */
	.loop .type-full .col {
		/*width: 32.33% !important;*/
		margin-bottom: 0 !important;
	}
	.loop .type-full .col:nth-child(3) { margin-right: 0 !important; }
	.loop .type-full .col .teaser-image {
		height: 240px !important;
	}
	.loop .type-full .teaser-title {
		font-size: 1.6rem !important;
	}

}



/* =Type : Side
----------------------------------------------------- */
/* サイドバーで表示するメインのループ */
.loop .type-side {}
.loop .type-side .col {
	float: none;
	margin-bottom: 15px;
}
.loop .type-side:after,
.loop .type-side .col:after  {
	content:".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.loop .type-side .image {
	position: relative;
	width: 75px;
	height: 75px;
	float: left;
	margin-right: 15px;
}
.loop .type-side .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.loop .type-side .image img:hover {
	opacity: 0.7;
}
.ranking .loop .type-side .col:nth-child(1) .image:before,
.ranking .loop .type-side .col:nth-child(2) .image:before,
.ranking .loop .type-side .col:nth-child(3) .image:before,
.ranking .loop .type-side .col:nth-child(4) .image:before,
.ranking .loop .type-side .col:nth-child(5) .image:before {
	content: "1";
	position: absolute;
	z-index: 1;
	top: -0;
	left: -0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	border-radius: 0%;
	background-color: #bd0034;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}
.ranking .loop .type-side .col:nth-child(1) .image:before { content: "1"; background-color: #dcb43b; }
.ranking .loop .type-side .col:nth-child(2) .image:before { content: "2"; background-color: #b5b5b5; }
.ranking .loop .type-side .col:nth-child(3) .image:before { content: "3"; background-color: #c8a96d; }
.ranking .loop .type-side .col:nth-child(4) .image:before { content: "4"; }
.ranking .loop .type-side .col:nth-child(5) .image:before { content: "5"; }

.loop .type-side .meta {
	font-size: 10px;
	line-height: 1.5;
}
.loop .type-side .meta > * { display: block; margin-bottom: 10px; }
.loop .type-side .meta a { text-decoration: none; }
.loop .type-side .meta a:hover { text-decoration: underline; }
.loop .type-side .title {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.5;
}
.loop .type-side .title a { color: #232323; }
.loop .type-side .content { display: none; }



/*
-----------------------------------------------------

	=Home

-----------------------------------------------------
*/
/* タブ切替
----------------------------------------------------- */
.tab-switcher {}

/* tabs */
.tab-switcher ul.tabs {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.tab-switcher ul.tabs li {
	min-width: 120px;
	margin-right: 1px;
}
.tab-switcher ul.tabs li a {
	display: block;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	padding: 0.25em 1em;
	background-color: rgba(214, 40, 24, 0.15);
	color: #000;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

.tab-switcher ul.tabs .active a,
.tab-switcher ul.tabs li a:hover {
	background-color: #bd0034;
	color: #fff;
}

/* tabboxes */
.tab-switcher .tabboxes {}
.tab-switcher .tabboxes .tabbox {
	display: none;
	/*border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;*/
	font-size: 1.4rem;
}
.tab-switcher .tabboxes .tabbox:first-child {}

.tab-switcher .tabboxes .tabbox ul {
	border-top: solid 3px #bd0034;
	padding: 20px;
	background-color: #fff;
}
.tab-switcher .tabboxes .tabbox ul li {
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
}
.tab-switcher .tabboxes .tabbox ul li:last-child {
	margin: 0;
	padding: 0;
	border-bottom: none;
}
.tab-switcher .tabboxes .tabbox ul li a {
	display: block;
	background: url(assets/images/ico-arrow-right.png) no-repeat right 1em center;
	background-size: 6px auto;
	padding: 0.5em 1em;
	text-decoration: none;
}
.tab-switcher .tabboxes .tabbox ul li a::before {
	margin: 0 0.5em 0 0;
	content: "■";
	color: #bd0034;
}
.tab-switcher .tabboxes .tabbox ul li a:hover {
	text-decoration: underline;
	background-color: rgba(214, 40, 24, 0.15);
}

@media screen and (min-width: 0px) and (max-width: 600px) {
	.tab-switcher ul.tabs li {
		-webkit-flex: 1 1 0px;
		-ms-flex: 1 1 0px;
		flex: 1 1 0px;
	}
}
/*
-----------------------------------------------------

	=Archive

-----------------------------------------------------
*/

/*
-----------------------------------------------------

	=Page

-----------------------------------------------------
*/
/* Sitemap */
.sitemap {
	font-size: 0;
	letter-spacing: 0;
}
.sitemap ul {
	display: inline-block;
	font-size: 1.4rem;
	vertical-align: top;
	margin-bottom: 0;
	padding-right: 20px;
	min-width: 50%;
}
.sitemap ul:nth-child(2n) { padding-right: 0; }

/*
-----------------------------------------------------

	=Single

-----------------------------------------------------
*/

.article {
	background-color: #fff;
	padding: 30px;
}
.article-content { margin-bottom: 0 !important; }

/* 記事上部 */
.article-header {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: solid 1px #dcdcdc;
}
.article-header:after {
	content:".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.article-image {
	float: right;
	width: 32%;
	height: 180px;
	margin-left: 40px;
	margin-bottom: 40px;
}
.article-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.article-title {
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.25;
}
.article-title a {
	text-decoration: none;
}
.article-title a:hover {
	text-decoration: underline;
}

.article-meta {
	margin-bottom: 20px;
	font-size: 1.4rem;
}
.article-meta .article-date,
.article-meta .article-category {
	display: inline-block;
}
.article-meta .article-date {
	margin-right: 1.5em;
}
.article-meta .article-category a {
	margin-right: 1em;
	color: #bd0034;
	text-decoration: none;
}
.article-meta .article-category a:hover {
	text-decoration: underline;
}
.article-summary {
	margin-bottom: 20px;
	color: #666;
	font-size: 1.2rem;
}
.article-readingtime {
	background-color: rgba(0, 0, 0, 0.05);
	padding: 3px 12px;
	font-size: 1.3rem;
	font-weight: bold;
	color: #aaa;
}
.article-readingtime strong {
	display: inline-block;
	color: #333;
}
.article-relatedposts {
	margin-top: 40px;
	margin-bottom: 20px;
	border: solid 1px #dcdcdc;
	padding: 30px;
}
.article-relatedposts .tit {
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.25;
}
.article-relatedposts p,
.article-relatedposts li {
	line-height: 1.5;
}
.article-relatedposts li {
	margin-bottom: 0.5em;
}
/* この記事を読んだ人はこちらの記事も読んでいます */
.recommend_posts{
	margin-top: 40px;
	}
	.recommend_posts ul li{
		display: flex;
		margin-bottom: 20px;
	}
	.recommend_posts ul li:last-child{
		margin-bottom: 0;
	}
	.recommend_posts ul li > a{
		width: 120px;
		height: 74px;
		margin-right: 20px;
	}
	.recommend_posts ul li > a img{
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.recommend_posts ul li > a:hover{
		text-decoration: none;
	}
	.recommend_posts .header{
		width: calc(100% - 140px);
	}
	.recommend_posts .header a{
		text-decoration: none;
	}
	.recommend_posts .header a:hover{
		text-decoration: underline;
	}
	.recommend_posts .meta{
		font-size: 12px;
		line-height: 1.6;
		margin-bottom: 5px;
	}
	.recommend_posts .title{
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.6;
	}

.article-author {
	margin-bottom: 40px;
	border: solid 1px #dcdcdc;
	background-color: #fff;
	padding: 30px;
}
.article-author .pic {
	float: right;
	max-width: 150px;
	margin: 0 0 20px 20px;
}
.article-author .tit,
.article-author .txt { overflow: hidden; margin-bottom: 5px; }
.article-author .tit {
	margin-bottom: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.25;
}
.article-author .tit span {
	display: block;
	margin-right: 1em;
	margin-bottom: 5px;
	color: #666;
	font-size: 1.2rem;
	font-weight: normal;
}
.article-author .txt,
.article-author .link {
	color: #666;
	font-size: 1.2rem;
}
.article-author .link {
	text-align: right;
}
.article-sns{
	display: flex;
	align-items: center;
}
.article-sns li{
	margin-right: 3%;
	text-align: center;
	line-height: 1.2;
}
.article-sns li:last-child{
	margin-right: 0;
}
.article-sns li a{
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	padding: 10px 15px;
	color: #333;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
}
.article-sns li a:hover{
	opacity: .4;
}
.article-sns li a img{
	width: 30px;
	margin:0 10px 0 0;
}


.article-summary {}
.article-summary p {
	font-size: 1.3rem;
	line-height: 1.75;
	letter-spacing: 0;
}

/* 本分 */
/* 本文の見出しスタイルなどは、wordpress.css */
.article-content {
	margin-bottom: 80px;
}

/* 記事下部 */
.article-footer {
	margin-bottom: 80px;
}
.article-footer .article-sns {
	text-align: right;
}


/*
-----------------------------------------------------

	=WordPress Plugin

-----------------------------------------------------
*/



table.table-form em {
    color: #fff;
    background-color: #999;
    display: inline-block;
    vertical-align: middle;
	padding: 0 1em;
}

table.table-form .nini {}
table.table-form .must {
	color: #fff;
	background-color: #bd0034;
}

hr.hr-sep { height: 50px; border: none;}

.privacy-box {
	height: 180px;
	overflow: auto;
	padding: 15px;
	border: solid 1px #999;
	background-color: #fff;
	font-size: 1.2rem;
}
.privacy-box  .privacy {}
.privacy-box  .privacy dt,
.privacy-box  .privacy dd {
	display: block;
	margin-bottom: 0.5em;
	line-height: 1.8;
}
.privacy-box  .privacy strong {
	display: block;
	margin-top: 1.5em;
	margin-bottom: 0.25em;
}

.agree-box {
	margin: 30px auto;
	text-align: center;
}
.agree-box .agree {
	 display: inline-block;
    margin: 0 auto;
    padding: 10px 40px;
    background: #FFEFF2;
    border: #BD0034 1px solid;
}


/* =MW WP Form
----------------------------------------------------------- */
/* MW WP Form */
.mw_wp_form {
}
.mw_wp_form tr,
.mw_wp_form th,
.mw_wp_form td { display: block !important; text-align: left; max-width: 100%;}
.mw_wp_form tr { padding: 10px 0; margin: 0; border-bottom: none;}
.mw_wp_form th,
.mw_wp_form td { width: 100% !important; padding: 5px 0 !important; font-size: 1em !important; background-color: transparent; border: none !important;}

.mw_wp_form th { font-weight: bold;}

.mw_wp_form input,
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form textarea,
.mw_wp_form select,
.mw_wp_form input[type*="submit"] {
	font-size: 16px !important;
	border-radius: 5px;
}
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form textarea { padding: 1.5rem; width: 100%;}
.mw_wp_form select {
	width: 100%;
	height: 3em;
}
.mw_wp_form input[type="radio"] { padding: 0 !important;}
.mw_wp_form input[type*="submit"] {
	width: 100% !important;
	max-width: 400px;
	display: block;
	margin: auto;
	font-size: 20px !important;
	padding: 1.0em 2em;
	line-height: 1.8;
}
.mw_wp_form .mwform-tel-field input[type="text"] { width: auto !important;}

.mw_wp_form input#zip {
	width: auto;
}
.mw_wp_form input#zip,
.mw_wp_form input#address1,
.mw_wp_form input#address2 {
	margin-bottom: 0.5em;
}


@media screen and (min-width: 0px) and (max-width: 600px) {
	/* MW WP Form */
	.mw_wp_form input,
	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form textarea,
	.mw_wp_form select,
	.mw_wp_form input[type*="submit"] {
		font-size: 16px !important;
	}
	hr.hr-sep {
		margin: 0 auto;
		height: 20px;
	}


}

/*
-----------------------------------------------------

	=Media Queries Responsive Structure

-----------------------------------------------------
*/

/* Desktop
----------------------------------------------------- */
@media screen and (min-width: 600px) {
	.sp { display: none !important; }

	body {
		min-width: 1120px;
	}

	.button-open,
	.button-close { display: none;}
}


/* Smartphone
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 599px) {
	html { font-size: 10px; }
	body { font-size: 1.4rem;}

	.pc { display: none !important;}

	p {}
	hr { margin: 20px 0;}
	iframe { width:100%;}

	/* Apperance
	--------------------------------------------------
	input[type="button"],
	input[type="text"],
	input[type="submit"] {-webkit-appearance: none;border-radius: 0;} */

	/* Global Style
	-------------------------------------------------- */
	.wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}

	.block { margin-bottom: 6.25vw; }
	.section { padding: 6.25vw 0; }

	/* Header
	-------------------------------------------------- */
	.menu_fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	/* 5秒後表示 */
	body.header_bnr_on #cont{
		padding-top: 160px;
	}
	body.header_bnr_on #nav{
		top:100px;
	}

	#cont { padding-top: 60px; }
	/* バナー */
	#header_bnr{
		border-bottom: 1px solid #fff;
		top: 0;
	}
	#header_bnr p{
		display: block;
	}
	#header_bnr p:nth-child(1){
		margin-bottom: 5px;
	}


	#header {
		border: none;
	}
	#header #header-in {
		padding: 8px 10px;
		flex-direction: row;
		height: 60px;
	}
	#header .header-right  { display: none; }
	#header .header-left,
	#header .header-right { width: 50% !important; }
	#header .logo  {}
	#header .sitetitle { display: none !important;}
	#header .logo .img {
		width: 270px;
    margin: 0;
    padding: 0;
	}
	#header .logo .img img { display: block; max-width: 130px;}

	/* Search */
	.searchform {
		width: 100%;
		max-width: 100%;
		margin: 10px auto 0;
	}
	.searchform input { font-size: 16px !important; }
	.searchform input {
		padding: 8px;
	}
	.searchform .field {}
	.searchform .submit {
		font-size: 0 !important;
		background-position: center;
	}

	/* Toggle Navigation */
	#header .toggler {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 9999;
	}
	.btn-open,
	.btn-close {
		display: block;
		padding: 8px 4px;
		width: 60px;
		height: 60px;
		text-align: center;
		font-size: 11px;
		line-height: 11px;
		background-color: #bd0034;
		color: #fff;
		text-decoration: none;
	}
	.btn-open:hover,
	.btn-close:hover {}
	.btn-close { display: none;}
	.btn-open i,
	.btn-close i {
		display: block;
		font-size: 20px;
		line-height: 26px;
	}
	.btn-open span,
	.btn-close span {
		font-size: 9px;
		letter-spacing: 0;
		font-weight: bold;
		line-height: 10px;
	}

	#header #header-in {
		position: relative;
		z-index: 9998;
	}
	#nav {
		position: absolute;
		position: fixed;
		z-index: 9997;
		top: 0;
		left:0;
		bottom: auto;
		width: 100vw !important;
		height: 100vh;
		padding: 0;
		overflow-y:scroll;
		-webkit-overflow-scrolling:touch;
		text-align: center;/*
		background-color: rgba(255, 255, 255, 1)*/;
		background-color: #FDEFEB;
		-webkit-transform:translate3d(-100%,0,0);
		   -moz-transform:translate3d(-100%,0,0);
		    -ms-transform:translate3d(-100%,0,0);
		        transform:translate3d(-100%,0,0);
		-webkit-transition: all ease-out 0.2s;
		-moz-transition: all ease-out 0.2s;
		-ms-transition: all ease-out 0.2s;
		transition: all ease-out 0.2s;
	}

	#nav {
		margin-top: 0;
		border-top: 0;
		padding-top: 65px !important;
	}

	#nav.on {
		-webkit-transform:translate3d(0,0,0);
		-moz-transform:translate3d(0,0,0);
		-ms-transform:translate3d(0,0,0);
		transform:translate3d(0,0,0);
	}
	#nav .wrapper {}
	#nav ul,
	#nav .search {
		padding: 10px; margin-bottom: 0 !important;
	}
	#nav ul{
		display: block;
	}
	#nav ul li {
		display: block;
		float: none;
		width: 100%;
		margin-bottom: 5px;
		padding-bottom: 5px;
		border: none;
		border-bottom: solid 1px #ccc;
	}
	#nav ul li::before,
	#nav ul li::after{
		display: none;
	}
	#nav ul li:first-child { border-left: none; }
	#nav ul li a {
		display: block;
		width: auto;
		height: auto;
		margin-bottom: 0;
		padding: 15px 0;
		font-size: 14px;
		font-weight: bold;
		text-align: left;
		color: #bd0034;
	}
	#nav ul li a:hover {}
	#nav ul li a:before { display: none; }


	#overlay {
		background-color: rgba(0, 0, 0, 0.7);
		position: fixed;
		z-index: 9991;
		top: 0;
		left: 0;
		width: 100vh;
		height: 100vh;
		display: none;
	}
	/* Key Visual */
	#key {}





	/* Action
	-------------------------------------------------- */
	.action {}

	/* Footer
	-------------------------------------------------- */
	#btn-pagetop {
		bottom: 30px;
		right: 6.25vw;
	}
	#footer {}
	#footer #footer-in { padding: 40px 6.25vw; }

	#footer .footer-left > *,
	#footer .footer-right > * {
		display: block;
		width: 100%;
		margin: auto;
		margin-bottom: 20px;
		text-align: center;
	}
	#footer .search {
		margin-bottom: 40px;
	}
	#footer .search .searchform { margin: auto !important; }

	#footer .footer-left {
		margin-bottom: 20px;
	}
	#footer .logo {
		text-align: center;
	}
	#footer .logo .img { margin: auto; }
	#footer .nav {
		margin-bottom: 30px;
		font-size: 0;
		letter-spacing: 0;
	}
	#footer .nav ul {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0;
		margin-bottom: 20px;
	}
	#footer .nav ul li{
		width: 100%;
		border-top: 1px solid #ccc;
		text-align: left;
	}
	#footer .nav ul li a{
		display: block;
		padding: 15px;
		font-size: 16px;
		line-height: normal;
		text-decoration: none;
	}
	#footer .nav .tit {
		font-size: 1.2rem;
	}
	#footer #copyright {
		padding-bottom: 100px;
		font-size: 9px;
		text-align: center;
	}

	/* Main Column
	-------------------------------------------------- */
	#main {}
	#primary,
	#secondary { width: 100%; }
	#primary { margin-bottom: 6.25vw; }
	#primary, #secondary { padding-top: 0; }

	body.single-post .single_top_bnr_sp{
		display: block;
	}

	#breadcrumbs {
		margin-bottom: 6.25vw;
		padding: 10px 6.25vw;
		font-size: 9px;
	}
	#breadcrumbs .wrapper {
		background-position: left top 3px;
	}
	#breadcrumbs p { line-height: 1.8; }

	/* Common Parts
	--------------------------------------------------*/
	.tit-main { font-size: 2rem; padding-bottom: 10px; }

	.list-button li { margin: 0 auto 10px 0; }
	.list-button li:last-child { margin: 0; }

	/* Tags */
	ul.list-tag li {
		font-size: 10px;
		margin-right: 10px;
		margin-bottom: 10px;
	}


	/* Loop
	--------------------------------------------------*/
	.loop .row { margin-right: 0; margin-bottom: 0; }
	.loop .row .col
	.loop .row .col .content { display: block; }

	/* slider */
	.loop .type-slider .image { height: 75vw; }

	/* main（たて配置パターン） */
	.loop .type-main {
		 margin: 0 -1.5%;
	}
	.loop .type-main .col {
		width: 49%;
		margin: 0 1% 1% 0;
	}
	.loop .type-main.type-focus .col { width: 50% !important; }
	.loop .type-main .image {
		height: 30vw;
	}
	.loop .type-main .title {
		line-height: 1.25;
		margin-bottom: 10px;
		font-size: 14px;
	}
	.loop .type-main .content {
		font-size: 9px;
	}

	/* horizontal（横配置パターン）
	.loop .type-horizontal {
		display: block;
	}
	.loop .type-horizontal .col {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		background-color: transparent;
		box-shadow: none;
	}
	.loop .type-horizontal .image { width: 26vw; height: 26vw; padding-bottom: 0; }
	.loop .type-horizontal .header { width: 57vw; padding: 0; }
	.loop .type-horizontal .title { line-height: 1.6; margin-bottom: 10px; font-size: 14px; font-weight: normal; }
	.loop .type-horizontal .content { font-size: 9px; }
	.loop .type-horizontal .content p {  line-height: 1.5;}

	#sticky .row .col:nth-child(1):before { display: none !important; } */

	/* sticky
	.loop .type-sticky .image { height: 200px; } */

	/* full
	.loop .type-full .col { width: 100% !important; margin-bottom: 20px; }
	.loop .type-full .image { height: 170px; margin-bottom: 10px; } */


		/* Swiper
		-------------------------------------------------- */
		.swiper-container {}
		.swiper-slide {}
		.swiper-slide-active { opacity: 1; }

		/* Prev & Next */
		.swiper-button-prev,
		.swiper-container-rtl .swiper-button-next,
		.swiper-button-next,
		.swiper-container-rtl .swiper-button-prev {
		  top: 0 !important;
		  width: 40px !important;
		  margin-top: 0 !important;
		}
		.swiper-button-prev,
		.swiper-container-rtl .swiper-button-next {
		  left: 0px !important;
		  background-image: url(assets/images/ico-arrow-swiper-left.png) !important;
		  background-size: 22px auto !important;
		}
		.swiper-button-next,
		.swiper-container-rtl .swiper-button-prev {
		  right: 0px !important;
		  background-image: url(assets/images/ico-arrow-swiper-right.png) !important;
		  background-size: 22px auto !important;
		}


	/* Home
	-------------------------------------------------- */

	/* Archive
	-------------------------------------------------- */
	/* Summary */
	#summary .wrapper {
		display: block;
		flex-direction: row;
	}
	#summary .pic { width: 50% !important; float: left; margin: 0 15px 15px 0; }
	#summary .cont { width: 100% !important; }
	#summary p { font-size: 1.1rem; }
	#summary .pic img { width: 100%; }
	#summary .tit { font-size: 1.6rem; }
	#summary .tit em { font-size: 1.2rem; margin-top: 5px; }

	#sticky { margin-bottom: 20px; }

	/* Category Navigation */
	.nav-category ul li {
		width: 50%;
	}
	.nav-category ul li a {
		padding: 7px 14px;
		font-size: 1.2rem;
	}

	/* Single
	-------------------------------------------------- */
	.article {
		background-color: #fff;
		padding: 3.125vw;
		box-shadow: none;
	}
	.article-title {
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.article-image {
		width: 100%;
		height: 200px;
		margin-left: 0;
		margin-bottom: 20px;
	}
	/* この記事を読んだ人はこちらの記事も読んでいます */
		.recommend_posts ul li{
			margin-bottom: 15px;
		}
		.recommend_posts ul li > a{
			width: 120px;
			height: 68px;
			margin-right: 10px;
		}
		.recommend_posts .header{
			width: calc(100% - 130px);
		}
		.recommend_posts .meta{
			margin-bottom: 3px;
		}
		.recommend_posts .title{
			font-size: 14px;
			line-height: 1.25;
		}

	.article-author {
		padding: 15px;
	}
	.article-author .tit{
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.article-author .tit,
	.article-author .txt {
		line-height: 1.6;
		overflow: inherit;
	}
	.article-author .pic {
		width: 90px;
		margin: 0 0 10px 0;
	}
	/* .article-author .tit { text-align: le;} */
	.article-author .link{
		text-align: left;
	}

	.article-sns li{
		flex: 1;
		margin-right: 2%;
	}
	.article-sns li a{
		display: block;
		padding: 10px;
		font-size: 10px;
	}
	.article-sns li a img{
		margin:0 0 10px 0;
	}
	.article-sns li a span{
		display: block;
	}


	#nav .button ul li {
		display: inline-block;
		border: none;
	}
	#nav .button ul li img { margin: 0 10px 0 0; }

}



/*======================================
フッター施設一覧
======================================*/

footer .location_wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	padding: 60px 20px;
	max-width: 1200px;
	margin: 0 auto;
	font-family: "M PLUS 2", "Noto Sans JP", sans-serif;
}

footer .location {
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 40px;
}

footer .location_left,
footer .location_right {
	flex: 1;
}

footer .ttl {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 8px;
}

footer .location_left_inner {
	display: flex;
	/* flex-direction: column; */
	gap: 30px;
}

/* footer .location_box,
footer .location_box_2 {
	display: flex;
	gap: 30px;
} */

footer .location_box_2 {
	justify-content: space-between;
}

footer .location_ttl {
	font-weight: 700;
	font-size: 1.2rem;
	margin-bottom: 10px;
	color: #333;
}

footer .location_box ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

footer .location_box ul li {
	margin-bottom: 6px;
}

footer .location_box ul li a {
	color: #333;
	text-decoration: none !important;
	transition: opacity 0.3s;
}

footer .location_box ul li a:hover {
	opacity: 0.7;
}

footer .location_box .location_ttl {
	font-size: 14px;
	font-weight: bold;
	position: relative;
}

footer .location_box ul li a {
	font-size: 14px;
	padding: 5px 0 5px 20px;
	position: relative;
	margin-left: 10px;
	text-decoration: none;
}

footer .footer_areaBlock .location .location_left_inner {
	display: flex;
	justify-content: space-between;
}
footer .location_box ul li a:before {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
	transform: translateY(-50%) rotate(-45deg);
	position: absolute;
	left: 0;
	top: 50%;
}

footer .location .location_right {
	flex: 0.25;
}

footer .footer_areaBlock {
	background:  #fff;
}

footer .d_flex {
	display: flex;
}
@media screen and (max-width: 768px) {
	footer .location_wrap {
		flex-direction: column;
		gap: 30px;
		padding: 40px 15px;
	}

	footer .location {
		flex-direction: column;
		gap: 40px;
	}

	footer .location_left_inner {
		gap: 20px;
	}

	footer .location_box,
	footer .location_box_2 {
		flex-direction: column;
		gap: 20px;
	}

	footer .ttl {
		font-size: 1.5rem;
	}

	footer .location_ttl {
		font-size: 1.1rem;
		margin-bottom: 6px;
	}

	footer .location_right {
		margin-top: 20px;
	}
	footer  .location .location_box .location_ttl {
		font-size: 14px;
		padding: 10px 0;
		margin-top: 0 !important;
		margin-bottom: 0;
	}
	footer .location .location_box .location_ttl:before, footer .location .location_box .location_ttl:after {
		content: none;
		width: 12px;
		height: 1px;
		background-color: #000000;
		display: block;
		position: absolute;
		right: 15px;
		top: 50%;
		transition: 0.3s;
	}
	footer .location .location_box .location_ttl:hover {
		cursor: pointer;
	}
	footer .location .location_box .location_ttl:before, footer .location .location_box .location_ttl:after {
		content: "";
	}
	footer .location .location_box .location_ttl:after {
		transform: rotate(90deg);
	}
	footer .location .location_box.open .location_ttl:after {
		opacity: 0;
	}
	footer .location .location_box .location_ttl:before, footer .location .location_box .location_ttl:after {
		content: "";
	}
	footer .location .location_left_inner {
		display: block;
	}
	footer .location ul li a {
		font-size: 14px;
		padding-left: 15px;
	}
	footer .location .location_left_inner {
		display: block;
	}
	footer .footer_inner .location .location_box {
		border-bottom: solid 1px #ccc;
	}
	footer .footer_areaBlock .location .location_left_inner {
		display: block;
	}
	footer .location .ttl {
		font-size: 14px;
		/* margin: 48px 0 0;
		padding: 6px 0; */
		margin-bottom: 5px;
	}
	footer .location .location_box {
		border-bottom: solid 1px #ccc;
	}
}