@charset "utf-8";
/* CSS Document */

.loading {
    padding-top: 7rem;
}

.loading .intro_logo svg {
    overflow: inherit;
}
.loading #intro_logo_svg #txt_en {
    animation-name: intro_logo_anim;/*アニメーションの定義名*/
    animation-duration: 1s;/*アニメーション変化時間 ※デフォルト*/
    animation-fill-mode: forwards;/*アニメーションの開始と終了時の状態を指定*/
    animation-delay: 0.3s;
    opacity:0;
    /*object-position: top center;
    object-fit: contain;*/
}
.loading #intro_logo_svg #logo {
    animation-name: intro_logo_anim;/*アニメーションの定義名*/
    animation-duration: 1s;/*アニメーション変化時間 ※デフォルト*/
    animation-fill-mode: forwards;/*アニメーションの開始と終了時の状態を指定*/
    animation-delay: 0.5s;
    opacity:0;
    /*object-position: top center;
    object-fit: contain;*/
}
.loading #intro_logo_svg #txt_jp {
    animation-name: intro_logo_anim;/*アニメーションの定義名*/
    animation-duration: 1s;/*アニメーション変化時間 ※デフォルト*/
    animation-fill-mode: forwards;/*アニメーションの開始と終了時の状態を指定*/
    animation-delay: 0.8s;
    opacity:0;
    /*object-position: top center;
    object-fit: contain;*/
}
@keyframes intro_logo_anim {
  from {
      transform: translateY(1rem);
      /*filter: blur(1rem);*/
      opacity: 0;
  }

  to {
      transform: translateY(0);
      /*filter: blur(0);*/
      opacity: 1;
  }
}

/*body.en_US .loading #intro_logo_svg #txt_jp {
    display: none;
}*/

@media only screen and (max-width: 768px) {
.loading {
    padding-top: 12rem;
    top: calc(50% - 6rem);
}
.loading .intro_logo {
    width: 28.6rem;
}
.loading .intro_logo svg {
    width: 100%;
    height: auto;
}
.loading #intro_logo_svg #txt_jp {
    display: block;
    width: 17.1rem;
    height: auto;
}
    
/*#g_navi_wrap .navigation > li.contact .btn {
    display: none;
}
#g_navi_wrap .navigation > li.contact .btn.is-show {
    display: block;
}*/
    
.contact.btn_wrap.fix_btn {
    display: none;
}
}

/* #topmain
----------------------------------------- */
#topmain {
	/*height : 100vh;*/
    height : calc(100vh - 7rem);
    z-index: 2;
}

#topmain .inner {
	max-width: none;
	height: 100%;
}

#topmain .topmain_layout {
    width : 100%;
	height: 100%;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    
    animation-name: topmain_bg_col;
    animation-duration: 20s;
    /*animation-fill-mode: forwards;*/
    animation-iteration-count: infinite;
    /*animation-direction: alternate;*/
    animation-timing-function: ease-in-out;
    animation-delay: 5s;
    opacity:1;
    background-color: #CDFAF5;
}
@keyframes topmain_bg_col {
    0% {
        background-color: #CDFAF5;
    }
    20% {
        background-color: #FCD8E6;
    }
    40% {
        background-color: #DBFFD1;
    }
    60% {
        background-color: #FCFCBE;
    }
    80% {
        background-color: #FFFFFF;
    }
}

#topmain .logo {
    width: 68.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 5;
    /*filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.30)) drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.40));*/
}
#topmain .logo img {
    animation-name: logo_img_anim;/*アニメーションの定義名*/
    animation-duration: 1s;/*アニメーション変化時間 ※デフォルト*/
    animation-fill-mode: forwards;/*アニメーションの開始と終了時の状態を指定*/
    animation-delay: 1.5s;
    opacity:0;
    object-position: top left;
    object-fit: contain;
    width: 100%;
    height: auto;
}
@keyframes logo_img_anim{
  from {
      transform: translateX(0);
      filter: blur(1rem);
      opacity: 0;
  }

  to {
      transform: translateX(0);
      filter: blur(0);
      opacity: 1;
  }
}


#topmain .otsuka {
    position: absolute;
    top: calc(230/1100*100%);
    right: calc(300/1280*100%);
    z-index: 4;
}
#topmain .sugamo {
    position: absolute;
    bottom: calc(260/1100*100%);
    left: calc(140/1280*100%);
    z-index: 4;
}
#topmain .circle {
    position: absolute;
    bottom: calc(200/1030*100%);
    right: calc(25/1280*100%);
    z-index: 4;
    animation-name: topmain_circle;
    animation-duration: 26s;
    /*animation-fill-mode: forwards;*/
    animation-iteration-count: infinite;
    /*animation-direction: alternate;*/
    animation-timing-function: linear;
    animation-delay: 0;
}
@keyframes topmain_circle {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}



