@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700&display=swap');
/* font-family: 'Roboto Condensed', sans-serif; */
@import url('https://fonts.googleapis.com/css?family=EB+Garamond&display=swap');
/* font-family: 'EB Garamond', serif;*/

/* ----------------------------------------
- RESET BROWSER EFFECT
---------------------------------------- */
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;line-height:1}article,main,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:after,q:before{content:''}abbr,acronym{border:0}img{vertical-align:top}
/* ----------------------------------------
- MODULE
---------------------------------------- */
/* CLEAR
----------------------------------------------------- */
.clear{
	clear:both;
}
/* CLEAR FIX
----------------------------------------------------- */
*:first-child+html .clearfix{display:inline-block;} /* for IE7 */
.clearfix:after {content:" ";
	display:block;
	visibility:hidden;
	clear:both;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}
* html .clearfix {
	display:inline-block;
}
/* no ie mac \*/
* html .clearfix {
	height:1%;
}
.clearfix {
	display:block;
	clear:both;
}

/* tel
----------------------------------------------------- */
a.tel,
.pc a.tel{
	text-decoration:none!important;
}
.sd a.tel{
	text-decoration:underline!important;
}

/* ----------------------------------------
- FORMAT
---------------------------------------- */
html {
	font-size: 62.5%;
	height: 100%;
	overflow-y:scroll;
}
body {
	position: relative;
	color: #333;
	font-family: 'Roboto', 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	height: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
a {
	text-decoration:underline;
	outline:none;
	color: #004ea2;
}
a:hover {
	text-decoration:none;
}
a img {
	-moz-transition: opacity 0.5s ease-out;
	-webkit-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
a:hover img {
	-moz-opacity: 0.5;
	-webkit-opacity: 0.5;
	-ms-opacity: 0.5;
	opacity: 0.5;
}
img.fix {
	width: 100%;
	height: auto;
}

#wrapper {
	position: relative;
	background-color: #fff;
	z-index: 10;
}
.fs12 { font-size:1.2rem; }
.fs13 { font-size:1.3rem; }
.fs14 { font-size:1.4rem; }
.fs15 { font-size:1.5rem; }
.fs16 { font-size:1.6rem; }
.fs18 { font-size:1.8rem; }
.fs20 { font-size: 2.0rem; }
.fs22 { font-size: 2.2rem; }
.fs24 { font-size: 2.4rem; }
.fs26 { font-size: 2.6rem; }
.fs30 { font-size: 3.0rem; }
.fs35 { font-size: 3.5rem; }
.fs40 { font-size: 4.0rem; }
.fs45 { font-size: 4.5rem; }
.fs50 { font-size: 5.0rem; }
.fs55 { font-size: 5.5rem; }
.fs60 { font-size: 6rem; }
.fs70 { font-size: 7rem; }
.fs80 { font-size: 8rem; }
@media only screen and (max-width:1280px) {
	.fs12 { font-size:1.1rem; }
	.fs13 { font-size:1.2rem; }
	.fs14 { font-size:1.3rem; }
	.fs15 { font-size:1.4rem; }
	.fs16 { font-size:1.5rem; }
	.fs18 { font-size:1.7rem; }
	.fs20 { font-size: 1.8rem; }
	.fs22 { font-size: 1.9rem; }
	.fs24 { font-size: 2.0rem; }
	.fs26 { font-size: 2.2rem; }
	.fs30 { font-size: 2.75rem; }
	.fs35 { font-size: 3.0rem; }
	.fs40 { font-size: 3.5rem; }
	.fs45 { font-size: 4.0rem; }
	.fs50 { font-size: 4.5rem; }
	.fs55 { font-size: 5rem; }
	.fs60 { font-size: 5.5rem; }
	.fs70 { font-size: 5.75rem; }
}
@media only screen and (max-width:768px) {
	.fs12 { font-size:1.0rem; }
	.fs13 { font-size:1.1rem; }
	.fs14 { font-size:1.2rem; }
	.fs15 { font-size:1.3rem; }
	.fs16 { font-size:1.5rem; }
	.fs18 { font-size:1.6rem; }
	.fs20 { font-size: 1.6rem; }
	.fs22 { font-size: 1.7rem; }
	.fs24 { font-size: 1.8rem; }
	.fs26 { font-size: 2.0rem; }
	.fs30 { font-size: 2.5rem; }
	.fs35 { font-size: 2.75rem; }
	.fs40 { font-size: 3.0rem; }
	.fs45 { font-size: 3.25rem; }
	.fs50 { font-size: 3.5rem; }
	.fs55 { font-size: 3.75rem; }
	.fs60 { font-size: 4.5rem; }
	.fs70 { font-size: 5.5rem; }
	.fs80 { font-size: 6.5rem;}
}
@media only screen and (max-width:480px) {
	.fs13 { font-size:1.0rem; }
	.fs14 { font-size:1.1rem; }
	.fs15 { font-size:1.2rem; }
	.fs18 { font-size:1.5rem; }
	.fs24 { font-size: 1.75rem; }
	.fs26 { font-size: 1.8rem; }
	.fs30 { font-size: 1.8rem; }
	.fs35 { font-size: 2.25rem; }
	.fs40 { font-size: 2.5rem; }
	.fs45 { font-size: 2.75rem; }
	.fs50 { font-size: 3.0rem; }
	.fs55 { font-size: 3.25rem; }
	.fs60 { font-size: 3.5rem; }
	.fs70 { font-size: 4.5rem; }
	.fs80 { font-size: 6rem; }
}

.tpTitle {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 600;
	color:#38383a;
	line-height: 1;
	margin: 0 auto 5rem auto;
	text-align: center;
	letter-spacing: 2rem;
}
.tpTitle::before {
	/*content:'';
	display: block;
	margin: 0 auto 3.5rem;
	width: 50px;
	height: 50px;
	background: url('../images/funkura_mini_logomark.png') no-repeat center center / cover;*/
}
.tpTitle::after {
	content:'';
	display: block;
	margin: 1.5rem auto;
	width: 100px;
	height: 7px;
	border-bottom: 7px solid #004ea2;
}
@media only screen and (max-width:1280px) {
	.tpTitle {
		margin: 0 auto 4rem auto;
		letter-spacing: 1.75rem;
	}
	.tpTitle::before {
		/*margin: 0 auto 3.0rem;
		width: 40px;
		height: 40px;*/
	}
	.tpTitle::after {
		margin: 1.25rem auto;
		width: 80px;
		height: 5px;
		border-bottom: 5px solid #004ea2;
	}
}
@media only screen and (max-width:768px) {
	.tpTitle {
		margin: 0 auto 3.5rem auto;
		letter-spacing: 1.25rem;
	}
	.tpTitle::before {
		/*margin: 0 auto 3.0rem;
		width: 35px;
		height: 35px;*/
	}
	.tpTitle::after {
		width: 75px;
	}
}
@media only screen and (max-width:480px) {
	.tpTitle {
		margin: 0 auto 3.0rem auto;
		letter-spacing: 0.75rem;
	}
	.tpTitle::before {
		/*margin: 0 auto 2.5rem;
		width: 30px;
		height: 30px;*/
	}
	.tpTitle::after {
		margin: 1.0rem auto;
		width: 50px;
		height: 4px;
		border-bottom: 4px solid #004ea2;
	}
}

.object_fit_img {
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover;'
}
.object_fit_img.right {
	object-position: 100% 50%;
}

#pageMv {
	position: relative;
	width: 100%;
	margin: 0 auto -2.5rem;
}
#pageMv .pageTitle {
	position: static;
	left: 0;
	top: 100%;
	display: inline-block;
	background-color: #fff;
	padding: 1.5rem 7.5rem 1.5rem 0;
	-moz-transform: translateY(-50%) translateX(0);
	-webkit-transform: translateY(-50%) translateX(0);
	-ms-transform: translateY(-50%) translateX(0);
	transform: translateY(-50%) translateX(0);
}
#pageMv h1 {
	font-weight: 900;
	line-height: 1.25;
}
#pageMv h1 small {
	display: block;
	margin: 0.5rem 0;
	line-height: 1.5;
}
#pageMv span {
	display: block;
	font-weight: 700;
	line-height: inherit;
	margin-bottom: 0.5em;
}
#pageMv span em {
	display: inline-block;
	padding: 0 0.25em;
	background: -moz-linear-gradient(top, transparent 50%, #c1d3e7 50%);
	background: -webkit-linear-gradient(top, transparent 50%, #c1d3e7 50%);
	background: linear-gradient(to bottom, transparent 50%, #c1d3e7 50%);
}
#pageMv .update {
	margin: 1.25rem 0 0 0;
	line-height: 1;
	padding: 0;
	font-family: 'Roboto Condensed', sans-serif;
	color: #666;
}
@media only screen and (max-width:1280px) {
	#pageMv {
		width: 100%;
	}
	#pageMv .pageTitle {
		padding: 1.25rem 5rem 1.25rem 1.75rem;
	}
}
@media only screen and (max-width:768px) {
	#pageMv {
		margin: 0 auto -0.5rem;
	}
	#pageMv .pageTitle {
		position: static;
		padding: 1.25rem 2.0rem 0 2rem;
		-moz-transform: translateY(-35%) translateX(0);
		-webkit-transform: translateY(-35%) translateX(0);
		-ms-transform: translateY(-35%) translateX(0);
		transform: translateY(-35%) translateX(0);
	}
	#pageMv h1 small {
		margin: 0.25rem 0;
	}
	#pageMv .update.fs20 {
		margin: 1.0rem 0 0 0;
		font-size: 1.6rem;
	}
}
@media only screen and (max-width:480px) {
	#pageMv {
		margin: 0 auto;
	}
	#pageMv .pageTitle {
		padding: 1.25rem 1.5rem 0 1.5rem;
		position: static;
		-moz-transform: translateY(-25%) translateX(0);
		-webkit-transform: translateY(-25%) translateX(0);
		-ms-transform: translateY(-25%) translateX(0);
		transform: translateY(-25%) translateX(0);
	}
	#pageMv .update.fs20 {
		margin: 0.75rem 0 0 0;
		font-size: 1.4rem;
	}
}

