@charset "UTF-8";


@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400|Roboto|Roboto+Mono');
@import url('https://netdna.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.css');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}
img {
	width:100%;
	border:none;
	vertical-align:bottom;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
address, em, code, cite, dfn, var, optgroup {
  font-style: normal;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
	text-decoration:none;
	outline:none;
    color: #2B2929;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
input, select {
    vertical-align:baseline;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	-webkit-appearance:none;
	border-radius:0;
	font-family:'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
}
.clearfix:after {
    content: "."; 
    display:block; 
    height:0; 
    clear:both; 
    visibility:hidden;
}
.clearfix {display:inline-block;}
* html .clearfix {height:1%;}
.clearfix {display:block;}
.clear {
	font-size: 1px;
	height: 1px;
	clear: both;
}
.floatL {
	float:left;
	display:inline;
}
.floatR {
	float:right;
	display:inline;
}
.alignCenter {text-align:center;}
.alignLeft {text-align:left;}
.alignRight {text-align:right;}
.valignTop {vertical-align:top;}
.valignMiddle {vertical-align:middle;}
.valignBottom {vertical-align:bottom;}
.bold { font-weight:bold; }

.pcon { display:block; }
.spon { display:none; }
@media only screen and (max-width:767px){
.pcon { display:none; }
.spon { display:block; }
}


/* html
-------------------------------------------------*/
html {
	overflow-y: scroll;
	height: 100%;
}

/* body
-------------------------------------------------*/
body {
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: #383434;
	-webkit-text-size-adjust: 100%;
	height: 100%;
    font-weight: 300;
}
.robot {
    font-family: 'Roboto', sans-serif;
}
.robotMono {
    font-family: 'Roboto Mono', monospace;
}

/* #wrapper
-------------------------------------------------*/
#wrapper {
	width: 100%;
	margin: 0 auto;
    overflow-x: hidden;
}

/* a
-------------------------------------------------*/
.linkBlank::after {
    margin-left: 8px;
    font-family: FontAwesome;
    vertical-align: middle;
    content: '\f08e';
}

/* header
-------------------------------------------------*/
header {
    position:fixed;
    top:0;
    z-index:9998;
    background-color:#fff;
}
header .logoSet {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
header .hlogo {
	width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
header .btnSub a {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
header .btnMenu.open .menuIco {
    background-color: #fff;
}
header .menuIco {
    position: relative;
    display: block;
    width: 100%;
    background-color: #5b7f9c;
}
header .menuIco:before,
header .menuIco:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    display: block;
    background-color: #5b7f9c;
    transition: -webkit-transform 300ms cubic-bezier(0.455,0.03,0.515,0.955);
    transition: transform 300ms cubic-bezier(0.455,0.03,0.515,0.955);
    transition: transform 300ms cubic-bezier(0.455,0.03,0.515,0.955), -webkit-transform 300ms cubic-bezier(0.455,0.03,0.515,0.955);
}
header .menuTxt {
    color: #5b7f9c;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
	margin: 0 -6%;
}

/* .menuArea
-------------------------------------------------*/
.menuArea {
    position: fixed;
    z-index: 9997;
    width: 100%;
    height: 100%;
}
.menuList {
    position: relative;
}
.menuBgover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.menuNav01.menuBgover {
    background-color: #4b4b4b;
}
.menuNav02.menuBgover {
    background-color: #333;
}
.menuNav03.menuBgover {
    background-color: #202020;
}
.menuNav04.menuBgover {
    background-color: #111;
}
.menuSet {
    color: #fff;
}
.menuNum  {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	color: #299ff2;
}
.menuTit {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	color: #fff;
}
.menuTit span {
	display: block;
    line-height: 1.5;
    font-weight: 400;
}
.menuItem {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.menuMore {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	color: #fff;
    text-align: right;
}
.menuItem li {
	padding-bottom: 15px;
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1em;
}
.menuItem li::before {
	content: '-';
    padding-right: 0.5em;
}
.menuItem li a {
	color: #fff;
}
.menuMore a {
	color: #fff;
    text-decoration: underline;
}

/* #contents
-------------------------------------------------*/
#contents {
	width: 100%;
	box-sizing: border-box;
}
body.open #contents,
body.open aside,
body.open footer {
    overflow: hidden;
    opacity: 0;
}

/* section, aside
-------------------------------------------------*/
section,
aside {
	width: 100%;
    box-sizing: border-box;
}
section .inner,
aside .inner {
	width: 92%;
	margin: 0 auto;
	position: relative;
}

/* .newsArea
-------------------------------------------------*/
.newsArea {
    max-width: 1300px;
    margin: 0 auto 100px;
}
.newsArea ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.newsArea ul li {
    align-self: stretch;
    width: 22.75%;
    margin: 0 3% 3% 0;
    background-color: #f3ede3;
}
.newsArea ul li:nth-child(4n) {
    margin-right: 0;
}
.newsArea ul li p {
    padding: 1em 1.5em 1.5em;
    line-height: 1.4;
    position: relative;
}
.newsArea ul li p span {
    display: block;
    padding-bottom: 0.3em;
}
.newsArea ul li p span.cat {
    display: inline-block;
    position: absolute;
    right: 1.5em;
    top: 1em;
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    padding: 0 0.5em;
    border-radius: 2px;
}
.newsArea ul li p span.cat.casa {
    background-color: #80bca3;
}
.newsArea ul li p span.cat.online {
    background-color: #bf4d28;
}
.newsArea ul li p span.cat.coordinate {
    background-color: #655643;
}
.newsArea ul li p span.cat.other {
    background-color: #e6ac27;
}
.newsArea .btn {
    position: absolute;
    right: 0;
    top: -7.5em;
    width: 10%;
    max-width: 140px;
}
.newsArea .btn a {
    display: block;
    background-color: #56809e;
    color: #fff;
    width: 100%;
    height: 40px;
    border-radius: 30px;
    line-height: 40px;
    text-align: center;
    border: 2px solid #56809e;
    transition: background-color 0.5s;
}

/* .instaArea
-------------------------------------------------*/
.instaArea {
    max-width: 1300px;
    margin: 0 auto 100px;
}
.instaArea ul {
    font-size: 0;
    width: 100%;
}
.instaArea ul li {
    font-size: 14px;
    width: 19%;
    display: inline-block;
    margin: 0 1.25% 1.25% 0;
}
.instaArea ul li:nth-child(5n) {
    margin-right: 0;
}
.instaArea ul li img {
    vertical-align: middle;
}

/* .mapArea
-------------------------------------------------*/
.mapArea {
	background-color: #56809e;
}
.mapArea .map {
	width: 100%;
    position: relative;
}
.mapArea .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* footer
-------------------------------------------------*/
footer {
	width: 100%;
	background: #393939;
	color: #fff;
	box-sizing: border-box;
}
footer a {
	color:#fff;
}

/* loading
-------------------------------------------------*/
.overlayBg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #fff;
}
.overlayBg.loadingTop {
    visibility: hidden;
}
.overlayContent {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9999;
    transform: translate(-50%, -50%);
}
.overlayContent.loadingEnd {
    visibility: hidden;
	transition: visibility 0ms linear 4000ms;
}
.loadingImg {
    animation: fadeIn 2200ms cubic-bezier(0.47, 0, 0.745, 0.715) 1;
}
.loadingImg.loadingTop {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
    transform: translate(-70%, 0);
}
.overlaySub {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #fff;
}
.overlaySub.loadingEnd {
    transition: all 800ms cubic-bezier(0.42,0,0.58,1);
    visibility: hidden;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}


@media only screen and (min-width:768px) {
/* a
-------------------------------------------------*/
a.al:hover,
a.al:hover img,
input.al:hover {
	opacity:0.7;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	transition:opacity 400ms;
} 

/* header
-------------------------------------------------*/
header {
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.6);
	left: 0;
	width: 160px;
	height: 100%;
}
header .hinner {
	height:90vh;
}
header .hBtn {
	margin: 0 auto;
	padding-top: 30px;
	width: 53px;
    cursor: pointer;
}
header .logoSet {
	height: 80%;
}
header .btnSub {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
header .btnMenu {
	padding: 5px;
	transition: opacity 500ms;
	cursor: pointer;
}
header .btnMenu:hover {
	opacity:0.8;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}
header .btnMenu.open .menuIco:before {
	-webkit-transform:translate(0, 8px) rotate(30deg);
	transform:translate(0, 8px) rotate(30deg);
}
header .btnMenu.open .menuIco:after {
	-webkit-transform:translate(0, -8px) rotate(-30deg);
	transform:translate(0, -8px) rotate(-30deg);
}
header .menuLine {
	margin-bottom: 5px;
	padding: 10px 0;
}
header .menuIco {
	height: 2px;
}
header .menuIco:before,
header .menuIco:after {
	height: 2px;
}
header .menuIco:before {
	top: -8px;
}
header .menuIco:after {
	top: 8px;
}
header .menuTxt {
	font-size: 16px;
}

/* .menuArea
-------------------------------------------------*/
.menuArea {
	top: 0;
	left: 0;
	-webkit-transform: translate(-100%,0);
	transform: translate(-100%,0);
}
.menuArea.open {
	transition: -webkit-transform 1000ms;
	transition: transform 1000ms;
	transition: transform 1000ms, -webkit-transform 1000ms;
	-webkit-transform: translate(0,0);
	transform: translate(0,0);
}
.menuWrap {
	margin-left: 160px;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	position: relative;
	background: rgba(0,0,0,0.90);
}
.menuList {
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	transition: -webkit-transform 800ms;
	transition: transform 800ms;
	transition: transform 800ms, -webkit-transform 800ms;
}
.menuNav01 {
	width: 25%;
	background: url(../img/nav-open_bg_box01.jpg) center center no-repeat;
	background-size: cover;
	-webkit-transform: translate(-100%,0);
	transform: translate(-100%,0);
}
.menuNav02 {
	width: 25.2%;
	background: url(../img/nav-open_bg_box02.jpg) center center no-repeat;
	background-size: cover;
	-webkit-transform: translate(-200%,0);
	transform: translate(-200%,0);
}
.menuNav03 {
	width: 25.1%;
	background: url(../img/nav-open_bg_box03.jpg) center center no-repeat;
	background-size: cover;
	-webkit-transform: translate(-300%,0);
	transform: translate(-300%,0);
}
.menuNav04 {
	width: 25%;
	background: url(../img/nav-open_bg_box04.jpg) center center no-repeat;
	background-size: cover;
	-webkit-transform: translate(-400%,0);
	transform: translate(-400%,0);
}
.menuList.open {
	-webkit-transform: translate(0,0);
	transform: translate(0,0);
}
.menuList.open .menuBgover {
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	transition: opacity 800ms cubic-bezier(0.42,0,0.58,1) 200ms;
}
.menuList.open .menuNum  {
    opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition: opacity 1100ms cubic-bezier(0.42,0,0.58,1) 700ms;
}
.menuList.open .menuTit {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition: opacity 1100ms cubic-bezier(0.42,0,0.58,1) 700ms;
}
.menuList.open .menuItem {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition: opacity 1100ms cubic-bezier(0.42,0,0.58,1) 900ms;
}
.menuList.open .menuMore  {
    opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition: opacity 1100ms cubic-bezier(0.42,0,0.58,1) 700ms;
}
.menuSet {
	width: 18vw;
	padding-top: 150px;
	font-size: 14px;
}
.menuNav04 .menuSet {
    padding-top: 320px;
}
.menuNum {
	font-size: 48px;
}
.menuTit {
    font-size: 12px;
	margin-bottom: 30px;
}
.menuTit span {
	font-size: 24px;
}
.menuItem {
	padding-bottom: 30px;
}
.menuItem li a:hover,
.menuMore a:hover {
	opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	transition: opacity 400ms;
}

/* .snsArea
-------------------------------------------------*/
.snsArea {
	position: fixed;
	z-index: 9999;
	top: 35px;
	right: 20px;
}
.snsArea ul {
	display: -ms-flexbox;
	display: flex;
}
.snsArea ul li {
	width: 28px;
	height: 28px;
	margin-right: 20px;
}

/* #contents
-------------------------------------------------*/
#contents {
	padding-left: 160px;
}

/* title
-------------------------------------------------*/
.headtitle1 {
    font-size: 24px;
    background: url("../img/bg.png") left center no-repeat;
    background-size: 132px auto;
    padding: 45px 12px 35px 4%;
    margin-bottom: 30px;
    font-weight: 400;
    line-height: 1.5;
}
.headtitle1 span {
    font-size: 14px;
    display: block;
    font-weight: 300;
}
.headtitle1 span.robot {
    font-weight: normal;
}
.copy {
    text-align: center;
    padding-bottom: 3em;
}

/* .mapArea
-------------------------------------------------*/
.mapArea {
    padding-left: 160px;
    display: flex;
    justify-content: space-between;
}
.mapArea .inner {
    width: 840px;
    height: 100px;
}
.mapArea .flogo {
    display: inline-block;
    vertical-align: middle;
    padding-right: 20px;
}
.mapArea .flogo img {
    width: auto;
    height: 100px;
}
.mapArea .inner div {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 16px;
}
.mapArea .inner div address {
    display: inline-block;
    padding-right: 20px;
}
#map {
    padding-top: 450px;
}
.mapArea .mapCon {
    width: 50%;
    border-right: 2px solid #56809e;
    box-sizing: border-box;
}
.mapArea .mapCon:nth-child(2) {
    border-left: 2px solid #56809e;
    border-right: none;
}
.mapArea .mapCon .con {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 14px;
    margin: 0 auto;
    padding: 0.75em 0;
}  
.mapArea .mapCon .con h3 {
    font-weight: 700;
    font-size: 16px;
}  
.mapArea .mapCon .con address {
    display: inline-block;
    padding-right: 20px;
}  
.mapArea .mapCon .map {
    width: 100%;
    padding-top: 450px;
}  


/* #footer
-------------------------------------------------*/
footer {
    font-size: 13px;
    height: 100px;
	padding: 25px 0 0 160px;
}
footer a:hover {
	opacity:0.5;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	transition:opacity 400ms;
}
footer ul {
    text-align: center;
    display: flex;
    justify-content: space-around;
    max-width: 940px;
    margin: 0 auto 15px;
}
footer ul li::after {
    content: '：';
    padding-left: 20px;
}
footer ul li:last-child::after {
    content: '';
    padding-left: 0;
}
footer small {
    display: block;
	text-align: center;
    font-size: 10px;
    opacity: 0.6;
}

/* loading
-------------------------------------------------*/
.overlayBg.loadingTop {
	transition: opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms, -webkit-transform 1700ms cubic-bezier(0.92,0,0.07,1);
	transition: transform 1700ms cubic-bezier(0.92,0,0.07,1), opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms;
	transition: transform 1700ms cubic-bezier(0.92,0,0.07,1), opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms, -webkit-transform 1700ms cubic-bezier(0.92,0,0.07,1);
	-webkit-transform:translate(-90%, 0);
	transform: translate(-90%, 0);
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.loadingImg {
	width: 20vw;
}
.loadingImg.loadingTop {
	transition: opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75) 150ms, visibility 0ms linear 1800ms, -webkit-transform 2000ms cubic-bezier(0.215,0.61,0.355,1);
	transition: opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75) 150ms, transform 2000ms cubic-bezier(0.215,0.61,0.355,1), visibility 0ms linear 1800ms;
	transition: opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75) 150ms, transform 2000ms cubic-bezier(0.215,0.61,0.355,1), visibility 0ms linear 1800ms, -webkit-transform 2000ms cubic-bezier(0.215,0.61,0.355,1);
}
}