#topmain .topswiper {
    width: 100%;
    /*height: 100%;*/
    overflow: hidden;
    /*padding-top: 3rem;
    padding-bottom: 3rem;*/
}
#topmain .topswiper.p1 {
    position: absolute;
    top: calc(80/1100*100%);
    left: 0;
    z-index: 3;
}
#topmain .topswiper.p1 .slide_wrap {
    height: 34.5rem;
}
#topmain .topswiper.p2 {
    position: absolute;
    bottom: calc(35/1100*100%);
    left: 0;
    z-index: 3;
}
#topmain .topswiper.p2 .slide_wrap {
    height: 35.7rem;
}
#topmain .topswiper .swiper-wrapper {
    transition-timing-function: linear;
}
#topmain .topswiper img {
    height: 100%;
    /*max-width: 374rem;*/
}
#topmain .topswiper .swiper-slide {
    width: auto;
}
#topmain .topswiper .swiper-slide .slide_wrap {
    /*width: 100%;*/
    /*height: 100%;*/
    display: flex;
}
#topmain .topswiper.main .swiper-slide {
    height: 61.5rem;
    display: flex;
    flex-flow: column;
}
#topmain .topswiper.main .swiper-slide:nth-child(odd) .slide_wrap {
    margin-top: auto;
}

#topmain .topswiper.main .swiper-slide .slide_wrap {
    animation: kodo 6s ease-out infinite;
    opacity: 1;
}
@keyframes kodo {
  80% {
    transform: scale(1.0);
  }
  80%, 88%, 92%, 96% {
    transform: scale(1.0);
  }
  90%, 94% {
    transform: scale(0.98);
  }
}
#topmain .topswiper.main .swiper-slide.slider01 .slide_wrap {
    width: 41.668rem;
    animation-duration: 6.6s;
    animation-delay: 0.5s;
}
#topmain .topswiper.main .swiper-slide.slider02 .slide_wrap {
    width: 68.981rem;
    animation-duration: 6.2s;
    animation-delay: 2.8s;
}
#topmain .topswiper.main .swiper-slide.slider03 .slide_wrap {
    width: 45.988rem;
    animation-duration: 6.5s;
    animation-delay: 1.5s;
}
#topmain .topswiper.main .swiper-slide.slider04 .slide_wrap {
    width: 53.927rem;
    animation-duration: 6.2s;
    animation-delay: 1.0s;
}
#topmain .topswiper.main .swiper-slide.slider05 .slide_wrap {
    width: 49.568rem;
    animation-duration: 6s;
    animation-delay: 2.2s;
}
#topmain .topswiper.main .swiper-slide.slider06 .slide_wrap {
    width: 45.674rem;
    animation-duration: 6.2s;
    animation-delay: 1.0s;
}
#topmain .topswiper.main .swiper-slide.slider07 .slide_wrap {
    width: 48.007rem;
    animation-duration: 6.5s;
    animation-delay: 0.5s;
}
#topmain .topswiper.main .swiper-slide.slider08 .slide_wrap {
    width: 52.375rem;
    animation-duration: 6s;
    animation-delay: 2.3s;
}
#topmain .topswiper.main .swiper-slide.slider09 .slide_wrap {
    width: 47.869rem;
    animation-duration: 6.2s;
    animation-delay: 0.8s;
}
#topmain .topswiper.main .swiper-slide.slider10 .slide_wrap {
    width: 52.943rem;
    animation-duration: 6.5s;
    animation-delay: 1.1s;
}

#topmain .scroll_down {
    position: absolute;
    z-index: 5;
    bottom: 2rem;
    right: 6rem;
}
#topmain .scroll_down a {
    font-size: 1.2rem;
    font-weight: 400;
}

@media only screen and (max-width: 768px) {
#topmain {
	height : calc(100vh - 12rem);
    height : calc(calc(var(--vh2, 1vh) * 100) - 12rem);
}
html[lang="en_US"] #topmain {
	height : calc(100vh - 7rem);
    height : calc(calc(var(--vh2, 1vh) * 100) - 7rem);
}
#topmain .logo {
    width: 28.575rem;
    position: absolute;
    top: calc(50% - 6rem);
    left: 50%;
    transform: translate(-50%,-50%);
}
    
#topmain .otsuka {
    width: 17.053rem;
    position: absolute;
    /*top: calc(155/695*100%);
    right: 2.5rem;*/
    top: 50%;
    right: 50%;
    transform: translate(17rem,-19rem);
}
#topmain .sugamo {
    width: 18.497rem;
    position: absolute;
    /*bottom: calc(225/695*100%);
    left: 2.5rem;*/
    bottom: 50%;
    left: 50%;
    transform: translate(-16rem,11rem);
}
#topmain .circle {
    width: 12.482rem;
    position: absolute;
    bottom: calc(140/695*100%);
    right: 2.5rem;
}
    
