@charset "UTF-8";

/* Contents Menu
-------------------------------------------------------------------------------------
【PC/SP】
	**:normalize
	**:web font
	**:reset
	**:base contents
		header/gnav/breadChumbs/mv/contents/footer/newslist/
	**:indent
	**:size
	**:wide
	**:section
	**:compo parts
		btn/box/list/head/table/float/column/topcontrol/roBtn/
	**:pager
	**:form
-------------------------------------------------------------------------------------*/



/* normalize
-------------------*/

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}h1{font-size:2em}abbr[title]{text-decoration:none}b,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,html input[type="button"],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

/*notosans*/
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 100;
  src: url(fonts/notosans/NotoSansCJKjp-Thin.woff2) format('woff2'),
       url(fonts/notosans/NotoSansCJKjp-Thin.woff) format('woff');
}
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 200;
  src: url(fonts/notosans/NotoSansCJKjp-Light.woff2) format('woff2'),
       url(fonts/notosans/NotoSansCJKjp-Light.woff) format('woff');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 300;
   src: url(fonts/notosans/NotoSansCJKjp-DemiLight.woff2) format('woff2'),
        url(fonts/notosans/NotoSansCJKjp-DemiLight.woff) format('woff');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 400;
   src: local('NotoSansCJKjp-Regular.otf'),
        url(fonts/notosans/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(fonts/notosans/NotoSansCJKjp-Regular.woff) format('woff');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 500;
   src: url(fonts/notosans/NotoSansCJKjp-Medium.woff2) format('woff2'),
        url(fonts/notosans/NotoSansCJKjp-Medium.woff) format('woff');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 700;
   src: url(fonts/notosans/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(fonts/notosans/NotoSansCJKjp-Bold.woff) format('woff');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 900;
   src: url(fonts/notosans/NotoSansCJKjp-Black.woff2) format('woff2'),
        url(fonts/notosans/NotoSansCJKjp-Black.woff) format('woff');
}
.notosans1{ font-weight: 100; font-family: 'Noto Sans CJK JP';}
.notosans2{ font-weight: 200; font-family: 'Noto Sans CJK JP';}
.notosans3{ font-weight: 300; font-family: 'Noto Sans CJK JP';}
.notosans4{ font-weight: 400; font-family: 'Noto Sans CJK JP';}
.notosans5{ font-weight: 500; font-family: 'Noto Sans CJK JP';}
.notosans6{ font-weight: 700; font-family: 'Noto Sans CJK JP';}
.notosans7{ font-weight: 900; font-family: 'Noto Sans CJK JP';}



/* reset
-------------------*/

html {
	background:#FFF;
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}
body,h1,h2,h3,h4,h5,h6,pre,ul,ol,li,dl,dt,dd,p,img {
	margin: 0;
	padding: 0;
}
body {
	font-family: 'Noto Sans CJK JP';
	color:#000;
	font-size: 16px;
	font-size: 1.6rem; /* sets the default sizing to make sure nothing is actually 10px */
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
/*	min-width:1000px;*/
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#fancybox-wrap,
#fancybox-wrap *,
#fancybox-tmp,
#fancybox-loading {
	-webkit-box-sizing: content-box!important;
	-moz-box-sizing: content-box!important;
	-o-box-sizing: content-box!important;
	-ms-box-sizing: content-box!important;
	box-sizing: content-box!important;
}
a,a:link,a:hover,a:focus {
	color: #333;
	text-decoration: none;
	cursor: pointer;
	outline: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
a:hover {
	text-decoration: underline;
    cursor: pointer;
}
ul,ol {
	list-style-type: none;
}
::selection {
	background: #888;
	color: #FFF; /* Safari */
}
::-moz-selection {
	background: #888;
	color: #FFF; /* Firefox */
}
#contents p{
	line-height: 1.7;
}
hr.ancHr{
	font-size: 0 !important;
    line-height: 0 !important;
    visibility: hidden !important;
	margin: 0;
	padding: 0;
}



/* base contents
-------------------*/

/*header*/
#header {
	width:100%;
    background: #fff;
}
#header .hdInr {
display: flex;
justify-content: space-between;
align-items: center;
}

#header .logo {
padding: 10px 0 10px 30px;
}

#spHeader, .spMenu{
	display: none;
}

#header.fixed {
  left: 0;
  position: fixed;
  top: 0;
  z-index: 9999;
}

/*gNav*/

#gNav ul {
display: flex;
justify-content: flex-end;
align-items: center;
}

#gNav ul li {
margin-left: 3rem;
font-family: 'Montserrat', sans-serif;
letter-spacing: 0;
}


#gNav ul li a.normal {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#gNav ul li a.normal::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#gNav ul li a.normal:hover::after {
  transform: scale(1, 1);
}


#gNav ul li a.entry {
background-color: #4ec3d1;
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 40px 30px;
    color: #fff;
    transition: .2s;
    overflow: hidden;
}


#gNav ul li a.entry span {
position: relative;
z-index: 2;
}
 
#gNav ul li a.entry:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #86d6e0;
    transition: .2s;
}
 
#gNav ul li a.entry:hover{
    color: #fff;
    text-decoration: none;
}
 
#gNav ul li a.entry:hover:before{
    left: 0;
}


/**/
#gNav ul li:last-child{
margin-left: 0;
}
#gNav ul li a.official {
background-color: #000;
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 40px 30px;
    color: #fff;
    transition: .2s;
    overflow: hidden;
}


#gNav ul li a.official span {
position: relative;
z-index: 2;
}
 
