@charset "utf-8";
/* CSS Document */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-text-size-adjust: none;
}
html {
    color: #1d1d1d;
    font-size: 62.5%;
    line-height: 1.6;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}
body {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
	overflow-x: hidden;
	position: relative;
}
body.active {
    overflow: hidden;
}
header, footer, main, nav, section, article ,dl,dt,dd{
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    display: block;
}
p, h1, h2, h3, h4, h5, h6 {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}
img {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    border-style: none;
    width: auto;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    display: inline;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000000;
}
a:hover {
	text-decoration: underline;
}
a.images_link:hover {
	opacity: 0.6;
	text-decoration: none;
}
.sp {
	display: block;
}
.pc {
	display: none;
}


/*ローディング*/
:root {
    --loading-color: #063f7f;
    --loading-color_rgba: 0,0,0;
}
#loading {
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: #ffffff;
	z-index: 1500;
	display: table;
	font-size: 0;
}
#loading.loaded {
	animation: fadeOut 0.5s ease 0.3s 1 normal;
	animation-fill-mode: forwards;
	
}

@keyframes fadeOut {
	0% {opacity: 1;}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes loading2 {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
@keyframes loading2_off {
    0% {opacity: 1;top: 0px;}
    99% {opacity: 0;top: 0px;}
    100% {top: -100vh;}
}
#loading .cell {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
#loading .cell .circle{
	width: 50px;
	height: 50px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	display: inline-block;
	animation-name: loading2;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	border-radius: 50%;
	background: radial-gradient(circle at bottom right, #FFFFFF 20px, var(--loading-color) 50px);
	position: relative;
}
#loading .cell .circle:before {
	display: block;
	content: "";
	background-color: #FFFFFF;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin-top: -20px;
	margin-left: -20px;
}
#loading .cell .circle:after {
	width: 50%;
	height: 60%;
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	content: "";
	background-color: #FFFFFF;
}

/*メニュー*/
header {
    position: fixed;
    width: 100%;
    background-color: #ffffff;
    height: 80px;
    z-index: 1000;
}
#menu {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: table;
    width: 100%;
    height: 100%;
    border-bottom: solid 1px #b2b2b2;
}
#menu > * {
	display: table-cell;
	vertical-align: middle;
}
#menu > div {
	padding-left: 3%;
}
#menu > nav {
	padding-right: 3%;
}
#menu #logo {
    width: 100px;
    padding-top: 0px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
}
#menu nav {
	width: 50px;
}
#menu nav dd {
	width: 35px;
}
#menu nav .menu_bb {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 80px;
	background-color: #ffffff;
	padding-bottom: 0;
	height: calc(100vh - 80px) ;
	overflow-x: scroll;
}
#menu nav .menu_bb.open {
	display: block;
}
#menu nav .menu_bb > a {
	display: block;
	width: 100%;
	border-bottom: solid 1px #b2b2b2;
	padding: 22px 0;
}
#menu nav .menu_bb > a img {
	width: 60%;
	max-width: 182px;
	margin-left: auto;
	margin-right: auto;
}
#menu nav .menu_bb .menu_bb_follow .mds {
    width: 90px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 35px;
}
#menu nav .menu_bb .menu_bb_follow .mds img {
	vertical-align: top;
}
#menu nav .menu_bb .menu_bb_follow .link {
	text-align: center;
	padding-top: 25px;
}
#menu nav .menu_bb .menu_bb_follow .link a {
    display: inline-block;
    width: 68px;
    margin-top: 0;
    margin-right: 17px;
    margin-left: 17px;
    margin-bottom: 0;
}
#menu nav .menu_bb .menu_bb_follow .link a img {
	vertical-align: middle;
}

