@charset "UTF-8";

/* --------------------------------
 * base
 * -------------------------------- */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
body {
    background-color: #fff;
    color: #002e59;
    font-size: 1.4rem;
    font-size: 14px;
    font-family: Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
    /*font-family: "Hiragino Kaku Gothic ProN",  Meiryo,  sans-serif;*/
    -webkit-font-smoothing:antialiased;
}
a {
    text-decoration: none;
    color: #003057;
    cursor: pointer;
    line-height: 2;
    border-bottom: 1px solid #003057;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a:hover {
    color: #5b7f95;
    border-color: #5b7f95;
}
a:active, a:focus {
    color: #5b7f95;
    outline: 0;
}
a:hover img{
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a span:hover {
    filter:alpha(opacity=60);
    -moz-opacity: 0.60;
    opacity: 0.60;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.cf:after {
    display: block;
    clear: both;
    content: "";
}
.left {
    float: left;
}
.right {
    float: right;
}
li {
    list-style: none;
}
.bg_gray {
    background-color: #ececec;
}
/* --------------------------------
 * layout
 * -------------------------------- */
header {
    width: 100%;
    height: 55px;
}
nav {
    width: 100%;
    height: 90px;
    color: #002f58;
    text-align: center;
    background-color: #fff;
}
footer {
    width: 100%;
    padding: 68px 0;
}
header, footer {
    color: #fff;
    text-align: center;
    background-color: #002f58;
}
#gotohome {display:none}
/*

全体
コンテンツ部分(hタグ、リード)960px .wrap
チャンネル部分 .movie_wrap
リスト部分　container

*/
.inner {
    width: 100%;
    margin: 0 auto;
}
.inner_nav {
    width: 100%;
    height: 90px;
    margin: 0 auto;
}
.container {
    width: 1150px;
    margin: 0 auto;
}
.wrap {
    width: 960px;
    margin: 0 auto;
}
@media screen and (max-width: 1400px) {
    .inner {
        width: 100%;
    }
}
@media screen and (max-width: 1150px) {
    .container {
        width: 100%; margin: 0 auto;
    }
}
@media screen and (max-width: 960px) {
    .wrap {
        width: 100%;
    }
}
@media screen and (max-width: 540px) {
    header {
        height: 55px;
    }
}
/* --------------------------------
 * header
 * -------------------------------- */
header div.sitename {
    float: left;
    margin: 25px 0 0 22px;
    font-size: 1.6em;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    position:relative;
    z-index:10;
}
header div.sitename a,header div.sitename a:hover {
	color:#fff;
	text-decoration:none;
	border:none;
}
.logo {
    position: absolute;
    width: 50%;
    margin: 0 auto;
    bottom: 10px;
    top:0;
    left: 0px;
    right: 0px;
    display: inline-block;
    height: 52px;
    text-align: center;
}
.logo a {
    border-bottom: none;
    height: 100%;
    display: block;
    padding-top: 8px;
}
.logo img {
    max-height: 70%;
    max-width: 200px;
    margin-top:8px;
    vertical-align: top;
}
.fb {
    float: right;
    margin: 23px 10px 0 0;
}
.fb a {
    color:#FFF;
    border-bottom: none;
    line-height: 1;
}
/* menu */
#menu_box {
    width: 100%;
    z-index: 1;
    opacity: 0.95;
    background: #fff;
    display: none;
    position: absolute;
    top: 55px;
}
#menu_box .hnav_head {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 10px;
}
#menu_box .hnav_head li {
    float: left;
    width: 100%;
    font-size: 1.8rem;
    font-size: 18px;
    text-align: left;
}
#menu_box .hnav_head li a { 
    display: block;
    padding: 1em .5em;
    line-height: 1.2;
    margin:0 .5em;
    border-bottom: 1px dotted #5c92bb;
}
#menu_box .hnav_head li img { 
    margin-left: 8px;
}
div#menu_icon { display: none; }
.sp{dispay:none;}