#gNav ul li a.official:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #333;
    transition: .2s;
}
 
#gNav ul li a.official:hover{
    color: #fff;
    text-decoration: none;
}
 
#gNav ul li a.official:hover:before{
    left: 0;
}

#spNav, #spFixed{
	display: none;
}

@media only screen and (max-width: 1350px) {
#gNav ul li {
    margin-left: 2rem;
}
#gNav ul li:last-child a,
#gNav ul li a.entry{
    padding: 35px 20px;
}
}
@media only screen and (max-width: 1260px) {
#gNav ul li {
font-size: 15px;
font-size: 1.5rem;
}
#header .logo a img {
width: 240px!important;
}
}

@media only screen and (max-width: 1140px) {
#header .logo a img {
width: 200px!important;
}
#gNav ul li:last-child a,
#gNav ul li a.entry{
    padding: 35px 15px;
}
}
@media only screen and (max-width: 1070px) {
#gNav ul li {
    margin-left: 1.8rem;
}
#header .logo a img {
width: 180px!important;
}
}

@media only screen and (max-width: 1024px) {

/* hamburger menu
-------------------*/

/*header*/
#header, #gNav{
	display: none;
}
#spHeader{
	background: #FFF;
	height: 80px;
	padding: 10px 3%;
	display: block;
	margin-bottom: 0;
	width: 100%;
}

#spHeader ul{
	overflow: hidden;
	zoom: 1;
	position: absolute;
	right: 55px;
	top: 16px;
}
#spHeader li{
	float: left;
	margin: 0 5px;
	text-align: center;
}
#spHeader li a{
	color: #FFF;
	font-size:2.6rem;
	line-height: 1;
}
#spHeader li a i{
}
.spMenu{
border:2px solid #000;
	background: #fff;
	cursor: pointer;
	display: block;
	height: 60px;
	width: 60px;
	position: fixed;
	right: 10px;
	top: 10px;
	z-index: 1010;
}
.spMenu span {
	background: #000;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
    height: 2px;
    width: 29px;
    position: absolute;
    left: 14px;
	-webkit-transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
}
.spMenu small{
	display: block;
	color: #000;
	font-size: 13px;
    font-size:1.3rem;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 3px;
}
.spMenu span:nth-of-type(1) { top: 10px; }
.spMenu span:nth-of-type(2) { top: 19px; }
.spMenu span:nth-of-type(3) { top: 28px; }
.spMenu.active span{
	background: #000;
}
.spMenu.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
	top: 8px;
}
.spMenu.active span:nth-of-type(2) {
	opacity: 0;
}
.spMenu.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
.spMenu.active small{
	color: #000;
}


/*spNav*/


#spNav{
	background: #fff;
	height: 100%;
	display: block;
	transition: all 550ms ease 0.25s;
	visibility: hidden;
	padding-top: 100px;
	width: 80%;
    position: fixed;
	right: -100%;
    top: 0;
	z-index: 990;
}
#spNav.active{
	visibility: visible;
	right: 0;
}
#spNav #spBg{
	background: rgba(0,0,0,0.5);
    height: 100%;
    width: 500%;
    position: fixed;
	right: -50%;
    top: 0;
    z-index: -1;
    opacity: 0;
	transition: all 550ms ease 0.25s;
	pointer-events: none;
}
#spNav.active #spBg{
	right: 0;
    opacity: 1;
	pointer-events: auto;
}
#spNav::after {
	background: rgba(255,255,255);
	background: #fff;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}
#spNav::before,
#spNav::after {
    opacity: 0;
	transition: all 550ms ease 0.25s;
}
#spNav.active::before,
#spNav.active::after {
    opacity: 1;
}
#spNav .closeBtn{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 15px 3%;
	text-align: right;
}

#spNav .snInr {
display: flex;
justify-content: space-between;
width: 80%;
margin: 0 auto 30px;
}


#spNav .snInr nav {
width: 55%;
}

#spNav .snInr nav ul li {
font-size: 24px;
font-size: 2.4rem;
font-family: 'Montserrat', sans-serif;
font-weight: 500;
margin-bottom: 30px;
}

#spNav .snInr nav ul li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#spNav .snInr nav ul li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#spNav .snInr nav ul li a:hover::after {
  transform: scale(1, 1);
}
#spNav .snInr .spBox {
width: 45%;
}
#spNav .snInr .spBox dl {
text-align: right;
}
#spNav .snInr .spBox dl dt {
font-size: 14px;
font-size: 1.4rem;
margin-bottom: 20px;
color: #999;
}

#spNav .snInr .spBox dl dd {
font-size: 13px;
font-size: 1.3rem;
color: #999;
line-height: 1.7;
}

#spNav .snInr .spBox dl dd.en {
font-family: 'Montserrat', sans-serif;
}


#spNav .entryBtn a{
background-color: #4ec3d1;
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 40px 0;
    color: #fff;
    transition: .2s;
    overflow: hidden;
    width: 80%;
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    font-size: 3.0rem;
    text-align: center;
}


#spNav .entryBtn a span {
position: relative;
z-index: 2;
}
 
#spNav .entryBtn a:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #86d6e0;
    transition: .2s;
}
 
#spNav .entryBtn a:hover{
    color: #fff;
    text-decoration: none;
}
 
#spNav .entryBtn a:hover:before{
    left: 0;
}