/*メニューボタン*/
.menu_hamburger {
	display: block;
}
.menu_hamburger .hamburger .box {
	width: 35px;
	display: block;
	height: 18px;
	position: relative;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
.menu_hamburger .hamburger .box span ,.menu_hamburger .hamburger .box:before ,.menu_hamburger .hamburger .box:after {
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: 2px;
	left: 0px;
	background-color: #063f7f;
	content: "";
	margin-top: -1px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	transition: 0.3s all;
}
.menu_hamburger .hamburger .box:before  {
	top: 0%;
	margin-top: 0px;
}
.menu_hamburger .hamburger .box:after  {
	margin-top: 0px;
	bottom: 0%;
	top: auto;
}
.menu_hamburger .hamburger.open .box span {
	opacity: 0;
	transition: 0.3s all;
}
.menu_hamburger .hamburger.open .box:before {
	top: 50%;
	margin-top: -2px;
	transform: rotate(45deg);
	transition: 0.3s all;
}
.menu_hamburger .hamburger.open .box:after {
	top: 50%;
	margin-top: -2px;
	transform: rotate(-45deg);
	transition: 0.3s all;
}
.link_more {
    height: 92px;
    padding-top: 32px;
}
.link_more a ,.more_open{
    border: solid 1px #063f7f;
    padding-top: 0px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    border-radius: 30px;
    background-color: #ffffff;
    color: #063f7f;
    margin-left: auto;
    margin-right: auto;
    height: 60px;
    width: 153px;
    display: table;
}
.more_open{
    margin-top: 50px;
}
.link_more a span  ,.more_open span{
    display: table-cell;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    text-align: center;
    vertical-align: middle;
}

/*本文*/
main {
    padding-top: 80px;
}
main #main_img {
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	height: 392px;
	background-image: url("../images/snmainp_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
main #main_img > img {
	display: none;
}
main #main_img span {
	display: block;
	position: absolute;
	bottom: -1px;
}
main #main_img span img {
	width: 100%;
}
main #main_img #mds {
	margin-top: -20px;
}
main #main_img #mds {
	position: absolute;
	top: 50%;
    left: 50%;
	width: 90%;
	max-width: 980px;
	transform: translate(-50%, -50%);
	-transform: translate(-50%, -50%);
	z-index: 1;
}
main #main_img #mds img {
	max-width: 306px;
	width: 53%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	margin: auto;
}
h2 img {
    width: 82%;
    height: auto;
}

/*CONCEPT MOVIE*/
#concept_movie {
    padding-top: 100px;
    margin-top: -100px;
}
#concept_movie > div#concept {
	max-width: 980px;
	width: 89%;
	margin-left: auto;
	margin-right: auto;
}
#concept_movie > div#concept > h2 {
	padding-top: 43px;
	text-align: center;
}
#concept_movie > div#concept > div {
	padding-top: 35px;
	padding-bottom: 70px;
	text-align: center;
}
#concept_movie > div#concept > h2 img {
	max-width: 350px;
	width: 45.8%;
}
#concept_movie > div#concept > div img {
	max-width: 460px;
	width: 100%;
}
#concept_movie .copy {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #D1D8E2;
	position: relative;
}
#concept_movie .copy .img {
    width: 94%;
    max-width: 649px;
    margin-left: auto;
    margin-right: auto;
}
#concept_movie > div.copy > span {
	display: block;
	position: absolute;
	top: -1px;
	z-index: 10;
	width: 100%;
}
#concept_movie > div.copy > span img {
	width: 100%;
	vertical-align: top;
}



/*NEW*/
#new {
	padding-top: 100px;
    margin-top: -100px;
}
#new h2 {
	padding-top: 70px;
	text-align: center;
}
#new .box {
	display: block;
	width: 100%;
	max-width: 1380px;
	margin-top: 40px;
}
#new .box > span {
	display: block;
	position: relative;
}
#new .box > span:first-of-type img {
	width: 100%;
}
#new .box > span:last-of-type {
	background-color: #d9dee0;
	padding-left: 3%;
	padding-right: 3%;
	padding-bottom: 50px;
	background: #d9dee0;
	width: 100%;
	position: relative;
	text-align: center;
}
#new .box > span:last-of-type:before {
	height: 0;
	display: block;
	position: absolute;
	right: 0;
	content: "";
	border-bottom: solid 40px #fff;
	border-left: solid 40px transparent;
	bottom: 0;
}
#new .box > span:last-of-type:after {
  height: 0;
  display: block;
  position: absolute;
  right: 0;
  content: "";
  border-top: solid 40px #a3b7bd;
  border-right: solid 40px transparent;
  bottom: 0;
}
#new .box > span .ico {
	display: block;
	padding-top: 32px;
	text-align: left;
}
#new .box > span .ico img {
	width: 104px;
	margin-right: 8px;
	text-align: left;
}
#new .box > span .mds {
	display: block;
	font-size: 2rem;
	padding-top: 20px;
	text-align: left;
	font-weight: bold;
	color: #063f7f;
}
#new .box > span .txt {
	display: block;
	padding-top: 5px;
	text-align: left;
}
#new .box > span .link {
	display: inline-block;
	margin-top: 32px;
	border: solid 1px #063f7f;
	padding: 15px 58px;
	border-radius: 30px;
	background-color: #ffffff;
	color: #063f7f;
}
#new .box > span .link:hover {
	text-decoration: none;
}