@media screen and (max-width: 960px){
    .fb { display: none; }
    header div.sitename {
        margin: 27px 0 0 10px;
    }
    div#menu_icon {
        display: block;
        position: absolute;
        top: 2px;
        right: 2px;
        width:50px;
        height:50px;
    }
    div#menu_icon img { width: 35px; }
    div#gotohome img { width: 35px; }
    #gotohome{
	position:absolute;
	top:-6px;left:0;
	padding:15px;
	display:block!important;
	}


    /*spmenu*/
	.menu {
	    display: inline-block;
	    vertical-align: middle;
	    position:absolute;
	    width: 60%;
	    height: 60%;
	    left:0;
	    right:0;
	    top:0;
	    bottom:0;
	    margin:auto;
	    cursor: pointer;
	}    
	.menu span {
	    content: "";
	    position: absolute;
	    background: #FFF;
	    top: 50%;
	    height: 3px;
	    width: 100%;
	    left:0;
	    margin-top: -1.5px;
	}
	.menu span:before {
	    content: "";
	    position: absolute;
	    background: #FFF;
	    top: -9px;
	    left:0;
	    height: 3px;
	    width: 100%;
	    -webkit-transition: 0.5s ease-in-out;
	    -moz-transition: 0.5s ease-in-out;
	    transition: 0.5s ease-in-out;
	}
	.menu span:after {
	    content: "";
	    position: absolute;
	    background: #FFF;
	    bottom: -9px;
	    left:0;
	    height: 3px;
	    width: 100%;
	    -webkit-transition: 0.5s ease-in-out;
	    -moz-transition: 0.5s ease-in-out;
	    transition: 0.5s ease-in-out;
	}	
.menu.open span:before{top:0px;-webkit-transform: rotate(135deg);-moz-transform: rotate(135deg);transform: rotate(135deg);}
.menu.open span:after{bottom:0;-webkit-transform: rotate(-135deg);-moz-transform: rotate(-135deg);transform: rotate(-135deg);}
.menu.open span{background: rgba(255, 255, 255, 0);}



}
@media screen and (max-width: 768px){
    header div.sitename {
        display: none;
    }
	.sp{
		dispay:block;
	}
}
@media screen and (max-width: 540px){
    header  {
        position: relative;
    }
}
/* --------------------------------
 * nav
 * -------------------------------- */
.nav { margin: 0 auto; text-align: center; }
.gnav { display: inline-block; }
.gnav { padding-top: 20px; }
.gnav li {
    float: left;
    font-size: 1.8rem;
    font-size: 18px;
    text-align: center;
    margin: 0 20px;
}
.gnav li a {
    line-height: 1.5;
    border-bottom: none;
    padding-top: 20px;
    display: block;
    height: 90px;
}
.gnav li small {
    font-size: 1.2rem;
    font-size: 12px;
    line-height: 1; }
/* dropdown */
nav {
    position: relative;
}
.gnav {
    padding-top: 0;
}
.gnav li {
    height: 90px;
    left: 0;
    display: block;
}
.gnav li:hover {
    border-bottom: 4px solid #597d95;
}
.bg_white{background-color:#FFF}
.topLocation h3{color:#FFF;background-color:#025}
.topLocation img{width:100%;object-fit:cover}

@media screen and (min-width: 961px){
.topLocation img{height:160px}
.topLocation li{width:30%;display:inline-block;vertical-align:top;margin:0 10px 20px 10px!important;}
.topLocation li a{border:1px solid #003057;display:block}
.topLocation h3{padding:20px 5px 0;font-size:16px;margin-top:20px;height:55px}
.topLocation h4{padding:10px 0;font-size:16px;margin-top:10px;}
.topLocation .fb-page{width:100%!important;height:130px}

}
@media screen and (max-width: 960px){
.topLocation img{max-width:100%}
.topLocation h3{padding:20px 5px 15px;font-size:16px;margin-top:20px;}
.topLocation h4{padding:10px 0;font-size:16px;margin-top:10px;}
.topLocation li+li{margin-top:10px;border-top:1px solid #003057}
}
@media screen and (min-width: 769px){
.topHeaderLink{position:absolute;text-align:left;left:20px;top:5px}
.topHeaderLink a{display:block;color:#FFF;font-weight:bold;font-size:16px;line-height:30px}
.topHeaderLink a:hover{
	border-bottom: 1px solid #003057;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.topHeaderLink li.in{display:inline-block;}
.topHeaderLink li.inpa{margin-left:50px}
.topHeaderLink li.ln{display:block;width:150px;}
#spSubNavi{display:none}
}
@media screen and (max-width: 960px){
.topHeaderLink{display:none}
#spSubNavi{
	display: inline-block;
	height:auto;
	margin:8px 0;
}
#spSubNavi li{
	display:inline-block;
	width:32%;
}
#spSubNavi li+li{
	border-left:1px solid #002f58;
}
#spSubNavi li a{
	border-bottom:0;
	padding: 5px 0;
	display:block;
	font-size:18px;
}
}
div.child_box {
    width: 100%;
    margin: 0 auto;
    display: none;
    left:0;
    top: 90px;
    position: absolute;
    z-index: 1;
    filter:alpha(opacity=80);
    -moz-opacity: 0.80;
    opacity: 0.80;
    background: #000;
    height: 80px;
}
ul.child{
    width: 860px;
    margin: 0 auto;
    overflow: hidden;
}
ul.child li:hover {
    border-bottom: none;
}
ul.child li {
    height: 80px;
    font-size: 1.6rem;
    font-size: 16px;
    margin: 0 10px;
    vertical-align: middle;
}
ul.child li:first-child {
    margin-right: 0;
}
ul.child li span{
    display: block;
    font-size: 1.4rem;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 2px;
    padding: 5px;
    color: #ccc;
}
ul.child li a{
    padding: 5px ;
    margin-left: -5px;
    margin-right: -5px;
    margin-bottom: -5px;
    display: block;
    color: #fff;
}
ul.child li a:hover {
    filter:alpha(opacity=60);
    -moz-opacity: 0.60;
    opacity: 0.60;
}
@media screen and (max-width: 960px) {
    nav { display: none; }
}
/*bread*/
.bread {
    padding: 10px;
    background: #ececec;
    text-align: left;
}
.bread_wrap {
    margin: 0 auto;
    width: 960px;
}
#breadcrumb {
    font-size: 1.2rem;
    font-size: 12px;
    margin-left: 10px;
}
#breadcrumb ul li {
    display:inline-block;
    margin-bottom: 3px;
}
#breadcrumb a {
    border-bottom: none;
    color: #587e95;
}
@media screen and (max-width: 960px) {
    .bread_wrap {
        width: 100%;
    }
    
}