main p.lead {
	margin: 0 0 45px 0;
	line-height: 2;
}
main p.lead br.pc {
	display: block;
}
main p.lead span.pc {
	display: inline;
}
main p.lead span.sp {
	display: none;
}
@media only screen and (max-width:1280px) {
	main p.lead {
		margin: 0 0 35px 0;
		padding: 0;
	}
}
@media only screen and (max-width:768px) {
	main p.lead {
		margin: 0 0 25px 0;
		padding: 0;
		line-height: 1.75;
	}
	main p.lead span.pc {
		display: none;
	}
	main p.lead span.sp {
	display: inline;
	}
}
@media only screen and (max-width:480px) {
	main p.lead {
		margin: 0 0 20px 0;
		padding: 0;
		line-height: 1.7;
	}
	main p.lead br.pc {
		display: none;
	}
}

#contents.pageContents {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding-top: 70px;
}
@media only screen and (max-width:1280px) {
	#contents.pageContents {
		width: 100%;
		padding-top: 65px;
	}
}
@media only screen and (max-width:768px) {
	#contents.pageContents {
		padding-top: 60px;
	}
}
@media only screen and (max-width:480px) {
	#contents.pageContents {
		padding-top: 50px;
	}
}

.btn {
	display: inline-block;
	width: auto;
}
.btn a {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 36px;
	padding: 0.75rem 5rem;
	text-decoration: none;
	color: #004ea2;
	background-color: #fff;
	border: 2px solid #004ea2;
}