/*
#spNav nav{
	border-top: 1px solid #FFF;
}
#spNav nav ul li{
	border-bottom: 1px solid #FFF;
	width: 100%;
}
#spNav nav ul li a{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #666;
	font-size: 1.1rem;
	font-weight: bold;
	display: block;
	padding: 15px 2em 15px 1em;
	position: relative;
}
#spNav nav ul li a i{
	text-align: right;
	font-size: 1.4rem;
	margin: auto;
	width: 97%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#spNav nav ul li a::before{
	color: #000;
	content: attr(data-text);
	font-size: 220%;
	font-weight: normal;
	font-family: 'Josefin Sans', sans-serif;
	margin-right: .5em;
}
#spNav nav ul li a:hover{
	background: #96d1df;
	color: #FFF;
	text-decoration: none;
}
#spNav nav ul li a:hover::before{
	color: #FFF;
}
*/
/*
#spAction{
	display: block;
	margin: 0;
	padding: 0;
	position: fixed;
	left: 0;
	bottom: -100px;
	transition: all 550ms ease 0.25s;
	z-index: 300;
}
body.throughHd #spAction{
	bottom: 0;
	width: 100%;
}
#spAction li{
	border-right: 1px solid #888;
	float: left;
	height: 40px;
	display: table;
	width: 50%;
}
#spAction li a{
	background: rgba(0,0,0,.8);
	color: #FFF;
	display: table-cell;
	font-size: 1.2rem;
	vertical-align: middle;
	text-align: center;
	padding: 0 1em 0 2.5em;
	width: 100%;
	position: relative;
}
#spAction li a i{
	margin: auto;
	text-align: left;
	width: 85%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
*/
}






/*mv*/
#mv {
	background:#96d1df;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	/*background-attachment: fixed;*/
	display: table;
	table-layout: fixed;
	height:250px;
	margin-bottom: 20px;
	width:100%;
}

#mv .mvInr {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

#inrMv {
display: flex;
justify-content: flex-end;
    overflow: hidden;
}

#inrMv .mvImg {
width: 98%;
position: relative;
z-index: 1;
}

#inrMv .mvImg h1 {
position: absolute;
color: #fff;
z-index: 2;
left: 10%;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform:translateY(-50%);
  font-weight: 500;
  font-size: 14px;
  font-size: 1.4rem;
}

#inrMv .mvImg h1 span {
font-family: 'Montserrat', sans-serif;
font-size: 60px;
font-size: 6.0rem;
display: block;
font-weight: 700;
}
@media only screen and (max-width: 900px) {
#inrMv {
    display: block;
    margin-bottom: 0;
}
#inrMv .mvImg {
    width: 100%;
    overflow: hidden;
}

#inrMv .mvImg img {
object-fit: cover;
height: 250px;
object-position: top center;
}
#inrMv .mvImg h1 span {
    font-size: 50px;
    font-size: 5.0rem;
}
#inrMv .mvImg h1 {
    left: 5%;
    font-size: 12px;
    font-size: 1.2rem;
}
}
@media only screen and (max-width: 480px) {
#inrMv .mvImg img {
height: 200px;
}
#inrMv .mvImg h1 span {
    font-size: 30px;
    font-size: 3.0rem;
}
}

.mvImg {
	opacity : 0;
	transform : translate(500px, 0);
	transition : all 1000ms;
	}

.mvImg.indexfadeIn {
	opacity : 1;
	transform : translate(0, 0);
	}
    
.mvImg h1 {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1000ms;
	}

.mvImg h1.indexfadeIn {
	opacity : 1;
	transform : translate(0, 0);
	}



/*breadChumbs*/
#breadChumbs {
	margin:0 auto;
	max-width:1200px;
	width: 97%;
}
#breadChumbs p {
	font-size:1.1rem!important;
}
#breadChumbs p a{
	display: inline-block;]
}


/*contents*/
#contents {
	margin: 40px auto 0;
	width:100%;
	overflow: hidden;
}
#contents.wInr{
	max-width: 1200px;
	width:97%;
}



/*footer*/

#footer {
width: 100%;
}

#footer .entryBtn a{
background-color: #4ec3d1;
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 130px 0;
    color: #fff;
    transition: .2s;
    overflow: hidden;
    width: 100%;
    text-align: center;
}




#footer .entryBtn a span {
position: relative;
z-index: 10;
font-size: 18px;
font-size: 1.8rem;
letter-spacing: 0;
display: block;
}

#footer .entryBtn a span strong {
font-family: 'Montserrat', sans-serif;
font-size: 60px;
font-size: 6.0rem;
display: block;
margin-bottom: 10px;
}
 
#footer .entryBtn a:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #86d6e0;
    transition: .2s;
}
 
#footer .entryBtn a:hover{
    color: #fff;
    text-decoration: none;
}
 
#footer .entryBtn a:hover:before{
    left: 0;
}


small#copyright {
font-family: 'Montserrat', sans-serif;
	background:#fff;
	display:block;
    font-size: 12px;
	font-size:1.2rem;
	padding:30px 0;
	text-align:center;
	width:100%;
}
@media only screen and (max-width: 1024px) {

#footer .entryBtn a{
    padding: 80px 0;
}
}


/*sp*/
#spAction{
	display: none;
}