#topmain .topswiper {
    /*padding-top: 0.5rem;
    padding-bottom: 8rem;*/
}
#topmain .topswiper.p1 {
    position: absolute;
    top: calc(23/695*100%);
    left: 0;
}
#topmain .topswiper.p1 .slide_wrap {
    height: 22.303rem;
}
#topmain .topswiper.p2 {
    position: absolute;
    bottom: calc(28/695*100%);
    left: 0;
}
#topmain .topswiper.p2 .slide_wrap {
    height: 22.96rem;
}

#topmain .topswiper.main .swiper-slide {
    height: 33.28rem;
}
#topmain .topswiper.main .swiper-slide.slider01 .slide_wrap {
    width: 22.564rem;
    animation-duration: 6.6s;
    animation-delay: 0.5s;
}
#topmain .topswiper.main .swiper-slide.slider02 .slide_wrap {
    width: 37.354rem;
    animation-duration: 6.2s;
    animation-delay: 2.8s;
}
#topmain .topswiper.main .swiper-slide.slider03 .slide_wrap {
    width: 24.903rem;
    animation-duration: 6.5s;
    animation-delay: 1.5s;
}
#topmain .topswiper.main .swiper-slide.slider04 .slide_wrap {
    width: 29.202rem;
    animation-duration: 6.2s;
    animation-delay: 2.0s;
}
#topmain .topswiper.main .swiper-slide.slider05 .slide_wrap {
    width: 26.841rem;
    animation-duration: 6s;
    animation-delay: 1.2s;
}
#topmain .topswiper.main .swiper-slide.slider06 .slide_wrap {
    width: 24.733rem;
    animation-duration: 6.2s;
    animation-delay: 1.0s;
}
#topmain .topswiper.main .swiper-slide.slider07 .slide_wrap {
    width: 25.996rem;
    animation-duration: 6.5s;
    animation-delay: 2.5s;
}
#topmain .topswiper.main .swiper-slide.slider08 .slide_wrap {
    width: 28.361rem;
    animation-duration: 6s;
    animation-delay: 0.3s;
}
#topmain .topswiper.main .swiper-slide.slider09 .slide_wrap {
    width: 25.921rem;
    animation-duration: 6.2s;
    animation-delay: 1.8s;
}
#topmain .topswiper.main .swiper-slide.slider10 .slide_wrap {
    width: 28.669rem;
    animation-duration: 6.5s;
    animation-delay: 1.1s;
}

#topmain .scroll_down {
    bottom: 4rem;
    right: 1.5rem;
}
#topmain .scroll_down a {
    font-size: 1.2rem;
    font-weight: 400;
}
}


/* #about
----------------------------------------- */
#about {
    background-color: #FFFFFF;
}

#about .inner {
    max-width: none;
    padding-top: 10rem;
    padding-bottom: 12rem;
    position: relative;
    z-index: 1;
}

#about .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#about .layout > h2.ttl {
    font-size: 3.6rem;
    line-height: calc(58/36);
    color: #000000;
    font-weight: 700;
    text-align: center;
}
#about .layout > .txt {
    font-size: 1.6rem;
    line-height: calc(29/16);
    text-align: center;
    margin-top: 2rem;
}
#about .layout > .btn_wrap {
    margin-top: 4rem;
}

#about .illust {
    position: absolute;
    z-index: -1;
}
#about .illust01 {
    bottom: 7rem;
    left: 8rem;
}
#about .illust02 {
    top: 13rem;
    right: -6rem;
}

@media only screen and (max-width: 768px) {
#about .inner {
    max-width: 35rem;
    padding-top: 6rem;
    padding-bottom: 8rem;
}

#about .layout {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
}
#about .layout > h2.ttl {
    font-size: 2.4rem;
    line-height: calc(38/24);
    color: #000000;
    font-weight: 700;
    text-align: left;
}
#about .layout > h2.ttl br {
    display: none;
}
#about .layout > .txt {
    font-size: 1.6rem;
    line-height: calc(29/16);
    text-align: left;
    margin-top: 2rem;
}
#about .layout > .txt br {
    display: none;
}
#about .layout > .btn_wrap {
    margin-top: 4rem;
}

#about .illust {
    position: absolute;
    z-index: -1;
}
#about .illust01 {
    width: 12rem;
    bottom: 15rem;
    left: 7rem;
}
#about .illust02 {
    width: 14.697rem;
    top: 18rem;
    right: -4rem;
}
}



