@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#333;}
a:visited{text-decoration:none; color:#333;}
a:hover{text-decoration:none; color:#333;}
a:active{text-decoration:none; color:#333;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1080px; padding-left: 60px; padding-right: 60px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }
.noto-sans { font-family: "Noto Sans JP", sans-serif; font-weight: 600; }

body { font-size: 15px; line-height: 1.8; color: #333; background: none; font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 500; position: relative; }
header { position: fixed; left: 0; top: 0; width: 100%; z-index: 100; background: #fff; padding: 0 30px; transition: .3s; }
header .header_logo { position: absolute; left: 25px; top: 17px; }
header .wrap { display: flex; justify-content: space-between; align-items: center; }
header .gnav { opacity: 0; transition: .3s; visibility: hidden; position: fixed; right: 15px; top: 15px; background-color: #FEDF14; border-radius: 20px 35px 35px 35px; width: 410px; padding: 60px 70px 65px 70px; border: 2px solid #000; box-sizing: border-box; }
.scroll_area { overflow-y: auto; -webkit-overflow-scrolling: touch; }
header .gnav.active { opacity: 1; visibility: visible; }
header .gnav ul li { margin-bottom: 28px; }
header .gnav ul li:last-child { margin-bottom: 0; }
header .header_sns { display: flex; align-items: center; justify-content: center; gap: 35px; margin-top: 70px; }
header .header_label { position: absolute; left: -17px; top: -2px; }
header .menu-trg-area { position: fixed; top: 10px; right: 15px; margin: auto; width: 70px; height: 70px; background: #FEDF14; border-radius: 100%; border: 2px solid #000; cursor: pointer;}
header .menu-trg-area.active { background: transparent; border-color: transparent;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 21px; width: 33px; height: 24px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #000;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 10px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -9px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -9px;}

footer { position: relative; padding: 160px 0 220px; overflow: hidden; }
.footer_nami1 { position: absolute; left: 0; bottom: 0; width: 251px; }
.footer_nami2 { position: absolute; right: 0; bottom: 0; width: 347px; }
.sns_wrapper { display: flex; align-items: center; justify-content: center; gap: 35px; margin-bottom: 40px; }
.footer_name { text-align: center; font-size: 15px; letter-spacing: .04em; }
.footer_copyright { text-align: center; font-size: 12px; letter-spacing: .06em; margin-top: 10px; font-weight: 100!important; }
.top_return { position: absolute; bottom: -25px; left: 0; right: 0; margin: 0 auto; width: 230px; text-align: center; display: block; }
.footer_img1 { position: absolute; width: 168px; bottom: 210px; left: -30px; }
.footer_img2 { position: absolute; width: 122px; bottom: 260px; right: 40px; }

.fixed_acc_left { position: fixed; left: 0; bottom: 0; z-index: 9; width: 300px; pointer-events: none; }
.fixed_acc_right { position: fixed; right: 0; bottom: 0; z-index: 9; width: 300px; pointer-events: none; }

.fv { background-color: #35A7F2; height: 69vw; position: relative; }
.fv_mask { position: absolute; left: 37%; top: -2.2%; width: 58%; }
.fv img { width: 100%; }
.fv_logo { position: absolute; top: 4%; left: 4%; width: 44%; z-index: 1; }
.fv_logo img { width: 100%; }
.fv_catch { position: absolute; top: 3%; right: 13%; width: 6.3%; }
.fv_wave1 { position: absolute; top: 51.7%; left: -2%; width: 14.7%; }
.fv_hana1 { position: absolute; top: 70.5%; left: 31%; width: 24.5%; }
.fv_human1 { position: absolute; top: 58%; left: 5%; width: 6%; }
.fv_human2 { position: absolute; top: 36.2%; right: 2.4%; width: 5%; }
.fv_human3 { position: absolute; top: 55.4%; left: 25.4%; width: 18.3%; }
.fv_itachi { position: absolute; top: 75.7%; left: 65.1%; width: 16.6%; }
.fv_komori1 { position: absolute; top: 39%; left: 33.5%; width: 20.5%; }
.fv_kumo1 { position: absolute; top: -8%; left: 32%; width: 36%; }
.fv_kumo2 { position: absolute; top: 44.9%; left: -7%; width: 33%; }
.fv_kumo3 { position: absolute; top: 42%; right: -7.9%; width: 31%;}
.fv_kumo4 { position: absolute; top: 68%; left: -7.5%; width: 31.4%; }
.fv_kumo5 { position: absolute; top: 85.5%; left: 59.6%; width: 33%; }
.fv_kusa2 { position: absolute; top: 18%; right: -4.8%; width: 18.8%; }
.fv_mushi1 { position: absolute; top: 14%; right: 2.7%; width: 9.5%; }
.fv_mushi2 { position: absolute; top: 24%; right: 8%; width: 6.5%; }
.fv_mushi3 { position: absolute; top: 57.5%; left: 38.3%; width: 12%; }
.fv_sakana1 { position: absolute; top: 58.5%; left: 17.2%; width: 14.2%; }
.fv_sumo1 { position: absolute; top: 66.7%; left: 16.4%; width: 20.3%; }
.fv_tori { position: absolute; top: 65%; right: 13.4%; width: 15.3%; }
.fv_train { position: absolute; top: 60%; left: 57.7%; width: 28%; }
.fv_taiko { position: absolute; top: 54.5%; left: 81%; width: 20%; }
.fv_bottom { position: absolute; top: 69.7%; left: 33.3%; width: 71.2%; }

.sec_concept { padding: 4.2% 10.5% 10%; background-color: #35A7F2; position: relative; z-index: 2; margin-top: -1px; }
.cp_inner { position: relative; width: 100%; padding: 10% 0 0; }
.cp_bg { width: 100%; position: absolute; left: 0; top: 0; }
.cp_t1 { position: absolute; top: -3vw; left: 0; right: 0; margin: 0 auto; width: 52%; }
.cp_t2 { position: relative; margin: 0 auto; width: 29%; }
.cp_t3 { position: relative;  margin: 0 auto; width: 49%; margin-top: 4.3vw; left: .3vw; }
.cp_text { position: relative; margin: 0 auto; text-align: center; margin-top: 2vw; font-size: 1.7vw; font-weight: 700; line-height: 1.85; }
.cp_text p + p { margin-top: 2vw; }
.cp_abs { position: absolute; }
.cp_kumo1 { width: 35%; top: 1vw; right: -5vw; }
.cp_kumo2 { left: -16vw; top: 61.7vw; width: 39%; }
.cp_img1 { left: -22.7vw; top: -5.2vw; width: 45%; }
.cp_img2 { left: -4.4vw; top: 40.4vw; width: 18%; }
.cp_img3 { left: 3vw; top: 53.9vw; width: 8.9%; }
.cp_img4 { right: -1.4vw; top: 14.6vw; width: 17%; }
.cp_img5 { right: 6vw; top: 22vw; width: 11%; }
.cp_img6 { right: -4vw; top: 29.3vw; width: 22%; }
.cp_img7 { top: 57.5vw; right: -1vw; width: 20%; }
.cp_img8 { top: 67vw; right: -2vw; width: 13%; }
.cp_img9 { top: 78.3vw; right: 7.7vw; width: 21.3%; }

.sec_movie { position: relative; padding: 17vw 0 0; margin-top: -1px; background-color: #35A7F2; z-index: 1; aspect-ratio: 6/4.4; }
.movie_bg { position: absolute; left: -11.5%; top: 3%; width: 123%; max-width: none; }
.movie_t1 { text-align: center; margin-bottom: 35px; }
.movie_wrapper { position: relative; }
.movie_komori { position: absolute; top: -95px; left: -200px; }
.movie_tori { position: absolute; bottom: -18px; right: -125px; z-index: 1; }
.movie_kumo1 { position: absolute; left: -270px; bottom: -65px; width: 456px; z-index: 1; pointer-events: none; }
.movie_kumo2 { position: absolute; right: -270px; bottom: -65px; width: 456px; z-index: 1; pointer-events: none; }
.movie_komori, .movie_tori, .movie_kumo1, .movie_kumo2 { pointer-events: none; }
#ytPlayerWrap { position: relative; aspect-ratio: 16 / 9; width: 100%; cursor: pointer; background: #000; overflow: hidden; }
#ytPlayerWrap::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; }
#ytPoster { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
#ytPlayerWrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.movie_play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); cursor: pointer; z-index: 10; pointer-events: auto; }
.movie_zara { position: absolute; top: 50%; width: 100%; pointer-events: none;}

.sec_about { background-color: #35A7F2; position: relative; padding-top: 40px; margin-top: -1px; }
.about_t1 { text-align: center; margin-bottom: 42px; }
.about_p { text-align: center; font-size: 18px; font-weight: 600; letter-spacing: .08em; line-height: 1.944; }
.about_button { margin-top: 40px; }
.about_img1 { position: absolute; left: -17px; bottom: 0; }
.about_img2 { position: absolute; right: 30px; bottom: -10px; }
.site_button { position: relative; border-radius: 1000px; background-image: url(../images/button_bg.png); color: #fff!important; font-size: 16px; letter-spacing: .1em; width: 256px; height: 64px; display: flex; align-items: center; justify-content: center; margin-left: auto; margin-right: auto; font-weight: 700; font-family: "Noto Sans JP", sans-serif; }
.site_button_icon { position: absolute; right: 18px; top: 0; bottom: 0; margin: auto 0; }
.site_button.transparent { background: transparent; border: none; color: #000!important; width: auto; height: auto; display: inline-block; }
.site_button.transparent .site_button_icon { position: static; margin-left: 7px; }

.sec_map { background-color: #35A7F2; position: relative; padding: 85px 0; margin-top: -1px; }
.map_wrapper { position: relative; max-width: 1300px; margin: 0 auto; }
.map_wrapper .container-fluid { padding-top: 90px; z-index: 4; }
.map_bg { width: 1130px; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; z-index: 2; }
.map_t1 { text-align: center; font-size: 36px; letter-spacing: 0; font-weight: 900; }
.map_contents { display: flex; flex-wrap: wrap; align-items: center; }
.map_image { width: 40%; }
.map_detail { width: 54%; padding-left: 55px; line-height: 1.944; font-size: 18px; font-weight: 600; padding-bottom: 55px; }
.map_kumo1 { position: absolute; left: -165px; top: -86px; width: 430px; z-index: 3; }
.map_kumo2 { position: absolute; right: -42px; bottom: -105px; width: 397px; z-index: 1; }
.map_zara { position: absolute; top: 50%; width: 100%; pointer-events: none; z-index: 0; pointer-events: none; }

.sec_key { position: relative; padding: 8.7vw 0 1vw; z-index: 2; }
.key_header { width: 100%; position: relative; }
.key_header_top { position: relative; width: 100%; z-index: 2; }
.key_img1 { position: absolute; left: -67px; bottom: -12px; z-index: 1; }
.key_img2 { position: absolute; right: -90px; bottom: -11px; z-index: 1; }
.key_img3 { position: absolute; left: 48px; bottom: 6px; z-index: 2; }
.key_img4 { position: absolute; right: 218px; bottom: 13px; z-index: 2; }
.key_img5 { position: absolute; left: 0; right: 389px; bottom: -25px; margin: 0 auto; z-index: 2; }
.key_body { padding-top: 55px; background-image: url(../images/key_bg.png); background-size: 50%; background-repeat: repeat; position: relative; margin-top: -1px; }
.key_img6 { position: absolute; left: 0; right: 645px; top: 29px; margin: 0 auto; }
.key_footer { position: relative; margin-top: -1px; }
.key_footer_bottom { width: 100%; }
.key_img8 { position: absolute; right: 71%; left: 0; top: 50%; margin: 0 auto; width: 12%; }
.key_t1 { text-align: center; margin-bottom: 45px; }
.key_creator { display: flex; align-items: center; gap: 45px; margin-top: 60px; position: relative; max-width: 750px; margin-left: auto; margin-right: auto; color: #FEDF14; }
.key_creator_photo { position: relative; flex-shrink: 0; width: 200px; }
.key_creator_photo img { width: 100%; }
.key_creator_label { position: absolute; left: -30px; top: -20px; width: 55px!important; z-index: 1; }
.key_creator_info { flex: 1; padding-top: 5px; }
.key_creator_name { font-size: 24px; font-weight: 900; margin-bottom: 18px; color: #FEDF14; }
.key_creator_text { font-size: 15px; line-height: 1.8; font-weight: 500; color: #FEDF14; }
.key_creator_sns { display: flex; align-items: center; gap: 20px; margin-top: 40px; list-style: none; padding: 0; }
.key_creator_sns img { width: 28px; }
.key_img7 { position: absolute; right: -70px; bottom: -90px; }
.key_mainphoto { position: relative; }

.sec_news { padding: 65px 0 65px; }
.news_t1 { text-align: center; margin-bottom: 40px; }
.news_container { max-width: 860px; margin: 0 auto; padding: 0 30px; position: relative; }
.news_img1 { position: absolute; right: 0; top: 0; }
.news_slide_wrapper { position: relative; }
.news_slide { overflow: visible; }
.news_slide * { overflow: visible; }
.news_slide .slick-slide { padding: 0 5px; }
.news_kumo1 { position: absolute; left: -317px; bottom: -54px; }
.news_kumo2 { position: absolute; right: -276px; bottom: -31px; }
.news_text { font-size: 18px; font-weight: bold; margin-top: 40px; letter-spacing: .1em; text-align: center; }
.news_button { margin-top: 50px; }

.facility_header { position: relative; }
.facility_header_bg { width: 100%; }
.facility_img1 { position: absolute; left: 10%; bottom: 30%; }
.facility_img2 { position: absolute; right: -20px; bottom: -20%; }
.facility_body { padding: 55px 0 35px; background-image: url(../images/facility_bg_body.png); background-size: 100%; }
.facility_t1 { text-align: center; margin-bottom: 90px; position: relative; }
.facility_img3 { position: absolute; left: 0; right: 440px; top: -10px; margin: auto; }
.facility_t2 { font-size: 28px; font-weight: 900; margin-bottom: 30px; }
.facility_detail { font-size: 17px; font-weight: 600; letter-spacing: .08em; }
.facility_label { position: absolute; right: 0; top: 0; }

.sec_archive { background-image: url(../images/archive_bg.png); background-size: 100%; padding-top: 264px; padding-bottom: 170px; position: relative; }
.archive_t1 { text-align: center; margin-bottom: 40px; }
.archive_catch { text-align: center; margin-bottom: 40px; font-size: 18px; letter-spacing: .1em; font-weight: 700; }
.archive_note { padding: 45px 35px 0; background-image: url(../images/archive_note.png); background-size: 100%; aspect-ratio: 10/10.8; margin-bottom: 25px; position: relative; }
.archive_note_photo { margin-bottom: 15px; }
.archive_note_title { font-size: 20px; font-weight: 900; margin-bottom: 7px; }
.archive_note_detail { font-size: 13px; letter-spacing: .04em; line-height: 1.71; }
.archive_note_link { border-top: 1px dotted #000; text-align: right; margin-top: 10px; }
.archive_note_link span { display: inline-block; margin-right: 7px; margin-top: 10px; font-size: 13px; }
.archive_img1 { position: absolute; top: -100px; left: 60px; }
.archive_img2 { position: absolute; left: 40%; right: 0; top: 2%; margin: 0 auto; }
.archive_img3 { position: absolute; right: 0; top: -50px; }
.archive_img4 { position: absolute; left: -30px; bottom: -48px; }

.researcher_wrapper { position: relative; background-image: url(../images/researcher_bg.png); background-size: 100%; margin-top: -50px; padding-top: 100px; }
.researcher_t1 { text-align: center; margin-bottom: 40px; }
.researcher_catch { font-size: 18px; font-weight: 700; text-align: center; letter-spacing: .1em; margin-bottom: 40px; }
.researcher_img1 { position: absolute; left: 60px; top: 0; }
.researcher_img2 { position: absolute; right: 60px; top: 0	}
.researcher_list { overflow: visible; max-width: 890px; margin-left: auto; margin-right: auto; }
.researcher_list * { overflow: visible; }
.researcher_slide { text-align: center; padding: 0 12px; }
.researcher_slide_photo { margin-bottom: 15px; height: 206px; display: flex; align-items: center; justify-content: center; }
.researcher_slide_photo img { margin-left: auto; margin-right: auto; }
.researcher_slide_label { display: inline-block; letter-spacing: .04em; padding: 0 5px; font-weight: 600; }
.researcher_slide_text { margin-top: 10px; line-height: 1.42; font-size: 14px; letter-spacing: .04em; }
.researcher_slide_name { margin-top: 8px; font-size: 18px; font-weight: 600; }
.researcher_button .site_button { width: 302px; background-image: url(../images/researcher_button_bg.png); background-size: 100%; background-repeat: no-repeat; }
.researcher_list .slick-arrow { width: 53px; z-index: 2; top: 100px; }
.researcher_list .slick-arrow:before { display: none; }
.researcher_list .slick-arrow.slick-prev { left: -100px; }
.researcher_list .slick-arrow.slick-next { right: -100px; }

.page_hero { text-align: center; padding: 170px 0 120px; }
.page_about { background-color: #35A7F2; position: relative; }
.page_about_top { position: absolute; top: 0; left: 0; width: 100%; z-index: -1; }
.page_about_bottom { position: absolute; bottom: 0; left: 0; width: 100%; z-index: -1; }
.page_about_title { font-size: 32px; letter-spacing: .04em; line-height: 45px; font-weight: 700; margin-bottom: 25px; }
.page_about_text { font-size: 16px; line-height: 30px; letter-spacing: .04em; max-width: 100%; width: 399px; }
.page_about .order-md-1 { padding-left: 160px; }

.page_facility { background-color: #EBE3D3; background-image: url(../images/page_facility_bg.png); background-size: 100%; }
.page_facility_block + .page_facility_block { margin-top: 100px; padding-top: 100px; border-top: 1px dashed #B4A891; }
.page_facility_block_title { font-size: 32px; letter-spacing: .04em; line-height: 1.56; font-weight: bold; margin-bottom: 40px; }
.page_facility_block_photo { position: relative; }
.page_facility_block_photo_label { position: absolute; width: 207px; right: -44px; bottom: -84px; }
.page_facility_block_comming { margin-top: 70px; text-align: center; font-size: 39px; line-height: 1.6666; color: rgba(0,0,0,.3); font-weight: 900; }

.page_researcher { background-color: #EBE3D3; background-image: url(../images/page_researcher_bg.png); background-size: 100%; }
.page_researcher_catch { margin-bottom: 200px; }
.page_researcher_catch .title { font-size: 32px; letter-spacing: .04em; line-height: 1.56; font-weight: bold; margin-bottom: 25px; }
.page_researcher_catch .text { font-size: 16px; letter-spacing: .04em; line-height: 1.875; }
.page_researcher_effect .title { font-size: 32px; letter-spacing: .04em; line-height: 1.56; font-weight: bold; margin-bottom: 60px; text-align: center; }
.page_researcher_effect_photo { text-align: center; margin-bottom: 20px; }
.page_researcher_effect_photo img { width: 186px; }
.page_researcher_effect_title { font-size: 20px; letter-spacing: .04em; line-height: 1.56; font-weight: 700; margin-bottom: 20px; }
.page_researcher_effect_text { font-size: 16px; letter-spacing: .04em; line-height: 1.875; }
.page_researcher_req { margin-top: 50px; background-color: #fff; border-radius: 20px; padding: 45px; }
.page_researcher_req .title { font-size: 32px; letter-spacing: .04em; line-height: 1.56; font-weight: bold; text-align: center; margin-bottom: 25px; }
.page_researcher_buttons { margin-top: 130px; }
.page_researcher_buttons .message { position: relative; display: flex; align-items: center; justify-content: center; font-size: 24px; letter-spacing: .04em; line-height: 1.666; font-weight: 900; text-align: center; margin-bottom: 60px; }
.page_researcher_buttons .message:before { content: ""; position: relative; top: 4px; width: 90px; height: 2px; background-color: #000; display: block; transform: rotate(45deg); }
.page_researcher_buttons .message:after { content: ""; position: relative; top: 4px; width: 90px; height: 2px; background-color: #000; display: block; transform: rotate(-45deg); }
.page_researcher_buttons .message span { display: inline-block; }
.page_researcher_buttons .site_button { font-size: 22px; letter-spacing: .1em; width: 558px; height: 116px; background-image: url(../images/page_researcher_button.png); background-size: 100%; background-repeat: no-repeat; margin: 0 auto; border-radius: 20px; display: flex; align-items: center; }
.page_researcher_buttons .site_button_icon { width: 42px; right: 32px; }

@media (max-width: 767px) {
	.container-fluid { padding-left: 35px; padding-right: 35px; }
	header .header_logo { width: 230px; top: 22px; left: 16px;  }
	header .menu-trg-area { width: 50px; height: 50px; top: 20px; right: 20px; }
	header .menu-trigger { top: 14px; width: 23px; height: 18px; }
	header .menu-trigger span:nth-of-type(2) { top: 8px; }
	header .menu-trigger.active span:nth-of-type(1) { top: -12px; }
	header .menu-trigger.active span:nth-of-type(3) { bottom: -12px; }
	header .gnav { width: 310px; border-radius: 35px; padding: 60px 0; text-align: center; }
	header .gnav ul li { margin-bottom: 25px; }
	header .header_label { left: 0; }
	header .header_sns { margin-top: 55px; gap: 20px; }

	.fixed_acc_left { width: 200px; bottom: -10px; }
	.fixed_acc_right { width: 200px; bottom: -10px; }

	.fv { height: 791px; }
	.fv_logo { top: 18px; left: 20px; width: 229px; }
	.fv_mask { left: -74px; top: 234px; width: 554px; }
	.fv_catch { width: 41px; left: 290px; top: 197px; }
	.fv_bottom { width: 444px; top: 637px; left: -45px; z-index: 10; }
	.fv_sakana1 { display: none; }
	.fv_kumo1 { top: -20px; width: 291px; right: -90px; left: auto; }
	.fv_kumo2 { top: 199px; width: 269px; left: -111px; z-index: 1; }
	.fv_kumo3 { top: 435px; width: 251px; right: -89px; left: auto; z-index: 5; }
	.fv_kumo4 { width: 291px; top: 597px; left: -59px; }
	.fv_human1 { width: 39px; left: 45px; top: 569px; z-index: 1; }
	.fv_komori1 { width: 145px; top: 139px; left: 194px; }
	.fv_hana1 { width: 152px; top: 624px; left: -28px; z-index: 11; }
	.fv_human2 { width: 37px; left: 13px; top: 163px; }
	.fv_mushi1 { width: 66px; left: 102px; top: 235px; z-index: 2; }
	.fv_mushi2 { width: 47px; left: 99px; top: 277px; z-index: 2; }
	.fv_mushi3 { display: none; }
	.fv_sumo1 { width: 98px; left: 10px; top: 234px; z-index: 2; }
	.fv_train { display: none; }
	.fv_tori { width: 106px; left: 187px; top: 590px; z-index: 7; }
	.fv_itachi { width: 117px; left: 169px; top: 627px; z-index: 8; }
	.fv_human3 { width: 112px; left: 237px; top: 399px; z-index: 2; }
	.fv_wave1 { width: 99px; left: -18px; top: 513px; }
	.fv_kumo5 { width: 181px; left: 203px; top: 742px; }
	.fv_taiko { width: 165px; left: 217px; top: 501px; z-index: 6; }
	.fv_kusa2 { width: 116px; left: 277px; top: 328px; }

	.site_button { font-size: 11px; width: 180px; height: 45px; background-size: 100%; }
	.site_button_icon { width: 16px; right: 18px; }

	.sec_concept { padding: 28px 0 120px; }
	.cp_inner { position: static; padding: 50px 0 0; }
	.cp_bg { width: 590px; top: 14px; left: -91px; max-width: none; }
	.cp_t1 { width: 324px; }
	.cp_t2 { width: 133px; }
	.cp_t3 { margin-top: 53px; width: 214px; left: 6px; }
	.cp_kumo1 { display: none; }
	.cp_kumo2 { left: -86px; width: 178px; top: 603px; z-index: 1; }
	.cp_img1 { top: -34px; left: -78px; width: 177px; }
	.cp_img2 { width: 81px; left: -16px; top: 160px; }
	.cp_img3 { width: 35px; left: 25px; top: 567px; }
	.cp_img4 { width: 79px; right: auto; left: 291px; top: 68px;}
	.cp_img5 { width: 50px; left: 277px; right: auto; top: 112px;}
	.cp_img6 { width: 110px; left: 288px; top: 345px; }
	.cp_img7 { width: 82px; left: 254px; top: 670px;}
	.cp_img8 { width: 50px; left: 304px; top: 725px; }
	.cp_img9 { width: 109px; left: 165px; top: 710px; }
	.cp_text { font-size: 13px; margin-top: 27px; padding-left: 10px; }
	.cp_text p + p { margin-top: 9px; }
	.cp_text p:nth-child(3) { margin-top: 15px; }
	.cp_text p:nth-child(4) { margin-top: 17px; }
	.cp_text p:nth-child(5) { margin-top: 14px; }

	.sec_movie { height: 397px; aspect-ratio: initial; padding-top: 68px; padding: 67px 0 0; }
	.movie_zara { top: 35%; }
	.movie_bg { width: 703px; max-width: none; left: -192px; top: 0; }
	.movie_t1 { margin-bottom: 15px; }
	.movie_t1 img { width: 102px; }
	.movie_komori { width: 107px; left: -13px; top: -75px; }
	.movie_tori { width: 74px; right: -29px; bottom: -2px; }
	.movie_play { width: 50px; }
	.movie_kumo1 { width: 207px; left: -100px; bottom: -28px; }
	.movie_kumo2 { width: 195px; right: -70px; bottom: -28px; }

	.sec_about { padding-top: 8px; padding-bottom: 30px; }
	.about_t1 { padding-right: 19px; margin-bottom: 29px; }
	.about_p { font-size: 12px; letter-spacing: 0; line-height: 23px; margin-left: -10px; margin-right: -10px; }
	.about_img1 { width: 113px; left: -14px; bottom: -20px; }
	.about_img2 { width: 79px; left: 290px; bottom: -30px;}
	.about_button { margin-top: 31px; }

	.sec_map { padding: 29px 0 0; }
	.map_bg { width: 350px; right: 8px; }
	.map_zara { top: 90%; }
	.map_kumo1 { display: none; }
	.map_kumo2 { display: none; }
	.map_wrapper .container-fluid { padding-top: 46px; }
	.map_t1 { font-size: 19px; }
	.map_contents { margin-top: 50px; justify-content: center; }
	.map_image { width: 100%; text-align: center; padding-right: 20px; }
	.map_image img { width: 234px; }
	.map_detail { width: 251px; margin-left: auto; margin-right: auto; padding-left: 0; font-size: 12px; line-height: 23px; margin-top: 30px; }

	.sec_key { padding: 98px 0 0; }
	.sec_key .container-fluid { padding-left: 20px; padding-right: 20px; }
	.key_img1 { width: 159px; left: -36px; right: auto; bottom: -3px; }
	.key_img2 { width: 168px; left: 236px; }
	.key_img3 { width: 61px; left: -6px; top: -7px; }
	.key_img4 { width: 99px; left: 149px; top: -25px;}
	.key_img5 { display: none; }
	.key_img6 { width: 68px; left: 20px; right: auto; top: 29px; }
	.key_img7 { width: 86px; right: -30px; bottom: -53px; }
	.key_img8 { width: 68px; left: -6px; top: 24px; }
	.key_body { z-index: 1; padding-top: 33px; padding-bottom: 28px; }
	.key_t1 { margin-bottom: 31px; }
	.key_t1 img { width: 187px; }
	.key_creator { max-width: 320px; gap: 0; align-items: flex-start; margin-top: 40px; }
	.key_creator_photo { width: 100px; margin-right: 17px; }
	.key_creator_info { width: 203px; padding-top: 0; }
	.key_creator_name { font-size: 13px; letter-spacing: .04em; line-height: 22px; margin-bottom: 9px; margin-top: -3px; }
	.key_creator_text { font-size: 10px; line-height: 18px; letter-spacing: .04em; }
	.key_creator_label { width: 33px!important; left: 50px; top: -18px; }
	.key_creator_sns { margin-top: 18px; gap: 18px; }
	.key_creator_sns img { width: auto; height: 19px; }

	.sec_news { padding: 65px 0 71px; }
	.news_t1 { margin-bottom: 26px; }
	.news_t1 img { width: 161px; }
	.news_img1 { width: 81px; top: -5px; }
	.news_slide { width: 150px; margin-left: auto; margin-right: auto; }
	.news_slide img { width: 100%; }
	.news_slide .slick-slide { padding: 0 3px; }
	.news_kumo1 { width: 192px; left: -158px; bottom: -27px; }
	.news_kumo2 { width: 177px; left: 239px; bottom: auto; top: -63px; right: auto; }
	.news_text { margin-top: 22px; font-size: 13px; letter-spacing: .04em; }
	.news_button { margin-top: 24px; }

	.facility_img1 { width: 109px; left: 13px; bottom: -10px; }
	.facility_img2 { width: 122px; right: -6px; bottom: -10px; }
	.facility_body { padding: 46px 0 68px; }
	.facility_t1 { padding-left: 5px; margin-bottom: 37px; }
	.facility_t1_img { width: 159px; }
	.facility_img3 { width: 65px; left: 10px; top: -18px; }
	.sec_facility .container-fluid { padding: 0 20px; }
	.facility_photo { margin-bottom: 14px; }
	.facility_t2 { font-size: 17px; letter-spacing: .04em; margin-bottom: 10px; }
	.facility_detail { font-size: 13px; letter-spacing: .04em; line-height: 22px; }
	.facility_label { right: 13px; bottom: -10px; top: auto; }

	.sec_archive { padding-top: 66px; padding-bottom: 99px; background-image: url(../images/archive_bg_sp.png); background-size: 100%; background-position: 0 -3px; }
	.sec_archive .container-fluid { padding: 0 19px; }
	.archive_img1 { width: 63px; left: 20px; top: -30px; }
	.archive_img2 { width: 63px; top: -30px; left: 216px; right: auto; }
	.archive_img3 { width: 112px; right: -32px; top: -37px; }
	.archive_t1 { margin-bottom: 20px; }
	.archive_t1 img { width: 134px; }
	.archive_catch { font-size: 12px; letter-spacing: 0; line-height: 23px; margin-bottom: 14px; }
	.archive_note { padding: 24px 22px 20px 25px; aspect-ratio: initial; margin-bottom: 2px; }
	.archive_note.v1 { background-image: url(../images/archive_note_v1.png); background-size: 100%; }
	.archive_note.v2 { background-image: url(../images/archive_note_v2.png); background-size: 100%; }
	.archive_note.v3 { background-image: url(../images/archive_note_v3.png); background-size: 100%; }
	.archive_note.v4 { background-image: url(../images/archive_note_v4.png); background-size: 100%; }
	.archive_note_sp { display: flex; align-items: center; margin-bottom: 9px; }
	.archive_note_photo { width: 148px; margin-right: 18px; margin-bottom: 0; }
	.archive_note_title { width: 111px; font-size: 15px; letter-spacing: .04em; line-height: 22px; margin-bottom: 0; }
	.archive_note_detail { font-size: 9px; letter-spacing: .04em; line-height: 15px; }
	.archive_note_link span { font-size: 9px; }
	.archive_note_link img { width: 12px; }
	.archive_img4 { width: 66px; bottom: -15px; left: 33px; }

	.researcher_wrapper { background-image: url(../images/researcher_bg_sp.png); padding-top: 52px; }
	.researcher_t1 { margin-bottom: 28px; }
	.researcher_t1 img { width: 202px; }
	.researcher_img1 { width: 31px; left: 28px; top: -30px; }
	.researcher_img2 { width: 34px; right: 30px; top: -26px; }
	.researcher_catch { font-size: 12px; letter-spacing: 0; line-height: 23px; }
	.researcher_list { max-width: 264px; }
	.researcher_slide_photo { height: 133px; margin-bottom: 8px; }
	.researcher_slide_label { font-size: 9px; display: block; width: 78px; margin: 0 auto; }
	.researcher_slide_text { font-size: 8px; line-height: 12px; letter-spacing: .04em; margin-top: 5px; }
	.researcher_slide_name { font-size: 10px; line-height: 19px; letter-spacing: .04em; margin-top: 7px; }
	.researcher_list .slick-arrow { top: 60px!important; bottom: auto!important; width: 35px; z-index: 2; }
	.researcher_list .slick-arrow:before { display: none!important; }
	.researcher_list .slick-arrow.slick-prev { left: -25px; }
	.researcher_list .slick-arrow.slick-next { right: -25px; }
	.researcher_button .site_button { width: 210px; }

	footer { padding: 93px 0 180px; }
	.footer_nami1 { width: 120px; bottom: 20px; }
	.footer_nami2 { width: 120px; bottom: 20px; }
	.footer_img1 { width: 68px; bottom: 104px; left: -11px; }
	.footer_img2 { width: 51px; bottom: 120px; right: 6px; }
	.sns_wrapper { gap: 30px; margin-bottom: 26px; }
	.sns_icon_facebook { width: 31.65px; }
	.sns_icon_instagram { width: 29.42px; }
	.sns_icon_x { width: 27.21px; }
	.sns_icon_youtube { width: 36.56px; }
	.footer_name { font-size: 11px; letter-spacing: .04em; line-height: 35px; }
	.footer_copyright { font-size: 8px; letter-spacing: .06em; line-height: 11px; margin-top: 0; }
	.top_return { width: 112px; bottom: 58px; }
	.top_return_text { width: 36px; margin-bottom: 3px; margin-left: 6px; }

	.page_hero img { height: 40px; }
	.page_about .order-md-1 { padding-left: 25px; }
	.page_hero { padding: 110px 0 40px; }
	.page_about_title { font-size: 18px; line-height: 30px; margin-bottom: 15px; }
	.page_about_text { font-size: 13px; line-height: 24px; }

	.page_facility_block_title { font-size: 18px; margin-bottom: 20px; }
	.page_facility_block_photo_label { width: 82px; right: -8px; bottom: -31px; }
	.page_facility_block_comming { margin-top: 23px; font-size: 18px; }
	.page_facility_block + .page_facility_block { margin-top: 40px; padding-top: 40px; }

	.page_researcher_catch { margin-bottom: 100px; }
	.page_researcher_catch .title { font-size: 18px; line-height: 30px; margin-bottom: 15px; }
	.page_researcher_catch .text { font-size: 13px; line-height: 24px; }
	.page_researcher_effect .title { font-size: 18px; line-height: 30px; margin-bottom: 40px; }
	.page_researcher_effect_photo img { width: 120px; }
	.page_researcher_effect_title { font-size: 15px; line-height: 22px; margin-bottom: 10px; }
	.page_researcher_effect_text { font-size: 13px; line-height: 24px; }
	.page_researcher_req .title { font-size: 18px; line-height: 30px; margin-bottom: 15px; }
	.page_researcher_buttons { margin-top: 60px; }
	.page_researcher_buttons .message { font-size: 14px; line-height: 23px; margin-bottom: 25px; }
	.page_researcher_buttons .message:before { width: 60px; transform: rotate(60deg); }
	.page_researcher_buttons .message:after { width: 60px; transform: rotate(-60deg); }
	.page_researcher_buttons .site_button { width: 260px; height: 60px; background-size: cover; font-size: 13px; border-radius: 10px; padding-right: 10px; }
	.page_researcher_buttons .site_button_icon { width: 16px; right: 12px; }
}