/*newsList*/
.newsList{
	overflow: hidden;
}
.newsList li{
	overflow: hidden;
	margin-bottom: 30px;
	width: 100%;
}
.newsList figcaption{
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 10px;
	line-height: 1.4;
}
.newsList li .img{
	border: 1px solid #CCC;
	display: table;
	float: left;
	line-height: 0;
	margin-bottom: 10px;
	margin-right: 1em;
	height: 150px;
	width: 30%;
}
.newsList li .img span{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 0;
}
.newsList li .img span img{
	max-height: 148px;
	max-width: 100%;
	line-height: 0;
}
/*文字数オーバー*/
.newsList li a::before {
	background: #FFF;
	font-size: 1.8rem;
    bottom: 0;
    content: "…";
    position: absolute;
    right: 0;
}
.newsList li a::after {
	background: #FFF;
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
}
.newsList li a {
	display: block;
    height: 150px;
    overflow: hidden;
    position: relative;
}
.newsList li .tx {
	line-height: 1.5!important;
}


/* indent
-------------------*/
.center{text-align:center!important;}
.left{text-align:left!important;}
.right{text-align:right!important;}
.top0{margin-top:0 !important;}
.top5{margin-top:5px !important;}
.top10{margin-top:10px !important;}
.top15{margin-top:15px !important;}
.top20{margin-top:20px !important;}
.top25{margin-top:25px !important;}
.top30{margin-top:30px !important;}
.top35{margin-top:35px !important;}
.top40{margin-top:40px !important;}
.btm0{margin-bottom:0 !important;}
.btm5{margin-bottom:5px !important;}
.btm10{margin-bottom:10px !important;}
.btm15{margin-bottom:15px !important;}
.btm20{margin-bottom:20px !important;}
.btm25{margin-bottom:25px !important;}
.btm30{margin-bottom:30px !important;}
.btm35{margin-bottom:35px !important;}
.btm40{margin-bottom:40px !important;}
.btm45{margin-bottom:45px !important;}
.btm50{margin-bottom:50px !important;}
.btm55{margin-bottom:55px !important;}
.btm60{margin-bottom:60px !important;}
.btm65{margin-bottom:65px !important;}
.btm70{margin-bottom:70px !important;}
.btm75{margin-bottom:75px !important;}
.btm80{margin-bottom:80px !important;}
.btm85{margin-bottom:85px !important;}
.btm90{margin-bottom:90px !important;}
.btm95{margin-bottom:90px !important;}
.pT0{padding-top:0!important;}
.pT5{padding-top:5px!important;}
.pT10{padding-top:10px!important;}
.pT15{padding-top:15px!important;}
.pT20{padding-top:20px!important;}
.pT25{padding-top:25px!important;}
.pT30{padding-top:30px!important;}
.pT35{padding-top:35px!important;}
.pT40{padding-top:40px!important;}
.pT45{padding-top:45px!important;}
.pB0{padding-bottom:0!important;}
.pB5{padding-bottom:5px!important;}
.pB10{padding-bottom:10px!important;}
.pB15{padding-bottom:15px!important;}
.pB20{padding-bottom:20px!important;}
.lm5{margin-left:5px !important;}
.lm10{margin-left:10px !important;}
.lm15{margin-left:15px !important;}
.lm20{margin-left:20px !important;}
.lm50{margin-left:50px !important;}
.lm60{margin-left:60px !important;}
.lm70{margin-left:70px !important;}
.rm5{margin-right:5px !important;}
.rm10{margin-right:10px !important;}
.rm15{margin-right:15px !important;}
.rm20{margin-right:20px !important;}
.vAT { vertical-align:top!important;}
.vAM { vertical-align:middle!important;}
.vAB { vertical-align:bottom!important;}

.bold { font-weight: bold;}
.normal { font-weight: normal;}

.is-pc { display: block;}
.is-sp { display: none;}
.is-spS { display: none;}

.spTel{ pointer-events: none; }