/* #contents
----------------------------------------- */
#contents {
}
#contents .inner {
    padding-top: 10rem;
    padding-bottom: 18rem;
}
#contents .contents_list {
    margin-top: 8rem;
    display: flex;
    flex-flow: column;
    grid-gap: 8rem 0;
}
#contents .contents_list .layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}
#contents .contents_list .layout:nth-child(odd) {
    flex-flow: row-reverse;
}
#contents .contents_list .layout .txt_wrap {
    width: calc(360/1080*100%);
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}
#contents .contents_list .layout .img_wrap {
    width: calc(680/1080*100%);
}

#contents .contents_list .layout .txt_wrap .con_ttl {
    display: flex;
    height: 3.5rem;
    margin-bottom: 4rem;
}
#contents .contents_list .layout .txt_wrap .con_ttl span {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 100%;
    padding: 0 1rem;
    padding-bottom: 0.1em;
}
#contents .contents_list .layout .txt_wrap .con_ttl .jp {
    font-size: 1.6rem;
    font-weight: 700;
    background-color: #000000;
    color: #FFFFFF;
    border-radius: 0.4rem 0 0 0.4rem;
}
#contents .contents_list .layout .txt_wrap .con_ttl .en {
    font-size: 2.0rem;
    letter-spacing: -0.01em;
    font-weight: 500;
    background-color: #FFFFFF;
    border: 1px solid #000000;
    border-radius: 0 0.4rem 0.4rem 0;
}

#contents .contents_list .layout .txt_wrap h3.ttl {
    display: flex;
    flex-flow: column;
}
#contents .contents_list .layout .txt_wrap h3.ttl .sub {
    font-size: 1.4rem;
    line-height: calc(25/14);
    font-weight: 600;
    margin-bottom: 1rem;
}
#contents .contents_list .layout .txt_wrap h3.ttl .ttl {
    font-size: 2.4rem;
    line-height: calc(38/24);
    font-weight: 700;
}

#contents .contents_list .layout:nth-child(1) .txt_wrap h3.ttl {
    flex-flow: column-reverse;
}
#contents .contents_list .layout:nth-child(1) .txt_wrap h3.ttl .sub {
    font-size: 1.2rem;
    margin-top: 1rem;
    margin-bottom: 0;
}

#contents .contents_list .layout .txt_wrap > .txt {
    font-size: 1.4rem;
    line-height: calc(25/14);
    margin-top: 2rem;
}

#contents .contents_list .layout .txt_wrap > .btn_wrap {
    margin-top: 4rem;
}

#contents .contents_list .layout .img_wrap .img_slider {
    width: 100%;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-slide .slide_wrap {
    border: 1rem solid #FFFFFF;
    border-radius: 1rem;
}

#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination {
    /*display: none;*/
    bottom: -2rem;
    display: flex;
    justify-content: flex-end;
    padding-right: 1rem;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: #000000;
    opacity: .25;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination .swiper-pagination-bullet-active {
    background: #000000;
    opacity: 1;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-prev:after,
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-next:after {
    display: none;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-prev,
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-next {
    width: 4rem;
    height: auto;
    top: auto;
    margin-top: 0;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-prev {
    left: auto;
    right: 9rem;
    bottom: 4rem;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-next {
    right: 4rem;
    bottom: 4rem;
}

#contents .contents_list .layout .illust_wrap {
    position: absolute;
    z-index: 2;
}
#contents .contents_list .layout:nth-child(1) .illust_wrap {
    width: 8.6rem;
    top: -2rem;
    right: 1rem;
}
#contents .contents_list .layout:nth-child(2) .illust_wrap {
    width: 13.3rem;
    bottom: 0.5rem;
    left: calc(240/1080*100%);
}
#contents .contents_list .layout:nth-child(2) .illust_wrap.illust_2 {
    width: 11rem;
    bottom: -1.5rem;
    left: calc(375/1080*100%);
}
#contents .contents_list .layout:nth-child(3) .illust_wrap {
    width: 9.7rem;
    bottom: -4rem;
    right: 1.5rem;
}
#contents .contents_list .layout:nth-child(4) .illust_wrap {
    width: 16.9rem;
    bottom: -4.8rem;
    left: calc(315/1080*100%);
}

@media only screen and (max-width: 768px) {
#contents .inner {
    padding-top: 8rem;
    padding-bottom: 12rem;
}
#contents .contents_list {
    margin-top: 4rem;
}
#contents .contents_list .layout {
    flex-flow: column-reverse;
}
#contents .contents_list .layout:nth-child(odd) {
    flex-flow: column-reverse;
}
#contents .contents_list .layout .txt_wrap {
    width: 100%;
    margin-top: 6rem;
}
#contents .contents_list .layout .img_wrap {
    width: 100%;
}

#contents .contents_list .layout .txt_wrap h3.ttl .ttl {
    font-size: 2.0rem;
    line-height: calc(32/20);
    font-weight: 700;
}