/*LINE UP*/
#line_up {
	max-width: 1380px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-top: 100px;
	margin-top: -100px;
	padding-bottom: 50px;
}
#line_up h2 {
	padding-top: 70px;
	text-align: center;
}
#line_up .box {
	overflow: hidden;
	padding-bottom: 36px;
}
#line_up .box .box_sub {
	display: inline-block;
	width: 100%;
	margin-top: 45px;
}
#line_up .box .box_sub span.photo  {
    display: block;
    position: relative;
}
#line_up .box .box_sub.soldout span.photo:after{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url(../images/snsoldout.png);
    content: "";
}

#line_up .box .swiper-slide.new .box_sub span.photo:before {
    display: block;
    width: 104px;
    height: 31px;
    position: absolute;
    top: 10px;
    left: 20px;
    content: "";
    background-repeat: no-repeat;
    background-image: url(../images/snnew.png);
    background-size: cover;
    background-position: center center;
	z-index: 1;
	border-radius: 3px;
    border: solid 1px #ffffff;
}
#line_up .box a:hover {
	text-decoration: none;
}
#line_up .box .box_sub > span:last-of-type {
	background-color: #d9dee0;
	padding-left: 3%;
	padding-right: 3%;
	padding-bottom: 50px;
	background: #d9dee0;
	width: 100%;
	position: relative;
	text-align: center;
	display: block;
}
#line_up .box .box_sub > span:last-of-type:before {
	height: 0;
	display: block;
	position: absolute;
	right: 0;
	content: "";
	border-bottom: solid 40px #fff;
	border-left: solid 40px transparent;
	bottom: 0;
}
#line_up .box .box_sub span:last-of-type:after {
  height: 0;
  display: block;
  position: absolute;
  right: 0;
  content: "";
  border-top: solid 40px #a3b7bd;
  border-right: solid 40px transparent;
  bottom: 0;
}
#line_up .box .box_sub span .ico {
	display: block;
	padding-top: 32px;
	text-align: left;
}
#line_up .box .box_sub span .ico img {
	width: 104px;
	margin-right: 8px;
	margin-bottom: 8px;
	text-align: left;
	display: inline-block;
}
#line_up .box .box_sub span .mds {
	display: block;
	font-size: 2rem;
	padding-top: 12px;
	text-align: left;
	font-weight: bold;
	color: #063f7f;
}
#line_up .box .box_sub span .mds_sub {
	display: block;
	text-align: left;
	font-size: 1.4rem;
}
#line_up .box .box_sub span .txt {
    display: block;
    padding-top: 5px;
    text-align: left;
}
#line_up .box .box_sub span .link_more {
    margin-top: 0px;
}
#line_up .box .box_sub.soldout span .link_more a   {
    display: none;
}

.swiper-container {
    overflow: visible !important;
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: -36px !important;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px !important;
}
.swiper-pagination-bullet {
    width: 16px !important;
    height: 16px !important;
    display: inline-block;
    border-radius: 100%;
    background: #ffffff !important;
	border: solid 1px #acacac;
    opacity: 1 !important;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #063f7f !important;
}
.swiper-button-next, .swiper-button-prev {
    top: 33vw !important;
}

