@charset "UTF-8";
/******************************* Preface ***************************************/
a:hover { color: #BCB1A9; }

/********************************* body ***************************************/
body { /******************************** header **************************************/ /********************************  Main Content ******************************/ /***********************************  footer ********************************/ }

body header.header-01 .inner { padding: 1rem 1rem; }

body header.header-01 .inner .f-warp { display: block; padding-right: 0; }

body header.header-01 .inner .logo { width: 33%; }

body header.header-01 .inner .funa2_nav { display: none; }

body header.header-01 .inner .menu-wrapper { display: block; }

body header.header-01 .inner .menu-wrapper .gnav { position: fixed; top: 0; right: -100%; bottom: 0; width: 100%; padding: 6rem 0; background: #BCB1A9; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; opacity: 0; z-index: -1; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container { width: 100%; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu { display: flex; flex-wrap: nowrap; flex-direction: column; align-items: flex-end; justify-content: center; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li { width: 100%; text-align: center; padding: 0 1.5rem 2rem 1.5rem; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li a { position: relative; display: block; padding: 1rem 1rem; font-size: 1.4rem; font-weight: 400; color: #fff; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li a::before { content: ''; display: block; position: absolute; top: 50%; left: .5em; transform: translateY(-50%); width: 15px; height: 15px; background-image: url(../img/arrow.svg); background-repeat: no-repeat; }

body header.header-01 .inner .menu-wrapper .gnav .gnav_sns li { margin: 1.5rem 1.5rem; text-align: center; font-size: 1rem; }

body header.header-01 .inner .menu-wrapper .gnav .gnav_sns li a { display: flex; justify-content: center; align-items: center; color: #fff; font-size: 1.2rem; }

body header.header-01 .inner .menu-wrapper .gnav .gnav_sns li a svg { width: 9%; fill: #fff; /* 塗りつぶしの色 */ stroke: #fff; /* 線の色（枠線） */ stroke-width: 5; margin-right: 1rem; }

body header.header-01 .inner .menu-wrapper .toggle-btn { position: absolute; top: 50%; right: 1.5rem; width: 35px; height: 30px; transition: all .5s; cursor: pointer; z-index: 999; transform: translateY(-50%); }

body header.header-01 .inner .menu-wrapper .toggle-btn span { display: block; position: absolute; left: 0; width: 35px; height: 3px; background-color: #fff; transition: all .5s; border-radius: 3px; }

body header.header-01 .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 0px; }

body header.header-01 .inner .menu-wrapper .toggle-btn span:nth-child(2) { top: 14px; }

body header.header-01 .inner .menu-wrapper .toggle-btn span:nth-child(3) { bottom: 0; }

body header.header-01 .inner .menu-wrapper.menu-open .gnav { top: 0; right: 0; opacity: 1; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn { margin-top: 0; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn:hover span { background-color: #fff; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span { background-color: #fff; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(1) { -webkit-transform: translateY(10px) rotate(-315deg); transform: translateY(10px) rotate(-315deg); }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(2) { display: none; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(3) { -webkit-transform: translateY(-17px) rotate(315deg); transform: translateY(-17px) rotate(315deg); }

body .mainVi { position: relative; width: 100%; /* スクロールダウンの位置 */ /* 線のアニメーション部分 */ /* 線のアニメーション */ }

body .mainVi .slick_mv { max-height: 90vh; overflow: hidden; /* 画像がはみ出ないようにする */ width: 100%; }

body .mainVi .slick_mv li { max-height: auto; margin-top: -3%; }

body .mainVi .slick_mv li img { max-height: auto; }

body .mainVi .slick-img img { max-height: auto; }

@keyframes zoomUp { 0% { transform: scale(0.9); }
		100% { transform: scale(1.1);
				/* 拡大率 */ } }

body .mainVi .add-animation { animation: zoomUp 10s linear 0s normal both; }

body .mainVi .mv_bg { position: absolute; width: 100%; bottom: 0; left: 0; }

body .mainVi .mv_bg img { max-height: auto; }

body .mainVi .scroll { position: absolute; left: auto; right: 3%; bottom: 15%; writing-mode: vertical-rl; }

body .mainVi .scroll::before { animation: scroll 2s infinite; background-color: #000; bottom: -85px; content: ""; height: 70px; left: 0; margin: auto; position: absolute; right: 0; width: 1px; }

body #youtube-area { aspect-ratio: 1 / 1; max-height: 100vh; }

body #youtube-area #youtube { aspect-ratio: 1 / 1; max-height: 100vh; }

body #youtube-area .loader { position: absolute; top: 34%; left: 40%; width: 18%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(farthest-side, #ffe100 94%, #0000) top/8px 8px no-repeat, conic-gradient(#0000 30%, #ffa516); -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0); animation: l13 1s infinite linear; }

body .breadcrumb-wrap { padding: 0 1.5rem; }

body .breadcrumb-wrap ul { max-width: 100%; }

body main .border-d { max-width: 87%; margin: 0 auto; background: url("../img/border-d.png") repeat-x; padding: .2rem 0; }

body .content-wrap { padding: 4rem 0; }

body .content-wrap .inner { padding: 0 2rem; }

body .content-wrap .inner .inner { padding: 0; }

body .content-wrap .inner.inner-l { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-m { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-s { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap h1.page-title, body .content-wrap h2.page-title, body .content-wrap h3.page-title, body .content-wrap h4.page-title, body .content-wrap h5.page-title, body .content-wrap h6.page-title { font-size: 1.4rem; }

body .content-wrap h1.section-title-01, body .content-wrap h2.section-title-01, body .content-wrap h3.section-title-01, body .content-wrap h4.section-title-01, body .content-wrap h5.section-title-01, body .content-wrap h6.section-title-01 { font-size: 2.5rem; margin-bottom: 2.5rem; }

body .content-wrap h1.content-title-01 .main, body .content-wrap h2.content-title-01 .main, body .content-wrap h3.content-title-01 .main, body .content-wrap h4.content-title-01 .main, body .content-wrap h5.content-title-01 .main, body .content-wrap h6.content-title-01 .main { font-size: 3.5rem; margin-bottom: .8rem; }

body .content-wrap h1.content-title-01 .sub, body .content-wrap h2.content-title-01 .sub, body .content-wrap h3.content-title-01 .sub, body .content-wrap h4.content-title-01 .sub, body .content-wrap h5.content-title-01 .sub, body .content-wrap h6.content-title-01 .sub { font-size: 1.2rem; }

body .content-wrap h1.content-title-02, body .content-wrap h2.content-title-02, body .content-wrap h3.content-title-02, body .content-wrap h4.content-title-02, body .content-wrap h5.content-title-02, body .content-wrap h6.content-title-02 { margin-bottom: 3rem; }

body .content-wrap h1.content-title-02 .main, body .content-wrap h2.content-title-02 .main, body .content-wrap h3.content-title-02 .main, body .content-wrap h4.content-title-02 .main, body .content-wrap h5.content-title-02 .main, body .content-wrap h6.content-title-02 .main { color: #EDEAE7; font-size: 3.5rem; margin-bottom: .8rem; }

body .content-wrap h1.content-title-02 .sub, body .content-wrap h2.content-title-02 .sub, body .content-wrap h3.content-title-02 .sub, body .content-wrap h4.content-title-02 .sub, body .content-wrap h5.content-title-02 .sub, body .content-wrap h6.content-title-02 .sub { font-size: 1.2rem; }

body .content-wrap h1.content-title-03, body .content-wrap h2.content-title-03, body .content-wrap h3.content-title-03, body .content-wrap h4.content-title-03, body .content-wrap h5.content-title-03, body .content-wrap h6.content-title-03 { margin-bottom: 3rem; font-size: 1.2rem; }

body .content-wrap.content-wrap-intro .intro { font-size: 1.1rem; line-height: 2.5; }

body .content-wrap.content-wrap-about .about_image { width: 56%; margin: 0 auto 2rem auto; }

body .content-wrap.content-wrap-about .about_contents { display: block; }

body .content-wrap.content-wrap-about .about_contents .content-title-01 { width: 100%; }

body .content-wrap.content-wrap-about .about_contents .about_txt { width: 100%; padding-left: 0; line-height: 2.2; }

body .content-wrap.content-wrap-about .about_contents .content-title-01 { text-align: left !important; margin-bottom: 1.5rem; }

body .content-wrap.content-wrap-insta .box-4col { display: flex; flex-wrap: wrap; justify-content: center; }

body .content-wrap.content-wrap-insta .box-4col li { width: 48%; margin-right: 4%; margin-bottom: 4%; }

body .content-wrap.content-wrap-insta .box-4col li:nth-child(2n) { margin-right: 0; }

body .content-wrap.content-wrap-seasons .seasons-wrap { display: block; }

body .content-wrap.content-wrap-seasons .seasons-wrap .thm { width: 70%; margin: 0 auto; }

body .content-wrap.content-wrap-seasons .seasons-wrap .seasons_contsnts { width: 100%; padding-left: 0; }

body .content-wrap.content-wrap-seasons .seasons-wrap .seasons_contsnts .link-btn { width: 100%; margin-top: 2rem; }

body .content-wrap.content-wrap-seasons .seasons-wrap .seasons_contsnts .content-title-01 { line-height: 1.1; margin-bottom: 2rem; }

body .content-wrap.content-wrap-profile .profile_box { display: flex; align-items: flex-start; }

body .content-wrap.content-wrap-profile .profile_box .thm { width: 35%; }

body .content-wrap.content-wrap-profile .profile_box .profile { width: 65%; padding-left: 1.5rem; }

body .content-wrap.content-wrap-profile .profile_box .profile .ttl { font-size: 1.25rem; font-weight: 500; }

body .content-wrap.content-wrap-profile .profile_box .profile .name { font-size: 1.2rem; font-weight: bold; }

body .content-wrap.content-wrap-profile .profile_box .profile .name_en { font-size: 0.85rem; }

body .content-wrap.content-wrap-profile .profile_box .profile .txt { margin-top: 1rem; }

body .content-wrap.content-wrap-topcal .cal-top { width: 90%; margin: 1.5rem auto 0 auto; }

body .content-wrap.content-wrap-flink .box-2col li { width: 100%; margin-right: 0; margin-bottom: 2rem; }

body .content-wrap.content-wrap-calbk { padding-top: 3rem; }

body .content-wrap.content-wrap-calbk .cal_month { margin: 0 auto 6rem auto; }

body .content-wrap.content-wrap-calbk .cal_month:last-child { margin-bottom: 0; }

body .content-wrap.content-wrap-calbk .cal_month .ttl { font-size: 1.3rem; margin-bottom: 1rem; }

body .content-wrap.content-wrap-calbk .cal_month .cal { width: 90%; margin: 0 auto 2.5rem auto; }

body .content-wrap.content-wrap-calbk .cal_month .dl_btn_list { display: block; }

body .content-wrap.content-wrap-calbk .cal_month .dl_btn_list .dl_btn { position: relative; width: 100%; text-align: center; margin-top: 1.5rem; }

body .content-wrap.content-wrap-calbk .cal_month .dl_btn_list .dl_btn a { display: block; font-size: 1.125rem; padding: .6rem 1rem; margin: 0; }

body .content-wrap.content-wrap-calbk .cal_month .dl_btn_list .dl_btn i { font-size: 1.125rem; }

body .content-wrap .link-btn { width: 100%; }

body .content-wrap .link-btn a { padding: .6rem 1rem; display: block; }

body .modal { --bs-modal-width: 100% !important; padding: 0 2rem; }

body .modal .modal-dialog { max-width: 920px; margin: 0 auto; height: 100%; }

body .modal .modal-dialog .modal-content { display: flex; position: relative; padding: 5rem; border-radius: 20px; border: 1px solid #707070; }

body .modal .modal-dialog .modal-content .close { background: #707070; font-weight: normal; outline: none; top: -15px; right: -15px; border-radius: 100px; text-shadow: none; font-size: 2rem; opacity: 1; }

body .modal .modal-dialog .modal-content .close span { display: block; padding: .5rem; color: white; }

body .modal .modal-dialog .modal-content .modal-inr { display: block; }

body .modal .modal-dialog .modal-content .modal-inr .thm { width: 100%; }

body .modal .modal-dialog .modal-content .modal-inr .thm img { display: block; width: 100%; max-width: 300px; margin: 0 auto; aspect-ratio: 1/1; border: 1px solid #E8E8E8; }

body .modal .modal-dialog .modal-content .modal-inr .discription { width: 100%; }

body .modal .modal-dialog .modal-content .modal-inr .discription .ttl { font-size: 1.2rem; font-weight: bold; margin: .5rem 0; }

body .modal .modal-dialog .modal-content .modal-inr .discription .txt { font-size: .9rem; }

body footer.footer .inner { display: block; text-align: center; }

body footer.footer .inner .copyright { font-size: .9rem; color: #fff; }

body footer.footer .inner .f-link { display: none; }

/*========= ページトップのためのCSS ===============*/
#page-top a { width: 45px; height: 45px; }

#page-top a #page-top a:hover { background: #BCB1A9; color: #000; }

/*リンクを右下に固定*/
#page-top { position: fixed; right: 20px; bottom: 40px; z-index: 2; opacity: 0; transform: translateY(100px); }