#contents .contents_list .layout .img_wrap .img_slider .swiper-slide .slide_wrap {
    border: 0.5rem solid #FFFFFF;
    border-radius: 0.5rem;
}

#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination {
    display: block;
    bottom: -3rem;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: #000000;
    opacity: .25;
}
#contents .contents_list .layout .img_wrap .img_slider .swiper-pagination .swiper-pagination-bullet-active {
    background: #000000;
    opacity: 1;
}

#contents .contents_list .layout .img_wrap .img_slider .swiper-button-prev,
#contents .contents_list .layout .img_wrap .img_slider .swiper-button-next {
    display: none;
}


#contents .contents_list .layout .illust_wrap {
    position: absolute;
    z-index: 2;
}
#contents .contents_list .layout:nth-child(1) .illust_wrap {
    width: 6.8rem;
    top: 27.5rem;
    right: 1rem;
}
#contents .contents_list .layout:nth-child(2) .illust_wrap {
    width: 8.5rem;
    top: 20rem;
    bottom: auto;
    left: -1rem;
}
#contents .contents_list .layout:nth-child(2) .illust_wrap.illust_2 {
    width: 7.75rem;
    top: 24.5rem;
    bottom: auto;
    left: auto;
    right: 2rem;
}
#contents .contents_list .layout:nth-child(3) .illust_wrap {
    width: 7.35rem;
    top: -8rem;
    bottom: auto;
    right: 0.5rem;
}
#contents .contents_list .layout:nth-child(4) .illust_wrap {
    width: 10.6rem;
    bottom: -3.8rem;
    left: 22.5rem;
}  

}


/* #area
----------------------------------------- */
#area {
    background-color: #FFFFFF;
}
#area .inner {
    padding-top: 10rem;
    padding-bottom: 12rem;
}
#area .area_list {
    display: grid;
    grid-template-columns: repeat(2,calc(530/1080*100%));
    justify-content: space-between;
    margin-top: 8rem;
}
#area .area_list .layout {
    border: 1px solid #000000;
    border-radius: 0.5rem;
}
#area .area_list .layout h3.ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 3rem;
}
#area .area_list .layout h3.ttl .ttl {
    font-size: 2.4rem;
    line-height: calc(38/24);
    font-weight: 700;
}
#area .area_list .layout h3.ttl .ttl .en {
    font-size: 1.6rem;
    font-weight: 500;
    margin-left: 1.5rem;
}
#area .area_list .layout .img_wrap {
    width: 100%;
}
#area .area_list .layout .txt_wrap {
    padding: 3rem 3rem 4rem;
}
#area .area_list .layout .txt_wrap .con_ttl {
    font-size: 2.0rem;
    line-height: calc(32/20);
    font-weight: 700;
}
#area .area_list .layout .txt_wrap .con_ttl .info {
    display: block;
    font-size: 1.4rem;
    line-height: calc(25.2/14);
    font-weight: 400;
}
#area .area_list .layout .txt_wrap .info_wrap {
    margin-top: 1.5rem;
    display: flex;
    flex-flow: column;
    grid-gap: 0.5rem 0;
}
#area .area_list .layout .txt_wrap .info_wrap > .ttl {
    font-weight: bold;
}

#area .area_list .layout .txt_wrap .info_wrap .info_con {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    grid-gap: 1rem 1rem;
}
#area .area_list .layout .txt_wrap .info_wrap .info_con .ttl {
    white-space: nowrap;
    border: 1px solid #000000;
    border-radius: 0.4rem;
    padding: 0 0.8rem 0.1em;
}

@media only screen and (max-width: 768px) {
#area .inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
}
#area .area_list {
    grid-template-columns: repeat(1,100%);
    grid-gap: 2rem 0;
    margin-top: 8rem;
}
#area .sec_ttl_wrap .lead_wrap .ttl br {
   display: none;
}
#area .sec_ttl_wrap .lead_wrap .txt br {
   display: none;
}
    
#area .area_list .layout {
    border-radius: 1rem;
}
#area .area_list .layout h3.ttl {
    padding: 1.5rem 2rem;
}
#area .area_list .layout h3.ttl .ttl {
    font-size: 2.0rem;
    line-height: calc(32/20);
    font-weight: 600;
}
#area .area_list .layout h3.ttl .ttl .en {
    font-size: 1.4rem;
    margin-left: 1.5rem;
}
#area .area_list .layout .txt_wrap {
    padding: 2rem 2rem 4rem;
}
#area .area_list .layout .txt_wrap .con_ttl {
    font-size: 1.8rem;
    line-height: calc(29/18);
    font-weight: 700;
}
#area .area_list .layout .txt_wrap .info_wrap {
    margin-top: 2rem;
    grid-gap: 0.5rem 0;
}
#area .area_list .layout .txt_wrap .info_wrap .info_con {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    grid-gap: 1rem 1rem;
}
#area .area_list .layout .txt_wrap .info_wrap .info_con .ttl {
    border: 1px solid #000000;
    border-radius: 0.4rem;
    padding: 0 0.8rem 0.1em;
}
}