@media only screen and (min-width:768px) and (max-width:1200px) {
/* body
-------------------------------------------------*/
body {
	font-size: 1.1666vw;
}

/* header
-------------------------------------------------*/
header {
	width: 13.3333vw;
}

/* .menuArea
-------------------------------------------------*/
.menuWrap {
	margin-left: 13.3333vw;
}
.menuSet {
	padding-top: 12.5vw;
	font-size:1.1666vw;
}
.menuNav04 .menuSet {
    padding-top: 26.666vw;
}
.menuNum {
	font-size: 4vw;
}
.menuTit {
    font-size: 1vw;
	margin-bottom: 2.5vw;
}
.menuTit span {
	font-size: 1.9vw;
}
.menuItem {
	padding-bottom: 2.5vw;
}

/* .snsArea
-------------------------------------------------*/
.snsArea {
	right: 10px;
}
.snsArea ul li {
	width: 22px;
	height: 22px;
	margin-right: 15px;
}

/* #contents
-------------------------------------------------*/
#contents {
	padding-left: 13.3333vw;
}

/* title
-------------------------------------------------*/
.headtitle1 {
    font-size: 2vw;
    background: url("../img/bg.png") left center no-repeat;
    background-size: 11vw auto;
    padding: 3.75vw 1vw 3vw 4%;
    margin-bottom: 2.5vw;
}
.headtitle1 span {
    font-size: 1.1666vw;
}