/* --------------------------------
 * footer
 * -------------------------------- */
.copyright {
    margin-top: 42px;
    padding-bottom: 10px;
}
footer a {
    color: #fff;
    border-bottom: none;
    line-height: 1;
}
footer>ul {
    margin: 30px 0;
}
footer>ul>li {
    display: inline-block;
    padding: 0 20px;
    margin-top: 10px;
    border-right: 1px solid #fff;
}
footer>ul>li:last-child {
    border-right: none;
}
@media screen and (max-width: 768px){
    footer {
        position: relative;
        /*padding-top: 53em;*/
    }
    footer>ul {
        /*position: absolute;*/
        width: 100%;
        top: 0;
        margin: 0;
    }
    footer>ul.shop {
    	top: 16.3em;
    }
    footer>ul.facebook {
    	top: 25.8em;
    }
    footer>ul.vcjapan {
    	top: 38em;
    }
    footer>ul>li {
        display: block;
        padding: 15px;
        border-right: none;
        border-bottom: 1px dotted #fff;
    }
    footer>img {
        width: 70%;
        max-width: 258px;
    }
    .copyright {
        margin: 3em 0 2em;
        font-size:3vw;
    }


}
/* jsレスポンシブ */
/* sp */
@media screen and (max-width: 489px){
  .isSmart {
    display: none;
    width: 1px;
  }
  .tel-link a {border-bottom:0}
}
/* tablet */
@media screen and (min-width: 490px) and (max-width: 870px) {
  .isTablet {
    display: none;
    width: 2px;
  }
}
/* pc */
@media screen and (min-width: 871px) and (max-width: 1199px) {
    .logo{width:20%;}
  .isDesktop {
    display: none;
    width: 3px;
  }
}
.alert {
	font-size: 1.6rem;
    font-size: 16px;
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
    text-align: left;
    padding: 20px 20px 10px 20px;
    margin: 40px auto 0;
    border: 1px solid transparent;
    border-radius: 4px;
}

.tel-link {
	font-style: normal;
}

#page-top{
	width:50px;
	height:50px;
	display:none;
	position:fixed;
	right:0px;
	bottom:70px;
	z-index:9999;
	border:1px solid #333;
}
#page-top p{
	width:48px;
	height:48px;
	text-align:center;
	background:#555;
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	transition:all 0.3s;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;opacity:0.7;
}
#page-top p a{
	border-bottom:0!important;
	display:block;
    padding-top: 5px;
    height:100%;
}
#page-top:hover{
	background:#999;
}


.concept{
    width: 100%;
    text-align: left;
    position: relative;
}
.concept .concept_left{
    width: 64.55%;
}
.concept .concept_right1{
    width: 35.2%;
    position: absolute;
    right: 0;
    top: 0;
}
.concept .concept_right2{
    width: 35.2%;
    position: absolute;
    right: 0;
    bottom: 0;
}
@media screen and (max-width: 768px){
    .logo img{width:90%;margin-top: 10px;}
    .concept{
        width: 100%;
        text-align: left;
        position: relative;
    }
    .concept .concept_left{
        width: 64.4%;
    }
    .concept .concept_right1{
        width: 35%;
        position: absolute;
        right: 0;
        top: 0;
    }
    .concept .concept_right2{
        width: 35%;
        position: absolute;
        right: 0;
        bottom: 0;
    }
    
    
	
}
.container .b_list{
    padding-top: 20px;
}
.thumimg>img{
	font-family: 'object-fit:cover';
}