/* #people
----------------------------------------- */
#people {
    background-color: #FFFFFF;
    background-image:
		repeating-linear-gradient(135deg,
		rgba(204, 204, 204, 0.8) 0px,
		rgba(204, 204, 204, 0.8) 1px,
		rgba(0, 0, 0, 0) 0px,
		rgba(0, 0, 0, 0) 10px);
}
#people .inner {
    padding-top: 12rem;
    padding-bottom: 8rem;
    position: relative;
    z-index: 1;
}
#people .ttl_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#people .ttl_wrap .sec_ttl span {
    font-size: 3.6rem;
    line-height: calc(57.6/36);
    font-weight: 700;
    background: linear-gradient(transparent 0%, #FFFFFF 0%);
    display: inline;
    padding: 0.2em 0;
}
#people .ttl_wrap .txt_wrap {
    width: calc(600/1080*100%);
}
#people .ttl_wrap .txt_wrap .txt span {
    background: linear-gradient(transparent 0%, #FFFFFF 0%);
    display: inline;
    padding: 0.2em 0;
}
#people .ttl_wrap .txt_wrap .btn_wrap {
    justify-content: flex-start;
    margin-top: 4rem;
}
#people .img_wrap {
    /*width: calc(100% + 4rem);
    margin-left: -2rem;*/
    padding-bottom: 12rem;
}
#people .img_wrap .member_slider {
}
#people .img_wrap .member_slider .swiper-wrapper {
    transition-timing-function: linear;
}
#people .img_wrap .member_slider .swiper-slide {
    width: 23.5rem;
}
#people .img_wrap .member_slider .swiper-slide img {
    width: 100%;
    animation-name: wave;
    animation-duration: 2s;
    /*animation-fill-mode: forwards;*/
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    opacity:1;
}

#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 2) img { animation-delay: 0.2s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 3) img { animation-delay: 0.4s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 4) img { animation-delay: 0.6s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 5) img { animation-delay: 0.8s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 6) img { animation-delay: 1.0s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 7) img { animation-delay: 0.8s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 8) img { animation-delay: 0.6s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 9) img { animation-delay: 0.4s; }
#people .img_wrap .member_slider .swiper-slide:nth-child(10n + 10) img { animation-delay: 0.2s; }

@media only screen and (max-width: 768px) {
#people {
    background-color: #FFFFFF;
    background-image:
		repeating-linear-gradient(135deg,
		rgba(204, 204, 204, 0.8) 0px,
		rgba(204, 204, 204, 0.8) 1px,
		rgba(0, 0, 0, 0) 0px,
		rgba(0, 0, 0, 0) 10px);
}
#people .inner {
    padding-top: 8rem;
    padding-bottom: 4rem;
}
#people .ttl_wrap {
    flex-flow: column;
}
#people .ttl_wrap .sec_ttl span {
    font-size: 2.4rem;
    line-height: calc(33.6/24);
    font-weight: 700;
    background: linear-gradient(transparent 0%, #FFFFFF 0%);
    display: inline;
    padding: 0.2em 0;
}
#people .ttl_wrap .txt_wrap {
    width: 100%;
    margin-top: 2rem;
}
#people .ttl_wrap .txt_wrap .txt span {
    background: linear-gradient(transparent 0%, #FFFFFF 0%);
    display: inline;
    padding: 0.2em 0;
}
#people .ttl_wrap .txt_wrap .btn_wrap {
    justify-content: flex-start;
    margin-top: 4rem;
}
#people .img_wrap {
    width: 100%;
    margin-left: 0;
    padding-bottom: 8rem;
}
    
#people .img_wrap .member_slider .swiper-slide {
    width: 14.8rem;
}
}


/* #news
----------------------------------------- */
#news {
    background-color: #FFFFFF;
}
#news .inner {
    padding-top: 10rem;
    padding-bottom: 12rem;
    position: relative;
    z-index: 1;
}
#news .news_list {
    display: grid;
    grid-template-columns: repeat(2,calc(530/1080*100%));
    justify-content: space-between;
    margin-top: 6rem;
}
#news .news_list .layout {
    border: 1px solid #000000;
    border-radius: 0.5rem;
    padding: 4rem 3rem 5rem;
}
#news .news_list .layout h3.ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#news .news_list .layout h3.ttl .ttl {
    font-size: 2.0rem;
    line-height: calc(38/20);
    font-weight: 700;
}