/* .newsArea
-------------------------------------------------*/
.newsArea {
    margin-bottom: 8.333vw;
}
.newsArea ul {
    margin-bottom: 2.5vw;
}
.newsArea ul li {
    width: 31.33333%;
}
.newsArea ul li:nth-child(4n) {
    margin-right: 3%;
}
.newsArea ul li:nth-child(3n) {
    margin-right: 0;
}
.newsArea ul li p span.cat {
    font-size: 1vw;
    line-height: 1.666vw;
}

/* .instaArea
-------------------------------------------------*/
.instaArea {
    margin-bottom: 8.333vw;
}

/* .mapArea
-------------------------------------------------*/
.mapArea {
    padding-left: 13.3333vw;
}
.mapArea .inner {
    width: 70vw;
    height: 8.333vw;
}
.mapArea .flogo {
    padding-right: 1.666vw;
}
.mapArea .flogo img {
    height: 8.333vw;
}
.mapArea .mapCon .con {
    font-size: 1.333vw;
}
.mapArea .mapCon .con h3 {
    font-size: 1.45vw;
}
.mapArea .map {
    padding-top: 37.5vw;
}

/* #footer
-------------------------------------------------*/
footer {
    font-size: 1.0833vw;
    height: 8.333vw;
	padding: 2vw 0 0 13.3333vw;
}
footer ul {
    max-width: 80vw;
    margin: 0 auto 1.25vw;
}
footer ul li::after {
    padding-left: 1.666vw;
}
footer small {
    font-size: 0.9vw;
}
}