.sawarabiG{
	font-family: 'sawarabiG';
}
.mincho{
	font-family: "Roboto Slab" , Garamond , "Times New Roman" , 'sawarabiM', "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

.marker{ background: linear-gradient(transparent 30%, #ffff66 60%); }



/* size
-------------------*/
.size10 { font-size:1.0rem!important; }
.size11 { font-size:1.1rem!important; }
.size12 { font-size:1.2rem!important; }
.size13 { font-size:1.3rem!important; }
.size14 { font-size:1.4rem!important; }
.size15 { font-size:1.5rem!important; }
.size16 { font-size:1.6rem!important; }
.size17 { font-size:1.7rem!important; }
.size18 { font-size:1.8rem!important; }
.size19 { font-size:1.9rem!important; }
.size20 { font-size:2.0rem!important; }
.size21 { font-size:2.1rem!important; }
.size22 { font-size:2.2rem!important; }
.size23 { font-size:2.3rem!important; }
.size24 { font-size:2.4rem!important; }



/* wide
-------------------*/
.w5 {width:5%!important;}
.w10 {width:10%!important;}
.w15 {width:15%!important;}
.w18 {width:18%!important;}
.w20 {width:20%!important;}
.w25 {width:25%!important;}
.w30 {width:30%!important;}
.w35 {width:35%!important;}
.w40 {width:40%!important;}
.w45 {width:45%!important;}
.w50 {width:50%!important;}
.w55 {width:55%!important;}
.w60 {width:60%!important;}
.w65 {width:65%!important;}
.w70 {width:70%!important;}
.w75 {width:75%!important;}
.w80 {width:80%!important;}
.w85 {width:85%!important;}
.w90 {width:90%!important;}
.w95 {width:95%!important;}
.wFull {width:100%!important;}



/* section
-------------------*/
section {
	clear:both;
	margin-bottom:120px;
}
/*
#contents > section:last-child{
	margin-bottom:0;
}
*/
section.bgColor{
	padding: 60px 0;
}
section.bgColor01{ background: #EEE;}
section.bgColor02{ background: #EAF6F9;}
.scInr{
	margin: 0 auto;
	max-width: 1200px;
	width: 97%;
}
.scInrS{
	margin: 0 auto;
	max-width: 1000px;
	width: 97%;
}
.scInrW{
	margin: 0 auto;
	max-width: 1400px;
	width: 97%;
}
.aural span,
span.aural {
	display:none;
	visibility:hidden;
}



/* compo parts
-------------------*/

/*btn*/
.bscBtn01 a {
	border:3px solid #000;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	color:#000;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
	padding:30px 0;;
	line-height:140%;
	text-decoration:none;
	position: relative;
    font-family: 'Montserrat', sans-serif;
    font-size: 21px;
    font-size: 2.1rem;
    letter-spacing: 0;
    transition: .2s;
    overflow: hidden;
    width: 410px;
    text-align: center;
}
.bscBtn01 a:hover {
	background:#000;
	color:#fff; 
}



.bscBtn01 a span {
position: relative;
z-index: 2;
}
 
.bscBtn01 a:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #000;
    transition: .2s;
}
 
.bscBtn01 a:hover{
    color: #fff;
    text-decoration: none;
}
 
.bscBtn01 a:hover:before{
    left: 0;
}





.bscBtn01 a i{
	text-align: right;
	margin: auto;
	width: 90%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.bscBtn01 a:hover i{
	width: 100%;
}

@media only screen and (max-width: 1200px) {
.bscBtn01 a {
	padding:25px 0;;
    font-size: 18px;
    font-size: 1.8rem;
    width: 320px;
}
}


/*box*/
.bscBox01{
	border: 1px solid #CCC;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	padding:30px;
}
.bscBox02{
	background: #EAF6F9;
	border: 1px solid #96d1df;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	padding:30px;
}

/*list*/
.indList,
.indListS {
	margin-bottom:15px;
}
.indList li,
.indListS li {
	line-height:170%;
	text-indent:-1em;
	padding-left:1em;
	margin-bottom:5px;
}
.indListS li {
	font-size: 1.1rem !important;
	line-height:130%;
}
.indList li::before,
.indListS li::before {
	content: '・';
	font-size: 50%;
	margin-right: 5px;
	vertical-align: middle;
}
.numList,
.numListS {
	margin-bottom:15px;
	padding-left:1.6em;
}
.numList li,
.numListS li {
	line-height:150%;
	list-style: decimal outside none;
	margin-bottom: 5px;
}
.numListS li {
	font-size: 1.1rem !important;
	line-height: 130%;
}

/*head*/
.imgHead {
	font-size:0;
	line-height:0;
}
.head01{
	color: #96d1df;
	font-size: 2.8rem;
	text-align: center;
	margin-bottom: 40px;
}
.head01::after{
	content: attr(data-text);
	color: #CCC;
	font-size: 60%;
	display: block;
	margin-top: 5px;
}
.head02{
	font-size: 2.4rem;
	margin-bottom: 40px;
	padding-bottom: 20px;
	position: relative;
}
.head02::before{
	content: attr(data-text);
	color: #CCC;
	font-size: 70%;
	display: block;
	margin-bottom: 10px;
}
.head02::after{
	background: #96d1df;
	content: '';
	height: 2px;
	width: 50px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}
.head03{
	color: #96d1df;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 20px;
}

/*table*/
.bscTbl01 table{
	border-collapse:collapse;
	border-left:1px solid #DDD;
	border-top:1px solid #DDD;
	width:100%;
}
.bscTbl01 table th,
.bscTbl01 table td{
	background:#FFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-right:1px solid #DDD;
	border-bottom:1px solid #DDD;
	line-height:1.4;
	padding:20px 20px 17px;
	text-align:left;
}
.bscTbl01 table th{
	background:#EEE;
}
.bscTbl01 table tr.head th{
	background:#96d1df;
	color:#FFF;
}

/*float*/
.fltImgL {
	float:left;
	margin:0 25px 20px 0;
}
.fltImgR {
	float:right;
	margin:0 0 20px 25px;
}
.fltL {
	float:left;
}
.fltR {
	float:right;
}
.w100 { width:100px;}
.w200 { width:200px;}
.w300 { width:300px;}
.w400 { width:400px;}
.w450 { width:450px;}
.w500 { width:500px;}
.w600 { width:600px;}

/*float-clear*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
.cf {
    zoom:1;
}
br.clear, .clear {
	display:inline !important;
	display:none;
	clear:both;
	line-height:0px;
}
br.clear {
	clear:both;
	line-height:0px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
	br.clear  {
		display:block!important;
		content: " ";
	}
}

/*column*/
.clm4 li{
	float: left;
	margin: 0 24px 24px 0;
	width: -webkit-calc((100% - 72px) / 4);
	width: calc((100% - 72px) / 4);
}
.clm4 li:nth-child(4n){
	margin-right: 0;
}

.clm3 li{
	float: left;
	margin: 0 24px 24px 0;
	width: -webkit-calc((100% - 48px) / 3);
	width: calc((100% - 48px) / 3);
}
.clm3 li:nth-child(3n){
	margin-right: 0;
}

.clm2 li{
	float: left;
	margin-bottom: 16px;
	width: 49%;
}
.clm2 li.even,
.clm2 li:nth-child(2n){
	float: right;
}

.clm4,
.clm3,
.clm2{
	overflow: hidden;
}
.clm4 li,
.clm3 li,
.clm2 li{
	border: 1px solid #EDEDED;
	overflow: hidden;
}
.clm4 li figure,
.clm3 li figure,
.clm2 li figure{
	position: relative;
	cursor: pointer;
}
.clm4 li figure a,
.clm3 li figure a,
.clm2 li figure a{
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
}
.clm4 li figcaption,
.clm3 li figcaption,
.clm2 li figcaption{
	color: #000;
	display: table;
	table-layout: fixed;
	font-weight: bold;
	font-size: 1.8rem;
	width: 100%;
	padding: 20px 10px 10px;
	line-height: 1.2;
}
.clm4 li figcaption span,
.clm3 li figcaption span,
.clm2 li figcaption span{
	display: table-cell;
	vertical-align: middle;
}
.clm4 li .tx,
.clm3 li .tx,
.clm2 li .tx{
	padding: 0 10px 10px;
}
.clm4 li .img,
.clm3 li .img,
.clm2 li .img{
	display: table;
	line-height: 0;
	height: 130px;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.clm4 li .img span,
.clm3 li .img span,
.clm2 li .img span{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 0;
	overflow: hidden;
}
.clm4 li .img span img,
.clm3 li .img span img,
.clm2 li .img span img{
	max-height: 130px;
	max-width: 100%;
	line-height: 0;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.clm4 li:hover .img span img,
.clm3 li:hover .img span img,
.clm2 li:hover .img span img{
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.clm4 li:hover .img span::before,
.clm3 li:hover .img span::before,
.clm2 li:hover .img span::before{
	content: 'MORE →';
	color: #FFF;
	margin: auto;
	width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.clm4 li .img span::after,
.clm3 li .img span::after,
.clm2 li .img span::after{
	background: rgba(0,0,0,.6);
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	-webkit-transform: matrix(1, 0, 0, 1, -300, 0);
	-moz-transform: matrix(1, 0, 0, 1, -300, 0);
	transform: matrix(1, 0, 0, 1, -300, 0);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.clm3 li .img span::after{
	-webkit-transform: matrix(1, 0, 0, 1, -500, 0);
	transform: matrix(1, 0, 0, 1, -500, 0);
}
.clm2 li .img span::after{
	-webkit-transform: matrix(1, 0, 0, 1, -1000, 0);
	transform: matrix(1, 0, 0, 1, -1000, 0);
}
.clm4 li:hover .img span::after,
.clm3 li:hover .img span::after,
.clm2 li:hover .img span::after{
	-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
	transform: matrix(1, 0, 0, 1, 0, 0);
}



/* pager
-------------------*/
.pager {
	padding-top:20px;
	text-align:center;
}
.pager a {
	border:1px solid #96d1df;
	background:#e9f7fa;
	color:#96d1df;
	display:inline-block;
	line-height:1;
	margin:0 2px;
	padding:8px 8px;
	text-decoration:none;
	position: relative;
}
.pager a:hover,
.pager a.current {
	background:#96d1df;
	border:1px solid #96d1df;
	color:#FFF;
}
.pager a::after {
	content: attr(data-text);
}
.pager a:last-child::after {
	display: none;
}
.pager a:last-child::before {
	content: attr(data-text);
}

/*topcontrol*/
#topcontrol{
	z-index: 900;
}
#topcontrol a {
	background:url(../cmn_img/scrollup.png) center center no-repeat #000;
	background : url(../cmn_img/scrollup.gif) center center no-repeat\9 #000; /* IE8 */
	*background : url(../cmn_img/scrollup.gif) center center no-repeat #000; /* IE7 */
	_background : url(../cmn_img/scrollup.gif) center center no-repeat #000; /* IE6 */
	display:block;
	height:60px;
	width:60px;
	filter: alpha(opacity=70) !important;
	opacity:0.7 !important;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
#topcontrol a:hover {
	filter: alpha(opacity=10) !important;
	opacity:1 !important;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
 	-ms-transform: scale(1.2);
 	-o-transform: scale(1.2);
 	transform: scale(1.2);
}

/*roBtn*/
.roBtn:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
/* IE8 */
html>/**/body .roBtn:hover {
	display /*\**/: inline-block\9;
	zoom /*\**/: 1\9;
}

/* 新旧Firefox */
.roBtn:hover, x:-moz-any-link {
	background: #fff;
}
.roBtn:hover, x:-moz-any-link, x:default {
	background: #fff;
}


/* form
-------------------*/
.subscribeBtn{
	text-align: center;
	margin-bottom: 40px;
}
.subscribeBtn input{
	background:#000;
	border:1px solid #000;
	color:#FFF;
	display:inline-block;
	padding:15px 100px 13px;
	line-height:140%;
	text-decoration:none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.subscribeBtn input:hover{
	background:#FFF;
	color:#000;
}
.subscribeBtn input.gray{
	background: #666;
	border:1px solid #666;
	color:#FFF;
}
.subscribeBtn input.gray:hover{
	background:#ddd;
	color:#000;
}
input.textFocus {
	color:#333;
}
input.wSS,
input.wS,
input.wM,
input.wL,
input.wLL {
	background:#FCFBF8;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #CCC;
	font-size:1.3rem;
	line-height: 140%;
	padding:8px 10px;
}
input {
	vertical-align:middle;
}

.wSS { width: 85px;}
.wS { width: 170px;}
.wM { width: 270px;}
.wL { width: 470px;}
.wLL { width: 340px;}
.imeOn { ime-mode: active;}
.imeOff { ime-mode: disabled;}

textarea.txtarea {
	background:#FCFBF8;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #CCC;
	height: 200px;
	padding:10px;
	width: 100%;
}
option {
	font-size:1.4rem!important;
}
label {
	cursor: pointer;
}
label:hover {
	color:#999;
}
input[type="checkbox"], input[type="radio"] {
	margin-right:3px;
}
.formErr {
	color:#E54E52;
	font-weight:bold;
}
select.slctArea{
	background:#FCFBF8;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #CCC;
	margin-bottom: 5px;
	padding:8px;
}
input.inputErr,
textarea.inputErr {
	background:#FADFDE;
}
input:focus,
select:focus,
textarea:focus{
	background: #EEE;

}
.req {
	background:#a40000;
	color:#FFF;
	font-size:1.1rem;
	margin-left:3px;
	padding:2px 5px;
	margin-right: 5px;
	vertical-align:middle;
}
.errText{
	background: #fee8e6;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    color: #db584b;
    font-size: 1.1rem;
    padding: 3px 5px;
    margin-top: 5px;
}
.cauText{
	color: #333;
	font-size: 1.1rem;
	line-height: 1.4!important;
	margin-top: 5px;
}



































/* for SP
-------------------------------------------------------------------------------------*/

@media only screen and (max-width: 900px) {


/* base contents
-------------------*/

/*breadChumbs*/
#breadChumbs {
	display: none;
}

/*mv*/
#mv div.mvInr {
	margin:0 3%;
	width:auto;
}

/*contents*/
#contents {
	margin:0 auto;
	padding-top: 40px;
	width:100%;
}
#main {
	float:none;
	margin: 0 3%;
	width:auto;
}
#sideNav {
	float:none;
	margin: 40px 3% 0;
	max-width: 100%;
	width:auto;
}

/*footer*/
#footer {
	margin: 40px 0 0;
	width:100%;
}
#footer div.ftInr {
	margin:0 3%;
	width:auto;
}
small#copyright {
	font-size:1.0rem!important;
	padding:10px 0;
	text-align:center;
	width:100%;
}

/*newsList*/
.newsList li .img{
	height: 100px;
}
.newsList li .img span img{
	max-height: 100px;
}
.newsList li a {
    height: 102px;
}
.newsList li .tx {
	line-height: 1.5!important;
}




/* indent
-------------------*/
body{
}
.bgFixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.is-sp{ display: block!important;}
.is-pc{ display: none!important;}
.spImg{ max-width: 100%;}
a.spTel{
	color: #96d1df;
	pointer-events: auto;
	text-decoration: underline;
}



/* section
-------------------*/

section{
	margin-bottom: 50px;
}
.scInr, .scInrS, .scInrW{
	float:none;
	margin: 0 3%;
	width:auto;
}



/* compo parts
-------------------*/

/*btn*/

/*box*/
.bscBox01{
	padding:5%;
}
.bscBox02{
	padding:5%;
}

/*table*/
.tblScroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.tblScroll table {
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0;
	width: 1000px!important;
}

.bscTbl01 table th,
.bscTbl01 table td {
	display: block;
	font-size: 1.1rem;
	padding:10px 3%;
	width: 100%!important;
}
.bscTbl01.tblScroll table th,
.bscTbl01.tblScroll table td {
	display: table-cell;
}
.tblScroll {
	padding-bottom: 5px;
}
.tblScroll::before {
	content: '※横スクロールができます。';
	display: block;
	margin-bottom: 10px;
}

/*float*/
.fltL, .fltR{
	float: none;
}
.fltImgL,
.fltImgR {
	float:none;
	margin:0;
	text-align: center;
}
.fltImgL img,
.fltImgR img{
	max-width: 100%;
	margin-bottom: 5px;
}

/*column*/
.clm4 li{
	float: left;
	margin-right: 0;
	width: 48.5%;
}
.clm4 li.even,
.clm4 li:nth-child(2n){
	float: right;
}
.clm4 li:nth-child(4n){
	margin-right: 0;
}

.clm3 li{
	float: left;
	margin-right: 0;
	width: 48.5%;
}
.clm3 li.even,
.clm3 li:nth-child(2n){
	float: right;
}

.clm4 li .img,
.clm3 li .img,
.clm2 li .img{
	height: 100px;
}
.clm4 li .img span img,
.clm3 li .img span img,
.clm2 li .img span img{
	max-height: 100px;
}

/*topcontrol*/
#topcontrol{
	display: none;
}



/* pager
-------------------*/

.pager a::before,
.pager a::after {
	display: none;
}



/* form
-------------------*/

.subscribeBtn input{
	padding:15px 0 13px;
	margin-top: 5px;
	width: 100%;
}
input.wSS,
input.wS,
input.wM,
input.wL,
input.wLL {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.wSS { width: 30%;}
.wS { width: 50%;}
.wM { width: 100%;}
.wL { width: 100%;}
.wLL { width: 100%;}
.imeOn { ime-mode: active;}
.imeOff { ime-mode: disabled;}
textarea.txtarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 200px;
	width: 100%;
}
select.timearea{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;

}
option {
	font-size:1.4rem!important;
}
label {
	cursor: pointer;
}
label:hover {
	color:#999;
}
input[type="checkbox"], input[type="radio"] {
	margin-right:3px;
}
.formErr {
	color:#E54E52;
	font-weight:bold;
}
input.inputErr,
textarea.inputErr {
	background:#FADFDE;
}
.req {
	color:#FFF;
	font-size:10px;
	line-height:100%;
	margin-left:3px;
	padding:2px 5px;
	margin-right: 5px;
	vertical-align:middle;
}
.cauText{
	display: block;
}
}

