@charset "UTF-8";

/* base */

html {
  font-size: 10px;
  line-height: 0;overflow-x: hidden;
}

@media screen and (max-width: 1920px) {
  html {
    font-size: calc(100vw / 192);
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: calc(100vw / 76);
  }
}

body {
  color: #252525;
  font-family: 'Barlow Condensed', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: .06em;
  font-weight: 400;
  background-color: #fff;
  min-width: 192rem;
  margin: auto;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 2.6px;
    font-size: 2.6rem;
    line-height: 1.8;
    letter-spacing: .1em;
    background-color: #fff;
    min-width: 100%;
  }
}

.wrapper {
	overflow-x: hidden;
	position: relative;
}

a {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

.br {
  display: block;
}

.sp-br {
  display: none;
}

.in-box {
  width: 160rem;
  margin: auto;
}

.in-box-02 {
  width: 128rem;
  margin: auto;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .br-fix {
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.sp{
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	.pc{
		display: none !important;
	}

  .br-fix {
		display: none;
	}

  .sp-br {
    display: block;
  }
}


/* project */

/* header */
.header {
  padding-right: 4rem;
  padding-left: 4rem;
}
.header-content {
  position: relative;
  z-index: 999;
}

.logo {
  padding: 3rem 0;
}

.logo-img {
  width: 16rem;
  margin-left: 3rem;
}

.nav-button-box {
  position: fixed;
  right: 0;
  top: 0;
}

.hamburger-menu-button {
  position: fixed;
  background:#fff;
  width: 10rem;
  height:10rem;
  right: 0;
  top: 0;
  z-index: 999;
}

.hamburger-menu-button span {
  display: inline-block;
  transition: all .4s;/*アニメーションの設定*/
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: 1px;
  border-radius: 5px;
  background: #252525;
  width: 25px;
  margin: auto;
}

.hamburger-menu-button span:nth-of-type(1) {
top:-25px;
}

.hamburger-menu-button span:nth-of-type(2) {
top:-10px;
}

.hamburger-menu-button span:nth-of-type(3) {
top:5px;
}

.hamburger-menu-button span:nth-of-type(3)::after {
content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
position: absolute;
top:3px;
left:-0.2rem;
color: #252525;
font-size: 1.7rem;
text-transform: uppercase;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.hamburger-menu-button.active span:nth-of-type(1) {
    transform: translateY(6px) rotate(-50deg);
    width: 30%;
}

.hamburger-menu-button.active span:nth-of-type(2) {
opacity: 0;
}

.hamburger-menu-button.active span:nth-of-type(3){
    transform: translateY(-6px) rotate(50deg);
    width: 30%;
    top: 0;
}

.hamburger-menu-button.active {
  background-color: #252525;
}

.hamburger-menu-button.active span {
  background-color: #fff;
}

.hamburger-menu-button.active span:nth-of-type(3)::after {
  content:"Close";/*3つ目の要素のafterにClose表示を指定*/
  transform: translateY(0) rotate(-50deg);
  top: 50%;
  left: 50%;
  color: #fff;
}

.nav-button-box-02 {
  /* position: relative;
  z-index: 998;
  bottom: -73.6rem; */
  position: fixed;
  z-index: 998;
  /*bottom: 12%;*/
  bottom: 300px;
  right: 0;
}

.document-request-button {
  background-color: #fff;
  width: 10rem;
  height: 10rem;
  padding: 1rem 0 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.document-request-button-img {
  width: 3.5rem;
  padding-bottom: 1rem;
}

.document-request-button .nav-button-text {
  color: #0f9790ff;
  font-size: 1.1rem;
}

.nav-reserve-button {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  background-color: #0f9790ff;
  width: 10rem;
  height: 10rem;
  padding: 1rem 0 0;
}

.nav-reserve-button-img {
  width: 3.5rem;
  padding-bottom: 1rem;
}

.nav-reserve-button .nav-button-text {
  color: #fff;
  font-size: 1.1rem;
}

.top-button {
  background-color: #00B3EC;
  width: 10rem;
  height: 4rem;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 0;
}

.top-button-img {
  width: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0.6rem;
}

.top-button .nav-button-text {
  letter-spacing: .1em;
  font-size: 1.5rem;
  color: #fff;
}

.nav-content {
  position: relative;
  z-index: 998;
}

.nav-box {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  width: 25vw;
  height: 80rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: #252525;
  padding: 0 0 0 5rem;
  transform: translateX(30vw);
  transition: all .3s linear;
}

.nav-box.is-active {
  transform: translateX(0);
}

.close-button-img {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 6rem;
  padding: 1rem;
}

.nav-text {
  color: #fff;
  font-size: 2.5rem;
  line-height: 2.5;
}

.nav-background {
  position: fixed;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s;
}

.nav-background.is-active {
  width: 100%;
  height: 100vh;
  opacity: 1;
}

@media screen and (max-width: 1023px) {

  .hamburger-menu-button {
    width: 13rem;
    height: 13rem;
  }

  .document-request-button {
    width: 13rem;
    height: 13rem;
  }

  .nav-reserve-button {
    width: 13rem;
    height: 13rem;
  }

  .top-button {
    width: 13rem;
    height: 7rem;
  }
}

@media screen and (max-width: 768px) {
  .header-content {
    height: 9rem;
  }

  .logo-img {
    width: 13rem;
    margin-left: 0;
  }

  .nav-box {
    width: 100vw;
    height: 57rem;
    padding: 5rem 5rem 16rem;
    justify-content: center;
    transform: translate(0, 100%);
    transition: transform .3s linear;
    top: unset;
    bottom: 0;
    z-index: 998;
  }

  .nav-box.is-active {
    transform: translate(0, 0);
  }

  .nav-text {
    display: flex;
  }

  .nav-text-in {
    font-size: 3rem;
    line-height: 2.1;
    letter-spacing: .14em;
    width: 25rem;
  }

  .nav-button-box {
    right: inherit;
    top: auto;
    bottom: 0;
  }

  .nav-button-box-02 {
    display: flex;
    position: relative;
    bottom: 0;
    top: inherit;
    align-items: flex-end;
    margin-left: -2.4rem;
    z-index: 999;
  }

  .nav-button-text {
    font-size: 2rem;
  }

  .hamburger-menu-button {
    top: inherit;
    width: 14.8rem;
    height: 15rem;
    bottom: 0;
  }

  .hamburger-menu-button span {
    width: 4.5rem;
  }

  .hamburger-menu-button span:nth-of-type(3)::after {
    font-size: 2.2rem;
  }

  .document-request-button {
    width: 14.8rem;
    height: 15rem;
  }

  .document-request-button-img {
    width: 4.5rem;
  }

  .document-request-button .nav-button-text {
    font-size: 1.6rem;
  }

  .nav-reserve-button {
    width: 14.8rem;
    height: 15rem;
  }

  .nav-reserve-button-img {
    width: 5rem;
  }

  .nav-reserve-button .nav-button-text {
    font-size: 1.6rem;
  }

  .tel-button {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    background-color: #d1d1d1;
    width: 14.8rem;
    height: 15rem;
    padding: 1rem 0 0;
  }

  .tel-button-img {
    width: 3rem;
    padding-bottom: 0.5rem;
  }

  .tel-button .nav-button-text {
    font-size: 2.5rem;
    color: #0ba29a;
  }

  .top-button {
    margin-right: 0.5rem;
    width: 14.8rem;
    top: inherit;
    bottom: 0;
  }

  .top-button .nav-button-text {
    font-size: 2.5rem;
  }

  .top-button-img {
    width: 3rem;
  }
}


/* main-view */

.main-view {
  height: auto;
  width: 100%;
  padding: 0 4rem;
  margin-bottom: 13rem;
  overflow: hidden;
}

.main-view-content {
  display: flex;
  justify-content: center;
  position: relative;
}

.main-view-title {
  width: 27rem;
  writing-mode:vertical-rl;
  text-align: inherit;
  display: flex;
  align-items: center;
  justify-content: end;justify-content: center;
  /*padding-bottom: 5rem;*/
  font-size: 4.5rem;
}

.main-view-slide {
  width: 95%;
}

.main-view-bg-img {
  padding-bottom: 6rem;
  width: 100%;
  position: relative;
}

.main-view-bg-01 {
  width: 100%;
  height: 83rem;
}

.main-view-bg-color {
  position: absolute;
  width: 96rem;
  right: -6rem;
  bottom: 0;
  background-color: #252525;
  height: 60rem;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;
}

/*imgタグだと下に隙間ができるのでblockに。*/
.slide-img img{
  display: block;
}

.main-view-text {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.2rem 3rem;
  color: #fff;
  font-weight: lighter;
  font-size: 2rem;
  letter-spacing: .1em;
}

@media screen and (max-width: 768px)  {
  .main-view {
    height: 90rem;
    padding: 0 3rem;
  }

  .main-view-content {
    top: 3rem;
  }

  .main-view-title {
    width: 20rem;
    font-size: 4.5rem;
    padding-right: 2rem;
    letter-spacing: .14em;
  }

  .main-view-bg-img {
    padding-right: 0;
    padding-top: 0;
    width: 100%;
  }

  .main-view-bg-color {
    bottom: -4rem;
    width: 50rem;
    height: 82rem;
    right: -3rem;
  }

  .main-view-text {
    padding: 3rem 4rem;
    font-size: 2rem;
  }
}

@media screen and (min-width: 650px) and (max-width: 768px){
  .main-view-title {
    font-size: calc(100vw / 21);
  }
}

/* event */

.event-content {
  padding:0 4rem;
}

.event-title-box {
  border-left: 1.4rem #000 solid;
  padding-left: 4rem;
  font-size: 3rem;
  height: 16rem;
  letter-spacing: .14em;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-weight: bold;
}

.line-brack {
  background: #000;
  padding: 0.5rem 1rem;
}

.event-description-box {
  align-items: center;
  display: flex;
}

.event-img-box {
  width: 55%;
}

.event-description {
  font-size: 2rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 35rem;
  margin-left: 27rem;
}

.event-description-title {
  font-weight: 600;
  padding-bottom: 2rem;
  padding-left: 1rem;
}

.event-description-box-left {
  font-weight: 600;
  text-align: left;
  padding: 2rem 2rem 0 0;
}

.event-description-box-right {
  font-weight: 600;
  border-left: 1px #000 solid;
  padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.event-text-box {
  padding: 4rem 6rem;
  background-color: #f4f4f4;
  width: 110rem;
  position: relative;
  right: 0;
  left: 0;
  bottom: 3rem;
  margin: auto;
  margin-bottom: 8rem;
}

.event-text-01 {
  font-weight: bold;
  font-size: 2.8rem;
  padding-bottom: 0.4rem;
}

.reservation-button {
  text-align: center;
  width: 34.5rem;
  margin: auto;
  height: 8.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #252525;
  position: relative;
}


.reservation-button-box-01 {
  position: absolute;
  width: 34.5rem;
  height: 8.2rem;
  border: 2px #252525 solid;
  top: -0.8rem;
  left: -0.8rem;
}

.reservation-button-box-02 {
  width: 100%;
  justify-content: center;
  position: absolute;
}

.reserve-button-text {
  color: #fff;
  font-size: 1.8rem;
  margin-left: -3rem;
}

.reserve-button-img {
  width: 1.5rem;
  position: absolute;
  top: 35%;
  left: 80%;
  transform: translate(-50%,-50%);
  transition: transform .6s ease;
}

.reservation-button:hover .reserve-button-img {
 transform: translate(0,-50%);
}


@media screen and (max-width: 1023px) {
  .event-description {
    width: 38rem;
    margin-left: 27rem;
  }

  .reserve-button-img {
    top: 25%;
  }
}

@media screen and (max-width: 768px) {
  .event {
    margin-top: 20rem;
  }

  .in-box {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .event-content {
    padding: 0;
  }

  .event-title-box {
    font-size: 4rem;
    height: auto;
  }

  .event-description-box {
    flex-direction: column;
  }

  .event-img-box {
    width: 100%;
  }

  .event-description {
    margin: 0 auto;
    font-size: 3rem;
    width: 80%;
  }

  .event-description-title {
    font-size: 3.5rem;
  }

  .event-text-box {
    width: 100%;
    bottom: 0;
    line-height: 1.4;
    padding: 4.7rem 4rem;
  }

  .event-text-01 {
    font-size: 4rem;
    padding-bottom: 5rem;
  }

  .event-text-02 {
    font-size: 3rem;
    padding-bottom: 3rem;
  }

  .reservation-button {
    width: 52rem;
    height: 11rem;
  }

  .reservation-button-box-01 {
    width: 52rem;
    height: 11rem;
  }

  .reserve-button-text {
    font-size: 2.6rem;
  }

  .reserve-button-img {
    width: 2rem;
  }
}

/* benefits */
.benefits_block{
    margin-top: 40px;
    padding: 0 40px;
}
.benefits_block a{
    display: inline-block;
}
.benefits_block .benefits_block_inner{
    background: url(../images/benefits/bgbenefits-bg.jpg) no-repeat center/cover;
    text-align: center;
    /*padding: 30px 0 20px 0;*//*注釈有りvar*/
    padding: 30px 0 50px 0;
}
.benefits_block .benefits_block_inner img{
    max-width: 600px;
}
@media screen and (max-width: 768px) {
    .benefits_block{
        margin-top: 0;
        padding: 0;
    }
    .benefits_block .benefits_block_inner img{
        max-width: 95%;
    }
}

/* feature */
.feature-image-top {
  position: relative;
  margin-bottom: 15rem;
}

.feature-image-top-img {
  z-index: 2;
  position: relative;
}

.feature-image-top-in {
  width: 70%;
}

.feature-image-top-bg {
  background-color: #252525;
  height: 100%;
  width: 50%;
  margin-left: auto;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.feature-image-text-01 {
  writing-mode: vertical-rl;
  font-size: 3.2rem;
  position: absolute;
  display: flex;
  justify-content: center;
  top: 45%;
  left: 60%;
  transform: translate(-40%,-45%);
  letter-spacing: .14em;
}

.feature-image-text-02 {
  height: 9rem;
}

.feature-image-text-03 {
  position: absolute;
  color: #fff;
  z-index: 2;
  bottom: 1rem;
  padding-left: calc(50% + 26vw);
  font-weight: 100;
  font-size: 2rem;
  letter-spacing: .1em;
}

.feature-content {
  background-color: #f9f9f7;
}

.feature-content-box-01, .feature-content-box-02{
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  position: relative;
  top: -5rem;
}

.feature-content-text-box {
  position: relative;
  margin-left: -3rem;
}

.feature-content-text-01, .feature-content-text-03 {
  font-size: 2.8rem;
  margin-bottom: 6rem;
}

.feature-content-text-02 {
  font-size: 1.6rem;
  line-height: 3;
}

.feature-content-text-left {
	border-bottom: 1px #0ba29a solid;
	text-align: left;
    padding: 2rem 2rem 0 0;
	color: #0ba29a;
}

.feature-content-text-left-a {
	border-bottom: 1px #5B4A3F solid;
	text-align: left;
    padding: 2rem 2rem 0 0;
	color: #5B4A3F;
}

.feature-content-text-left-b {
	border-bottom: 1px #171C61 solid;
	text-align: left;
    padding: 2rem 2rem 0 0;
	color: #171C61;
}

.feature-content-text-left-n {
	border-bottom: 1px #E4007F solid;
	text-align: left;
    padding: 2rem 2rem 0 0;
	color: #E4007F;
}

.feature-content-text-left-ah {
	border-bottom: 1px #21B8C5 solid;
	text-align: left;
    padding: 2rem 2rem 0 0;
	color: #21B8C5;
}

.feature-content-text-right {
	border-bottom: 1px #0ba29a solid;
    padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.feature-content-text-right-a {
	border-bottom: 1px #5B4A3F solid;
    padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.feature-content-text-right-b {
	border-bottom: 1px #171C61 solid;
    padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.feature-content-text-right-n {
	border-bottom: 1px #E4007F solid;
    padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.feature-content-text-right-ah {
	border-bottom: 1px #21B8C5 solid;
    padding: 2rem 0 0 2rem;font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.feature-content-img-box-01 {
  position: relative;
  width: 96rem;
  right: 15rem;
}

.feature-content-img-box {
  position: relative;
  top: 0;
  width: 96rem;
  left: 15rem;
}


.js-fadein {
  opacity: 0;
  transform: translate(0, 100px); /* フェードインで動く高さを指定 */
  transition: all 2000ms; /* フェードインにかかる時間を指定 */
}

.js-animated {
  opacity: 1;
  transform: translate(0, 0);
}

.feature-content-text-box-02 {
  right: -2rem;
  position: relative;
  margin-right: -8rem;
  width: 31%;
}

@media screen and (max-width: 1023px) {
  .feature-content-img-box-01 {
    width: 80rem;
  }

  .feature-content-img {
    width: 80rem;
  }
}


@media screen and (max-width: 768px)  {

  .feature .in-box {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .feature-image-text-02 {
    height: 10rem;
  }

  .feature-image-text-03 {
    padding-left: calc(40% + -18vw);
  }

  .feature-content {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .feature-image-top-bg {
    width: 80%;
  }

  .feature-image-text-01 {
    font-size: 4.5rem;
    top: 13%;
    left: 80%;
    transform: translate(-40%,0%);
  }

  .feature-content-box-01 {
    flex-direction: column-reverse;
  }

  .feature-content-text-box {
    width: 100%;
    position: inherit;
    left: 0;
    top: 3rem;
    margin-left: inherit;
  }

  .feature-content-text-01, .feature-content-text-03 {
    font-size: 3.2rem;
  }

  .feature-content-text-02 {
    font-size: 2.6rem;
    line-height: inherit;
  }

  .feature-content-text-01,.feature-content-text-03 {
    margin-bottom: 1rem;
  }
	
  .feature-content-img-box-01 {
    padding-right: 0;
    position: inherit;
    top: 0;
    right: inherit;
    width: 100%;
  }

  .feature-content-img-box {
    width: 100%;
    left: 0;
	  
  }
		
  .feature-content-box-02 {
    flex-direction: column;
  }
	
  .feature-content-text-box-02 {
    width: 100%;
    position: inherit;
    right: 0;
    margin-right: inherit;
  }
}

/* gallery */
.gallery {
  background-color: #252525;
}

.gallery-title {
  font-size: 6rem;
  font-weight: 100;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.gallery-content {
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 15rem;
  padding-right: 15rem;
}

.gallery_modal {
  width: 48%;
  padding: 0.5rem;
}

.gallery-box-01 {
  display: flex;
  justify-content: space-between;
  justify-content: center;
}

.gallery-box-02 {
  width: 48%;
}

.gallery-box-02 .gallery_modal {
  width: 100%;
}

@media screen and (max-width: 768px)  {

  .gallery .in-box {
    padding-right: calc(3rem - 2.5rem);
    padding-left: calc(3rem - 2.5rem);
  }

  .gallery-title {
    padding-top: 9rem;
    padding-left: 5rem;
    padding-bottom: 7rem;
    font-size: 4.6rem;
  }

  .gallery-content {
    width: 100%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }

  .gallery-box-02 {
    width: 47.6%;
  }
}

/* shop */
.shop-information-box-in {
  width: 66.6%;
  display: flex;
}

.shop-information-title {
  background-color: #252525;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  font-weight: 300;
  letter-spacing: .1em;
}

.shop-information-bg {
  width: 50%;
}

.shop-information-img {
  width: 100%;
}

.shop-information-tel {
  width: 33.3%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f9f9f7;
}

.shop-information-tel-text {
  font-size: 2rem;
}

.shop-information-tel-box {
  font-weight: bold;
padding-top: 10rem;
}

.shop-name {
  font-size: 3rem;
  text-align: left;
}

.shop-information-tel-box .tel .tel-small {
  position: relative;
  bottom: 0;
  left: 0;
}

.shop-information-tel .tel {
  font-size: 6.2rem;
  padding-bottom: 2rem;
}

.shop-information-map {
  width: 50%;
}

.shop-information-map iframe {
  width: 100%;
  height: 100%;
}

.shop-information-address {
  line-height: 2.2;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 33.3%;
}

.shop-information-address-box {
  display: flex;
  justify-content: center;
}

.map-button {
  width: 40rem;
  height: 7rem;
  margin: auto;
  background-color: #f4f4f4;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.map-button-img {
  position: absolute;
  right: 6rem;
  top: 2.2rem;
  width: 1.5rem;
  transform: translate(-50%,-50%);
  transition: transform .6s ease;
}

.map-button:hover .map-button-img {
 transform: translate(0,-50%);
}


@media screen and (max-width: 1023px) {
  .map-button-img {
    right: 7rem;
    width: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  .shop-information-box {
    flex-direction: column;
  }

  .shop-information-box-in {
    width: 100%;
  }

  .shop-information-tel {
    width: 100%;
  }

  .shop-information-tel .tel {
    font-size: 7rem;
    text-align: center;
  }

  .shop-information-tel-text {
    font-size: 3rem;
  }

  .shop-information-tel-box {
    padding-top: 7rem;
  }

  .shop-name {
    font-size: 3rem;
    text-align: left;
    padding-left: 3rem;
  }

  .shop-information-address {
    width: 100%;
    font-size: 3rem;
  }

  .map-button {
    width: 45rem;
    height: 8rem;
    font-size: 2.2rem;
  }
}

/* functionality */
.functionality-content {
  background-image: linear-gradient(180deg, #fff 20%, #fff 100px, #f9f9f7 20%, #f9f9f7 200px);
}

.functionality-title-box {
  margin-left: calc(50% - 49vw);
}

.functionality-title-img {
  width: 128rem;
}

.functionality-title {
  writing-mode: vertical-rl;
  font-size: 3.2rem;
  width: 30%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .14em;
}

.functionality-specification {
  padding-left: 15rem;
  padding-right: 15rem;
}

.specification-text-box {
  width: 80%;
  line-height: 2.5;
}

.functionality-title-left-line {
  font-size: 3.2rem;
  position: relative;
  padding-left: 3rem;
}

.functionality-title-left-line::before {
  content: '';
  display: inline-block;
  height: 2.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-left: 0.6rem #0f9790ff solid;
}

.guarantee-system-text-box {
  line-height: 2.6;
}

.specification-description-img {
  width: 75%;
  margin: auto;
}

.relief {
  background-color: #f4f4f1;
}

.relief-content  {
  padding-right: 15rem;
  padding-left: 15rem;
}

.relief-box {
  justify-content: center;
  align-items: center;
  width: 95%;
  margin: auto;
}

.srelief-text-img {
  width: 26rem;
}

.srelief-text-box {
  width: 70%;
  padding-left: 8.7rem;
}

.guarantee-system {
  background-color: #f4f4f1;
}

.guarantee-system-content {
  padding-right: 15rem;
  padding-left: 15rem;
}

.guarantee-system-description-img {
  width: 70%;
}

.kouhou_block{
    padding: 0 0 80px 0;
    box-sizing: border-box;
}
.kouhou_block .kouhou_inner{
    position: relative;
    padding: 30px 30px 60px 30px;
    background: #fff;
}
.kouhou_block .one{
    display: inline-block;
    box-sizing: border-box;
    width: 45%;
    vertical-align: top;
}
.kouhou_block .one:last-child{
    position: absolute;
    top:30px;
    right: 30px;
}
.kouhou_block .one .title{
    font-weight: bold;
}
.kouhou_block .one .title .big{
    font-size: 2.8rem;
    background: #0f9790ff;
    color: #fff;
    padding: 5px 15px;
    line-height: 1.3em;
    letter-spacing: 2px;
}
.kouhou_block .one .title .big span{
    font-size: 2rem;
    letter-spacing: -0.5px;
}
.kouhou_block .one .title .min{
    font-size: 2.3rem;
    margin: 15px 0 10px 0;
}
.kouhou_block .one .text_block .text{
    font-size: 1.6rem;
    line-height: 2.4em;
}
.kouhou_block .one .text_block img{
    display: block;
    width: 50%;
    margin: 15px auto 0 auto;
}


.plan_block{
    padding-bottom: 80px;
}
.plan_block .plan_price{
    font-size: 0
}
.plan_block .plan_price .one{
    display: inline-block;
    vertical-align: middle;
    width: 19.8%;
    font-size: 3.7rem;
    box-sizing: border-box;
    text-align: center;
}
.plan_block .plan_price .one img{
    width: 65%;
    max-width: 85px;
}
.plan_block .plan_price .one p{
    color: #0f9790ff;
}
.plan_block .plan_price .one p span{
    font-size: 0.6em;
    padding-left: 3px;
}

.plan_block .table_block{
    font-size: 0;
    margin-top: 40px;
}
.plan_block .table_block .one_table{
    display: inline-block;
    width: calc( ( 100% / 2 ) - 16px );
    font-size: 2.3rem;
}
.plan_block .table_block .one_table.right{
    margin-left: 30px;
}
.plan_block .table_block .one_table table{
    width: 100%;
}
.plan_block .table_block .one_table table tr{
    border-bottom: 1px #ccc solid;
}
.plan_block .table_block .one_table table tr.head{
    background: #0f9790ff;
    color: #fff;
    border-bottom: none;
}
.plan_block .table_block .one_table table th{
    width: 10em;
    text-align: right;
    padding: 10px 1em 10px 0;
}
.plan_block .table_block .one_table table tr.head th{
    padding: 10px 0;
}
.plan_block .table_block .one_table table td{
    padding: 10px 0;
    text-align: center;
}
.plan_block .table_block .attention{
    font-size: 1.8rem;
    margin-top: 20px;
}

.taishin,.g2_img{
    max-width: 450px;
}
@media screen and (max-width: 1200px) {
    .taishin,.g2_img{
        max-width: 400px;
    }
}
@media screen and (max-width: 1050px) {
    .taishin,.g2_img{
        max-width: 330px;
    }
}

.system_pc{
    max-width: 900px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .functionality-title-img {
    width: inherit;
  }

  .functionality-title {
    width: 35%;
    font-size: 3.6rem;
  }

  .functionality-content {
    background-image: linear-gradient(180deg, #fff 10%, #fff 100px, #f9f9f7 10%, #f9f9f7 200px);
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .functionality-specification {
    padding-left: 0;
    padding-right: 0;
  }

  .functionality-title-box {
    margin-left: inherit;
  }

  .specification-title-box {
    flex-direction: column-reverse;
  }

  .specification-title-02 {
    display: none;
  }

  .specification-text-box {
    width: 100%;
  }

  .specification-text-box.u-pl-40 {
    padding-left: 0;
  }

  .functionality-title-left-line {
    font-size: 3.6rem;
    padding-left: 3rem;
  }

  .relief-content {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .functionality-title-left-line::before {
    content: '';
    display: inline-block;
    height:4rem;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-left: 1rem #0f9790ff solid;
  }

  .guarantee-system-text-box {
    line-height: inherit;
  }

  .specification-text-box {
    line-height: inherit;
  }

  .specification-text-box.u-pl-70 {
    padding-left: inherit;
  }

  .specification-text-box.u-pr-70 {
    padding-right: inherit;
  }

  .specification-description-img {
    width: initial;
  }

  .specification-text-box.u-pr-40 {
    padding-right: inherit;
  }

  .relief-box {
    flex-direction: column;
  }

  .relief-box {
    justify-content: center;
    align-items: flex-start;
    width: 100%;
  }

  .srelief-img-size-01 {
    max-width: 30rem;
    padding-bottom: 3rem;
  }

  .srelief-img-size-02 {
    max-width: 25rem;
    padding-bottom: 3rem;
  }

  .srelief-img-size-03 {
    max-width: 60rem;
    padding-bottom: 3rem;
  }

  .srelief-text-box {
    width: 100%;
    padding-left: 1rem;
  }

  .functionality-title-left-line-sp::before {
    content: '';
    display: inline-block;
    height: 9rem;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-left: 1rem #0f9790ff solid;
  }

  .guarantee-system .guarantee-system-content {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .guarantee-system-description-img {
    width: 100%;
  }
  
    .kouhou_block{
        padding: 0 0 60px 0;
    }
    .kouhou_block .kouhou_inner{
        position: relative;
        padding: 30px 15px 30px 15px;
        background: #fff;
    }
    .kouhou_block .one{
        display: block;
        width: 100%;
    }
    .kouhou_block .one:last-child{
        position: static;
        margin-top: 50px;
    }
    .kouhou_block .one .title .big{
        font-size: 3.5rem;
    }
    .kouhou_block .one .title .big span{
        font-size: 2.4rem;
    }
    .kouhou_block .one .title .min{
        font-size: 2.8rem;
    }
    .kouhou_block .one .text_block .text{
        font-size: 2.6rem;
        line-height: 1.8em;
    }
    .kouhou_block .one .text_block img{
        width: 40%;
    }
    
    
    .plan_block{
        padding-bottom: 60px;
    }
    .plan_block .plan_price{
        text-align: center;
    }
    .plan_block .plan_price .one{
        width: 30%;
        font-size: 4rem;
        margin-top: 20px;
    }
    .plan_block .table_block .one_table{
        width: calc( ( 100% / 2 ) - 8px );
        font-size: 2.8rem;
    }
    .plan_block .table_block .one_table.right{
        margin-left: 14px;
    }
    .plan_block .table_block .one_table table tr.head{
        letter-spacing: 0px;
        font-size: 2.5rem;
    }
    .plan_block .table_block .one_table table th{
        width: 6em;
        padding: 10px 1.2em 10px 0;
    }
    .plan_block .table_block .one_table table tr.head th{
        padding: 10px 0;
        text-align: center;
    }
    .plan_block .table_block .one_table table td{
        padding: 10px 0;
        text-align: center;
    }
    .plan_block .table_block .attention{
        font-size: 1.8rem;
        margin-top: 20px;
    }
  
    
    .system_sp{
        width: 80%;
        display: block;
        margin: 0 auto;
    }
  
}

/* contant us */

.contact-us {
  background-image: url("../images/contact/contact-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.contact-content {
  width: 128rem;
  margin: auto;
}

.contact-content-title {
  font-size: 5.1rem;
  line-height: 1.2;
  letter-spacing: .1em;
}

.contact-content-text {
  font-size: 1.8rem;
  letter-spacing: initial;
}

.contact-button-box {
  justify-content: space-between;
}

.contact-button-img {
  width: 98%;
}

.contact-button-img-hover {
  transition: 1.0s;
}

.contact-button-img-hover:hover {
  opacity: 0.5;
}

.contact-tel-text {
  text-align: center;
  background-color: #252525;
  width: 45rem;
  padding: 0.5rem 0;
  margin: auto;
}

.contact-tel {
  font-size: 7rem;
  letter-spacing: .07em;
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
}

.tel-small {
  font-size: 3rem;
  position: relative;
  left: -1rem;
  bottom: -4.5rem;
}

@media screen and (max-width: 1023px) {

  .contact-content-title {
    font-size: 6rem;
  }

  .contact-tel-text {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {

  .contact-content {
    width: 100%;
    padding-right: 0;
     padding-left: 0;
  }

  .contact-content-title {
    font-size: 7rem;
  }

  .contact-content-text {
    font-size: 2rem;
  }

  .contact-button-box {
    flex-direction: column;
    align-items: center;
  }

  .contact-button-img {
    width: 100%;
  }

  .contact-tel-box {
    width: 100%;
  }

  .contact-tel {
    font-size: 9rem;
    display: flex;
    justify-content: center;
  }

  .tel-small {
    font-size: 5rem;
    position: relative;
    left: -1rem;
    bottom: -5rem;
  }
}

/* company */
.campany {
  background-color: #f9f9f9;
}
.campany-content {
  width: 55%;
  margin: auto;
}

.campany-title {
  font-size: 2.4rem;
}

.campany-content-box {
  font-size: 1.5rem;
  margin: auto;
}

.campany-content-box-text-01 {
  width: 33%;
  padding-bottom: 2rem;
  letter-spacing: .16em;
}

.campany-content-box-text-02 {
  padding-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  .campany-content {
    width: 100%;
  }

  .campany-title {
    font-size: 3.4rem;
  }

  .campany-content-box {
    font-size: 2.6rem
  }

  .campany-content-box-text-01 {
    padding-bottom: 4rem;
    font-size: 2.2rem;
  }

  .campany-content-box-text-02 {
    padding-bottom: 4rem;
    font-size: 2.4rem;
  }
}

/* event_form_top */
.event_form_top .event-text-box{
    width: 100%;
    position: static;
    /*background-color: #fff;*/
}
@media screen and (max-width: 768px) {
            .event_form_top .event-text-box{
                /*background-color: #f4f4f4;*/
            }
}

/* reservation-form */
.reservation-form {
  margin-bottom: 25rem;
}

.reservation-content {
  border: 2px #252525 solid;
  width: 128rem;
  margin: auto;
}

.reservation-form-title {
  color: #0f9790ff;
  font-size: 1.6rem;
}

.black-bottom {
  border-bottom: 2px #252525 solid;
}

.reservation-form-title.black-bottom {
  width: 95%;
  margin: auto;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}

.form01-content {
  width: 90%;
  margin: auto;
}

.form01-box {
  border-top: 2px #fff solid;
  border-bottom: 2px #fff solid;
}

.form01-box-title {
  background-color: #f3f3f3;
  width: 24rem;
  text-align: center;
  vertical-align: middle;
  padding: 0 1.8rem;
  letter-spacing: normal;
}

.form01-item {
  border-bottom: 2px #f3f3f3 solid;
  vertical-align: middle;
  padding: 6.5rem 0 6.5rem 17rem;
}

.form-text-text-01 {
  font-size: 2rem;
  font-weight: bold;
}

.form-text-small {
  font-weight: bold;
}

.mandatory {
  font-size: 1rem;
  background-color: #0f9790ff;
  width: 4rem;
  margin: auto;
  margin-top: 0.5rem;
  text-align: center;
}

.option-color {
  color: #f3f3f3;
}

.form01_input_text {
  border: 2px #afaeae solid;
  width: 28%;
  padding: 0.5rem 1rem;
  text-align: left;
  height: 6rem;
}

.form01_input_text:focus:hover{
  border: 2px #00B3EC solid;
}

.form01_input_text:focus{
  border: 2px #00B3EC solid;
  outline: none;
}

.form01-input-long {
  width: 56%;
}

.form01_input_text_add-01 {
  position: relative;
}

.form01_input_text_add-01::before {
  content: '郵便番号';
  position: absolute;
  left: -14rem;
  top: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: initial;
}

.form01_input_text_add-02 {
  position: relative;
}

.form01_input_text_add-02::before {
  content: '都道府県';
  white-space: pre;
  position: absolute;
  left: -14rem;
  top: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: initial;
  line-height: 1.2;
}

.form01_input_text_add-03 {
  position: relative;
}

.form01_input_text_add-03::before {
  content: '市区郡町・\A村名・\A番地など';
  white-space: pre;
  position: absolute;
  left: -14rem;
  top: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: initial;
  line-height: 1.2;
}

.form01_input_text_add-04 {
  position: relative;
}

.form01_input_text_add-04::before {
  content: '建物名・\A部屋番号など';
  white-space: pre;
  position: absolute;
  left: -14rem;
  top: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: initial;
  line-height: 1.2;
}

.post-code {
  align-items: center;
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  position: relative;
  margin-bottom: 1rem;
  justify-content: flex-start;
  align-items: baseline;
}

.form01-checkbox-item {
  padding: 4rem 0 4rem 5rem;
  display: flex;
  flex-wrap: wrap;
}

.form01-checkbox-item-in {
  font-weight: bold;
  padding: 3.2rem 3rem;
  background-color: #fafafa;
  margin: 0.3rem;
  border-radius: 10px;
}
.form01-checkbox-item-in:hover {
  background-color: #0f9790ff;
  color: #fff;
}
.form01-checkbox-item-in.is-active {
  background-color: #0f9790ff;
  color: #fff;
}

.form01_checkbox_label {
  padding-left: 1rem;
}

.textarea-item {
  padding: 4rem 0 4rem 4rem;
}

.form01-box-text {
  font-size: 1.2rem;
}

.form01-item {
  position: relative;
}

.form01-checkbox-item-in {
  position: relative;
}

.table-box textarea {
  height: 20rem;
}

.send_btn {
  margin: auto;
  width: 30rem;
  height: 6rem;
  text-align: center;
  background-color: #0f9790ff;
  /* padding: 0.8rem; */
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease-out;
}
.send_btn .form_btn{
  width:100%;
  height:100%;
  display: block;
}
.send_btn:hover{
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 1023px) {
  .reservation-content {
    margin: auto;
  }
  .mandatory {
    width: 7rem;
  }

  .form01-box-title {
    width: 30rem;
  }

  .form01-item {
    padding: 6.5rem 0 6.5rem 22rem;
  }

  .form01_input_text {
    height: 8rem;
  }

  .form01_input_text_add-01::before {
    left: -16rem;
    top: 1.4rem;
  }

  .form01_input_text_add-02::before {
    left: -16rem;
    top: 2rem;
  }

  .form01_input_text_add-03::before {
    left: -16rem;
    top: 2rem;
  }

  .form01_input_text_add-04::before {
    left: -16rem;
    top: 2rem;
  }

  .textarea-item {
    padding: 4rem 0 4rem 4rem;
  }
}

@media screen and (max-width: 768px) {
  .reservation-form {
    margin-bottom: 15rem;
  }

  .form01-box-title.form01-box-no-color {
    background-color: #fff;
  }

  .reservation-content {
    width: 100%;
    border: none;
  }

  .reservation-form-title.black-bottom {
    width: 100%;
    font-size: 3.5rem;
  }

  .reservation-form-title {
    font-size: 3.5rem;
  }

  .form01-content {
    width: 100%;
  }

  .table-box,
  .table-box td,
  .table-box th {
    border-collapse: collapse;
    text-align: left;
    width: 100%;
  }

  .table-box th {
    background: #f3f3f3;
    padding: 4px 12px;
    display: block;
    width: 100%;
    font-size: 2.8rem;
    display: flex;
    align-items: baseline;
    margin-bottom: 2rem;
  }

  .table-box td {
    padding: 4px 12px;
    display: block;
    width: 100%;
    border-bottom:none;
    margin-bottom: 2rem;
  }

  .form-text-small {
    text-align: left;
  }

  .form-text-text-01 {
    font-size: 2.8rem;
  }

  .mandatory {
    width: 10%;
    margin: inherit;
    margin-left: 3rem;
    font-size: 2.1rem;
    margin-bottom: 0.5rem;
  }

  .form01_input_text {
    width: 49%;
    padding: 1.6rem;
    height: 10rem;
    font-size: 2.6rem;
  }

  .post-code {
    font-size: inherit;
  }

  .form01_input_text_add-01::before {
    display: none;
  }

  .form01_input_text_add-02::before {
    display: none;
  }

  .form01_input_text_add-03::before {
    display: none;
  }

  .form01_input_text_add-04::before {
    display: none;
  }

  .form01_checkbox_label {
    font-size: 2.6rem;
  }

  .form01-box-title.form01-box-noflex {
    display: inline-block;
  }

  .form01-box-text {
    font-size: inherit;
  }

  .table-box textarea {
    height: 30rem;
  }
  .form01-checkbox-item-in {
    display: block;
  }
}

/* privacy-policy*/
.privacy-policy {
  font-size: 1.3rem;
  width: 70%;
  margin: auto;
  letter-spacing: normal;
}

.privacy-policy-bottom-line {
  border-bottom: 1px #252525 solid;
}

@media screen and (max-width: 768px)  {
  .privacy-policy {
    width: 100%;
    font-size: 1.2rem;
    text-align: center;
  }

  .send_btn {
    width: 50rem;
    padding: 2rem;
    height: 9rem;
  }
}

/*footer*/

.footer-logo-img {
  width: 25rem;
  margin: auto;
}

.copyrigh {
  background-color: #252525;
  font-size: 1.3rem;
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {

  .footer {
    margin-bottom: 15rem;
  }
  .footer-logo-img {
    max-width: 140rem;
    margin: auto;
  }

  .footer-privacy-policy {
    font-size: 2.4rem;
  }

  .copyrigh {
    font-size: 2rem;
  }
}

/* document */

.document-form {
  margin-bottom: 25rem;
}

.nav-button-box-02.document-form {
  top: 61rem;
}

.document-form-content {
  width: 128rem;
  margin: auto;
  border: 2px #252525 solid;
}

.document-form-title-in.black-bottom {
  width: 95%;
  margin: auto;
}

.document-form-title-in {
  color: #0f9790ff;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  justify-content: center;
  align-items: center;
}

.document-form-title-img {
  width: 18.4rem;
}

@media screen and (max-width: 768px) {

  .nav-button-box-02.document-form {
    top: inherit;
  }

  .document-form {
    margin-bottom: 0;
  }

  .document-form-content {
    width: 100%;
    border: none;
  }

  .document-form-title-in {
    font-size: 3.5rem;
  }

  .document-form-text {
    font-size: 2.2rem;
  }
}


/* utillty */

/* font */
.u-fw-regular {
  font-weight: 400;
}
.u-fw-medium {
  font-weight: 500;
}
.u-fw-semibold {
  font-weight: 600;
}
.u-fw-bold {
  font-weight: 700;
}
.u-fc-white {
  color: white;
}
.u-fc-black {
  color: black;
}
.u-fc-pink {
  color: #0f9790ff;
}

.u-ta-right {
  text-align: right;
}
.u-ta-left {
  text-align: left;
}
.u-ta-center {
  text-align: center;
}

/* padding */
.u-pt-0 {
  padding-top: 0;
}
.u-pt-05 {
  padding-top: .5rem;
}
.u-pt-10 {
  padding-top: 1rem;
}
.u-pt-20 {
  padding-top: 2rem;
}
.u-pt-30 {
  padding-top: 3rem;
}
.u-pt-40 {
  padding-top: 4rem;
}
.u-pt-60 {
  padding-top: 6rem;
}
.u-pt-70 {
  padding-top: 7rem;
}
.u-pt-80 {
  padding-top: 8rem;
}
.u-pt-100 {
  padding-top: 10rem;
}
.u-pt-110 {
  padding-top: 11rem;
}
.u-pt-120 {
  padding-top: 12rem;
}
.u-pt-130 {
  padding-top: 13rem;
}
.u-pb-05 {
  padding-bottom: .5rem;
}
.u-pb-10 {
  padding-bottom: 1rem;
}
.u-pb-20 {
  padding-bottom: 2rem;
}
.u-pb-30 {
  padding-bottom: 3rem;
}
.u-pb-40 {
  padding-bottom: 4rem;
}
.u-pb-50 {
  padding-bottom: 5rem;
}
.u-pb-60 {
  padding-bottom: 6rem;
}
.u-pb-70 {
  padding-bottom: 7rem;
}
.u-pb-80 {
  padding-bottom: 8rem;
}
.u-pb-100 {
  padding-bottom: 10rem;
}
.u-pb-120 {
  padding-bottom: 12rem;
}
.u-pb-130 {
  padding-bottom: 13rem;
}
.u-pr-10 {
  padding-right: 1rem;
}
.u-pr-20 {
  padding-right: 2rem;
}
.u-pr-30 {
  padding-left: 3rem;
}
.u-pr-40 {
  padding-right: 4rem;
}
.u-pr-70 {
  padding-right: 7rem;
}
.u-pl-10 {
  padding-left: 1rem;
}
.u-pl-20 {
  padding-left: 2rem;
}
.u-pl-30 {
  padding-left: 3rem;
}
.u-pl-40 {
  padding-left: 4rem;
}
.u-pl-60 {
  padding-left: 6rem;
}
.u-pl-70 {
  padding-left: 7rem;
}
@media screen and (min-width: 770px) {
  .u-pt-10-pc {
    padding-top: 1rem;
  }
  .u-pb-10-pc {
    padding-bottom: 1rem;
  }
  .u-pl-10-pc {
    padding-left: 1rem;
  }
  .u-pr-10-pc {
    padding-right: 1rem;
  }
  .u-pt-20-pc {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .u-pl-10-sp {
    padding-left: 1rem;
  }
  .u-pl-60-sp {
    padding-left: 6rem;
  }
  .u-pr-80-sp {
    padding-right: 8rem;
  }
  .u-pb-30-sp {
    padding-bottom: 3rem;
  }
  .u-pb-40-sp {
    padding-bottom: 4rem;
  }
  .u-pb-50-sp {
    padding-bottom: 5rem;
  }
  .u-pb-60-sp {
    padding-bottom: 6rem;
  }
  .u-pb-70-sp {
    padding-bottom: 7rem;
  }
  .u-pb-80-sp {
    padding-bottom: 8rem;
  }
  .u-pb-100-sp {
    padding-bottom: 10rem;
  }
  .u-pb-110-sp {
    padding-bottom: 11rem;
  }
  .u-pb-140-sp {
    padding-bottom: 14rem;
  }
  .u-pt-40-sp {
    padding-top: 4rem;
  }
  .u-pt-60-sp {
    padding-top: 6rem;
  }
  .u-pt-80-sp {
    padding-top: 8rem;
  }
  .u-pt-110-sp {
    padding-top: 11rem;
  }
  .u-pt-130-sp {
    padding-top: 13rem;
  }
}

 /* margin */
.u-mlr-auto {
  margin: 0 auto;
}
.u-mt-20 {
  margin-top: 2rem;
}
.u-mt-30 {
  margin-top: 3rem;
}
.u-mt-60 {
  margin-top: 6rem;
}
.u-mt-100 {
  margin-top: 10rem;
}
.u-mb-10 {
  margin-bottom: 1rem;
}
.u-mb-20 {
  margin-bottom: 2rem;
}
.u-mb-30 {
  margin-bottom: 3rem;
}
.u-mb-40 {
  margin-bottom: 4rem;
}
.u-mb-50 {
  margin-bottom: 5rem;
}
.u-mb-60 {
  margin-bottom: 6rem;
}
.u-mb-70 {
  margin-bottom: 7rem;
}
.u-mb-80 {
  margin-bottom: 8rem;
}
.u-mb-90 {
  margin-bottom: 9rem;
}
.u-mb-100 {
  margin-bottom: 10rem;
}
.u-mb-110 {
  margin-bottom: 11rem;
}
.u-mb-120 {
  margin-bottom: 12rem;
}
.u-mb-130 {
  margin-bottom: 13rem;
}
.u-mb-150 {
  margin-bottom: 15rem;
}
.u-mb-170 {
  margin-bottom: 17rem;
}
.u-mb-180 {
  margin-bottom: 18rem;
}
.u-mb-220 {
  margin-bottom: 22rem;
}
.u-mb-300 {
  margin-bottom: 30rem;
}
.u-mr-10 {
  margin-right: 1rem;
}
.u-mr-20 {
  margin-right: 2rem;
}
.u-mr-30 {
  margin-right: 3rem;
}
.u-ml-10 {
  margin-left: 1rem;
}
.u-ml-20 {
  margin-left: 2rem;
}
.u-ml-200 {
  margin-left: 20rem;
}

@media screen and (min-width: 770px) {
  .u-mb-02-pc {
    margin-bottom: 2px;
  }
  .u-mb-20-pc {
    margin-bottom: 2rem;
  }
  .u-mb-40-pc {
    margin-bottom: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .u-mr-10-sp {
    margin-right: 1rem;
  }
  .u-mb-10-sp {
    margin-bottom: 1rem;
  }
  .u-mb-20-sp {
    margin-bottom: 2rem;
  }
  .u-mb-30-sp {
    margin-bottom: 3rem;
  }
  .u-mb-40-sp {
    margin-bottom: 4rem;
  }
  .u-mb-50-sp {
    margin-bottom: 5rem;
  }
  .u-mb-60-sp {
    margin-bottom: 6rem;
  }
  .u-mb-80-sp {
    margin-bottom: 8rem;
  }
  .u-mb-100-sp {
    margin-bottom: 10rem;
  }
  .u-mb-110-sp {
    margin-bottom: 11rem;
  }
  .u-mb-130-sp {
    margin-bottom: 13rem;
  }
  .u-mb-160-sp {
    margin-bottom: 16rem;
  }
  .u-mt-30-sp {
    margin-top: 1rem;
  }
  .u-mt-80-sp {
    margin-top: 8rem;
  }
  .u-mt-100-sp {
    margin-top: 10rem;
  }
  .u-mt-200-sp {
    margin-top: 20rem;
  }
}
 /* width */
.u-w100 {
  width: 100%;
}

.u-w80 {
  width: 80%;
}

.u-w50 {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .u-w100-sp {
    width: 100%;
  }
}

/* background */
.u-bg-no-repeat {
  background-repeat: no-repeat;
}

 /* border */

.u-bb-1px-black {
  border-bottom: black;
}


/* flex */

.u-flex {
  display: flex;
}

.u-flex-column {
  flex-direction: column;
}

.u-flex-justify-spacebetween {
  justify-content: space-between;
}
.u-flex-row-reverse{
  flex-direction: row-reverse;
}


/* overflow */

.u-overflow-hidden {
  overflow: hidden;
}

.u-overflow-auto {
  overflow: auto;
}

.u-overflow-y-scroll {
  overflow-y: scroll;
}


/* u-order */
@media screen and (max-width: 768px) {
  .u-order-1 {
  order: 1;
  }
  .u-order-2 {
  order: 2;
  }

  .u-order-3 {
  order: 3;
  }
  .u-order-4 {
  order: 4;
  }
}

.movie{max-width: 1200px;margin: 0 auto;padding-bottom: 8em;}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
	

.movie{max-width: 90%;margin: 0 auto;padding-bottom: 4em;}	
	
}