#news .news_list .layout .post_list_wrap.news {
    padding-top: 2.5rem;
}
#news .news_list .layout .post_list_wrap.news .post_list {
    border-top: 1px solid #CCCCCC;
}
#news .news_list .layout .post_list_wrap.news .post_list > li {
    padding: 2rem 0;
}
#news .news_list .layout .post_list_wrap.news .post_list .txt_con .ttl {
    font-size: 1.6rem;
    line-height: calc(25.6 / 16);
    font-weight: 700;
}

#news .illust {
    position: absolute;
    z-index: 2;
}
#news .illust01 {
    width: 12.4rem;
    top: 7rem;
    right: 22rem;
}
#news .illust02 {
    width: 10.3rem;
    top: 6rem;
    right: 8.5rem;
}

@media only screen and (max-width: 768px) {
#news .inner {
    padding-top: 6rem;
    padding-bottom: 8rem;
}
#news .news_list {
    grid-template-columns: repeat(1,100%);
    grid-gap: 2rem 0;
    margin-top: 3rem;
}
#news .news_list .layout {
    padding: 2rem 2rem 4rem;
}
#news .news_list .layout h3.ttl .ttl {
    font-size: 1.8rem;
    line-height: calc(38/18);
}

#news .news_list .layout .post_list_wrap.news {
    padding-top: 2rem;
}
#news .news_list .layout .post_list_wrap.news .post_list > li {
    padding: 2rem 0;
}
#news .news_list .layout .post_list_wrap.news .post_list .txt_con .ttl {
    font-size: 1.4rem;
    line-height: calc(25.2 / 14);
    font-weight: 700;
}

#news .illust {
    display: none;
}

}


/* #access_about
----------------------------------------- */
#access_about {
}

#access_about .inner {
    padding-top: 10rem;
    padding-bottom: 8rem;
}

#access_about .sec_ttl_wrap .lead_wrap {
    margin-top: 6rem;
}

#access_about .sec_ttl_wrap .lead_wrap .ttl {
    margin-bottom: 3rem;
}

#access_about .img_wrap {
    width: 100%;
    max-width: 45rem;
    margin: auto;
    margin-top: 6rem;
}

@media only screen and (max-width: 768px) {
#access_about .inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
}
    
#access_about .sec_ttl_wrap .lead_wrap {
    margin-top: 4rem;
}

#access_about .sec_ttl_wrap .lead_wrap .ttl {
    margin-bottom: 2rem;
}

#access_about .img_wrap {
    max-width: 32rem;
    margin-top: 6rem;
}
}


/* #access_info
----------------------------------------- */
#access_info {
    background-color: #F5F5F5;
}

#access_info .inner {
    padding-top: 12rem;
    padding-bottom: 16rem;
}
#access_info .access_list {
    display: flex;
    flex-flow: column;
    grid-gap: 20rem 0;
    margin-top: 6rem;
}
#access_info .access_list > .con {
    position: relative;
}
#access_info .access_list > .con:not(:first-child)::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: url(../images/dot_line.svg) repeat-x center center / auto;
    position: absolute;
    top: -10rem;
    left: 0;
}

#access_info .access_list > .con .layout {
    display: flex;
}
#access_info .access_list > .con .layout .img_wrap {
    width: 30rem;
}
#access_info .access_list > .con .layout .img_wrap img {
    border: 0.8rem solid #FFFFFF;
    border-radius: 1rem;
    overflow: hidden;
    width: 100%;
    height: 100%;
    aspect-ratio: 300 / 354;
    object-fit: cover;
}
#access_info .access_list > .con .layout .txt_wrap {
    margin-left: 4rem;
}
#access_info .access_list > .con .con_ttl {
    display: flex;
    height: 3.5rem;
    margin-bottom: 1.5rem;
}
#access_info .access_list > .con .con_ttl span {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 100%;
    padding: 0 1rem;
    padding-bottom: 0.1em;
}
#access_info .access_list > .con .con_ttl .jp {
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 0.4rem 0 0 0.4rem;
}
#access_info .access_list > .con .con_ttl .en {
    font-size: 2.0rem;
    letter-spacing: -0.01em;
    font-weight: 500;
    border-radius: 0 0.4rem 0.4rem 0;
}
#access_info .access_list > .con.sugamo .con_ttl .jp {
    background-color: #02766E;
    color: #FFFFFF;
}
#access_info .access_list > .con.sugamo .con_ttl .en {
    background-color: #FFFFFF;
    color: #02766E;
    border: 1px solid #02766E;
}
#access_info .access_list > .con.otsuka .con_ttl .jp {
    background-color: #D54B0C;
    color: #FFFFFF;
}
#access_info .access_list > .con.otsuka .con_ttl .en {
    background-color: #FFFFFF;
    color: #D54B0C;
    border: 1px solid #D54B0C;
}
#access_info .access_list > .con .ttl {
    font-size: 3.0rem;
    line-height: calc(45/30);
    font-weight: 500;
}
#access_info .access_list > .con .txt {
    margin-top: 3rem;
}
#access_info .access_list > .con .txt .address {
    margin-top: 2rem;
}
#access_info .access_list > .con .txt .point_list {
    margin-top: 1.5rem;
    display: flex;
    flex-flow: column;
    row-gap: 0.5rem;
}
#access_info .access_list > .con .txt .point_list > li {
    width: 100%;
    font-size: 1.4rem;
    line-height: calc(20/14);
    padding-left: 1.0em;
    font-weight: 400;
    position: relative;
}
#access_info .access_list > .con .txt .point_list > li::before {
    content: '';
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background-color: #000000;
    position: absolute;
    top: 0.7em;
    left: 0;
}

