@charset "UTF-8";
/*************************************************
 * 共通定義
 **************************************************/
:root {
	--view-width: 94%;/* サイトの幅 */
	--mb-view-width: 100%;/* モバイルサイトの幅 */
	--base-color: #FFF;/* 背景色や余白など*/
	--main-color: #0c06a0; /* メインカラー：印象色 */ /* logo-color:#0A1EF7 ,#0c06a0->#0c06a0*/
	--accent-color: #0c06f1;/* アクセントカラー:強調色 */
	--color-from: #2FCDED;/*  色変化（開始色） */
	--color-to: #1d53a4;/*  色変化（終了色） 0062B8*/
	--border-color: #CCC;/* 枠の色（デフォルト） */
	--border-color-on: #0c06a0;/* #1d53a4; 枠の色(active、オン) 0062B8*/
	--border-color-focus: #0c06a0;
	--txt-color: #000;/* 文字の色（デフォルト） */
	--txt-color-on: #FFF;/* 文字の色（背景色付きの場合） */
	--txt-ttl-color: #0c06a0;
	--device-sp-width: 768px;/* スマホ幅 */
	--device-tablet-width: 1024px;/* タブレート幅 */
	--width-side-menu: 18%;
	--width-main-content: 64%;
	--header-height: 90px;
	--header-height-fixed: 62px;
}
/*************************************************
 * 共通CSS
 **************************************************/