@media all and (-ms-high-contrast: none) {
  /* ここに書く */

#line_up .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}

}

/*LIFE*/

#life {
	padding-top: 100px;
	margin-top: -100px;
}
#life > div {
	width: 100%;
	background-color: #e6e5df;
}
#life > div > div {
	max-width: 1380px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-bottom: 40px;
}
#life h2 {
	padding-top: 70px;
	text-align: center;
}
#life .pick_up {
	display: none;
	margin-top: 45px;
}
#life .pick_up > div {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
#life .pick_up > div:last-of-type {
	padding-right: 3%;
}
#life .pick_up > div img {
	width: 100%;
}
#life .pick_up > div:last-of-type {
	padding-left: 50px;
}
#life .pick_up > div:last-of-type .mds {
	font-size: 2.2rem;
	color: #063f7f;
}
#life .pick_up > div:last-of-type ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#life .pick_up > div:last-of-type ul li {
	padding: 20px 0 20px 34px;
	border-bottom: solid 1px #acacac;
	background: url(../images/snpickup.png) left 0px center no-repeat;
	background-size: 20px 5px;
}
#life .life_article {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	width: 94%;
}
#life .life_article > a {
	display: inline-block;
	width: 100%;
	margin-top: 40px;
	vertical-align: top;
	font-weight: bold;
}
#life .life_article > a:nth-of-type(3n) {
	margin-right: 0;
}
#life .life_article > a .mds {
	padding-top: 20px;
	display: block;
	font-size: 1.8rem;
	line-height: 1.4;
}
#life .life_article > a .img {
	position: relative;
	display: block;
}
#life .life_article > a .ico {
	display: block;
	position: absolute;
	bottom: 5px;
	left: 5px;
	width: 104px;
}
#life .life_article > a .day {
	padding-top: 15px;
	display: block;
	color: #063f7f;
	font-size: 1.2rem;
}

/*NEWS*/
#news {
	max-width: 1380px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-top: 100px;
	margin-top: -100px;
}
#news h2 {
	padding-top: 70px;
	text-align: center;
}
#news .box {
	padding: 35px 0 0;
	max-width: 980px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}
#news .box > * {
	display: inline-block;
	border-bottom: solid 1px #b2b2b2;
	padding: 30px 0;
	width: 100%;
	position: relative;
}
#news .box > * > span {
	display: block;
}
#news .box > * .day {
	width: 10em;
	color: #063f7f;
}
#news .box > * .txt {
	display: block;
	width: 70%;
}
#news .box > * .ico {
	width: 104px;
	position: absolute;
	top: calc(30px + 1em);
	right: 0;
}
#news .box > * .ico img {
	width: 100%;
}
#article_list {
    margin-top: 40px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    max-width: 1200px;
    width: 94%;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}
#article_list .list ul.link_list {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    display: table;
    width: 100%;
}
#article_list .list ul.link_list li {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    display: block;
}
#article_list .list ul.link_list li + li {
    margin-top: 40px;
}

#article_list .list ul.link_list li a {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    display: block;
    font-weight: bold;
}
#article_list .list ul.link_list li a .img {
    position: relative;
}
#article_list .list ul.link_list li a .img .icon {
    position: absolute;
    bottom: 5px;
    left: 5px;
    width: 104px;
}
#article_list .list ul.link_list li a .body {
    margin-top: 20px;
}
#article_list .list ul.link_list li a .body p {
	display: block;
    font-size: 1.8rem;
    line-height: 1.4;
}
#article_list .list ul.link_list li a .body .date {
    color: #063f7f;
    margin-top: 15px;
    font-size: 1.2rem;
}
#article_list .lilnk_more {
    cursor: pointer;
}
#about {
    margin-left: auto;
    margin-right: auto;
    width: 94%;
    max-width: 1200px;
    padding-top: 100px;
    margin-top: -100px;
}
#about h2 {
    text-align: center;
    margin-top: 40px;
}

#about .table {
    margin-top: 40px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    display: table;
    width: 100%;
}
#about .table .body {
    text-align: center;
}