.btn a:hover {
	background-color: #004ea2;
	color: #fff;
}
.btn .disabled,
.btn .disabled:hover {
	cursor: default;
	font-size: 1.6rem;
	line-height: 36px;
	padding: 1rem 5rem;
	text-decoration: none;
	color: #bbb;
	background-color: #dedede;
	border: 2px solid #dedede;
}
@media only screen and (max-width:768px) {
	.btn a {
		font-size: 1.5rem;
		line-height: 32px;
		padding: 0.75rem 4rem;
		text-decoration: none;
	}
	.btn .disabled,
	.btn .disabled:hover {
		font-size: 1.5rem;
		line-height: 32px;
		padding: 0.75rem 4rem;
	}
}
@media only screen and (max-width:480px) {
	.btn a {
		font-size: 1.4rem;
		line-height: 30px;
		padding: 0.5rem 3rem;
	}
	.btn .disabled,
	.btn .disabled:hover {
		font-size: 1.4rem;
		line-height: 30px;
		padding: 0.5rem 3rem;
	}
}

.backPageBtn {
	display: block;
	width: 95%;
	text-align: center;
	margin: 5rem auto 0;
}
.backPageBtn a {
	display: block;
	font-size: 1.8rem;
	line-height: 36px;
	padding: 2rem 5rem;
	text-decoration: none;
	color: #fff;
	border: 1px solid #004ea2;
	background-color: #004ea2;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
	opacity: 1;
}
.backPageBtn a:hover {
	opacity: 0.7;
}
@media only screen and (max-width:768px) {
	.backPageBtn {
		margin: 4.5rem auto 0;
	}
	.backPageBtn a {
		font-size: 1.6rem;
		line-height: 30px;
		padding: 1.5rem 2.5rem;
	}
}
@media only screen and (max-width:480px) {
	.backPageBtn {
		margin: 3.5rem auto 0;
	}
	.backPageBtn a {
		font-size: 1.5rem;
		line-height: 22px;
		padding: 1.25rem 1.5rem;
	}
}

}
.mincho {
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


.pageFooterNavi {
	clear: both;
	margin: 5em auto 0;
}
.pageFooterNavi ul {
	display: flex;
	-webkit-box-pack:justify;
	-moz-box-pack:justify;
	-webkit-flex-pack:justify;
	-moz-flex-pack:justify;
	-ms-flex-pack:justify;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
}
.pageFooterNavi ul li,
.pageFooterNavi ul li span {
	width: auto;
	white-space: nowrap;
}
@media only screen and (max-width:1280px) {
	.pageFooterNavi {
		margin: 3.5em auto 0;
	}
	.pageFooterNavi ul {
		width: 97.5%;
		margin: 0 auto;
	}
}
@media only screen and (max-width:768px) {
	.pageFooterNavi {
		margin: 2.5em auto 0;
	}
}
@media only screen and (max-width:480px) {
	.pageFooterNavi {
		margin: 2.0em auto 0;
	}
	.pageFooterNavi ul {
		width: 95%;
	}
}


/* header
----------------------------------------------------- */
header {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	height: 70px;
	position: fixed;
	background-color: rgba(255, 255, 255, 0.85);
	z-index: 490;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
header .headerWrapper {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
	height: 70px;
	z-index: 500;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
header .headerWrapper h1 {
	position: absolute;
	width: 209px;
	height: 45px;
	top: 50%;
	left: 0;
	-moz-transform: translateX(0%) translateY(-50%);
	-webkit-transform: translateX(0%) translateY(-50%);
	-ms-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
	background: none;
}
header .headerWrapper .descriptionText {
	position: absolute;
	color: #666767;
	height: 45px;
	line-height: 45px;
	top: 50%;
	left: 225px;
	-moz-transform: translateX(0%) translateY(-50%);
	-webkit-transform: translateX(0%) translateY(-50%);
	-ms-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
header.fixed {
	height: 50px;
	background-color: #38383a;
}
header.fixed .headerWrapper {
	height: 50px;
}
header.fixed .headerWrapper h1 {
	width: 163px;
	height: 35px;
	top: 50%;
	background: url('../images/fan_logo_fix.png') no-repeat center center / cover;
}
header.fixed .headerWrapper h1 a {
	display: block;
	width: 163px;
	height: 35px;
}
header.fixed .headerWrapper h1 img {
	display: none;
}
header.fixed .headerWrapper .descriptionText {
	color: #fff;
	left: 175px;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
@media only screen and (max-width:1280px) {
	header {
		height: 65px;
	}
	header .headerWrapper {
		width: 100%;
		height: 65px;
	}
	header .headerWrapper h1 {
		left: 1.5%;
		width: 186px;
		height: 40px;
	}
	header.fixed .headerWrapper h1 {
		width: 149px;
		height: 32px;
	}
	header.fixed .headerWrapper h1 a {
		width: 149px;
		height: 32px;
	}
	header .headerWrapper .descriptionText {
		height: 40px;
		line-height: 40px;
		left: 220px;
	}
	header.fixed .headerWrapper .descriptionText {
		left: 180px;
	}
}
@media only screen and (max-width:768px) {
	header {
		height: 60px;
	}
	header .headerWrapper {
		height: 60px;
	}
	header .headerWrapper h1 {
		left: 2.5%;
		width: 163px;
		height: 35px;
	}
	header .headerWrapper .descriptionText {
		display: none;
	}
	header.fixed .headerWrapper h1 a {
		width: 163px;
		height: 35px;
	}
}
@media only screen and (max-width:480px) {
	header {
		height: 50px;
	}
	header .headerWrapper {
		height: 50px;
	}
	header .headerWrapper h1 {
		width: 149px;
		height: 32px;
	}
	header.fixed {
		height: 40px;
	}
	header.fixed .headerWrapper {
		height: 40px;
	}
	header.fixed .headerWrapper h1 {
		width: 112px;
		height: 24px;
	}
	header.fixed .headerWrapper h1 a {
		width: 112px;
		height: 24px;
	}
}

header .snsNav {
	position: absolute;
	display: flex;
	top: 50%;
	right: 60px;
	-moz-transform: translateX(0) translateY(-50%);
	-webkit-transform: translateX(0) translateY(-50%);
	-ms-transform: translateX(0) translateY(-50%);
	transform: translateX(0) translateY(-50%);
}
header .snsNav li {
	font-size: 2.5rem;
	margin: 0 0.25em;
}
header .snsNav li a {
	color: #7fa6d0;
}
header.fixed .snsNav li a {
	color: #fff;
}
@media only screen and (max-width:1280px) {
	header .snsNav {
		right: 70px;
	}
}
@media only screen and (max-width:768px) {
	header .snsNav {
		right: 80px;
	}
	header .snsNav li {
		font-size: 2.25rem;
	}
}
@media only screen and (max-width:480px) {
	header .snsNav {
		right: 55px;
	}
	header .snsNav li {
		font-size: 2rem;
	}
}

#drawerNavi {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	z-index: 502;
}
.navicon {
	position: absolute;
	display: block;
	right: 0;
	top: 0;
	margin: 0 auto;
	width: 35px;
	height: 70px;
	cursor: pointer;
	z-index: 510;
	-moz-transition: linear 0.5s all;
	-webkit-transition: linear 0.5s all;
	-ms-transition: linear 0.5s all;
	transition: linear 0.5s all;
}
.navicon:before,
.navicon:after {
	content: "";
	background: #004ea2;
	height: 3px;
	width: 35px;
	left: 0;
	z-index: 511;
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-transition: linear 0.5s all;
	-webkit-transition: linear 0.5s all;
	-ms-transition: linear 0.5s all;
	transition: linear 0.5s all;
}
.navicon:before {
	position: absolute;
	top: 16px;
	left: 0;
	z-index: 512;
	-moz-box-shadow: #004ea2 0 11px 0 0;
	-webkit-box-shadow: #004ea2 0 11px 0 0;
	-ms-box-shadow: #004ea2 0 11px 0 0;
	box-shadow: #004ea2 0 11px 0 0;
}
.navicon:after {
	position: absolute;
	top: 38px;
	left: 0;
	z-index: 513;
}
.navicon--active {
	margin-top: 0;
	-moz-transition: linear 0.5s all;
	-webkit-transition: linear 0.5s all;
	-ms-transition: linear 0.5s all;
	transition: linear 0.5s all;
}
.navicon--active:before {
	-moz-box-shadow: transparent 0 0 0 0;
	-webkit-box-shadow: transparent 0 0 0 0;
	-ms-box-shadow: transparent 0 0 0 0;
	box-shadow: transparent 0 0 0 0;
	top: 27px;
	-moz-transform: rotate(225deg);
	-webkit-transform: rotate(225deg);
	-ms-transform: rotate(225deg);
	transform: rotate(225deg);
}
.navicon--active:after {
	top: 27px;
	-moz-transform: rotate(315deg);
	-webkit-transform: rotate(315deg);
	-ms-transform: rotate(315deg);
	transform: rotate(315deg);
}
.navicon span {
	position: absolute;
	display: block;
	top: 47px;
	left: 0;
	width: 35px;
	color: #004ea2;
	font-size: 12px;
	font-family: 'Roboto Condensed', sans-serif;
	text-align: center;
	line-height: 1;
	z-index: 513;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
.navicon span.close {
	display: none;
}
.navicon span.menu {
	display: block;
}
.navicon--active span.close {
	display: block;
}
.navicon--active span.menu {
	display: none;
}
header.fixed .navicon {
	top: 0;
	height: 50px;
}
header.fixed .navicon:before,
header.fixed .navicon:after {
	background: #fff;
}
header.fixed .navicon:before {
	top: 13px;
	-moz-box-shadow: #fff 0 11px 0 0;
	-webkit-box-shadow: #fff 0 11px 0 0;
	-ms-box-shadow: #fff 0 11px 0 0;
	box-shadow: #fff 0 11px 0 0;
}
header.fixed .navicon:after {
	top: 35px;
}
header.fixed .navicon--active:before {
	top: 24px;
	-moz-box-shadow: transparent 0 0 0 0;
	-webkit-box-shadow: transparent 0 0 0 0;
	-ms-box-shadow: transparent 0 0 0 0;
	box-shadow: transparent 0 0 0 0;
}
header.fixed .navicon--active:after {
	top: 24px;
}
header.fixed .navicon span {
	display: none;
}

@media only screen and (max-width:1280px) {
	.navicon {
		right: 1.5%;
		height: 65px;
	}
	.navicon:before {
		top: 14px;
	}
	.navicon:after {
		top: 36px;
	}
	.navicon--active:before {
		top: 22px;
	}
	.navicon--active:after {
		top: 22px;
	}
	.navicon span {
		top: 45px;
		font-size: 11px;
	}
	header.fixed .navicon:before {
		top: 12px;
	}
	header.fixed .navicon:after {
		top: 34px;
	}
	header.fixed .navicon--active:before,
	header.fixed .navicon--active:after {
		top: 24px;
	}
}
@media only screen and (max-width:768px) {
	.navicon {
		right: 2.5%;
		height: 60px;
	}
	.navicon:before {
		top: 17px;
	}
	.navicon:after {
		top: 40px;
	}
	.navicon--active:before {
		top: 28px;
	}
	.navicon--active:after {
		top: 28px;
	}
	.navicon span {
		display: none;
	}
	.navicon span.close {
		display: none;
	}
	.navicon span.menu {
		display: none;
	}
	header.fixed .navicon:before {
		top: 13px;
	}
	header.fixed .navicon:after {
		top: 35px;
	}
	header.fixed .navicon--active:before,
	header.fixed .navicon--active:after {
		top: 24px;
	}
}
@media only screen and (max-width:480px) {
	.navicon {
		height: 50px;
		width: 32px;
	}
	.navicon:before {
		top: 13px;
		width: 32px;
	}
	.navicon:after {
		height: 3px;
		width: 32px;
		top: 35px;
	}
	.navicon--active:before {
		top: 24px;
	}
	.navicon--active:after {
		top: 24px;
	}
	.navicon span {
		width: 32px;
		display: none;
	}
	.navicon span.close {
		display: none;
	}
	.navicon span.menu {
		display: none;
	}
	header.fixed .navicon {
		height: 40px;
	}
	header.fixed .navicon:before {
		top: 8px;
		-moz-box-shadow: #fff 0 10px 0 0;
		-webkit-box-shadow: #fff 0 10px 0 0;
		-ms-box-shadow: #fff 0 10px 0 0;
		box-shadow: #fff 0 10px 0 0;
	}
	header.fixed .navicon:after {
		top: 28px;
	}
	header.fixed .navicon--active:before,
	header.fixed .navicon--active:after {
		top: 18px;
	}
	header.fixed .navicon--active:before {
		-moz-box-shadow: transparent 0 0 0 0;
		-webkit-box-shadow: transparent 0 0 0 0;
		-ms-box-shadow: transparent 0 0 0 0;
		box-shadow: transparent 0 0 0 0;
	}
}

.toggle {
	position: fixed;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
	top: 0;
	left: 50%;
	background-color: #004ea2;
	overflow: auto;
	z-index: 499;
	height: -moz-calc(100% - 70px);
	height: -webkit-calc(100% - 70px);
	height: -ms-calc(100% - 70px);
	height: calc(100% - 70px);
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
	-moz-transform: translateX(-50%) translateY(-100%);
	-webkit-transform: translateX(-50%) translateY(-100%);
	-ms-transform: translateX(-50%) translateY(-100%);
	transform: translateX(-50%) translateY(-100%);
}
.toggle--active {
	opacity: 1;
	margin: 70px auto 0;
	-moz-transition: ease-in 0.25s all;
	-webkit-transition: ease-in 0.25s all;
	-ms-transition: ease-in 0.25s all;
	transition: ease-in 0.25s all;
	-moz-transform: translateX(-50%) translateY(0);
	-webkit-transform: translateX(-50%) translateY(0);
	-ms-transform: translateX(-50%) translateY(0);
	transform: translateX(-50%) translateY(0);
}
header.fixed .toggle {
	height: -moz-calc(100% - 50px);
	height: -webkit-calc(100% - 50px);
	height: -ms-calc(100% - 50px);
	height: calc(100% - 50px);
}
header.fixed .toggle--active {
	margin: 50px auto 0;
}
.toggle__menu li {
	display: block;
	margin: 0;
}
.toggle__menu li a {
	position: relative;
	display: block;
	text-decoration: none;
	text-align: left;
	font-size: 1.6rem;
	padding: 1.25em 1.75em 1.25rem 1.0rem;
	color: #fff;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
.toggle__menu li a::after {
	position: absolute;
	top: 50%;
	right: 2.5%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	color: #fff;
	font-size: 1.7em;
	-moz-transform: translateX(0) translateY(-50%);
	-webkit-transform: translateX(0) translateY(-50%);
	-ms-transform: translateX(0) translateY(-50%);
	transform: translateX(0) translateY(-50%);
}
.toggle__menu li a:hover {
	background-color: #407ab9;
}
.toggle__menu li a:hover::after {
	color: #fff;
}
@media only screen and (max-width:1280px) {
	.toggle {
		height: -moz-calc(100% - 65px);
		height: -webkit-calc(100% - 65px);
		height: -ms-calc(100% - 65px);
		height: calc(100% - 65px);
	}
	.toggle--active {
		margin: 65px auto 0;
	}
	header.fixed .toggle {
		height: -moz-calc(100% - 50px);
		height: -webkit-calc(100% - 50px);
		height: -ms-calc(100% - 50px);
		height: calc(100% - 50px);
	}
	header.fixed .toggle--active {
		margin: 50px auto 0;
	}
}
@media only screen and (max-width:768px) {
	.toggle {
		height: -moz-calc(100% - 60px);
		height: -webkit-calc(100% - 60px);
		height: -ms-calc(100% - 60px);
		height: calc(100% - 60px);
	}
	.toggle--active {
		margin: 60px auto 0;
	}
	header.fixed .toggle {
		height: -moz-calc(100% - 50px);
		height: -webkit-calc(100% - 50px);
		height: -ms-calc(100% - 50px);
		height: calc(100% - 50px);
	}
	header.fixed .toggle--active {
		margin: 50px auto 0;
	}
}
@media only screen and (max-width:480px) {
	.toggle {
		height: -moz-calc(100% - 50px);
		height: -webkit-calc(100% - 50px);
		height: -ms-calc(100% - 50px);
		height: calc(100% - 50px);
	}
	.toggle--active {
		margin: 50px auto 0;
	}
	header.fixed .toggle {
		height: -moz-calc(100% - 40px);
		height: -webkit-calc(100% - 40px);
		height: -ms-calc(100% - 40px);
		height: calc(100% - 40px);
	}
	header.fixed .toggle--active {
		margin: 40px auto 0;
	}
	.toggle__menu li a {
		font-size: 1.5rem;
		padding: 1.0em 1.5em 1.5rem 1.0rem;
		line-height: 1.5;
	}
	.toggle__menu li a::after {
		font-size: 1.5em;
		right: 1rem;
	}
}

.drawerSubNav {
	padding: 1.2em 0;
	font-size: 1.4rem;
}
.drawerSubNav a {
	display: block;
	text-decoration: none;
	text-align: left;
	font-size: 1.4rem;
	padding: 1.2em 1.5em;
	color: #fff;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}

/* footer
----------------------------------------------------- */
#footer {
	position:relative;
	margin-top: 50px;
	width: 100%;
}
#footer .footerInner {
	margin: 0 auto;
	padding-bottom: 35px;
}
#footer a {
	color:#004ea2;
	text-decoration:none;
}
#footer .footerInner ul.footerSnsNav {
	position: relative;
	padding: 50px 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#footer .footerInner ul.footerSnsNav li {
	margin: 0;
	width: 10em;
	text-align: center;
}
#footer .footerInner ul.footerSnsNav li a {
	display: block;
	font-size: 13px;
	color:#004ea2;
	text-align: center;
	line-height: 1;
}
#footer .footerInner ul.footerSnsNav li a i {
	display: block;
	font-size: 48px;
	margin: 0 auto 1rem;
	line-height: 42px;
}
#footer .footerInner ul.footerSnsNav li a:hover {
	color:#004ea2;
}
#footer .footerInner h2 {
	position: relative;
	border-top: solid 3px #004ea2;
	margin: 25px auto 15px auto;
	padding: 0;
	color:#004ea2;
	text-align: center;
}
#footer .footerInner h2 img {
	padding: 0 0 15px 0;
	width: 200px;
}
#footer .footerInner h2 span {
	display: block;
	margin: 20px auto 15px;
}
#footer p {
	text-align: center;
	color: #999;
	font-size: 12px;
}
@media only screen and (max-width:1280px) {
	#footer {
		margin-top: 40px;
	}
	#footer .footerInner {
		padding-bottom: 30px;
	}
	#footer .footerInner ul.footerSnsNav {
		padding: 45px 0;
	}
	#footer .footerInner ul.footerSnsNav li {
		width: 8.5em;
	}
	#footer .footerInner ul.footerSnsNav li a {
		font-size: 12px;
	}
	#footer .footerInner ul.footerSnsNav li a i {
		font-size: 42px;
		line-height: 36px;
	}
	#footer .footerInner h2 img {
		width: 175px;
	}
}
@media only screen and (max-width:768px) {
	#footer {
		margin-top: 30px;
	}
	#footer .footerInner {
		padding-bottom: 25px;
	}
	#footer .footerInner ul.footerSnsNav {
		padding: 20px 0;
	}
	#footer .footerInner ul.footerSnsNav li {
		width: 8.5em;
	}
	#footer .footerInner ul.footerSnsNav li a i {
		font-size: 38px;
		line-height: 33px;
	}
	#footer .footerInner h2 img {
		padding: 0 0 5px 0;
		width: 150px;
	}
}
@media only screen and (max-width:480px) {
	#footer {
		margin-top: 25px;
	}
	#footer .footerInner {
		padding-bottom: 15px;
	}
	#footer .footerInner ul.footerSnsNav {
		padding: 15px 0;
	}
	#footer .footerInner ul.footerSnsNav li {
		width: 8.0em;
	}
	#footer .footerInner ul.footerSnsNav li a i {
		font-size: 34px;
		line-height: 30px;
	}
	#footer .footerInner ul.footerSnsNav li a {
		font-size: 11px;
	}
	#footer .footerInner h2 img {
		width: 135px;
	}
	#footer p {
		font-size: 10px;
	}
}