#access_info .access_list > .con .map_wrap {
    margin-top: 6rem;
    width: 100%;
    height: 48rem;
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
}
#access_info .access_list > .con .map_wrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#access_info .access_list.lounge_access {
    margin-top: 10rem;
    padding: 6rem 4rem;
    background-color: #F7F4EC;
    border-radius: 1rem;
}
#access_info .access_list.lounge_access > .con .layout .img_wrap {
    width: 45rem;
    min-width: 45rem;
}
#access_info .access_list.lounge_access > .con .layout .img_wrap img {
    border: none;
    border-radius: 0.5rem;
    overflow: hidden;
    width: 100%;
    height: 100%;
    aspect-ratio: 450 / 300;
    object-fit: cover;
}
#access_info .access_list.lounge_access > .con .layout .txt_wrap {
    margin-left: 3rem;
}
#access_info .access_list.lounge_access > .con .ttl {
    font-size: 2.4rem;
    line-height: calc(35/24);
    font-weight: 700;
    margin-top: 0;
}
#access_info .access_list.lounge_access > .con .map_wrap {
    margin-top: 4rem;
    width: 100%;
    height: 40rem;
    position: relative;
}

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

#access_info .inner {
    padding-top: 8rem;
    padding-bottom: 10rem;
}
#access_info .access_list {
    grid-gap: 10rem 0;
    margin-top: 3rem;
}
#access_info .access_list > .con:not(:first-child)::before {
    position: absolute;
    top: -5rem;
    left: 0;
}

#access_info .access_list > .con .layout {
    flex-flow: column;
}
#access_info .access_list > .con .layout .img_wrap {
    width: 20rem;
    margin: auto;
    margin-top: 3rem;
    order: 3;
}
#access_info .access_list > .con .layout .img_wrap img {
    border: 0.5rem solid #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    width: 100%;
    height: 100%;
    aspect-ratio: 300 / 354;
    object-fit: cover;
}
#access_info .access_list > .con .layout .txt_wrap {
    width: 100%;
    margin-left: 0;
    
    display: contents;
}
#access_info .access_list > .con .con_ttl {
    display: flex;
    justify-content: center;
    height: 3.2rem;
    margin-bottom: 1.0rem;
    order: 1;
}
#access_info .access_list > .con .ttl {
    font-size: 2.4rem;
    line-height: calc(36/24);
    text-align: center;
    order: 2;
}
#access_info .access_list > .con .txt {
    margin-top: 3rem;
    order: 4;
}
#access_info .access_list > .con .txt .address {
    margin-top: 2rem;
}
#access_info .access_list > .con .txt .point_list {
    margin-top: 1.5rem;
    display: flex;
    flex-flow: column;
    row-gap: 0.5rem;
}
#access_info .access_list > .con .txt .point_list > li {
    width: 100%;
    font-size: 1.4rem;
    line-height: calc(20/14);
    padding-left: 1.0em;
    font-weight: 400;
    position: relative;
}
#access_info .access_list > .con .txt .point_list > li::before {
    content: '';
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background-color: #000000;
    position: absolute;
    top: 0.7em;
    left: 0;
}

#access_info .access_list > .con .map_wrap {
    margin-top: 4rem;
    height: 23rem;
}

#access_info .access_list.lounge_access {
    margin-top: 4rem;
    padding: 4rem 2rem;
    border-radius: 0.5rem;
}
#access_info .access_list.lounge_access > .con .layout .img_wrap {
    width: 100%;
    min-width: inherit;
    order: 3;
}
#access_info .access_list.lounge_access > .con .layout .img_wrap img {
    border-radius: 0.4rem;
}
#access_info .access_list.lounge_access > .con .layout .txt_wrap {
    margin-left: 0;
    display: contents;
}
#access_info .access_list.lounge_access > .con .ttl {
    font-size: 1.6rem;
    line-height: calc(24/16);
    
    order: 1;
}
#access_info .access_list.lounge_access > .con .map_wrap {
    margin-top: 3rem;
    height: 20.4rem;
}
}