#about .table .map {
    margin-top: 40px;
    text-align: center;
}
#trying {
    margin-top: 60px;
    position: relative;
}
#trying .movie {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    display: block;
    width: 100%;
    position: absolute;
    left: 0px;
    top: 40px;
	z-index: 1;
}
#trying .movie ul {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    width: 94%;
    display: table;
    max-width: 1200px;
    text-align: center;
}
#trying .movie ul li {
    width: 44%;
    display: inline-block;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    max-width: 237px;
}
#trying .movie ul li +li {
    margin-left: 5%;

}
#trying .movie ul li a p {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 5px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    display: block;
}





#trying .copy {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
	z-index: 1;
}
#trying .copy span {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1200px;
}
#trying .copy span img {
    max-width: 884px;
    width: 100%;
}



















/*footer*/

footer {
    padding-top: 0px;
}
footer #member {
	background-color: #dedede;
	padding-top: 60px;
	padding-bottom: 60px;
}
footer #member > div {
	width: 85%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
footer #member .img {
	max-width: 346px;
	width: 71.5%;
	margin-left: auto;
	margin-right: auto;
}
footer #member .txt {
	padding-top: 30px;
}
footer #member a {
	display: inline-block;
	margin-top: 40px;
	padding: 15px 58px;
	border-radius: 30px;
	background: linear-gradient(to right, #0081cc, #002f7b);
	color: #ffffff;
	border: solid 1px #dedede;
}
footer #member a:hover {
	background: #ffffff;
	text-decoration: none;
	color: #002f7b;
	border: solid 1px #002f7b;
}
footer #footer_zb {
	background-image: url("../images/snfooter.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	width: 100%;
	height: 280px;
}
footer .footer_menu {
	display: block;
	max-width: 1200px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}
footer .footer_menu > div {
	display: block;
	vertical-align: middle;
	padding: 0 0 40px;
}
footer .footer_menu .link {
	padding-top: 20px;
}
footer .footer_menu .link a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 15px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
	font-size: 1.2rem;
	width: 50%;
	margin-top: 20px;
}
footer .footer_menu .link a::before,
footer .footer_menu .link a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
footer .footer_menu .link a::before{
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #063f7f;
    border-right: 1px solid #063f7f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
footer .footer_menu > div:last-of-type img {
	max-width: 250px;
}
footer .footer_menu .logo {
    text-align: center;
    margin-top: 40px;
    padding-bottom: 0px;
}
footer .footer_menu .logo img {
	width: 52%;
}
footer .copy {
	background-color: #000000;
	text-align: center;
	padding: 15px;
	font-size: 1.2rem;
	color: #ffffff;
}


@media only screen and (min-width:768px) {

body {
    font-size: 1.4rem;
	line-height: 2;
}
.link_more {
    margin-top: 20px;
}
.more_open {
    cursor: pointer;
}

.link_more a:hover  ,.more_open:hover{
    background: linear-gradient(to right, #0081cc, #002f7b);
	color: #ffffff;
	border: solid 1px #d9dee0;
}
#menu {
	background-color: #ffffff;;
}
a:hover img {
	opacity: 0.7;
}
#menu nav .menu_bb {
	padding-bottom: 30px;
	top: 80px;
}
	
/*本文*/
main #main_img {
	height: auto;
}
main #main_img > img {
	display: block;
}
main #main_img #mds img {
	width: 32%;
}

/*CONCEPT MOVIE*/

#concept_movie > div#concept {
	display: table;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
#concept_movie > div#concept > div,#concept_movie > div#concept > h2 {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}
#concept_movie > div#concept > h2 {
	text-align: center;
	padding: 80px 0 104px;
}
#concept_movie > div#concept > h2 img {
	max-width: 350px;
	width: 60%;
	margin-right: 80px;
}
#concept_movie > div#concept > div {
	padding: 80px 0 104px;
}
#concept_movie > div#concept > div img {
	max-width: 460px;
	width: 90%;
}
#concept_movie > div.copy > span.toumei {
	display: block;
}
#concept_movie .copy {
    padding-top: 8%;
    padding-bottom: 65px;
}