@media only screen and (max-width: 480px) {

#spHeader .logo img {
	width: 200px!important;
}
.bscBtn01 a {
	border: 2px solid #000;
    width: 60%;
    display: block;
    padding: 15px 0;
    margin: 0 auto;
}
#footer .entryBtn a span strong {
    font-size: 30px;
    font-size: 3.0rem;
    margin-bottom: 0;
}
#footer .entryBtn a {
    padding: 30px 0;
}
#footer .entryBtn a span{
    font-size: 13px;
    font-size: 1.3rem;
}

#spNav .snInr {
display: block;
}
#spNav .snInr nav {
    width: 100%;
}

#spNav .snInr nav ul li {
    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 20px;
}
#spNav .snInr .spBox {
    width: 100%;
}
#spNav .snInr .spBox dl {
    text-align: left;
}
#spNav .snInr .spBox dl dd {
    font-size: 10px;
    font-size: 1.0rem;
}
#spNav .snInr .spBox dl dt {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

#spNav .entryBtn a {
    padding: 20px 0;
    font-size: 20px;
    font-size: 2.0rem;
}
.is-spS {
display: block!important;

}
.bscBtn01 a:before{
display: none;
}
}
/*SP END*/

/*-----------------------------------------------movieSec/add20210702---*/
#movieSec {
width: 90%;
max-width: 1200px;
margin: 0 auto 150px;
}
#movieSec .movieImg{
position: relative;
}