.page-index-list {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-pack:justify;
	-moz-box-pack:justify;
	-webkit-flex-pack:justify;
	-moz-flex-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	justify-content:space-between;
	flex-wrap: wrap;
	align-items: center;
}
.page-index-list > li {
	width: auto;
	margin-bottom: 5rem;
}
.page-index-list > li > div.blockLink {
	position: relative;
	overflow: hidden;
}
.page-index-list > li figure {
	cursor: pointer;
	background-color: #000;
}
.page-index-list > li figure img {
	cursor: pointer;
	width: 100%;
	height: auto;
	-moz-transition: linear 0.25s all;
	-webkit-transition: linear 0.25s all;
	-ms-transition: linear 0.25s all;
	transition: linear 0.25s all;
}
.page-index-list > li div:hover img,
.page-index-list > li figure img:hover {
	transform: scale(1.1);
	opacity: 0.6;
}
.page-index-list > li figcaption {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 90%;
	padding: 2rem 5%;
	background-color: rgba(0, 0, 0, 0.75);
	color: #fff;
}
.page-index-list > li figcaption::after {
	font-family: "Font Awesome 5 Free";
	font-size: 4rem;
	font-weight: 900;
	line-height: 1;
	content: "\f105";
	position: absolute;
	right: 5%;
	top: 50%;
	display: block;
	color: #999;
	-moz-transform: translateX(0) translateY(-50%);
	-webkit-transform: translateX(0) translateY(-50%);
	-ms-transform: translateX(0) translateY(-50%);
	transform: translateX(0) translateY(-50%);
}
.page-index-list > li figcaption .update {
	display: block;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	margin: 0 0 1rem 0;
}
.page-index-list > li figcaption em {
	display: block;
}
.page-index-list > li figcaption em small {
	display: block;
	margin: 1rem 0 0 0;
}
.page-index-list > li > ul {
	margin-top: 15px;
}
.page-index-list li ul .btn {
	display: block;
	margin: 0;
	padding: 0;
	width: 32%;
	text-align: center;
	float: left;
}
.page-index-list li ul .btn:first-child {
	margin-right: 2%;
}
.page-index-list li ul .btn:last-child {
	margin-left: 2%;
}
.page-index-list li .btn a {
	display: block;
	padding: 5px 0;
	font-family: 'Roboto Condensed', sans-serif;
}
.page-index-list li .btn .disabled {
	cursor: default;
	font-size: 1.6rem;
	line-height: 36px;
	padding: 5px 0;
	text-decoration: none;
	color: #bbb;
	background-color: #dedede;
	border: 2px solid #dedede;
}
.page-index-list > li > div.blockLink .ribbon-content {
	position: absolute;
	top: 0;
	right: 0;
	width: 120px;
	height: 120px;
	overflow: hidden;
}
.page-index-list > li > div.blockLink .ribbon-content .ribbon {
	display: inline-block;
	position: absolute;
	padding: 0 0;
	left: 10px;
	top: 12px;
	width: 160px;
	text-align: center;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 36px;
	background: #d91684;
	color: #fff;
	letter-spacing: 0.1rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.moreView {
	display: none;
}
@media only screen and (max-width:1280px) {
	.page-index-list > li {
		width: auto;
		margin-bottom: 4rem;
	}
	.page-index-list > li figure img {
		height: 400px;
	}
	.page-index-list > li figcaption {
		padding: 1.5rem 5%;
	}
	.page-index-list > li > div.blockLink .ribbon-content {
		width: 100px;
		height: 100px;
	}
	.page-index-list > li > div.blockLink .ribbon-content .ribbon {
		left: 10px;
		top: 12px;
		width: 125px;
		font-size: 16px;
		line-height: 32px;
		letter-spacing: 0.075rem;
	}
	.moreView {
		display: none;
	}
}
@media only screen and (max-width:768px) {
	.page-index-list > li {
		width: auto;
		margin-bottom: 3rem;
	}
	.page-index-list > li.noBlock {
		display: none;
	}
	.page-index-list > li figure {
		display: block;
	}
	.page-index-list > li figure img {
		height: auto;
	}
	.page-index-list > li figcaption {
		padding: 1.5rem 5% 1rem;
	}
	.page-index-list > li figcaption::after {
		font-size: 3.5rem;
	}
	.page-index-list > li figcaption .update {
		display: block;
		font-family: 'Roboto Condensed', sans-serif;
		font-weight: 700;
		margin: 0 0 0.75rem 0;
	}
	.page-index-list > li figcaption em {
		margin: 0 0 0.75rem 0;
	}
	.page-index-list > li figcaption em small {
		display: block;
	}
	.page-index-list > li .btn {
		margin: 10px auto 0 auto;
	}
	.page-index-list > li .btn .disabled {
		font-size: 1.5rem;
		line-height: 32px;
		padding: 5px 0;
	}
	.page-index-list > li > div.blockLink .ribbon-content {
		width: 90px;
		height: 90px;
	}
	.page-index-list > li > div.blockLink .ribbon-content .ribbon {
		left: 10px;
		top: 13px;
		width: 110px;
		font-size: 15px;
		line-height: 25px;
		letter-spacing: 0.05rem;
	}
	.moreView {
		display: block;
		margin: 0 auto;
		text-align: center;
	}
	.moreView a {
		display: block;
		padding: 7px 0;
	}
}
@media only screen and (max-width:480px) {
	.page-index-list > li {
		width: 100%;
		margin-bottom: 2.5rem;
	}
	.page-index-list > li figure img {
		height: 350px;
		object-fit: cover;
		object-position: 50% 15%;
	}
	.page-index-list > li .btn .disabled {
		font-size: 1.4rem;
		line-height: 30px;
		padding: 5px 0;
	}
	.page-index-list > li > div.blockLink .ribbon-content {
		width: 90px;
		height: 90px;
	}
	.page-index-list > li > div.blockLink .ribbon-content .ribbon {
		left: 20px;
		top: 10px;
		width: 100px;
		font-size: 13px;
		line-height: 20px;
	}
}

@media only screen and (max-width:1280px) {
	.fa-line:before {
		width: 36px;
		height: 36px;
	}
}
@media only screen and (max-width:768px) {
	.fa-line:before {
		width: 33px;
		height: 33px;
	}
}
@media only screen and (max-width:480px) {
	.fa-line:before {
		width: 30px;
		height: 30px;
	}
}


#pageSocialNavi ul.footerSnsNav {
	position: absolute;
	bottom: 7.0rem;
	right: 0;
	padding: 0 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#pageSocialNavi.up ul.footerSnsNav {
	bottom: 14.0rem;
}
#pageSocialNavi ul.footerSnsNav li {
	margin: 0;
	width: 5rem;
	text-align: center;
}
#pageSocialNavi ul.footerSnsNav li a {
	display: block;
	color:#004ea2;
	text-decoration: none;
}
#pageSocialNavi ul.footerSnsNav li:nth-child(1) a {
	color: #00a4ed;
}
#pageSocialNavi ul.footerSnsNav li:nth-child(2) a {
	color: #007eec;
}
#pageSocialNavi ul.footerSnsNav li:nth-child(3) a {
	color: #00b900;
}
#pageSocialNavi ul.footerSnsNav li:nth-child(4) a {
	color: #767676;
}
#pageSocialNavi ul.footerSnsNav li a i {
	display: block;
	font-size: 36px;
	margin: 0 auto;
	line-height: 36px;
}
#pageSocialNavi ul.footerSnsNav li a span {
	display: none;
}
#pageSocialNavi ul.footerSnsNav li a:hover {
	opacity: 0.7
}
@media only screen and (max-width:1280px) {
	#pageSocialNavi ul.footerSnsNav {
		bottom: 5.75rem;
		right: 0.75rem;
	}
	#pageSocialNavi.up ul.footerSnsNav {
		bottom: 12.0rem;
	}
	#pageSocialNavi ul.footerSnsNav li {
		width: 4.5rem;
	}
	#pageSocialNavi ul.footerSnsNav li a i {
		font-size: 34px;
		line-height: 34px;
	}
}
@media only screen and (max-width:768px) {
	#pageSocialNavi ul.footerSnsNav {
		bottom: 3.75rem;
		right: 0.5rem;
	}
	#pageSocialNavi.up ul.footerSnsNav {
		bottom: 10rem;
	}
	#pageSocialNavi ul.footerSnsNav li {
		width: 4.25rem;
	}
	#pageSocialNavi ul.footerSnsNav li a i {
		font-size: 30px;
		line-height: 30px;
	}
}
@media only screen and (max-width:480px) {
	#pageSocialNavi ul.footerSnsNav {
		position: relative;
		top: -0.5rem!important;
		left: 1.0rem;
		margin-bottom: 1.25rem;
		justify-content: start;
		width: 90%;
	}
	#pageSocialNavi.up ul.footerSnsNav {
		top: -1.5rem!important;
	}
	#pageSocialNavi ul.footerSnsNav li {
		width: 3.25rem;
	}
	#pageSocialNavi ul.footerSnsNav li a i {
		font-size: 26px;
		line-height: 26px;
	}
}