/*NEW*/
#new h2 {
    padding-top: 85px;
}
#new h2 img {
	height: 82px;
	width: auto;
}
#new .box {
	display: table;
	margin-top: 85px;
	margin-left: auto;
	margin-right: auto;
}
#new .box {
	text-decoration: none;
}
#new .box > span .link:hover {
    background: linear-gradient(to right, #0081cc, #002f7b);
	border: solid 1px #d9dee0;
	color: #ffffff;
}
#new .box > span {
	display: table-cell;
	width: 50%;
	position: relative;
}
#new .box > span:first-of-type img {
	position: absolute;
	top: -40px;
	max-width: 790px;
	width: 115%;
	z-index: 10;
}
#new .box > span:last-of-type {
	padding-left: 10.5%;
	padding-right: 8%;
	padding-bottom: 4vw;
	background: #d9dee0;
	width: 200px;
	height: 230px;
	position: relative;
	text-align: right;
}
#new .box > span .ico {
	padding-top: 60px;
}
#new .box > span .mds {
	padding-top: 30px;
}
#new .box > span .link {
	margin-top: 5vw;
}

	
/*LIFE*/
#life {
	margin-top: -224px;
}
#life h2 {
    padding-top: 85px;
}
#life h2 img {
	height: 82px;
	width: auto;
}
#life > div {
	padding-bottom: 45px;
}
#life .pick_up {
	display: table;
}
#life .life_article > a {
	display: inline-block;
	max-width: 370px;
	width: 30%;
	margin-right: 5%;
	margin-top: 40px;
}
#life .life_article {
	padding-top: 30px;
}

/*LINE UP*/
#line_up h2 {
    padding-top: 85px;
}
#line_up h2 img {
	height: 82px;
	width: auto;
}
#line_up .box .box_sub {
	display: inline-block;
	width: 83%;
	margin-top: 55px;
}
#line_up .box .box_sub span .link_more {
    margin-right: 0px;
}
#line_up .box .box_sub span .link_more a {
    margin-right: 0px;
}

#line_up .box .swiper-slide:nth-of-type(n+3) {
	margin-top: -100px;
}
#line_up .box .swiper-slide:nth-of-type(even) .box_sub {
	float: right;
	position: relative;
	right: 5vw;
}
#line_up .box .box_sub > span:first-of-type {
	position: relative;
	z-index: 10;
}
#line_up .box .box_sub > span:last-of-type {
	padding-left: 6%;
    padding-right: 5vw;
	position: relative;
	right: -5vw;
	top: -100px;
	padding-top: 100px;
	padding-bottom: 20px;
	text-align: right;
}
#line_up .box .box_sub span .ico {
	padding-top: 30px;
}
#line_up .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
#line_up .swiper-slide {
	max-width: 50%;
}

#line_up .swiper-button-prev, .swiper-button-next, .swiper-pagination {
	display: none !important;
}


/*NEWS*/
#news h2 {
    padding-top: 85px;
}
#news h2 img {
	height: 82px;
	width: auto;
}
#news .box > * {
	display: table;
	padding: 30px 0;
}
#news .box > * > span {
	display: table-cell;
}
#news .box > * .txt {
	width: auto;
	padding-right: 40px;
}
#article_list {
    margin-top: 45px;
}
#article_list .list ul.link_list li {
    width: 30.8333%;
    float: left;
}
#article_list .list ul.link_list li + li {
    margin-top: 0px;
    margin-left: 3.75005%;
}
#article_list .list ul.link_list li:nth-child(n+4) {
    display: block;
}


#article_list .list ul.link_list li:nth-child(3n + 1) {
    margin-left: 0px;
	clear: both;
}
#article_list .list ul.link_list li:nth-child(n + 4) {
    margin-top: 40px;
}
#about {


}
#about h2 {
    margin-top: 70px;
}


#about h2 img {
    height: 82px;
    width: auto;
}
#about .table .body {
    width: 40.9167%;
    float: left;
}
#about .table .body .sp {
    display: none;
}
#about .table .body .pc {
    display: inherit;
}


#about .table .map {
    margin-top: 0px;
    width: 46.3333%;
    float: right;
}