* {
	margin: 0;
	padding: 0;
}
*, *::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html,body {
	font-family: 'Noto Sans JP', sans-serif, Meiryo, "メイリオ", "Hiragino Kaku Gothic ProN", Verdana, Arial, Helvetica, sans-serif, 'Noto Sans JP', sans-serif, "Verdana";
	font-size: 16px;
	color: #000;
	color: var(--txt-color);
}
@media screen and (max-width: 899px) {
	html,body {
		font-family: 'Noto Sans JP', sans-serif, Meiryo, "メイリオ", "Hiragino Kaku Gothic ProN", Verdana, Arial, Helvetica, sans-serif;
	}
}
body {
	overflow-y: scroll;
	padding-top:90px;
	padding-top: var(--header-height);
}
/*------------------------------------------------<a> TAG */
a {text-decoration: none;}
a:link {} 
a:visited {}
a:hover {color: blue;color:var(--accent-color);} 
a:active {} 
/*------------------------------------------------<ul>,<ol> TAG */
ul,ol {list-style-type: none;}
/*------------------------------------------------<img> TAG */
img {object-fit: cover;}
/*------------------------------------------------<header> TAG */
header {
	width: 100%;
	height: 90px;
	height: var(--header-height);
	z-index: 10;
	line-height: 1;
	text-decoration: none;
	border-bottom: 4px solid #0c06a0;
	border-bottom: 0.25rem solid var(--main-color);
	background: -webkit-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	background: -moz-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	background: -ms-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	background: linear-gradient(top, #c9dbe9 0%, #fff 100%);
}
@media screen and (max-width: 499px) {/* モバイル（縦）：~ 499px*/
	header {
		margin-top: 0;
		padding: 0;
	}
}
@media screen and (min-width:500px) and ( max-width:899px) {/* タブレット（縦）＆モバイル（横）：500px ~ 899px */
	header {
		margin-top: 0;
		padding: 0;
	}
}
@media screen and (min-width:900px) and ( max-width:1199px) {/* タブレット（横）：900px ~ 1199px */
	header {
		margin-top: 0;
		padding: 0;
	}
}
/*------------------------------------------------.Header CSS */
.Header{
	display: flex;
	position: fixed;
	margin-top: -90px;
	transition: .5s;
	justify-content: space-between;
}
/*------------------------------------------------.Header--position-fixed CSS */
.Header--position-fixed {
	height: 62px;
	height: var(--header-height-fixed);
	opacity: 0.95;
}
/*------------------------------------------------.Header__inner CSS */
.Header__inner {
	position: relative;
	width: 94%;
	width: var(--view-width);
	height: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 1199px) {
	.Header__inner {
		width: 100%;
	}
}
/*------------------------------------------------.Logo CSS */
.Logo {
	float: left;
	height: 86px;
	padding: 0.35rem 0 0.35rem 172px;
	font-size: 1rem;
	font-weight: normal;
	color: var(--main-color);
	z-index: 100;
	background-image: url("/img/logo.png");
	background-repeat: no-repeat;
	background-size:contain;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}
@media screen and (max-width: 1023px) {/* 幅1023以下の端末 */
	.Logo {
		position: absolute;
		height: 100%;
		width: 100%;
		text-align: center;
		text-indent: 0;
		padding: 1.15rem 4rem 1.15rem 4rem;
	}
}
.Header--position-fixed .Logo {
	height: 100%;
	text-indent: -9999px;
}
.Header .Logo strong {
	font-weight: bolder;
	color: #0c06a0;
	color: var(--main-color);
}
@media screen and (max-width: 899px) {/* 幅899以下の端末 */
	.Header .Logo strong {
		font-size: 1.05rem;
	}
	.Header--position-fixed .Logo {
		text-indent: 0px;
	}
}
.Header .Logo strong:hover {
	color: var(--accent-color);
}
/*------------------------------------------------<header>.<a> TAG */
header a {
	color: blue;
	text-decoration: none;
}
/*------------------------------------------------■ .NavGlobal css */
.NavGlobal__menuCheckbox {
	display: none;
}
.NavGlobal {
	width: 100%;
	padding: 1.75rem 0 0 90px;
}
.Header--position-fixed .NavGlobal {
	padding-top: 0;
}
.NavGlobal__menuList {
	width: calc(100% - 172px);
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	list-style-type: none;
	display:inline-block;
	z-index: 999;
}
.Header--position-fixed .NavGlobal__menuList {
	height: 100%;
}
.NavGlobal__menu {
	width: calc(100% / 5);
	float: left;
	display: table-cell;
 	vertical-align: middle;
	text-align: center;
	height: 100%;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	transition-delay: 0.1s;
}
.NavGlobal__menu:hover {
    color: #fff;
    color: var(--txt-color-on);
    background: #0c06a0;
	background: var(--main-color);
}
.NavGlobal__menu a:hover {
    color: #fff;
    color: var(--txt-color-on);
}
.NavGlobal__menu:hover:after {
	background: red;;
	bottom: -3px;
}
.NavGlobal__menu:last-child {
    border-right: 0;
}
.NavGlobal__menuLink {
	font-weight: bold;
	padding: 1.125rem 0;
	display: inline-block;
	font-size: 1.5rem;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	color: var(--txt-color);
}
.NavGlobal__menu--status_open .NavGlobal__menuLink, 
.NavGlobal__menu--status_open .NavGlobal__menuLink:hover {
	width: 100%;
	color: #fff;
	color: var(--txt-color-on);
	background: #0c06a0;
	background: var(--main-color);
	text-align: center;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-top-left-radius: 3px;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-topleft: 3px;
	-webkit-box-shadow: 0px 0px 1px #0c06a0;
	-moz-box-shadow: 0px 0px 1px #0c06a0;
	box-shadow: 0px 0px 1px #0c06a0;
}

.Header--position-fixed .NavGlobal ul li:after {
	bottom: -10px;
}
.Header--position-fixed .NavGlobal ul li:hover:after {
	bottom: -3px;
}
.NavGlobal__subMenuList {
	background: #0c06a0;
	background: var(--main-color);
	width: 100%;
	left: 0;
	box-sizing: border-box;
	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	color: #FFF;
}
.NavGlobal__subMenuList a {
	color: #fff;
}
.NavGlobal__subMenu {
	width: 32%;
    float: left;
	text-align: left;
	display: table;
	border-right: 1px dotted #FFF;
}
.NavGlobal__subMenu ul {
	width: 100%;
	display: table-row;
}
.NavGlobal__subMenu>ul>li {
	text-indent: 0.5em;
	margin-left: 1em;
	line-height: 2em;
}

.NavGlobal__subMenu ul li a {
	font-size: 1.25rem;
	display: inline-block;
	width: 100%;
}
.NavGlobal__subMenu ul li a:hover {color: #775cad;}
.NavGlobal__subMenu ul li a:hover:before  {	content:" ";}
.NavGlobal__subMenu ul li a:hover:after  {content:" »";}
.NavGlobal__subMenuSummary {
	width: 65%;
	height: 80%;
	float: left;
	position: relative;
	padding: 0rem 1rem;
	display:none;
	font-size: 110%;
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 180%;
}

.NavGlobal__subMenuSummaryInfo {
	text-align: left;
	line-height: 180%;
	font-size: 1.1rem;
}

.NavGlobal__subMenuTop {
	width: 100%;
	text-align: left;
	display: inline-block;
	font-weight: bolder;
}
/*================================================= ▼(SP) .NavGlobal　css */
@media screen and (max-width: 899px) {
	.NavGlobal {
		position: absolute;
		top: 90px;
		background: #0062B8;
		width: 100%;
		text-align: center;
		padding: 2px 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	.Header--position-fixed .NavGlobal {
		top: 62px;
	}
	.MobileNavOpen .NavGlobal {
	/*
		-moz-transform: translateY(9999px);
		-webkit-transform: translateY(9999px);
		transform: translateY(9999px);
	*/
		z-index: 100;
	}
	.NavGlobal__menuList {
		width: 100%;
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 0.8rem;
		overflow: auto;
	}
	.NavGlobal__menu {
		float: none;
		position: relative;
		display: block;
		text-align: left;
		width: 100%;
		height: auto;
	}

	.NavGlobal__menuLink:after {
		content: "＋";
		position: absolute;
		right: 0.5rem;
		transform: rotate(0deg) scale(0.8);
	}
	.NavGlobal__menuCheckbox:checked+.NavGlobal__menuLabel>.NavGlobal__menuLink:after {
		content: "－";
		/*transform: rotate(90deg) scale(0.8);*/
		transform: rotate(0deg) scale(0.8);
	}
	.MobileNavOpen .NavGlobal__menu {
		width: 100%;
		clear: both;
		text-align: left;
		padding-left: 1rem;
	}
	.NavGlobal__menu:after {
		display: none;
	}
	.NavGlobal__menuLink--active-off {
		pointer-events: none;
	}
	
	
	
	.NavGlobal__menu--status_open > a, 
	.NavGlobal__menu--status_open > a:hover {
		text-align: left;
		padding-left: 15%!important;
	}

	.NavGlobal__subMenuList {
		width: 100%;
		border-left: 2rem;
		display: block;
		opacity: 0;
		transition: .8s;
		visibility: hidden;
		font-size: 90%;
		color: #FFF;
		display: block;
		padding-left: 2rem;
		font-size: 90%;
		max-height: 0;
		overflow: hidden;
	}
	.NavGlobal__menuCheckbox:checked + .NavGlobal__menuLabel + .NavGlobal__subMenuList {
		max-height: 9999px;
		opacity: 1;
		visibility: visible;
		/*overflow: visible;*/
	}

	.NavGlobal__subMenuTop {
		text-align: right;
		padding: .5rem 1rem .5rem 0;
	}
	.NavGlobal__subMenuSummary {
		display: none;
	}
	
	
	.NavGlobal__menuLink,
	.NavGlobal__subMenuLink {
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
	}
	
	.NavGlobal__subMenuLink {
		padding: 9px 0;
	}
	
	.NavGlobal__subMenu {
		width: 98%;
		border-right: 0;
		margin: 0;
	}
	
	.NavGlobal__subMenu>ul>li {
		text-indent: 0;
		margin-left: 0.5em;
		width: 100%!important;
	}
	
	

	
}
/*================================================= ▲(SP) .NavGlobal　css*/


/*--------------------------------▼(menu)PC css */
@media screen and (min-width: 900px) {
	.NavGlobal__subMenuList {
		display: none;
		position: absolute;
	}
	.NavGlobal__subMenu {
		margin: 0.5rem 1% 0.5rem;
	}
	.NavGlobal__subMenu>ul>li:hover {
		background-color: #0050d4;
	}
	.NavGlobal__subMenuTop {
		padding: 1rem 0rem 0rem 1rem;
	}
	.NavGlobal__subMenuTopTtl {
		font-size: 1.5rem;
		font-weight: bold;
	}
	.NavGlobal__subMenuTopTtl:hover {
		text-decoration: underline;
	}
}
/*--------------------------------▲PC css */

/*---------------------------------header.NavMobileWrap  */
@media screen and (max-width: 899px) {
	.NavMobileWrap {
		width: 100%;
		width: calc(100vw - 172px);
		height: 100%;
		z-index: 100;
		position: relative;
		float: right;
	}
}
.NavMobile {
	display: none;
	position: absolute;
	right: 12px;
	top: 27px;
	top: calc((var(--header-height) - 36px) / 2);
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

.Header--position-fixed .NavMobile {
	top: 13px;
	top: calc((var(--header-height-fixed) - 36px) / 2);
}


.NavMobile__bars {
	position: relative;
}
.NavMobile__bar {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
.NavMobile__bar:after {
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background: -webkit-linear-gradient(-45deg, var(--color-from), var(--color-to) );
	background:    -moz-linear-gradient(-45deg, var(--color-from), var(--color-to) );
	background:     -ms-linear-gradient(-45deg, var(--color-from), var(--color-to) );
	background:      -o-linear-gradient(-45deg, var(--color-from), var(--color-to) );
	background:         linear-gradient(-45deg, #0062B8, #850047);
	background:         linear-gradient(-45deg, var(--color-from), var(--color-to) );
}
.NavMobile__bar1 {
	top: 0;
}
.NavMobile__bar2 {
	top: 11px;
}
.NavMobile__bar3 {
	top: 22px;
}
@media screen and (max-width: 899px) {
	.NavMobile {
		display: block;
	}
	.MobileNavOpen .NavMobile__bar1 {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.MobileNavOpen .NavMobile__bar2 {
		width: 0;
		left: 50%;
	}
	.MobileNavOpen .NavMobile__bar3 {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	
	
	
	.NavGlobal {
		opacity: 0;
		transition: .8s;
		visibility: hidden;
	}
	.MobileNavOpen .NavGlobal {
		opacity: 1;
		visibility: visible;
		overflow: show;
	}
	
}

/*----------------------------------------------------- #container：画面メインコンテンツ  */
#container {
	width: 100%;
	position: relative;
	/*top: 90px;
	margin: 0 auto;*/
	/*margin-bottom: 6.5rem;*/
	display: flex;
	flex-direction: column;
}
@media screen and (max-width: 1024px) {/* mobile css */
	#container {
		width: 100%;
		/*top: 3.875rem;
		padding: 0 0 3.875rem;*/
	}
}
.Contents,
.Breadcrumbs-global {
	width: 98%;
	width: var(--view-width);
	margin: 0 auto;
	float: left;
}
@media screen and (max-width: 1024px) {/* mobile css */
	.Contents,
	.Breadcrumbs-global {
		width: 98%;
		width: var(--mb-view-width);}
}
.Header--position-fixed + #container {
	/*top: 62px*/
}

/*---------------------------------------------.Title */
.Title {
    margin: 0px auto 10px auto;
    padding: 10px 20px 10px 20px;
    background-color: blue;
    background-color: var(--main-color);
    color: #FFFFFF;
    text-align: left;
    font-size: 150%;
    line-height: 150%;
}
@media screen and (max-width: 1023px) {/* mobile css */
	.Title {
		padding: 10px;
		font-size: 150%;
	}
}
/*---------------------------------------------.SubTtl */
.SubTtl {
    font-size: 1.5rem;
    margin: 1.2rem 0rem;
    padding: 0rem 0.8rem;
    position: relative;
    /*border-bottom: 2px solid #0050d4;
    border-bottom: 2px solid var(--main-color);
    */
} 
.SubTtl:before {
    left: 0px;
    width: 0.4em;
    height: 1em;
    background: #0c06a0;
    background: var(--main-color);
    content: "";
} 
.SubTtl:after {
    left: 0;
    width: 0.4em;
    height: 0.4em;
    /*background: #0050d4;*/
    content: "";
}
.SubTtl:before,
.SubTtl:after {
    position: absolute;
    display: block;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*---------------------------------------------.TriggleShow */
.TriggleShow__label {
}
.TriggleShow__label:hover {
	cursor: pointer;
	color: blue;
	text-decoration: underline;
}
.TriggleShow__switch {
    display: none;
}

.TriggleShow__text {
	/*
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
    font-family: 'Noto Sans JP', sans-serif;
*/  
    height: 0;
    padding: 0;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
    opacity: 0;
    overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif;
    /*transform: scale(0);*/
}
.TriggleShow__text:hover {
	background-color: lightblue;
}

.TriggleShow__switch:checked ~ .TriggleShow__text {
    /*border: 1px solid #DDD;*/
    opacity: 1;
	width: 100%;
	height: 100%;
	padding: 0.5rem; 
	/*transform: scale(1);*/
}
input.TriggleShow__switch:checked ~ .TriggleShow__label {
    /*font-weight: bold;*/
    color: blue;
    color: var(--accent-color);
 	text-decoration: underline;
}
.TriggleShow__hidden:hover {
	cursor: pointer;
	color: blue;
	text-decoration: underline;
}
/*----------------------------------------------- boder要素 */
.Border--1px {
	border:1px solid #ccc;
	border-top:0;
	display: inline-block;
}
/*-----------------------------------------------アイコンCSS */
.Icon--notice {
    float: left;
    margin-right: 2%;
    background-color: blue;
    background-color: var(--main-color);
    color: #fff;
    font-size: 12px;
    padding: 2px 5px;
}
/*-------------------------------------------- footer */
 footer::before {
}
footer {
	position: relative;
	font-size: 0.9rem;
	height: auto;
}

.Footer__inner {
	position: relative;
	width: 94%;
	width: var(--view-width);
	height: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 1024px) {
	.Footer__inner {
		width: 100%;
		padding: 0;
	}
}

/*----------------------------- .SubFooter */
.SubFooter {
	width: 100%;
	font-size: 0.9rem;
	height: auto;
	border-top: solid 1px #ccc;
	/*background-color: #d2d7e4;*/
}
@media screen and (max-width: 1023px) {
	.SubFooter {
		height: auto;
		display: inline-block;
    	text-align: center;
    	width: 100%;
	}
}
.SubFooter__logo {
	background-image: url("/img/logo.png");
	background-repeat: no-repeat;
	background-size: contain;
	height: 3.875rem;
	width: 100%;
	background-position: center center; 
}
@media screen and (max-width: 1023px) {
	.SubFooter__logo {
		margin: 0 auto;
	}
}
/*---------------------未利用？*/
.SubFooter__breadcrumb {
	float:left;
	clear: top;
	width: calc(100% - 125px);
	padding: .5rem;
	line-height: 180%;
}
@media screen and (max-width: 1023px) {
	.SubFooter__breadcrumb {
		width: 100%;
	}
}

/*------------------------------------------- .SubFooter__sitemap */
.SubFooter__sitemap {
	position: relative;
	background-color: #12203d;
	height: 100%;
	margin: 0 auto;
	padding: 0 3%;
	color: #FFF;
}
.SubFooter__sitemapMenuList {
    height: 100%;
    text-align: center;
}
.SubFooter__sitemapMenu {
    padding: 1.5rem 0.5rem 2rem 0.5rem;
    display: inline-block;
    width: 250px;
    text-align: left;
    vertical-align: top;
}
.SubFooter__sitemapMenuHead {
    border-bottom: 1px solid #fff;
    margin-bottom: 0.5rem;
    color: #FFF;
}
.SubFooter__sitemapMenuSns {
	text-align: center;
}
.SubFooter__sitemapMenuSnsIcon {
	width: 48px;
	height: 48px;
	margin: 0 1rem 0 0;
	display: inline-block;
	text-align: left;
}
.SubFooter__sitemapMenuSns--icon_twitter,
.SubFooter__sitemapMenuSns--icon_facebook {
	width: 100%;
	height: auto;
}
.SubFooter__sitemapMenuQrcodeIcon {
	text-align: center;
}
.SubFooter__sitemapMenuQrcode--icon_jaisol {
	width: 60%;
}
@media screen and (max-width:480px){
	.SubFooter__sitemapMenuQrcode--icon_jaisol {
		width: 240px;
	}
}

.SubFooter__sitemapMenuHeadLink {
    height: 100%;
    width: 100%;
    padding: 0 0 0.8rem 0.5rem;
    letter-spacing: 0.3rem;
    font-weight: bold;
}
.SubFooter__sitemapLink{
    display: inline-block;
    height: 100%;
    width: 100%;
    padding: 0.3rem 0 0.3rem 0.5rem;
}
.SubFooter__sitemapLink:visited,
.SubFooter__sitemapLink:link,
.SubFooter__sitemapLink:active   {
    color: white;
}
.SubFooter__sitemapLink:hover {
	text-decoration: underline;
}
.SubFooter__sitemapMore {
	color: #FFF;
	width: 100%;
	text-align: left;
	padding: 0.5rem 0;
}
.SubFooter__sitemapMoreLink:visited,
.SubFooter__sitemapMoreLink:link,
.SubFooter__sitemapMoreLink:active   {
	   color: white;
}
/*-------------------footer copyrights */
.Footer__copyrights {
	width: 100%;
	margin: 0 auto;
	/*
	border-top: solid 2px #0d70f3;
	border-top: solid 2px var(--main-color);
	background: url(./img/common/bg_footer.gif) repeat;
	background: -webkit-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	background: -moz-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	background: -ms-linear-gradient(top, #c9dbe9 0%, #fff 100%);
	*/
	color: white;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 3rem;
    font-size: 1rem;
    margin-bottom: -1.1rem;
	background-color: #0d182e;
}
.Footer__copyrights p {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

/* --------------------------------------------お問い合わせ(sub) */
.ContactWrap {
	height: 300px;
}
@media screen and (max-width:768px){
	.ContactWrap {
		height: 400px;
	}
}
.ContactBg {
	position: relative;
}

@media screen and (min-width:1200px){
	.ContactBg {
		width:100%;
		/*background-image:url(/img/contact/contact-back.jpg);*/
		background-repeat:no-repeat;
		background-position:center;
		background-size:cover;
	}

	.ContactBlock{
		width: 94%;
		width: var(--view-width);
		margin:0px auto 0px auto;
		padding:60px 0px 60px 0px;
		overflow:hidden;
	}

	.ContactBlock__area2{
		float:right;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area2 p{
		width:450px;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area2 p a:link{
		display:block;
		margin:0px 0px 0px 0px;
		padding:30px 0px 30px 0px;
		background-color:#0056a4;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:125%;
		letter-spacing:0.05em;
		-webkit-transition:0.2s ease-out;
		-moz-transition:0.2s ease-out;
		-ms-transition:0.2s ease-out;
		transition:0.2s ease-out;
	}

	.ContactBlock__area2 p a:visited{
		display:block;
		margin:0px 0px 0px 0px;
		padding:30px 0px 30px 0px;
		background-color:#0c06a0;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:125%;
		letter-spacing:0.05em;
		-webkit-transition:0.2s ease-out;
		-moz-transition:0.2s ease-out;
		-ms-transition:0.2s ease-out;
		transition:0.2s ease-out;
	}

	.ContactBlock__area2 p a:hover,active{
		display:block;
		margin:0px 0px 0px 0px;
		padding:30px 0px 30px 0px;
		background-color:#0c06a0;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:125%;
		letter-spacing:0.05em;
		opacity:0.8;
		-webkit-opacity:0.8;
		-moz-opacity:0.8;
		filter:alpha(opacity=80);	/* IE lt 8 */
		-ms-filter:"alpha(opacity=80)"; /* IE 8 */
	}

	.ContactBlock__area1{
		float:left;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area1 .ContactBlock__addrArea{
		float:left;
		margin:13px 25px 0px 0px;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area1 .Contact__tel-area{
		float:left;
		margin:13px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.Contact__add-title {
		margin:0px auto 16px auto;
		padding:0px 0px 0px 0px;
		color:#222;
		text-align:left;
		font-size:125%;
		font-weight: 600;
	}

	.Contact__add-text{
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		color:#222;
		text-align:left;
		font-size:100%;
	}

	.Contact__tel-title {
		margin:2px auto 7px auto;
		padding:10px 0px 0px 0px;
		color:#222;
		text-align:left;
		font-size:85%;
	}

	.Contact__tel-text {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		color:#222;
		text-align:left;
		font-size:215%;
		font-weight: 600;
	}
}

@media screen and (max-width:1200px){
	.ContactBg {
		width:100%;
		/*background-image:url(/img/contact/contact-back.jpg);*/
		background-repeat:no-repeat;
		background-position:center;
		background-size:cover;
	}

	.ContactBlock{
		width:100%;
		margin:0px auto 0px auto;
		padding:20px 0px 20px 0px;
		overflow:hidden;
	}

	.ContactBlock__area2{
		float:none;
		margin:20px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area2 p{
		width:400px;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area2 p a:link{
		display:block;
		margin:0px 0px 0px 0px;
		padding:20px 0px 20px 0px;
		background-color:#0056a4;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:100%;
		letter-spacing:0.05em;
		-webkit-transition:0.2s ease-out;
		-moz-transition:0.2s ease-out;
		-ms-transition:0.2s ease-out;
		transition:0.2s ease-out;
	}

	.ContactBlock__area2 p a:visited{
		display:block;
		margin:0px 0px 0px 0px;
		padding:20px 0px 20px 0px;
		background-color:#0056a4;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:100%;
		letter-spacing:0.05em;
		-webkit-transition:0.2s ease-out;
		-moz-transition:0.2s ease-out;
		-ms-transition:0.2s ease-out;
		transition:0.2s ease-out;
	}

	.ContactBlock__area2 p a:hover,active{
		display:block;
		margin:0px 0px 0px 0px;
		padding:20px 0px 20px 0px;
		background-color:#0056a4;
		color:#FFFFFF;
		text-align:center;
		text-decoration:none;
		font-size:100%;
		letter-spacing:0.05em;
		opacity:0.8;
		-webkit-opacity:0.8;
		-moz-opacity:0.8;
		filter:alpha(opacity=80);	/* IE lt 8 */
		-ms-filter:"alpha(opacity=80)"; /* IE 8 */
	}

	.ContactBlock__area1{
		float:none;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area1 .ContactBlock__addrArea{
		float:none;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.ContactBlock__area1 .Contact__tel-area{
		float:none;
		margin:15px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.Contact__add-title {
		width:400px;
		margin:0px auto 10px auto;
		padding:8px 0px 5px 0px;
		border:1px solid #333333;
		/* radius */
		-webkit-border-radius:0px;
		-moz-border-radius:0px;
		-ms-border-radius:0px;
		-o-border-radius:0px;
		border-radius:0px;
		color:#222;
		text-align:center;
		font-size:85%;
	}

	.Contact__add-text {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		color:#222;
		text-align:center;
		font-size:100%;
	}

	.Contact__tel-title {
		width:400px;
		margin:0px auto 10px auto;
		padding:6px 0px 5px 0px;
		border:1px solid #333333;
		/* radius */
		-webkit-border-radius:0px;
		-moz-border-radius:0px;
		-ms-border-radius:0px;
		-o-border-radius:0px;
		border-radius:0px;
		color:#222;
		text-align:center;
		font-size:85%;
	}

	.Contact__tel-text {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		color:#222;
		text-align:center;
		font-size:185%;
	}

}

@media screen and (max-width:640px){
.ContactBg {
	width:100%;
	/*background-image:url(/img/contact/contact-back.jpg);*/
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

.ContactBlock{
	width:100%;
	margin:0px auto 0px auto;
	padding:40px 0px 40px 0px;
	overflow:hidden;
}

.ContactBlock__area2{
	float:none;
	margin:20px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.ContactBlock__area2 p{
	width:250px;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.ContactBlock__area2 p a:link{
	display:block;
	margin:0px 0px 0px 0px;
	padding:20px 0px 20px 0px;
	background-color:#0056a4;
	color:#FFFFFF;
	text-align:center;
	text-decoration:none;
	font-size:85%;
	letter-spacing:0.05em;
	-webkit-transition:0.2s ease-out;
	-moz-transition:0.2s ease-out;
	-ms-transition:0.2s ease-out;
	transition:0.2s ease-out;
}

.ContactBlock__area2 p a:visited{
	display:block;
	margin:0px 0px 0px 0px;
	padding:20px 0px 20px 0px;
	background-color:#0056a4;
	color:#FFFFFF;
	text-align:center;
	text-decoration:none;
	font-size:85%;
	letter-spacing:0.05em;
	-webkit-transition:0.2s ease-out;
	-moz-transition:0.2s ease-out;
	-ms-transition:0.2s ease-out;
	transition:0.2s ease-out;
}

.ContactBlock__area2 p a:hover,active{
	display:block;
	margin:0px 0px 0px 0px;
	padding:20px 0px 20px 0px;
	background-color:#0056a4;
	color:#FFFFFF;
	text-align:center;
	text-decoration:none;
	font-size:85%;
	letter-spacing:0.05em;
	opacity:0.8;
	-webkit-opacity:0.8;
	-moz-opacity:0.8;
	filter:alpha(opacity=80);	/* IE lt 8 */
	-ms-filter:"alpha(opacity=80)"; /* IE 8 */
}

.ContactBlock__area1{
	float:none;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.ContactBlock__area1 .ContactBlock__addrArea {
	float:none;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.ContactBlock__area1 .Contact__tel-area{
	float:none;
	margin:0px auto 0px auto;
	padding:15px 0px 0px 0px;
}

.Contact__add-title {
	width:250px;
	margin:0px auto 10px auto;
	padding:12px 0px 10px 0px;
	border:1px solid #333333;
	/* radius */
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
	-ms-border-radius:0px;
	-o-border-radius:0px;
	border-radius:0px;
	color:#222;
	text-align:center;
	font-size:85%;
	font-weight: 600;
}

.Contact__add-text {
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	color:#222;
	text-align:center;
	font-size:100%;
}

.Contact__tel-title {
	width:250px;
	margin:0px auto 10px auto;
	padding:12px 0px 10px 0px;
	border:1px solid #333333;
	/* radius */
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
	-ms-border-radius:0px;
	-o-border-radius:0px;
	border-radius:0px;
	color:#222;
	text-align:center;
	font-size:85%;
}

.Contact__tel-text {
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	color:#222;
	text-align:center;
	font-size:185%;
}
}

/*-------------------------------------------------------- figureタグ */
.BaseFigure {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.BaseFigure__figcaption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.6);
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 0;
}
.BaseFigure:hover .BaseFigure__figcaption {
  opacity: 1;
  font-color: #FFF;
}

@media screen and (max-width: 899px) {/* スマホ・タブレット：~ 899px*/
	.BaseFigure__figcaption {
	  opacity: 1;
	  font-color: #FFF;
	}
}

/*-----------------------------------------Banner */
.SideBanner:hover .BaseFigure__figcaption {
	opacity: 1;
	font-color: #FFF;
}

/*------------------------------------------------- Subtitle--ribbon */
.Subtitle--ribbon {
	margin-top: 1rem;
  position: relative;
  padding: 0.85rem;
  background: #0056a4;
  background: var(--main-color);
  color: white;
}

.Subtitle--ribbon::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px rgb(149, 158, 155);
  z-index: 1;
}

/*------------------------------------------------table.Table--responsive CSS */
.Table--responsive {
	border-collapse: collapse;
    border-spacing: 0;
	box-sizing: border-box;
	width: 100%;
	width: calc(100% - 1px);
}
.Table--responsive th, 
.Table--responsive td {
	padding: 10px; 
	border: 1px solid #ddd; 
	text-align: left;
	line-height: 180%;
}
.Table--responsive th { 
	width: 18%; 
	text-align: left; 
	background: #f4f4f4; 
}
.Table--responsive thead th {
	font-size: 110%;
	font-weight: bold;
	text-align: center;
	border: 0;
	background :none;
}
.Table--responsive tfoot td { 
	text-align:right;
	font-size: 80%; 
	border: 0;
}
@media only screen and (max-width:680px){
	.Table--responsive	{ 
		margin: 0 auto; 
	}
    .Table--responsive th,
    .Table--responsive td{
		width: 100%;
		border-top: none;
        display: inline-block;
		box-sizing: border-box;
    }
    .Table--responsive th {
    	border-bottom: 1px dotted #ddd;
    }
	.Table--responsive tr:first-child th { 
		border-top: 1px solid #ddd; 
	}
	.Table--responsive thead th {
		border: 1px solid #ddd; 
		border-bottom: 0;
	}
}
/*------------------------------------------- table.Table--noborder */
.Table--noborder {
	border: 0;
}
.Table--noborder th,
.Table--noborder tr,
.Table--noborder td {
	border: 0;
}	
/*------------------------------------------- table.Table--base */
.Table--base {
	border: 0;
	border-top: 1px solid #CCC;
	border-top: 1px solid var(--border-color);
    border-left: 1px solid #CCC;
    border-left: 1px solid var(--border-color);
    border-collapse: collapse;
    border-spacing: 0;
}
.Table--base caption, 
.Table--base th,
.Table--base td {
    padding: 0 5px;
}

.Table--base th {
    background: #DCE6F3;
    border-bottom: 1px solid #CCC;
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid #CCC;
    border-right: 1px solid var(--border-color);
    vertical-align: top;
}
.Table--base caption, 
.Table--base th {
    text-align: left;
    font-size: 110%;
    font-weight: bold;
}
.Table--base td {
    border-bottom: 1px solid #CCC;
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid #CCC;
    border-right: 1px solid var(--border-color);
    font-size: 90%;
}

/*------------------------------------------------table.muti-table CSS */
.muti-table {
	border-collapse: collapse;
	width: 100%;
}
.muti-table th,
.muti-table td{
	padding: 10px;
	border: solid 1px #DDD;
	text-align:center;
	box-sizing:border-box;
}
.muti-table__head th {
	background: #f4f4f4;
	font-size: 1.1rem;
}
 tr.muti-table__contents td:first-child {
	text-align: center;
	vertical-align: middle;
}
.muti-table__contents td {
	text-align: left;
	vertical-align: top;
}
.muti-table__head-col1 {
	width: 18%;
}
.muti-table__head-col2 {
	width: 42%;
}
.muti-table__head-col3, 
.muti-table__head-col4 {
	width: 20%;
}
@media screen and (max-width: 640px) {
	.muti-table__head {
		display:none;
	}
	.muti-table {
		width: 100%;
	}
	table.muti-table td {
		display: block;
		width: 100%;
		border-bottom:none;
		font-size: 1rem;
	}
	table.muti-table td:first-child{
		background: var(--main-color);
		background: #0c06a0;
		color:#fff;
		font-weight:bold;
		font-size: 1.1rem;
	}
	table.muti-table td:before{
		content: attr(data-label);
		font-size: 1.05rem;
		font-weight:bold;
		color: #333;
		display: block;
	}
	.muti-table tr:last-child{
		border-bottom: solid 1px #ccc;
	}
}


/*------------------------------------------- Width自適応 */
.Width--auto-fit {
	width: 50%;
	height: 100%;
	float: left;
}
@media only screen and (max-width:1023px){
	.Width--auto-fit {
		width: 100%;
		height: 50%;
	}
}
.Width--auto-fit-left {
	width: 80%;
	height: auto;
	float: left;
	margin-right: 20%;
}
@media only screen and (max-width:1023px){
	.Width--auto-fit-left {
		width: 100%;
		margin-right: 0;
	}
}

/*-------------------------------------------------カテゴリ背景画像 */
.First-view-category {
	width:100%;
	height: 12rem;;
	margin:0px auto 0px auto;
	background-image:url(/img/common/category-bg.min.jpg);
	background-repeat:repeat-x;
	/*background-position:top center;*/
	background-position: center;
	background-size:cover;
	text-shadow: 
    	1px 1px 1px blue,
		-1px 1px 1px blue,
		1px -1px 1px blue,
		-1px -1px 1px blue,
		1px 0px 1px blue,
		0px 1px 1px blue,
		-1px 0px 1px blue,
		0px -1px 1px blue;	
	text-shadow: 
    	1px 1px 1px var(--accent-color),
		-1px 1px 1px var(--accent-color),
		1px -1px 1px var(--accent-color),
		-1px -1px 1px var(--accent-color),
		1px 0px 1px var(--accent-color),
		0px 1px 1px var(--accent-color),
		-1px 0px 1px var(--accent-color),
		0px -1px 1px var(--accent-color);	
}
.First-view-category__ttl {
	margin:0px auto 0px auto;
	padding: 2.5rem 0px 0px;
	color:#FFFFFF;
	text-align:center;
	font-size: 2.5rem;
	font-weight:bolder;
}
.First-view-category__sub-ttl {
	margin:0px auto;
	padding: .5rem 0px 0px;
	color:#FFFFFF;
	text-align:center;
	font-size: 1.3rem;
	font-weight:normal;
}

@media screen and (max-width:640px){
	.First-view-category {
		height:10rem;;
	}
	.First-view-category__ttl {
		margin: 0px auto;
		font-size: 150%;
	}
	.First-view-category__sub-ttl {
		font-size: 1.2rem;
	}
}
/*----------------------------------first-view-sub-category */
.first-view-sub-category {
	width: 100%;
	height: auto;
	margin: 0 auto;
	float: left;
	text-align: center;
	box-sizing: border-box;
	display: inline-block;
	border-bottom: 1px dotted gray;
	font-weight: bolder;

}
@media screen and (max-width: 1024px) {/* mobile css */
	.first-view-sub-category {

	}
}

.first-view-sub-category__list {
	width: 100%;
	box-sizing: border-box;
}
.first-view-sub-category__item {
	padding: 0.5rem;
    width: 25%;
    vertical-align: top;
    float: left;
    color: #222;
    font-weight: normal;
}
.first-view-sub-category__item {
	position: relative;
	display: inline-block;
	transition: .3s;
}
.first-view-sub-category__item::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 3px;
	background-color: blue;
	background-color: var(--accent-color);
	transition: .3s;
}
.first-view-sub-category__item:hover::after {
	width: 100%;
	bottom: -1px;
}
.first-view-sub-category__item:hover {
	cursor: pointer;
	
}
.first-view-sub-category__item-on  {
	color: #222;
	font-weight: bolder;
}

.first-view-sub-category__item-on::after  {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background-color: blue;
	background-color: var(--accent-color);
	bottom: -1px;
	color: #222;
	font-weight: bolder;
}

/*---------------------------------------------Parallax効果*/
.Parallax__window {
	height: 100%;
	background: transparent;
}
.Parallax__text-canvas {
	margin: 4rem;
	color: #fff;
	text-shadow: 1px 1px 1px var(--accent-color), -1px 1px 1px var(--accent-color), 1px -1px 1px var(--accent-color), -1px -1px 1px var(--accent-color), 1px 0px 1px var(--accent-color), 0px 1px 1px var(--accent-color), -1px 0px 1px var(--accent-color), 0px -1px 1px var(--accent-color);
	text-align: center;
}
.Parallax__text-title {
	font-size: 2rem;
}
.Parallax__text {
	margin: 0 5%;
	font-size: 1.5rem;
	text-align: left;
}
/*---------------------------------------------お問い合わせボタンAnchor--entry　*/
.Anchor--entry{
    line-height: 1.25;
    text-decoration:none;
    font-weight: bold;
    background: #0F3675;
    color:#fff !important;
    border-radius:.1em;
    padding: 1rem 3rem 1rem 1rem;
    text-align: center;
    position: relative;
    transition:.3s;
    font-size: 1.5rem;
}
.Anchor--entry:after{
    content: "";
    position: absolute;
    top: 0;
    bottom: .1em;
    right: 8%;
    margin: auto;
    width: 1.25rem;
    height: 1.25rem;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
    transition:.3s;
}
a.Anchor--entry:hover{
    opacity: .85;
}
.Anchor--entry:hover:after{
    right: 5%;
}
/*----------------------------------------------背景色・背景画像にグラデーション */
.ContactFrontLayer {
	width: 100%;
	height: 100%;
	background: -ms-linear-gradient(left, 
	    			rgba(255,255,255, 1),
	    			rgba(255,255,255, 0.7) 30%,
	    			rgba(255,255,0, 0));
	background: -moz-linear-gradient(left, 
	    			rgba(255,255,255, 1),
	    			rgba(255,255,255, 0.7) 30%,
	    			rgba(255,255,0, 0));
	background: -webkit-gradient(linear, left top, right top,  
	    			from(rgba(255,255,255, 1)),  
	    			color-stop(0.3, rgba(255,255,255, 0.7)),  
	    			to(rgba(255,255,0, 0)));
	background: linear-gradient(left 45deg, 
	    			rgba(255,255,255, 1),
	    			rgba(255,255,255, 0.7) 30%,
	    			rgba(255,255,0, 0));
}
@media screen and (max-width:768px){
	.ContactFrontLayer{
		background: none;
		background-color: #2A3848;
		opacity: 0.8;
	}
	.ContactFrontLayer p.Contact-title,
	.ContactFrontLayer p.Contact-text {
		color:#FFF!important;
		-webkit-text-shadow: 0px 0px 1px blue;
		-moz-text-shadow: 0px 0px 1px blue;
		text-shadow: 0px 0px 1px blue;
		font-weight: bold;
		font-weight: bold;
    	background-color: black;
    	opacity: 0.6;
	}
	.ContactFrontLayer p.Contact-title a,
	.ContactFrontLayer p.Contact-text a {/*iphone対応*/
		color:#FFF!important;
		text-decoration:none;
	}
}

/*--------------------------------------------------.CounterList*/
.CounterList {
	list-style: decimal;
    margin-left: 1rem;
    line-height: 180%;
}

/*--------------------------------------------------counter-increment CSS属性*/
.Counter--number-increment::before {
	counter-increment: number-counter;
	content: "第"counter(number-counter)"位";
}

/*--------------------------------------------------.LazyLoad */
.LazyLoad {
  opacity: 0;
  transition: all .5s ease;
}

.LazyLoad.show {
  opacity: 1;
  transform: none;
}

.LazyLoad--lr {
  transform: translate(-100px, 0);
}

.LazyLoad--rl {
  transform: translate(100px, 0);
}

.LazyLoad--up {
  transform: translate(0, 100px);
}

.LazyLoad--down {
  transform: translate(0, -100px);
}

.LazyLoad--scaleUp {
  transform: scale(.5);
}

.LazyLoad--scaleDown {
  transform: scale(1.5);
}

.sa--rotateL {
  transform: rotate(180deg);
}

.LazyLoad--rotateR {
  transform: rotate(-180deg);
}

/*---------------------------------------------------Block */
.Block {
	
}
.Block__text {
	padding: 0.5rem;
}
@media only screen and (max-width:1023px){
	.Block__text {
		padding: 0.5rem;
	}
}

/*------------------------------------------------------*/
.ScrollToTop {
    position: absolute;
    top: -2rem;
    width: 8rem;
    left: auto;
    right: 2%;
    height: 2rem;
    font-weight: bolder;
    text-align: center;
    color: #FFF;
    background: #12203d;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
@media only screen and (max-width:1023px){
	.ScrollToTop {
		width: 6rem;
		right: 0%;
		border-top-left-radius: 2px;
    	border-top-right-radius: 2px;
	}
}



/********************************************************
** #switch-table 定義
*********************************************************/
.SwitchTab {
	margin-top: 1rem;
	width: 100%;
}
.SwitchTable__header {
	width: 100%;
	height: 5rem;
	display:table;
	table-layout: fixed;
	list-style:none;
	margin: 0 auto;
}
.SwitchTable__header-item {
	height: 5rem;
	display: table-cell;
	font-size: 110%;
	font-weight: bolder;
	text-align: center;
	border-left: 0px;
}
.SwitchTable__header-item-title {
	height: 3rem;
	padding: 0.25rem 0;
	box-sizing: border-box;
	border: 0px solid #CCC;
	border-width: 0;
}
.SwitchTable__header-item:last-child .SwitchTable__header-item-title {
	border-right: 0px solid #CCC;
}
.SwitchTable__header .Hover {
	background-color: #0c06a0;
	background-color: var(--accent-color);
	color: #FFF;
}
.SwitchTable__header-item span {
	width: 100%;
	display: block;
	cursor: pointer;
	font-size: 1rem;
}
@media screen and (max-width: 1023px) {/* mobile css */
	.SwitchTable__header-item span {
		font-size: 0.8rem;
	}
}
.SwitchTable__header-opened span, 
.SwitchTable__header .Hover span {
	color: #FFF;
}
.SwitchTable__header-item-triangle {
	height: 1rem;
	width: 100%;
	box-sizing: border-box;
}
.SwitchTable__header-opened .SwitchTable__header-item-triangle {
    width: 0;
    height: 0;
    border-top: 2rem solid #0c06a0;
    border-top: 2rem solid var(--main-color);
    border-bottom: .5rem solid transparent;
    border-right: calc(100vw * 0.94 / 6 - 2px) solid transparent;
    border-left: calc(100vw * 0.94 / 6 - 2px) solid transparent;
    z-index: 1;
}

@media screen and (max-width: 1024px) {/* mobile css */
	.SwitchTable__header-opened .SwitchTable__header-item-triangle {
	    border-right: calc(100vw / 6) solid transparent;
	    border-left: calc(98vw / 6)  solid transparent;
	}
}
.SwitchTable__header .SwitchTable__header-opened div:first-child {
	background-color: #0c06a0;
	background-color: var(--main-color);
	border-bottom: 0px;
}

/*--------------------------------------Decoration CSS*/
.Decoration--underline {
	text-decoration: underline;
}
.Decoration--link-icon:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: .5rem;
  background-image: url(/img/common/icon/link.png);
  background-size: contain;
  vertical-align: middle;
}
.Decoration--new-window:after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: .5rem;
  background-image: url(/img/common/icon/new-window.png);
  background-size: contain;
  vertical-align: middle;
}
.Decoration--email:after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: .5rem;
  background-image: url(/img/common/icon/email.png);
  background-size: contain;
  vertical-align: middle;
}

.decoration-home:before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: .5rem;
  background-image: url(/img/common/icon/home.png);
  background-size: contain;
  vertical-align: middle;
}
.decoration-home:hover:before {
  background-image: url(/img/common/icon/home-on.png);
}

.DecorationBefore:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: .5rem;
	background-image: url(/img/common/icon/jaisol.png);
	background-size: contain;
	vertical-align: middle;
}
.DecorationAfter:after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: .5rem;
	background-image: url(/img/common/icon/jaisol.png);
	background-size: contain;
	vertical-align: middle;
}
.DecorationAfter--icon_sitemapLine:after {
	background-image: url(/img/common/icon/sitemap-line.png);
}
.DecorationAfter--icon_sitemapWhite:after {
	background-image: url(/img/common/icon/sitemap-white.png);
}
.Decoration-no-display:after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: .5rem;
  background-image: url(/img/common/icon/arrow-angle-bracket-up.png);
  background-size: contain;
  vertical-align: middle;
}

/*-----------------------------------Margin・Padding 強制調整css*/
.Margin-left--0px {
	margin-left: 0px!important;
}
.Margin-left-after--0px:after {
	margin-left: 0px!important;
}

@media screen and (min-width: 900px) {/* mobile以外&カテゴリ2階層 */
	.category-two-layers {
		padding-top: 0px;
	}
}

.Top--distance_-2rem {
	top: -2rem;
	position: relative;
}
/*---------------------------------------- FontカスタマイズCSS */
.FontFamily--type_notosansjp {
	font-family: 'Noto Sans JP', sans-serif;
}
.FontSize--normal {
	font-size: 100%;
}
.FontSize--110 {
	font-size: 110%;
}
.FontSize--120 {
	font-size: 120%;
}
.FontSize--130 {
	font-size: 130%;
}
.FontSize--150 {
	font-size: 150%;
}
.FontSize--180 {
	font-size: 180%;
}
.FontWeight--bold {
	font-weight: bold;
}
.TextColor--red {
	color: red;
}

@media screen and (max-width: 680px) {
	.LineHeight--p160 {
		line-height: 160%;
	}
}
/*----------------------------------------モバイル端末で幅を最適化CSS */
@media screen and (max-width: 499px) {/* モバイル（縦）：~ 499px*/
	.Mobile-auto-fit {
		width: 100%!important;
		height: auto!important;
		font-size: 1.5rem;
		line-height: 150%;
	}
}
@media screen and (min-width:500px) and ( max-width:899px) {/* タブレット（縦）＆モバイル（横）：500px ~ 899px */
	.Mobile-auto-fit {
		width: 100%!important;
		height: auto!important;
		font-size: 1.8rem;
		line-height: 180%;
	}
}
@media screen and (min-width:900px) and ( max-width:1199px) {/* タブレット（横）：900px ~ 1199px */
	.Mobile-auto-fit {
		
	}
}

/*---------------------------------------*/
.Padding--fit {
	padding: 0.5rem;
}

.Padding--left-1rem {
	padding-left: 1rem;
}
/*---------------------------------------- Img--auto-fit画像大きさを最適化 */
.Img--auto-fit {
	max-width: 100%;
	height: auto;
}

/*---------------------------------------- Img--scale画像徐々にZoomIn/Out */
.Img--scale {
	transition:1s all;
}
.Img--scale:hover{
  transform:scale(1.1,1.1);
  transition:1s all;
}

/*--------------------------------------------breadcrumbs-global */
.Breadcrumbs-global *, 
.Breadcrumbs-global *:after, 
.Breadcrumbs-global *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.Breadcrumbs-global {
	margin: 0.5rem auto;
	padding: 0 0 0 0.2rem;;
	color: #000;
	color: var(--txt-color);
	font-size: 0.9rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.Breadcrumbs-global__list {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.Breadcrumbs-global__item {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	padding-right: 1.5rem;
	margin-right: .5rem;
	color: #7986CB;
}
.Breadcrumbs-global__item::before {
	content: '›';
	width: 1rem;
	height: 1rem;
	line-height: 1;
	text-align: center;
	font-size: 1rem;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.Breadcrumbs-global__item:last-child {
	margin-right: 0;
	padding-right: 0;
	color: #222;
}
.Breadcrumbs-global__item:last-child::before {
	content: normal;
}
.Breadcrumbs-global__link {
	text-decoration: none;
	color: #0c06f1;
	color: var(--main-color);
}
.Breadcrumbs-global__link:hover {
	text-decoration: underline;
}

.Breadcrumbs-global__link--color_invert {
	color: #FFF;
}
.Breadcrumbs-global__link--color_invert:hover {
	color: #FFF;
}
.Breadcrumbs-global__lastItem--color_invert {
	color: #EEE!important;
}

/*--------------------------------------------breadcrumbs */
.Breadcrumbs *, 
.Breadcrumbs *:after, 
.Breadcrumbs *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.Breadcrumbs {
	margin: 0.5rem auto;
	padding: 0 0 0 0.2rem;;
	color: #000;
	color: var(--txt-color);
	font-size: 0.9rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.Breadcrumbs__list {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.Breadcrumbs__item {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	padding-right: 1.5rem;
	margin-right: .5rem;
	color: #7986CB;
}
.Breadcrumbs__item::before {
	content: '›';
	width: 1.2rem;
	height: 1.2rem;
	line-height: 1;
	text-align: center;
	font-size: 1.2rem;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.Breadcrumbs__item:last-child {
	margin-right: 0;
	padding-right: 0;
	color: #222;
}
.Breadcrumbs__item:last-child::before {
	content: normal;
}
.Breadcrumbs__link {
	text-decoration: none;
	color: #0c06f1;
	color: var(--main-color);
}
.Breadcrumbs__link:hover {
	text-decoration: underline;
}

.Breadcrumbs__link--color_invert {
	color: #FFF;
}
.Breadcrumbs__link--color_invert:hover {
	color: #FFF;
}
.Breadcrumbs__lastItem--color_invert {
	color: #EEE!important;
}

/*----------------------------------------------------- 幅を100%にする--Contentsを入替予定 */
.Content,
.Breadcrumbs {
	width: 100%;
	margin: 0 auto;
	float: left;
	padding: 0 2%;
}
@media screen and (max-width: 680px) {/* mobile css */
	.Content,
	.Breadcrumb {
		padding: 0 1%;
	}
}

/*----------------------------------------------------- ToggleAccordion */
.category-txt__contents {
	margin: 10px auto;
	text-align:left;
}
@media screen and (max-width: 640px) {
	.category-txt__contents {
		clear: both;
	}
}

.ToggleAccordion__container {
  width: 100%;
  background-color: white;
  padding: 1rem;
  margin: auto;
  border-radius: 5px;
}

.Display--none {
  display: none;
}

.ToggleAccordion__tittle {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333f99;
  margin-bottom: 0.8rem;
  margin-left: 0.5rem;
  cursor: pointer;
}
/* Triangle list item */
.ToggleAccordion__tittle:before {
  content: "";
  border-color: transparent #666;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  display: block;
  height: 0;
  width: 0;
  left: -1rem;
  top: 1.2rem;
  position: relative;
  /*transform:rotate(45deg);*/
  transition:transform 0.3s ease;
}
.ToggleAccordion__tittle:hover:before {
  border-color: transparent blue;

}
.ToggleAccordion__tittle-on:before {
	border-color: transparent blue;
	transform:rotate(90deg);
}
.ToggleAccordion__contents {
  padding: 0 1rem;
  background: #E8F2FB;
  border-radius: 5px;
  border: 1px solid #E8F2FB;
  margin: 1rem 0 1rem;
  position: relative;
  /*overflow-y: visible!important;△を表示*/
}
/* Triangle in definition container */
.ToggleAccordion__contents:after, 
.ToggleAccordion__contents:before {
  bottom: 100%;
  left: 6%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.ToggleAccordion__contents:after {
  border-color: rgba(136, 183, 213, 0);
  border-color: transparent;
  border-bottom-color: #E8F2FB;
  border-width: 15px;
  margin-left: -15px;
}
.ToggleAccordion__contents:before {
  border-color: rgba(194, 225, 245, 0);
  border-color: transparent;
  border-bottom-color: #E8F2FB;
  border-width: 17px;
  margin-left: -17px;
}
.ToggleAccordion__contents p, 
.ToggleAccordion__contents pre {
	white-space: pre-wrap ;
}



/*--------------------------------------------------.category-summary-ttl*/
.category-summary-ttl {
	font-weight: bold;
	font-size: 1.5rem;
	margin: 0.5rem auto;
	/*
	color: #0c06a0;
	color: var(--txt-ttl-color);
	*/
	text-align: center;
}
.category-summary-txt {
	padding: 0.5rem;
}

/*-------------------------------------------------.category-ttl */
.category-ttl,
.CategoryTtl {
	/*font-weight: 400;
    line-height: 1.4;
    */
    margin: 0.5rem 0;
    padding: 1rem;
    border-bottom: #e2e7ec 1px solid;
    border-left: 6px solid blue;
    border-left: 6px solid var(--main-color);
    background-image: url(/img/common/bg/title-bg-rectlight.jpg);
    background-position: center;
    background-size: 100% auto;
    background-repeat: repeat-x;
}

@media screen and (max-width:680px){
	.category-ttl,.CategoryTtl {
	    line-height: 1.2;
	    margin: 0.5rem 0 0.5rem 0.25rem;
	    background-color: #c9dbe9;
	    background-image: none;
	}
}
/*-------------------------------------------------.category-txt */
.category-txt {
	margin:0 0.5rem;
	line-height:180%;
}

/*-------------------------------------------------.category-ttl2 */
.category-ttl2 {
	font-weight: bolder;
	font-size: 2rem;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 2rem 0.5rem 1rem;
	line-height: 90%;
	text-align: center;
}
.category-ttl2--lan_en {
	font-size: 1rem;
	font-weight: bold;
	color: darkred;
	display: block;
}

/*----------------------------------------------------画像付き説明文 */
.img-decoration {
    width: 30%;
    float: right;
    vertical-align: middle;
    margin: -0.5rem -0.5rem 0 0.5rem;
}
@media screen and (max-width:899px){
	.img-decoration {
	    width: 50%;
	}
}
@media screen and (max-width:480px){
	.img-decoration {
	    width: 100%;
	    float: left;
	    margin: 0 auto;
	    padding: 0;
	}
}
.img-decoration-large {
    width: 50%;
    float: right;
    vertical-align: middle;
    margin: -0.5rem -0.5rem 0 0.5rem;
}
@media screen and (max-width:899px){
	.img-decoration_large {
	    width: 100%;
	}
}
.img-decoration-small {
    width: 20%;
    float: right;
    vertical-align: middle;
    margin: -0.5rem -0.5rem 0 0.5rem;
}
@media screen and (max-width:899px){
	.img-decoration-small {
	    width: 40%;
	}
}
@media screen and (max-width:480px){
	.img-decoration-small {
	    width: 70%;
	    float: left;
	    margin: 0 auto;
	    padding: 0;
	}
}
@media screen and (max-width:320px){
	.img-decoration-small {
	    width: 100%;
	    float: left;
	    margin: 0 auto;
	    padding: 0;
	}
}

/*-------------------------------------------txt-decoration（画像付き説明文に合わせる） */
.txt-decoration {
    width: 70%;
    float: left;
    vertical-align: middle;
    /*margin: -0.5rem -0.5rem 0 0.5rem;*/
}
@media screen and (max-width:899px){
	.txt-decoration {
	    width: 50%;
	}
}
@media screen and (max-width:480px){
	.txt-decoration {
	    width: 100%;
	    float: right;
	    margin: 0 auto;
	    padding: 0;
	}
}

/*---------------------------------------.more-btn */
.more-btn {
	border: 0px solid gray;
	padding: 5px 8px;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(12,6,241,1) 50%);
	background-position: 0 0;
	background-size: 200% auto;
  	transition: 0.5s;
  	display: inline-block;
}

@media screen and (max-width: 1023px) {/* mobile css */
	.more-btn {
	}
}

.more-btn:hover {
  background-position: -100% 0;
  color: #FFF;
  border-color:blue;
  border-color:var(--border-color-on);
}
/*------------------------------------------- span を真ん中 */
.span-middle {
	display: inline-block;
	width: 100%;
	text-align: center;
}

/*----------------------------------------------page-title:カテゴリ名 */
.page-title {
	font-size: 2rem;
    font-weight: bold;
    line-height: 140%;
    margin: 1rem auto;
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 899px) {/* mobile css */
	.page-title {
	    margin: 1rem 0.5rem;
	}
}
.PageMidashi {
	font-size: 2rem;
    font-weight: bold;
    line-height: 140%;
    margin: 1rem auto;
    font-family: 'Noto Sans JP', sans-serif;
}
.PageMidashi--large {
	font-size: 3rem;
	margin: 1.5rem auto;
}
@media screen and (max-width: 899px) {/* mobile css */
	.PageMidashi {
	    margin: 1rem 0.5rem;
	}
	.PageMidashi--large {
	    margin: 15rem 1rem;
	}
}

/*------------------------------------------------ PC のみ表示 */
@media screen and (max-width: 899px) {/* mobile css */
	.display-only-pc {
		display: none;
	}
	.Display--device_pc {
		display: none;
	}
}
/*------------------------------------------------ Mobile のみ表示 */
@media screen and (min-width: 899px) {/* mobile css */
	.Br--device_mobile {
		display:none;
	}
}
@media screen and (min-width: 899px) {/* pc css */
	.Display--none_pc {
		display:none;
	}
}

@media screen and (max-width: 899px) {/* mobile css */
	.Display--none_mobile {
		display:none;
	}
}


/*------------------------------------------------ Mobile のみ縮小で表示 */
@media screen and (max-width: 899px) {/* mobile css */
	.Transform__mobile--scale_90p {
		font-size: 90%;
	}
}

/*----------------------------------------------------------FigureNav画像 */
.FigureNav {
	margin: 0 auto;
	vertical-align: top;
	width:100%;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.FigureNav__menu {
	box-sizing: border-box;
	margin: 0.5rem 1rem;
	width: 350px;
	width: calc(100% / 3 - 2rem);
	padding: 1rem 0.5rem;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	border: solid 2px #ccc;
	border-color: var(--border-color);
    box-shadow: 0 0 6px 0 rgba(0,0,0,.3);
    transition: border-color .5s linear;
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (min-width: 1366px) {/* big screen css */
	.FigureNav__menu {
		width: calc(100% / 4 - 2rem);
	}
}
@media screen and (max-width: 899px) {/* mobile css */
	.FigureNav__menu {
		margin: 0.5rem;
		width: 450px;
		width: calc(100% / 2 - 1rem);
	}
}
@media screen and (max-width: 640px) {/* mobile css */
	.FigureNav__menu {
		margin: 0.5rem;
		width: 100%;
	}
}

.FigureNav__menu:hover {
	border: solid 2px #00f;
	border-color: var(--border-color-focus);
    box-shadow: 0 0 6px 0 rgba(12,6,241,.5);
}

/*----------------- SlideUpFigure */
.SlideUpFigure {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	border: solid 2px #ccc;
	border-color: var(--border-color);
    box-shadow: 0 0 6px 0 rgba(0,0,0,.3);
    transition: border-color .5s linear;
    box-sizing: border-box;
}
.SlideUpFigure:hover {
	border: solid 2px #00f;
	border-color: var(--border-color-focus);
    box-shadow: 0 0 6px 0 rgba(12,6,241,.5);
}
.SlideUpFigure__txt {
	width: 100%;
	height: 100%;
	top: -3rem;
	position: absolute;
	text-align: center;
	margin: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	color: #fff;
	background: #000;
	background: rgba(0, 0, 0, 0.62);
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
	transition: opacity 0.6s, transform 0.6s;
}
.SlideUpFigure:hover .SlideUpFigure__txt {
	opacity: 1;
	/*-webkit-transform: translateY(20%);*/
	-webkit-transform: translateY(3rem);
	/*transform: translateY(20%);*/
	transform: translateY(3rem);
}
.SlideUpFigure__head {
	height: 3rem;
    font-size: 1.25rem;
    font-weight: bolder;
    margin: 0;
    padding: 0.75rem 0;
    box-sizing: border-box;
}
.SlideUpFigure__info {
	margin: auto;
	line-height: 180%;
	text-align: justify;
	word-break: break-all;
	text-align: left;
	padding: 0 0.5rem;
}
.SlideUpFigure__link {
	bottom: .2rem;
	font-size: 1rem;
	right: 1rem;
	position: absolute;
	margin: 0 auto;
}
.SlideUpFigure__link a {
	color: #fff;
	text-decoration: underline;
	height: 100%;
}
.Img--objectFit_cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.SlideUpFigure__img {
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: flex;
}

/*----------------- TxtAlign */
.Txt--align-left {
	text-align: left;
}
.Txt--align-right {
	text-align: right;
}
/*----------------- TxtFigure */

.TxtFigure {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	text-align: center;
}
.TxtFigure:hover {

}

.TxtFigure_img {
	width: 40%;
    height: auto;
    display: inline-block;
}

.TxtFigure__txt {
	margin-bottom: 32px;
}

.TxtFigure__head {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 90%;
}

.TxtFigure__head--lan_en {
	font-size: 0.9rem;
	font-weight: 400;
	width: 100%;
	display: block;
	color: darkred;
}
.TxtFigure__info {
	margin: 0.5rem;
	text-align: left;
	font-size: 0.95rem;	
}
.TxtFigure__more {
	text-align:center;
    display: block;
    position: absolute;
    bottom: 0px;
    width:100%;
}

.TxtFigure__link--type_btn {
    text-decoration:none;
    font-weight: 400;
    background: #0c06a0;
    color:#fff !important;
    border-radius:.1em;
    padding: 0.3rem 2rem 0.5rem 1rem;
    text-align: center;
    position: relative;
    transition:.3s;
    font-size: 1rem;
    display: inline-block;
}
.TxtFigure__link--type_btn:after{
    content: "";
    position: absolute;
    top: 0;
    bottom: .1em;
    right: 8%;
    margin: auto;
    width: .675rem;
    height: .675rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition:.3s;
    margin-right: .3rem;
}
a.TxtFigure__link--type_btn:hover{
    opacity: .85;
}
.TxtFigure__link--type_btn:hover:after{
    right: 5%;
}
/*------------------------------------------------- clouds 定義 */
@media screen and (max-width: 1024px) {
	#movingClouds {
		position: relative;
	}
}
#clouds{
	top: 0;
	left: 0;
	height: 3.875rem;
}
.cloud {
	top:20px;
	width: 200px; 
	height: 70px;
	background: #fff;
	border-radius: 200px;
	-moz-border-radius: 200px;
	-webkit-border-radius: 200px;
	position: absolute; 
}
.cloud:before, .cloud:after {
	content: '';
	position: absolute; 
	background: #fff;
	width: 100px; 
	height: 80px;
	position: absolute; 
	top: -15px; 
	left: 10px;
	border-radius: 100px;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	-moz-transform: rotate(30deg);
}
.cloud:after {
	width: 120px; 
	height: 120px;
	top: -55px; 
	left: auto; 
	right: 15px;
}
/*Time to animate*/
.x1 {
	-webkit-animation: movecloudsX1 25s linear infinite;
	-moz-animation: movecloudsX1 25s linear infinite;
	-o-animation: movecloudsX1 25s linear infinite;
	animation: movecloudsX1 25s linear infinite;
}
@-webkit-keyframes movecloudsX1 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	50% {opacity: 0.8;-webkit-transform: scale(0.6);-moz-transform: scale(0.6);transform: scale(0.6);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
}
@-moz-keyframes movecloudsX1 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	50% {opacity: 0.8;-webkit-transform: scale(0.6);-moz-transform: scale(0.6);transform: scale(0.6);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
}
@-o-keyframes movecloudsX1 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	50% {opacity: 0.8;-webkit-transform: scale(0.6);-moz-transform: scale(0.6);transform: scale(0.6);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
}
@keyframes movecloudsX1 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	50% {opacity: 0.8;-webkit-transform: scale(0.6);-moz-transform: scale(0.6);transform: scale(0.6);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
}
.x2 {
	left: 50%;
	top: 20px;
	-webkit-animation: movecloudsX2 45s linear infinite;
	-moz-animation: movecloudsX2 45s linear infinite;
	-o-animation: movecloudsX2 45s linear infinite;
	animation: movecloudsX2 35s linear infinite;
}
@-webkit-keyframes movecloudsX2 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
	50% {opacity: 0.8;-webkit-transform: scale(0.5);-moz-transform: scale(0.5);transform: scale(0.5);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
}
@-moz-keyframes movecloudsX2 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
	50% {opacity: 0.8;-webkit-transform: scale(0.5);-moz-transform: scale(0.5);transform: scale(0.5);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
}
@-o-keyframes movecloudsX2 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
	50% {opacity: 0.8;-webkit-transform: scale(0.5);-moz-transform: scale(0.5);transform: scale(0.5);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
}
@keyframes movecloudsX2 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
	50% {opacity: 0.8;-webkit-transform: scale(0.5);-moz-transform: scale(0.5);transform: scale(0.5);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.25);-moz-transform: scale(0.25);transform: scale(0.25);}
}
.x3 {
	left: 80%; 
	top: 10px;
	opacity: 0.5; /*opacity proportional to the size*/
	-webkit-animation: movecloudsX3 60s linear infinite;
	-moz-animation: movecloudsX3 60s linear infinite;
	-o-animation: movecloudsX3 60s linear infinite;
	animation: movecloudsX3 60s linear infinite;
}
@-webkit-keyframes movecloudsX3 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
	50% {opacity: 0.8;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
}
@-moz-keyframes movecloudsX3 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
	50% {opacity: 0.8;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
}
@-o-keyframes movecloudsX3 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
	50% {opacity: 0.8;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
}
@keyframes movecloudsX3 {
	0% {left: 70%;opacity: 0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
	50% {opacity: 0.8;-webkit-transform: scale(0.3);-moz-transform: scale(0.3);transform: scale(0.3);}
	100% {left: 10%;opacity:0.1;-webkit-transform: scale(0.2);-moz-transform: scale(0.2);transform: scale(0.2);}
}
@-webkit-keyframes moveclouds {
	0% {left: 80%;}
	100% {left: 10%;}
}
@-moz-keyframes moveclouds {
	0% {left: 80%;}
	100% {left: 10%;}
}
@-o-keyframes moveclouds {
	0% {left: 80%;}
	100% {left: 10%;}
}
/*---------------------------------------------- Scale拡大・縮小 */
.Scale--up {
    overflow: hidden;
}
.Scale--up img {
	-moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.Scale--up:hover img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
/*----------------------------------------------  */
.Filter--grayscale_100p {
	filter: grayscale(100%);
}

/*----------------------------------------------  */
@media screen and (min-width: 768px){
	.br--sp {display: none; }
}


/*----------------------------------------------  */
.Linear-gradient {
	border: none;
	height: 2px;
	background: linear-gradient(to right, #fff, #ccc, #fff);
  }