/* Scss Document */
@media screen and (max-width: 979px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 11px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto;
  }
  header {
    height: 7rem;
    padding: 1.5rem;
  }
  header .logo img {
    position: fixed;
    top: 1.5em;
    left: 2em;
    z-index: 9;
  }
  header .img {
    display: none;
  }
  header .menu {
    width: 2.5rem;
    height: 2.5rem;
    position: fixed;
    right: 2em;
    top: 2.25em;
    cursor: pointer;
    z-index: 12;
  }
  header .menu span {
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    background: #707070;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  header .menu .span {
    top: calc(50% - 9px);
  }
  header .menu .span2 {
    bottom: calc(50% - 0.5px);
    opacity: 1;
  }
  header .menu .span3 {
    bottom: calc(50% - 9px);
  }
  header .menu.open span {
    background: #fff;
  }
  header .menu.open .span {
    top: calc(50% - 1px);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  header .menu.open .span2 {
    opacity: 0;
  }
  header .menu.open .span3 {
    bottom: calc(50% - 1px);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header nav {
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(112, 112, 112, 0.95);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 11;
  }
  header nav ul {
    width: calc(100% - 4rem);
    margin: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
  }
  header nav ul li {
    display: block;
    float: none;
    margin: 1rem 0 0;
    border: 1px solid #fff;
  }
  header nav ul li:first-child {
    margin-top: 0;
  }
  header nav ul li a {
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 1.5em 0;
  }
  header nav ul li:last-child {
    margin-right: 0;
  }
  header nav ul li:last-child a {
    padding: 1.5em 0;
    border-left: none;
    background: #DD4089;
  }
  header nav ul li:last-child a br {
    display: none;
  }
  header nav ul li.ready {
    color: inherit;
    opacity: 0.48;
  }
  header nav ul li.ready a {
    padding: 1em 0 2em;
  }
  header nav ul li span {
    background: none;
    margin: auto;
    position: absolute;
    bottom: 0.5em;
    left: 0;
    right: 0;
  }
  header nav .link {
    width: 100%;
    padding: 1.5em 0;
    margin: auto;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  header nav .link img {
    height: 4rem;
    margin: 0 auto;
  }
  footer {
    padding: 4.5rem 0 3rem;
  }
  footer .body {
    width: 28rem;
    margin: 0 auto;
    position: relative;
  }
  footer address img {
    height: 4rem;
    margin: 0;
  }
  footer address span {
    margin: calc(2rem - 0.375em) 0 -0.375em;
  }
  footer nav {
    margin-top: 4rem;
  }
  footer nav ul li {
    font-size: 75%;
    margin-right: 1.5em;
  }
  footer nav ul li a br {
    display: none;
  }
  footer nav ul li:last-child a {
    border-left: 0.25rem solid #DD4089;
  }
  footer nav ul li span {
    width: 6em;
    position: absolute;
    top: 1.25em;
    left: -1em;
  }
  footer .copy {
    width: 28rem;
    font-size: 75%;
    margin-top: 4rem;
  }
  footer .img {
    display: none;
  }
  footer .back {
    position: absolute;
    top: -1rem;
    right: 0;
  }
  .subPage {
    width: 100%;
    overflow-x: hidden;
  }
  #index_s01 {
    width: 100vw;
    height: auto;
  }
  #index_s01 .box {
    width: auto;
    height: auto;
    padding: 4rem 0 2.5rem;
  }
  #index_s01 .box .box_inner {
    width: 57%;
    margin: 0 auto;
  }
  #index_s01 .box h1 img {
    width: 100%;
  }
  #index_s01 .box .date {
    width: 100%;
    margin-top: 3rem;
  }
  #index_s01 .box2 {
    width: 100vw;
    height: calc((689 / 376) * 100vw);
    margin-left: 0;
  }
  #index_s01 .box2 .img {
    width: 100%;
    height: calc((689 / 376) * 100vw);
    background-image: url(../img/03.jpg);
  }
  #index_s01 .box2 .img span {
    position: absolute;
    bottom: -1.5rem;
    left: 0.75rem;
  }
  #index_s02 {
    width: 100vw;
    height: auto;
    padding-top: calc((179 / 376) * 100vw);
    padding-bottom: calc((223 / 376) * 100vw);
    position: relative;
  }
  #index_s02 .box {
    height: auto;
  }
  #index_s02 .box2 {
    height: auto;
    padding: calc((195 / 1080) * 100vw) 0;
  }
  #index_s02 .box2 p {
    width: auto;
    margin: -0.5em 1.5rem;
  }
  #index_s02 .txt {
    width: calc((80 / 376) * 100vw);
    margin: 0 auto;
  }
  #index_s02 .img {
    width: calc((208 / 376) * 100vw);
    position: absolute;
    top: calc((27 / 376) * 100vw);
    right: calc((0 - (18 / 376)) * 100vw);
  }
  #index_s02 .img2 {
    width: calc((178 / 376) * 100vw);
    position: absolute;
    bottom: 0;
    left: calc((0 - (20 / 376)) * 100vw);
  }
  #index_s03 {
    width: 100vw;
    height: auto;
    margin-top: 8rem;
  }
  #index_s03 .box {
    width: 100vw;
    height: auto;
  }
  #index_s03 .box dl {
    width: calc((220 / 376) * 100vw);
    height: auto;
    margin: 0 auto;
    position: relative;
  }
  #index_s03 .box dl dt {
    width: calc((24 / 376) * 100vw);
    position: absolute;
    top: 0;
    right: 0;
  }
  #index_s03 .box dl dd {
    width: calc((159 / 376) * 100vw);
  }
  #index_s03 .box2 {
    width: 75%;
    height: auto;
    margin: 2rem auto 0;
  }
  #index_s03 .box2 .img {
    width: 100%;
    height: auto;
    padding-top: calc((2181 / 1101) * 100%);
    position: relative;
  }
  #index_s03 .box2 .img span {
    position: absolute;
    bottom: -1.5rem;
    left: 0;
  }
  #index_s04 {
    height: auto;
    padding-bottom: 6rem;
    margin-top: 4rem;
  }
  #index_s04 .box {
    width: 100vw;
    height: auto;
    padding: 4.5rem 0;
  }
  #index_s04 .box dl {
    width: calc((87 / 376) * 100vw);
    height: auto;
    margin: 0 auto;
    position: relative;
  }
  #index_s04 .box dl dt {
    width: calc((12 / 376) * 100vw);
    position: absolute;
    top: 0;
    right: 0;
  }
  #index_s04 .box dl dd {
    width: calc((50 / 376) * 100vw);
  }
  #index_s04 .slide {
    width: 100vw;
    height: auto;
    position: relative;
  }
  #index_s04 .txt {
    line-height: 1.5;
    margin: calc(3rem - 0.25em) 1.5rem -0.25em;
  }
  #index_s05 {
    background-attachment: scroll;
    position: relative;
  }
  #index_s05 .box {
    height: calc((3176 / 960) * 100vw);
  }
  #index_s05 .box .box_inner {
    width: calc((117 / 376) * 100vw);
    height: auto;
    padding: 2rem 0;
    position: absolute;
    top: calc((66 / 376) * 100vw);
    right: calc((48 / 376) * 100vw);
  }
  #index_s05 .box .box_inner dl {
    width: calc((80 / 376) * 100vw);
    height: auto;
    margin: 0 auto;
    position: relative;
  }
  #index_s05 .box .box_inner dl dt {
    width: calc((12 / 376) * 100vw);
    position: absolute;
    top: 0;
    right: 0;
  }
  #index_s05 .box .box_inner dl dd {
    width: calc((48 / 376) * 100vw);
  }
  #index_s05 .filter {
    width: 100%;
    height: auto;
    padding: 4rem 0 3.5rem;
    background: rgba(0, 0, 0, 0.55);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #index_s05 .filter .box2 {
    width: calc((120 / 376) * 100vw);
    padding: 0;
    margin: 0 auto;
    background: transparent;
  }
  #index_s05 .filter .box2 img {
    width: 100%;
    margin: 0;
    -webkit-filter: invert(100%);
    -moz-filter: invert(100%);
    -o-filter: invert(100%);
    -ms-filter: invert(100%);
    filter: invert(100%);
  }
  #index_s05 .filter .box2 a {
    width: 12rem;
    margin: 3.5rem auto 0;
    border-radius: 1.5em;
  }
  #index_s05 .filter .box2 span {
    width: 12rem;
    margin: 1rem auto 0;
  }
  #index_s05 .txt {
    position: absolute;
    bottom: -2.25rem;
    left: 1.5rem;
  }
  #index_s06 {
    width: 100%;
    padding-top: 4.5rem;
  }
  #index_s06 p {
    font-size: 100%;
  }
  #index_s06 .youtube {
    width: calc(100% - 4rem);
  }
  #index_s06 .txt {
    line-height: 1.5;
    margin: calc(1.5rem - 0.25em) 1.5rem -0.25em;
  }
  #outline_s01 {
    width: auto;
    height: auto;
    margin-top: 7rem;
    box-sizing: border-box;
    position: relative;
  }
  #outline_s01 .box {
    width: 100vw;
    height: auto;
    padding: calc((119 / 919) * 128.71vw) 0 calc((184 / 919) * 128.71vw);
    position: relative;
  }
  #outline_s01 .box .box_inner {
    width: calc((346 / 848) * 100vw);
    margin: 0 auto;
  }
  #outline_s01 .box .box_inner .date {
    width: 100%;
    margin-top: calc((52 / 848) * 100vw);
  }
  #outline_s01 .box2 {
    width: auto;
    height: auto;
  }
  #outline_s01 .box2 p {
    width: auto;
    font-size: 1.25rem;
    margin: -0.5em 2rem;
  }
  #outline_s01 .img {
    width: calc((505 / 714) * 100vw);
    position: absolute;
    top: calc((0 - (281 / 919)) * 128.71vw);
    right: calc((0 - (195 / 714)) * 100vw);
    z-index: -1;
  }
  #outline_s01 .img2 {
    width: calc((138 / 714) * 100vw);
    position: absolute;
    bottom: calc((9 / 919) * 128.71vw);
    left: calc((112 / 714) * 100vw);
  }
  #outline_s02 {
    width: auto;
    height: auto;
    padding-bottom: calc((150 / 1080) * 111.66vw);
    margin-top: 3rem;
  }
  #outline_s02 .box {
    width: auto;
    height: auto;
  }
  #outline_s02 .box p {
    width: auto;
    font-size: 1.25rem;
    margin: -0.5em 2rem;
  }
  #outline_s02 .img {
    width: calc((422 / 1206) * 100vw);
    position: absolute;
    bottom: calc((0 - (9 / 1080)) * 111.66vw);
    left: calc((66 / 1206) * 100vw);
  }
  #outline_s02 .img2 {
    display: none;
  }
  #outline_s03 {
    width: auto;
    height: auto;
    padding: 3rem 0 calc((54 / 1080) * 66.85vw);
  }
  #outline_s03 dl {
    width: auto;
    position: relative;
  }
  #outline_s03 dl dt {
    width: 3.5rem;
    position: absolute;
    top: calc(1.25 * 0.5em);
    left: 2rem;
  }
  #outline_s03 dl dd {
    width: auto;
    font-size: 1.25rem;
    margin: -0.5em 2rem -0.5em 7.5rem;
  }
  #outline_s03 .img {
    width: calc((205.5 / 722) * 100vw);
    margin-top: calc((27 / 1080) * 66.85vw);
  }
  #outline_s04 {
    width: auto;
    height: auto;
    padding: 0 0 calc((144 / 1080) * 129.44vw);
    position: relative;
  }
  #outline_s04 .box {
    width: auto;
  }
  #outline_s04 .box p {
    width: auto;
    font-size: 1.25rem;
    margin: -0.5em 7.5rem -0.5em 2rem;
  }
  #outline_s04 .img {
    width: 3.5rem;
    position: absolute;
    top: 0;
    right: 2rem;
  }
  #outline_s04 .img2 {
    display: none;
    width: calc((79 / 1398) * 100vw);
    position: absolute;
    top: calc((124 / 1080) * 129.44vw);
    right: calc((250 / 1398) * 100vw);
  }
  #outline_s04 .img3 {
    display: none;
  }
  #outline_s04 .img4 {
    width: calc((279 / 1398) * 100vw);
    position: absolute;
    bottom: 0;
    left: calc((74 / 1398) * 100vw);
  }
  #outline_s04 .img5 {
    width: calc((226 / 1398) * 100vw);
    position: absolute;
    bottom: calc((0 - (5 / 1080)) * 129.44vw);
    right: calc((174 / 1398) * 100vw);
  }
  #outline_s05 {
    width: auto;
    padding: calc((203 / 1080) * 100vw) 0 calc((198 / 1080) * 100vw);
    margin-top: 7rem;
  }
  #outline_s05 h1 {
    max-width: none;
    margin: 0 2rem;
  }
  #outline_s05 .box {
    width: auto;
    max-width: none;
    margin: 3rem 2rem 0;
  }
  #outline_s05 .box .right {
    margin-top: 3rem;
  }
  #outline_s05 .img {
    width: calc((625 / 1920) * 100vw);
    position: absolute;
    top: calc((28 / 1080) * 100vw);
    right: calc((0 - (181 / 1920)) * 100vw);
  }
  #contact_s01 .box {
    margin: 0 auto;
  }
  #contact_s01 .box ul li {
    margin: 1rem 0 0 0;
  }
  #contact_s01 .box ul li:first-child {
    margin-top: 0;
  }
  #contact_s01 .img2 {
    width: calc((299 / 1920) * 100vw);
    position: absolute;
    bottom: 0;
    left: calc((31 / 1920) * 100vw);
  }
  #contact_s02 {
    width: auto;
    max-width: none;
    line-height: 1.5;
    margin: calc(1.5rem - 0.25em) 1.5rem -0.25em;
  }
  .toolBarFix {
    width: 100vw;
    height: 100vh;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
  }
  #collection .subNav {
    right: 1.5rem;
  }
  #collection .scroll {
    width: 4.5rem;
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 10;
  }
  #collection .bg0 {
    background-position: left center;
    background-image: url(../img/collection/_02.jpg);
  }
  #collection .bg0 span {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
  }
  #collection .bg {
    width: calc((980 / 1557) * (100vh - 21rem));
    height: calc(100vh - 21rem);
    background-position: left 50% top 50%;
    background-size: auto 100%;
    background-image: url(../img/collection/_04.jpg);
  }
  #collection .bg.extend {
    width: 100vw;
    height: 100vh;
    background-size: auto 250%;
  }
  #collection .bg span {
    display: block;
    text-align: center;
    margin: 0 auto;
    position: absolute;
    bottom: -2.25rem;
    left: 0;
    right: 0;
  }
  #collection .bg2.extend {
    background-size: auto 175%;
    background-position: left 23% top 23%;
  }
  #collection .bg3 {
    background-image: url(../img/collection/_08.jpg);
  }
  #collection .bg3.extend {
    background-size: auto 200%;
    background-position: left 40% top 95%;
  }
  #collection .bg4 {
    background-image: url(../img/collection/_11.jpg);
  }
  #collection .bg4.extend {
    background-size: auto 175%;
    background-position: left 30% top 50%;
  }
  #collection .bg5 {
    background-image: url(../img/collection/_10.jpg);
  }
  #collection .bg5.extend {
    background-size: auto 350%;
    background-position: left 45% top 98%;
  }
  #collection .bg6 {
    background-image: url(../img/collection/_09.jpg);
  }
  #collection .bg6.extend {
    background-size: auto 375%;
    background-position: left 23% top 90%;
  }
  #collection #collection_s01 .box {
    width: calc((223 / 750) * 100vw);
    height: calc(((223 / 750) * 100vw) * (544 / 223));
  }
  #collection #collection_s01 .box .txt {
    width: calc((146 / 750) * 100vw);
  }
  #collection #collection_s02 .box .txt,
  #collection #collection_s03 .box .txt,
  #collection #collection_s04 .box .txt,
  #collection #collection_s05 .box .txt,
  #collection #collection_s06 .box .txt {
    left: 1.5rem !important;
    right: auto !important;
  }
  #collection #collection_s07 .box {
    width: calc((369 / 750) * 100vw);
  }
  #collection #collection_s07 .img {
    display: none;
  }
  #constitution .zoom dl {
    width: calc(100vw - 3rem);
    height: calc(100vh - 10rem);
    max-width: none;
    padding: 0;
    background: transparent;
  }
  #constitution .zoom dl dd {
    width: 100%;
    text-align: center;
  }
  #constitution .zoom .close {
    width: 2rem;
    height: 2rem;
    top: 1.5rem;
    right: 1.5rem;
  }
  #constitution .zoom .close:hover {
    opacity: 0.64;
  }
  #constitution #constitution_s01 {
    width: 100vw;
  }
  #constitution #constitution_s01 ul {
    width: auto;
    margin: 0 1.5rem;
  }
  #constitution #constitution_s01 ul li {
    width: calc(50% - 0.5rem);
    margin: 1rem 1rem 0 0;
  }
  #constitution #constitution_s01 ul li:nth-child(2n) {
    margin-right: 0;
  }
  #constitution #constitution_s01 ul li:nth-child(-n+2) {
    margin-top: 0;
  }
  #constitution .constitution_s02 .inner {
    width: auto;
    margin: 0 1.5rem;
    position: relative;
  }
  #constitution .constitution_s02 .inner h2 {
    width: 3rem;
  }
  #constitution .constitution_s02 .inner p {
    margin-left: 4.5rem;
  }
  #constitution .constitution_s02 .gallery {
    width: 100%;
    height: calc(150vw - 9rem);
  }
  #constitution .constitution_s02 .gallery ul li .img img {
    max-width: calc(100vw - 8rem);
    max-height: calc(150vw - 12rem);
  }
  #constitution .constitution_s02 .gallery ul li .txt {
    width: 100vw;
    text-align: center;
    left: calc(0px - (50vw - 50%)) !important;
  }
  #constitution .constitution_s02 .gallery .controlls {
    width: 2rem;
    height: 3rem;
    background-size: contain;
    top: calc(50% - 1.5rem);
    left: 1rem;
  }
  #constitution .constitution_s02 .gallery .controlls span {
    display: none;
  }
  #constitution .constitution_s02 .gallery .controlls.next {
    right: 1rem;
  }
}