/*footer*/
footer {
    padding-top: 0px;
}
footer #member {
	padding-top: 85px;
}
footer #member a {
	margin-top: 45px;
}
footer #member a:hover {
	background-color: #ffffff;
	border: solid 1px #002f7b;
}
footer .footer_menu {
    display: table;
    max-width: 1200px;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
    margin-bottom: 60px;
}
footer .footer_menu > div {
    display: block;
    vertical-align: middle;
    width: auto;
}
footer .footer_menu .link {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    width: 79.1667%;
    float: left;
}
footer .footer_menu .link a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 15px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
	font-size: 1.3rem;
	width: auto;
	margin-right: 44px;
	margin-top: 0;
}
footer .footer_menu .link a:hover {
	text-decoration: underline;
}
footer .footer_menu .logo {
    max-width: 250px;
    width: 20.8333%;
    float: right;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
}
footer .footer_menu .logo img {
    width: 90%;
}

}



@media only screen and (min-width:1020px) {
.sp {
	display: none;
}
.pc {
	display: block;
}
header {
    border-bottom: solid 1px #b2b2b2;
    height: 100px;
}
#menu {
    width: 94%;
    border-bottom: none;
    background-color: transparent;
}
#menu > div {
	padding-left: 0;
}
#menu > nav {
	padding-right: 0;
}	
#menu #logo {
	width: 138px;
}
#menu nav {
    width: auto;
	text-align: right;
}
#menu nav .menu_bb {
	display: block;
	position: static;
	height: auto;
	overflow-x: auto;
	background-color: transparent;
	padding-bottom: 0;
}
#menu nav .menu_bb > a {
    display: inline-block;
    width: auto;
    border-bottom: none;
    padding: 0 0;
	margin: 0 13px;
	vertical-align: middle;
}
#menu nav .menu_bb > a img {
	width: auto;
}
#menu nav .menu_bb .menu_bb_follow {
	display: inline-block;
	padding-left: 20px;
	vertical-align: middle;
}
#menu nav .menu_bb .menu_bb_follow > * {
	display: table-cell;
	vertical-align: middle;
}
#menu nav .menu_bb .menu_bb_follow .mds {
	width: 76px;
	padding-top: 0;
}
#menu nav .menu_bb .menu_bb_follow .mds img {
	width: 76px;
	vertical-align: middle;
}
#menu nav .menu_bb .menu_bb_follow .link {
	padding-top: 0;
}
#menu nav .menu_bb .menu_bb_follow .link a {
    width: 35px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 17.5px;
    margin-bottom: 0;
}
.menu_hamburger {
	display: none;
}

/*本文*/
main {
    padding-top: 100px;
}
main #main_img #mds {
    margin-top: -40px;
}
main #main_img #mds img {
	width: 35%;
	max-width: 400px;
}
#trying .movie {
    top: 70px;
}
#trying .movie ul {
    text-align: left;
}

#trying .movie ul li {
    width: 19.75%;
}
#trying .movie ul li + li {
    margin-left: 35px;
}
#trying .movie ul li a {
    opacity: 1;
    text-decoration: none;
	transition: opacity 0.5s;
}
#trying .movie ul li a:hover {
    opacity: 0.5;
	transition: opacity 0.5s;
}
#trying .pc img {
    width: 100%;
}
#trying .copy span img {
    width: 71.8333%;
}

}


@media only screen and (min-width:1180px) {

#menu nav .menu_bb > a {
    margin: 0 20px;
}
#menu nav .menu_bb .menu_bb_follow .link a {
    width: 44px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 24px;
    margin-bottom: 0;
}

}

@media only screen and (min-width:1200px) {
#menu nav .menu_bb > a {
    margin: 0 25px;
}

}

@media only screen and (min-width:1380px) {
#menu {

}
#menu nav .menu_bb > a {
    margin: 0 27px;
}
#menu nav .menu_bb .menu_bb_follow {
	display: inline-block;
	padding-left: 50px;
}


}

#news .box > * .ico {
	width: 104px;
	position: static;
	top: auto;
	right: auto;
}