#movieSec .movieImg a {
display: block;
position: relative;
}

#movieSec .movieImg a:before{
content: "";
width: 100%;
height: 100%;
background: rgba(0,0,0,0.3);
position: absolute;
left: 0;
top: 0;
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}

#movieSec .movieImg a:hover:before{
background: rgba(0,0,0,0.1);
}


.pulse-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
background: rgba(255,255,255,0.4);
  cursor: pointer;
}

.pulse-btn i {
font-size: 40px;
font-size: 4rem;
color: #fff;
}

.pulse-btn::before, .pulse-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2s linear infinite;
}

.pulse-btn::after {
  animation-delay: 3s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}
@media only screen and (max-width: 900px) {
#movieSec {
margin: 0 auto 40px;
}
}

/*----------------------------------------------------------add_20211105----*/


#floatingBtn {
position: fixed;
left: 20px;
bottom: 20px;
  opacity: 0;
  	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
    z-index: 9999;
}
#floatingBtn.active {
opacity: 1;
}

#floatingBtn a {
display: block;
position: relative;
background: linear-gradient(to top, #f19db5 0%, #a3caec 100%);
color: #fff;
  width:200px;
  height: 200px;
  border-radius: 50%;
text-align: center;
font-style: normal;
font-family: 'Montserrat', sans-serif;
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
font-size: 15px;
font-size: 1.5rem;
line-height: 1.3;
font-weight: bold;
}