@media only screen and (min-width:768px) and (max-width:960px) {
/* .newsArea
-------------------------------------------------*/
.newsArea .btn {
    width: 14.1%;
}
.newsArea .btn a {
    font-size: 1.4vw;
}

/* .instaArea
-------------------------------------------------*/
.instaArea ul li {
    width: 32%;
    margin: 0 2% 2% 0;
}
.instaArea ul li:nth-child(5n) {
    margin-right: 2%;
}
.instaArea ul li:nth-child(3n) {
    margin-right: 0;
}
}


@media only screen and (max-width:767px) {
/* body
-------------------------------------------------*/
body {
	font-size: 3.4vw;
}

/* header
-------------------------------------------------*/
header {
	left: 0;
	width: 100%;
	height: 20vw;
	padding-right: 4vw;
	padding-left: 5vw;
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
    background-color: #5b7f9c;
}
header .hinner {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:center;
	justify-content:center;
	-ms-flex-align:center;
	align-items:center;
}
header .hBtn {
	padding-top: 3vw;
	width: 10vw;
}
header .hlogo {
	width: 25vw;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
header .btnSub {
    display: none;
}
header .btnMenu.open .menuIco {
    background-color: #5b7f9c;
}
header .btnMenu.open .menuIco:before {
	-webkit-transform:translate(0, 1.5vw) rotate(30deg);
	transform:translate(0, 1.5vw) rotate(30deg);
}
header .btnMenu.open .menuIco:after {
	-webkit-transform:translate(0, -1.5vw) rotate(-30deg);
	transform:translate(0, -1.5vw) rotate(-30deg);
}
header .menuLine {
	margin-bottom: 1.75625vw;
	padding: 1.40625vw 0;
}
header .menuIco {
	height: 1px;
    background-color: #fff;
}
header .menuIco:before,
header .menuIco:after {
	height: 1px;
    background-color: #fff;
}
header .menuIco:before {
	top: -1.5vw;
}
header .menuIco:after {
	top: 1.5vw;
}
header .menuTxt {
	font-size:3.2vw;
	letter-spacing:0.02em;
    color: #fff;
}

/* .menuArea
-------------------------------------------------*/
.menuArea {
	top: 0;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-transform: translate(0,-100%);
	transform: translate(0,-100%);
    -webkit-overflow-scrolling: touch;
}
.menuArea.open {
	transition: -webkit-transform 300ms;
	transition: transform 300ms;
	transition: transform 300ms, -webkit-transform 300ms;
	-webkit-transform: translate(0,0);
	transform: translate(0,0);
}
.menuWrap {
	padding-top: 20vw;
	height: 100%;
	box-sizing: border-box;
}
.menuList {
	width: 100%;
	height: 90vw;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:center;
	justify-content:center;
	-ms-flex-align:center;
	align-items:center;
	transition:-webkit-transform 800ms cubic-bezier(0.165,0.84,0.44,1);
	transition:transform 800ms cubic-bezier(0.165,0.84,0.44,1);
	transition:transform 800ms cubic-bezier(0.165,0.84,0.44,1), -webkit-transform 800ms cubic-bezier(0.165,0.84,0.44,1);
	margin-top:-1px;
}
.menuNav01 {
	background:url(../img/nav-open_bg_box01.jpg) center center no-repeat;
	background-size:cover;
	-webkit-transform:translate(0,-100%);
	transform:translate(0,-100%);
}
.menuNav02 {
	background:url(../img/nav-open_bg_box02.jpg) center center no-repeat;
	background-size:cover;
	-webkit-transform:translate(0,-200%);
	transform:translate(0,-200%);
}
.menuNav03 {
	background:url(../img/nav-open_bg_box03.jpg) center center no-repeat;
	background-size:cover;
	-webkit-transform:translate(0,-300%);
	transform:translate(0,-300%);
    height:120vw;
}
.menuNav04 {
	background:url(../img/nav-open_bg_box04.jpg) center center no-repeat;
	background-size:cover;
	-webkit-transform:translate(0,-400%);
	transform:translate(0,-400%);
}
.menuList.openSp {
	-webkit-transform:translate(0,0);
	transform:translate(0,0);
}
.menuList .menuBgover {
	opacity:0;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	transition:opacity 800ms cubic-bezier(0.42,0,0.58,1) 200ms;
}
.menuList .menuNum  {
    opacity:1;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition:opacity 1100ms cubic-bezier(0.42,0,0.58,1) 700ms;
	color: #299ff2;
}
.menuList .menuTit {
	opacity:1;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition:opacity 1100ms cubic-bezier(0.42,0,0.58,1) 700ms;
}
.menuList .menuItem {
	opacity:1;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition:opacity 1100ms cubic-bezier(0.42,0,0.58,1) 900ms;
}
.menuMore {
    opacity:1;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	transition:opacity 1100ms cubic-bezier(0.42,0,0.58,1) 900ms;
	color: #fff;
    text-align: right;
}
.menuSet {
	width:74vw;
}
.menuNum {
	font-size:10vw;
}
.menuTit {
	font-size:2.8vw;
	margin-bottom:4vw;
}
.menuTit span {
	font-size:6vw;
}
.menuItem {
	padding-bottom:2.59375vw;
	font-size:3.75vw;
} 

/* .snsArea
-------------------------------------------------*/
.snsArea {
	position: fixed;
	z-index: 9999;
	top: 7.5vw;
	right: 3vw;
}
.snsArea ul {
	display: -ms-flexbox;
	display: flex;
}
.snsArea ul li {
	width: 6vw;
	height: 6vw;
	margin-left: 3vw;
}

/* #contents
-------------------------------------------------*/
#contents {
	padding-top: 20vw;
}

/* aide
-------------------------------------------------*/
aide .inner {
	width: 100%;
}

/* title
-------------------------------------------------*/
.headtitle1 {
    font-size: 5vw;
    background: url("../img/bg.png") left center no-repeat;
    background-size: 25vw auto;
    padding: 6.5vw 4vw 4.5vw 6%;
    margin-bottom: 4vw;
    line-height: 1.4;
    font-weight: 400;
}
.headtitle1 span {
    font-size: 3.4vw;
    display: block;
    font-weight: 300;
}
.headtitle1 span.robot {
    font-weight: 400;
}
.copy {
    text-align: left;
    padding-bottom: 2em;
}

/* .newsArea
-------------------------------------------------*/
.newsArea {
    margin-bottom: 15vw;
}
.newsArea ul li {
    width: 48%;
    margin: 0 4% 4% 0;
}
.newsArea ul li:nth-child(2n) {
    margin-right: 0;
}
.newsArea ul li p {
    padding: 1em;
}
.newsArea .btn {
    top: -5.6em;
    width: 26%;
}
.newsArea ul li p span.cat {
    right: 1.2em;
    top: 1.2em;
    font-size: 2.6vw;
    line-height: 5vw;
}

/* .instaArea
-------------------------------------------------*/
.instaArea {
    margin-bottom: 15vw;
}
.instaArea .inner {
    width: 100%;
}
.instaArea ul li {
    width: 33%;
    margin: 0 0.5% 0.5% 0;
}
.instaArea ul li:nth-child(5n) {
    margin-right: 0.5%;
}
.instaArea ul li:nth-child(3n) {
    margin-right: 0;
}

/* .mapArea
-------------------------------------------------*/
.mapArea .flogo {
    width: 30%;
    margin: 0 auto;
    padding-top: 1vw;
}
.mapArea .inner div {
    color: #fff;
    text-align: center;
    padding-bottom: 5vw;
    font-size: 3.6vw;
}
.mapArea .inner div a {
    color: #fff;
}
#map {
    padding-top: 85vw;
}
.mapArea .mapCon .con {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.6vw;
    color: #fff;
    text-align: center;
    padding: 0.75em 0;
}
.mapArea .mapCon .con a {
    color: #fff;
}
.mapArea .mapCon .con h3 {
    font-weight: 700;
    font-size: 4vw;
}
.mapArea .map {
    padding-top: 85vw;
}

