* {
  box-sizing: border-box;
  padding: 0;
  margin: 0
}

*:focus {
  outline: none
}

html {
  font-size: 62.5%;
  min-width: 320px;
  overflow-x: hidden
}

body {
  font-family: sans-serif;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 0;
  letter-spacing: 1px
}

article, aside, footer, header, nav, section, main, div, img {
  display: block
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

ol, ul {
  list-style: none;
  list-style-type: none
}

input, input[type=text], input[type=button], input[type=radio], input[type=email], input[type=submit], input[type=reset], textarea, select {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0
}

select::-ms-expand {
  display: none
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  border: none
}

iframe {
  width: 100%;
  height: 100%
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer
}

a, p, span, div, dt, dd, li {
  font-size: 1.6rem;
  line-height: 1.5;
}

span {
  color: inherit;
  font-size: inherit
}

@font-face {
		font-family: "Noto Sans JP";
		src: url("../../fonts/NotoSansJP-Bold.woff") format("woff");
		font-weight: 700;
		font-style: bold
}

@font-face {
		font-family: "Noto Sans JP";
		src: url("../../fonts/NotoSansJP-Medium.woff") format("woff");
		font-weight: 500;
		font-style: medium
}

@font-face {
		font-family: "Noto Sans JP";
		src: url("../../fonts/NotoSansJP-Regular.woff") format("woff");
		font-weight: 400;
		font-style: normal
}

@font-face {
		font-family: "Noto Serif JP";
		src: url("../../fonts/NotoSerifJP-Bold.woff") format("woff");
		font-weight: 700;
		font-style: bold
}

@font-face {
		font-family: "Noto Serif JP";
		src: url("../../fonts/NotoSerifJP-Medium.woff") format("woff");
		font-weight: 500;
		font-style: medium
}

@font-face {
		font-family: "Noto Serif JP";
		src: url("../../fonts/NotoSerifJP-Regular.woff") format("woff");
		font-weight: 400;
		font-style: normal
}

.roboto-black {
  font-family: "Roboto", system-ui;
  font-weight: 900;
  font-style: normal;
}

body {
  font-family: "Noto Sans JP", sans-serif
}

body.scroll-lock {
  position: fixed;
  left: 0
}

.pc-only {
  display: block
}

@media print, screen and (max-width: 767.98px) {
  .pc-only {
    display: none !important
  }
}

.sp-only {
  display: none !important
}

@media print, screen and (max-width: 767.98px) {
  .sp-only {
    display: block !important
  }
}

.wrap {
  max-width: 1024px;
  width: 90%;
  margin: 0 auto
}

.text-center {
  text-align: center
}

.text-right {
  text-align: right
}

.text-red {
  color: #d42727
}

.inview {
/*  transform: translateY(0);
  opacity: 0;
  visibility: hidden;
  transition: transform 2s, opacity 2s, visibility 2s*/
}

.inview.fadein-down {
  transform: translateY(-30px)
}

.inview.fadein-up {
  transform: translateY(30px)
}

.is-fadein {
  transform: translateX(0) !important;
  opacity: 1;
  visibility: visible
}

.modaal-container {
  background: rgba(0, 0, 0, 0) !important
}

.scrollTop {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 999;
    display: none;
    cursor: pointer;
}

.scrollTop__link {
    display: block;
}

.scrollTop__img {
    transition: all .3s;
}

.scrollTop__link:hover .scrollTop__img {
    opacity: .8;
    transition: .3s;
}

.scrollTop img { display: block; margin-bottom: 1px; }


.scrollTop {
transition: all 1s;
}

.modaal-gallery-item img {
	width: 80%;
	margin: 0 auto;
	max-width: 980px
}

@media only screen and (max-width: 767.98px) {
		.modaal-gallery-item img {
  width: 100%
		}
}

.modaal-image .modaal-inner-wrapper {
  padding: 0;
}
  @media screen and (max-height: 1000px){
.modaal-inner-wrapper {
  padding: 0;
}
}






.movie-wrap {
  width: 900px;
  height: 506px;
  padding-top: 0;
  margin: auto;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 900px;
  height: 100%;
}

.popup-youtube01,
.popup-youtube02 {
  color: #2e7dd8;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-bottom: 20px;
  text-decoration: underline;
}

@media screen and (min-width: 641px) {/* PC */
  .popup-youtube01:hover,
  .popup-youtube02:hover {
    text-decoration: none;
  }
}

@media only screen and (max-width: 767.98px) {
		.movie-wrap {
  width: 100%;
  position: relative;
  height: 0;
  padding-top: 55%;
  margin: 0 auto;
}
.movie-wrap iframe {
  width: 100%;
}
}