/*
#floatingBtn a::before, #floatingBtn a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid #a3caec;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2s linear infinite;
}
*/

#floatingBtn a::after {
  animation-delay: 3s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

#floatingBtn a span {
 position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
#floatingBtn a:hover {
text-decoration: none;
opacity: 0.8;
}

#floatingBtn ul {
display: flex;
justify-content: space-between;
}
#floatingBtn ul li:first-child {
margin-right: 20px;
}
@media screen and (max-width: 640px) {
#floatingBtn {
    left: inherit;
    right: 10px;
    bottom: 10px;
}
#floatingBtn a {
    width: 100px;
    height: 100px;
    font-size: 10px;
    font-size: 1rem;
}
#floatingBtnSp {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
z-index: 11;
}
#floatingBtnSp ul {
display: flex;
justify-content: space-between;
width: 100%;
}
#floatingBtnSp ul li {
width: 100%;
}

#floatingBtnSp ul li a {
    display: block;
    position: relative;
    padding: 1em 1.5em;
    background-color: #cdadd0;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
  transition: 300ms;
  padding: 20px 0;
}#floatingBtnSp ul li:last-child a {
    background-color: #f19eb4;
}
#floatingBtnSp ul li a::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -30px;
    left: 0;
    width: 10px;
    height: 100%;
    background-color: rgba(255,255,255,.8);
    transition: 300ms;
    animation: shinyshiny 2.5s ease-in-out infinite;
}

#floatingBtnSp ul li a:hover {
    text-decoration: none;
    color: #fff;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@-webkit-keyframes shinyshiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

}

.dokidoki{   
    animation-name:dokidoki;	/* アニメーション名の指定 */
    animation-delay:0s;		/* アニメーションの開始時間指定 */
    animation-duration: 3s;	/* アニメーション動作時間の指定 */
    animation-timing-function: ease-in-out;
    /* アニメーションの動き（徐々に早く徐々に遅く）*/
    animation-iteration-count: infinite; /* アニメーションをループさせる */
}
 
@keyframes dokidoki {
    0% {
        transform: scale(1);
    }
 
    40% {
        transform: scale(1);
    }
 
    50% {
        transform: scale(1.1);
    }
    
    60% {
        transform: scale(1);
    }
     
    100% {
        transform: scale(1);
    }
}
#footer {
    padding-bottom: 20px;
}
/*--------------------------------------add_20211117-*/
#gNav a.requirements {
display: block;
border: 3px solid #333;
padding: 10px;
font-size: 14px;
font-size: 1.4rem;
}
#gNav a.requirements:hover {
text-decoration: none;
background: #333;
color: #fff;
}
#gNav a.requirements small {
font-size: 10px;
font-size: 1rem;
display: block;
text-align: center;
padding-top: 3px;
}