/* #footer
-------------------------------------------------*/
footer {
    font-size: 3.1vw;
	padding: 5vw 0 4vw;
}
footer ul {
    margin: 0 5vw 5vw;
    display: flex;
    flex-wrap: wrap;
}
footer ul li {
    width: 46%;
    position: relative;
    display: inline-block;
    padding-left: 5vw;
    vertical-align: middle;
    text-decoration: none;
    box-sizing: border-box;
    padding-bottom: 2px;
}
footer ul li:nth-child(2n) {
    width: 54%;
}
footer ul li::before {
    left: 1vw;
    width: 1vw;
    height: 1vw;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    content: "";
    vertical-align: middle;
    top: 2vw;
}
footer small {
    font-size: 2.2vw;
    opacity: 0.6;
    display: block;
    text-align: center;
}

/* .loadingArea
-------------------------------------------------*/
.overlayBg.loadingTop {
	transition:opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms, -webkit-transform 1700ms cubic-bezier(0.92,0,0.07,1);
	transition:transform 1700ms cubic-bezier(0.92,0,0.07,1), opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms;
	transition:transform 1700ms cubic-bezier(0.92,0,0.07,1), opacity 700ms cubic-bezier(0,0,0.58,1) 1300ms, visibility 0ms linear 1700ms, -webkit-transform 1700ms cubic-bezier(0.92,0,0.07,1);
	-webkit-transform:translate(0,-88%);
	transform:translate(0,-88%);opacity:0;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.loadingImg {
	width:50vw;
}
.loadingImg.loadingTop {
	transition:opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75), visibility 0ms linear 1000ms, -webkit-transform 1000ms cubic-bezier(0.215,0.61,0.355,1);
	transition:opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75), transform 1000ms cubic-bezier(0.215,0.61,0.355,1), visibility 0ms linear 1000ms;
	transition:opacity 420ms cubic-bezier(0.25,0.25,0.75,0.75), transform 1000ms cubic-bezier(0.215,0.61,0.355,1), visibility 0ms linear 1000ms, -webkit-transform 1000ms cubic-bezier(0.215,0.61,0.355,1);
    -webkit-transform:translate(0, -95%);
	transform:translate(0, -95%);
}
}