@charset "UTF-8";

/*reset*/
/*-------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div,figure,figcaption{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }
a{ transition: all 0.25s linear; color: #3388cb; }
a:hover{ opacity: 0.7; text-decoration: none; }
img{ vertical-align: top; max-width: 100%; height: auto; -webkit-touch-callout: none; -webkit-user-select: none; -moz-touch-callout: none; -moz-user-select: none; user-select: none; }
html,body,p,div{
	color: #606060;
	font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif;
	font-feature-settings: "pkna";
	font-size: 16px; line-height: 3; font-weight: 400;
	letter-spacing: 0.12em;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
html, body { height: auto; }
.pc{ display: block; }
.sp{ display: none; }
.caption{ font-family: 'YakuHanJP', Lato, "メイリオ", "游ゴシック", YuGothic, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; letter-spacing: 0; }
.vertical-txt{ writing-mode: vertical-rl; }
@media screen and (max-width: 767.5px) {
	html,body,p,div{ font-size: 3vw; line-height: 2; }
	img{ width: 100%; height: auto; }
	.pc{ display: none; }
	.sp{ display: block; }
	.vertical-txt{ writing-mode: horizontal-tb; }
}
@media screen and (max-width: 480px) {
	html,body,p,div{ font-size: 4vw; }
}



/*common style*/
/*-------------------------------------------------------*/
.defs{ position: absolute; z-index: -9999; width: 0; height: 0; overflow: hidden; }
#header img{ width: 100%; height: auto; }
#header .header-navi-pc{ display: flex; display: -ms-flex; justify-content: center; position: absolute; left: 0; top: 0; width: 100%; z-index: 10; padding-top: 20px; }
#header .header-navi-pc .navi{ position: relative; }
#header .header-navi-pc .navi:nth-child(n+2){ margin-left: -1px; }
#header .header-navi-pc .navi::before{ content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; height: 14px; border: solid #ffffff; border-width: 0 1px; box-sizing: border-box; }
#header .header-navi-pc .navi a{ font-size: 0.875rem; line-height: 1.5; color: #ffffff; text-decoration: none; padding: 10px 12px; }
#header .global-navi-wrapper{ position: fixed; overflow-y: auto; left: 0; top: 0; background-color: rgba(255,255,255,0.95); height: 100vh; height: calc(var(--vh, 1vh) * 100); -webkit-overflow-scrolling: touch; width: 100%; display: flex; display: -ms-flex; align-items: center; justify-content: center; }
#header .global-navi{ position: relative; right: auto; width: 100%; padding: 100px 0; margin: auto; }
#header .global-navi .navi-list{ display: block; text-align: center; }
#header .global-navi .navi-list .navi:nth-child(n+2){ margin: 30px auto 0; }
#header .global-navi .navi-list .navi a{ font-size: 20px; color: #000000; text-decoration: none; }
#header .global-navi .navi-list .navi a:hover{ text-decoration: none; }
#header .global-navi .navi-list .navi a:active{ text-decoration: underline; }
#header-menu{ position: fixed; width: 100px; padding-top: 100px; right: 0; top: 0; background-color: rgba(255,255,255,0); z-index: 5001; cursor: pointer; mix-blend-mode: difference; }
#header-menu::before{ content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: 33.3333%; padding-top: 25%; border: solid #ffffff; border-width: 1px 0; mix-blend-mode: inherit; }
#header-menu::after{ content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: 33.3333%; padding-top: 1px; background-color: #ffffff; mix-blend-mode: inherit; }
#header-menu.active::before{ border: none; padding: 0; padding-top: 1px; background-color: #ffffff; transform: translate(-50%,-50%) rotate(45deg); }
#header-menu.active::after{ transform: translate(-50%,-50%) rotate(-45deg); }
#footer{ background-color: #0b3061; padding: 70px 0 180px; margin-top: 40px; }
#footer .copyright{ font-size: 12px; text-align: center; font-family: 'YakuHanJP', Lato, "游ゴシック", YuGothic, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; color: #ffffff; letter-spacing: 0; }

@media screen and (max-width: 1060px) {
}
@media screen and (max-width: 767.5px) {
	#header .header-navi-pc{ display: none; }
	#header .global-navi{ padding: 5vw 0;}
	#header .global-navi .navi-list .navi:nth-child(n+2){ margin: 3vw auto 0; }
	#header .global-navi .navi-list .navi a{ font-size: 1.33rem; }
	#header-menu{ width: 16%; padding-top: 16%; }
	#footer{ padding: 10% 0 20%; margin-top: 10%; }
}



/*style*/
/*-------------------------------------------------------*/
#main{ overflow: hidden; }
#main .vertical-txt .start-quote::before{ content: "〝"; }
#main .vertical-txt .end-quote::before{ content: "〟"; }
#main .vertical-txt .start-quote .inner-quote,
#main .vertical-txt .end-quote .inner-quote{ display: none; }
#main img{ width: 100%; height: auto; }
#main .main-visual{ position: relative; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); min-height: 700px; background-color: #ffffff; overflow: hidden; }
#main .main-visual .bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main .main-visual .bg video{ position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); }
#main .main-visual .logo{ width: 14%; max-width: 64px; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); padding-bottom: 50px; }
#main .main-visual .scroll{ position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); z-index: 10; }
#main .main-visual .scroll .txt{ text-align: center; white-space: nowrap; font-size: 10px; color: #ffffff; }
#main .main-visual .scroll .arrow{ width: 1px; height: 100px; overflow: hidden; margin: 0 auto; position: relative; }
#main .main-visual .scroll .arrow::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ffffff; }
#main .section01{ position: relative; overflow: hidden; background-color: #ffffff; }
#main .section01 .bg{ position: absolute; left: 50%; top: 0; width: 100%; min-width: 1280px; height: 100%; background: url(../image/top/section01/p01.jpg) center bottom no-repeat; background-size: 100% auto; transform: translateX(-50%); }
#main .section01 .deco{ position: absolute; left: 50%; top: 0; width: 489px; margin: -100px 0 0 -750px; z-index: 5; }
#main .section01 .txt-body{ position: relative; z-index: 10; padding: 128px 5% 280px; text-align: center; }
#main .section01 .txt-body .copy{ font-size: 1.375rem; font-weight: normal; letter-spacing: 0.2em; padding-left: 0.2em; color: #333333; }
#main .section01 .txt-body .txt{ margin-top: 80px; }
#main .section02{ position: relative; }
#main .section02 .base-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #000000; z-index: -2; }
#main .section02 .fixed-bg{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); z-index: -1; }
#main .section02 .fixed-bg.enable{ z-index: 100; }
#main .section02 .fixed-bg .bg{ position: absolute; left: 0; width: 100%; height: 0; clip: rect(auto, auto, auto, auto); left: 0; bottom: 0; }
#main .section02 .fixed-bg .bg.reverse{ bottom: auto; top: 0; }
#main .section02 .fixed-bg .bg .bg-fill{ position: fixed; top: 0; z-index: -1; display: block; width: 100%; height: 100%; background: url(../image/top/section02/p01.jpg?20250627) center center no-repeat; background-size: cover; }
#main .section02 .overlay{ background-color: rgba(0,0,0,0.6); position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; }
#main .section02 .fixed-bg.enable~.overlay{ z-index: 120; }
#main .section02 .dummy-box{ position: relative; height: 1000vh; height: calc(var(--vh, 1vh) * 1000); }
#main .section02 .flow-list{ position: fixed; left: 100%; top: 50%; transform: translateY(-50%); display: flex; display: -ms-flex; z-index: 150; align-items: center; }
#main .section02 .flow-list .ttl~*{ margin-left: 40px; }
#main .section02 .flow-list .ttl,
#main .section02 .flow-list .txt{ color: #ffffff; }
#main .section02 .flow-list .ttl{ font-size: 1.375rem; line-height: 2.27; font-weight: normal; white-space: nowrap; }
#main .section02 .flow-list .txt{ line-height: 2.5; width: 300px; }
#main .section02 .flow-list .photo{ position: relative; width: 360px; }
#main .section02 .flow-list .photo::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 1px solid rgba(255,255,255,0.5); box-sizing: border-box; }
#main .section03{ position: relative; background-color: #ffffff; }
#main .section03 .split-view{ display: flex; display: -ms-flex; align-items: center; padding: 120px 0; }
#main .section03 .split-view .photo02{ width: 53.3594%; height: 440px; }
#main .section03 .split-view .photo02 img{ object-fit: cover; width: 100%; height: 100%; }
#main .section03 .split-view .txt-body{ margin: 0 auto; display: flex; display: -ms-flex; flex-direction: row-reverse; }
#main .section03 .split-view .txt-body .ttl{ font-size: 1.375rem; line-height: 1.5; font-weight: normal; margin-left: 1.2em; }
#main .section03 .split-view .txt-body .txt{ font-size: 1rem; height: 400px; }
#main .section03 .photo03{ position: relative; }
#main .section03 .photo03 .copy{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font-size: 1.375rem; line-height: 1.5; color: #ffffff; font-weight: normal; }
#main .section04{ position: relative; background-color: #ffffff; }
#main .section04 .split-view01{ width: 92.9688%; /*width: 1190px;*/ margin: 120px auto; position: relative; }
#main .section04 .split-view01 .photo01{ width: 51.2605%; height: 600px; margin-left: auto; }
#main .section04 .split-view01 .photo01 img{ object-fit: cover; width: 100%; height: 100%; }
#main .section04 .split-view01 .txt-body{ width: 42.0168%; position: absolute; left: 0; top: 0; display: flex; display: -ms-flex; flex-direction: row-reverse; }
#main .section04 .split-view01 .txt-body .ttl{ font-size: 1.375rem; line-height: 1.5; font-weight: normal; margin-left: 1.2em; }
#main .section04 .split-view01 .txt-body .txt{ height: 230px; }
#main .section04 .split-view01 .photo02{ width: 42.0168%; height: 278px; position: absolute; left: 0; bottom: 0; }
#main .section04 .split-view01 .photo02 img{ object-fit: cover; width: 100%; height: 100%; }
#main .section04 .split-view02{ position: relative; }
#main .section04 .split-view02 .photo03{ width: 83.8281%; height: 785px; margin-left: auto; position: relative; }
#main .section04 .split-view02 .photo03::before{ content: ""; position: absolute; left: 0; top: 0; width: 60%; height: 100%; margin-left: -1px; background: linear-gradient(to right, rgba(255,255,255,1) 20%,rgba(255,255,255,0) 100%); }
#main .section04 .split-view02 .photo03 img{ object-fit: cover; width: 100%; height: 100%; }
#main .section04 .split-view02 .txt-body{ position: absolute; left: 0; top: 0; display: flex; display: -ms-flex; flex-direction: row-reverse; margin: 100px 0 0 7.8125%; }
#main .section04 .split-view02 .txt-body .copy{ font-size: 1.375rem; line-height: 1.5; font-weight: normal; margin-left: 1.2em; color: #231815; }
#main .section04 .split-view02 .txt-body .txt{ height: 586px; color: #231815; }
#main .section05{ position: relative; background-color: #ffffff; }
#main .section05 .movie-area{ background-color: #000000; padding: 70px 5% 90px; }
#main .section05 .movie-area .ttl{ display: flex; display: -ms-flex; align-items: center; }
#main .section05 .movie-area .ttl::before,
#main .section05 .movie-area .ttl::after{ content: ""; height: 1px; background-color: #b99566; flex: 1; }
#main .section05 .movie-area .ttl .word{ padding: 0 0.5em 0 1em; color: #b99566; font-size: 1.125rem; font-weight: normal; letter-spacing: 0.5em; }
#main .section05 .movie-area .movie{ margin-top: 60px; }
#main .section05 .movie-area .movie video{ width: 100%; height: auto; }
#main .section06{ position: relative; padding-top: 60px; background-color: #ffffff; }
#main .section06 .photo01{ width: 92.9688%; margin: 0 auto; }
#main .section06 .section-ttl{ font-size: 1.375rem; line-height: 1.5; font-weight: normal; color: #000000; text-align: center; padding: 90px 0; }
#main .section06 .menu01{ max-width: 1400px; margin: 0 auto; }
#main .section06 .menu01 .list-item .item .inner{ margin: 0 10px; position: relative; border-radius: 5px; overflow: hidden; }
#main .section06 .menu01 .list-item .item .inner::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; box-sizing: border-box; border: 1px solid rgba(0,0,0,0.3); border-radius: 5px; }
#main .section06 .menu01 .list-item .item .inner img{ width: 100%; height: auto; }
#main .section06 .menu01 .list-item .slick-dots{ position: static; display: block; width: 100%; padding: 40px 0 0; margin: 0; line-height: 0; text-align: center; }
#main .section06 .menu01 .list-item .slick-dots li{ position: relative; display: inline-block; width: 38px; height: 5px; padding: 0; background-color: #dcdddd; cursor: pointer; }
#main .section06 .menu01 .list-item .slick-dots li+li{ margin-left: 10px; }
#main .section06 .menu01 .list-item .slick-dots li.slick-active{ background-color: #231815; }
#main .section06 .menu01 .list-item .slick-dots li button{ font-size: 0; line-height: 0; display: block; width: 100%; height: 100%; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
#main .section06 .menu01 .list-item .slick-arrow{ position: absolute; bottom: 0; width: 28px; height: 28px; background-color: rgba(255,255,255,0.9); border: 1px solid #606060; z-index: 10; transform: none; color: transparent; border-radius: 50%; margin-bottom: -11px; }
#main .section06 .menu01 .list-item .slick-prev{ left: 50%; margin-left: -230px; }
#main .section06 .menu01 .list-item .slick-next{ right: 50%; margin-right: -230px; }
#main .section06 .menu01 .list-item .slick-arrow::before{ content: ""; position: absolute; left: 50%; top: 50%; width: 30%; padding-top: 30%; border: solid #333333; }
#main .section06 .menu01 .list-item .slick-prev::before{ transform: translate(-50%,-50%) translateX(25%) rotate(45deg); border-width: 0 0 2px 2px; }
#main .section06 .menu01 .list-item .slick-next::before{ transform: translate(-50%,-50%) translateX(-25%) rotate(45deg); border-width: 2px 2px 0 0; }
#main .section06 .menu02{ margin-top: 110px; position: relative; }
#main .section06 .menu02 .deco01{ position: absolute; right: 0; top: 0; margin: 28% 0 0 0; width: 38.2031%; max-width: 489px; }
#main .section06 .menu02 .txt{ font-size: 1.25vw; line-height: 1.4; letter-spacing: 0; color: #231815; }
#main .section06 .menu02 .txt .name{ font-size: 175%; }
#main .section06 .menu02 .txt .s-size{ font-size: 87.5%; }
#main .section06 .menu02 .txt .num{ font-size: 150%; }
#main .section06 .menu02 .photo02{ width: 33.75%; margin-left: auto; position: relative; z-index: 10; }
#main .section06 .menu02 .item01{ margin: -17.1875% 0 0 3.5156%; /*width: 862px;*/ position: relative; width: 67.3438%; }
#main .section06 .menu02 .item01 .head01{ position: absolute; right: 2.3437vw; bottom: 7.0312vw; width: 15.5452%; margin: 0 5% 2% 0; }
#main .section06 .menu02 .item01 .txt{ position: absolute; right: 0; bottom: 0; margin: 0 5% 2% 0; text-shadow: white 1px 1px 5px, white -1px 1px 5px, white 1px -1px 5px, white -1px -1px 5px; }
#main .section06 .menu02 .head02{ margin: 60px auto 0; width: 10.2344%; }
#main .section06 .menu02 .split-view{ display: flex; display: -ms-flex; align-items: flex-end; justify-content: center; margin-top: -10%; }
#main .section06 .menu02 .split-view .item02{ width: 39.2188%; text-align: right; }
#main .section06 .menu02 .split-view .item02 .txt{ display: inline-block; text-align: left; margin-top: -9%; }
#main .section06 .menu02 .split-view .item03{ width: 41.875%; text-align: center; margin-left: 10%; }
#main .section06 .menu02 .split-view .item03 .txt{ margin-top: -5%; }
#main .section06 .end{ margin-top: 140px; position: relative; }
#main .section06 .end .copy{ font-size: 1.375rem; line-height: 1.7; color: #231815; text-align: center; }
#main .section06 .end .photo{ margin-top: 80px; }
#main .section06 .end .txt-body{ position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; padding-bottom: 30px; }
#main .section06 .end .txt-body .place{ font-size: 1.5rem; line-height: 1.5; color: #231815; text-shadow: white 1px 1px 5px, white -1px 1px 5px, white 1px -1px 5px, white -1px -1px 5px; }
#main .section06 .end .txt-body .navi{ max-width: 380px; margin: 0 auto; margin-top: 20px; }
#main .section06 .end .txt-body .navi a{ display: block; padding: 10px 0; text-align: center; font-size: 1rem; background-color: #ffffff; border: 2px solid #0b3061; border-radius: 36px; color: #0b3061; text-decoration: none; position: relative; }
#main .section06 .end .txt-body .navi a .icon01{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 21px; line-height: 0; margin-left: 20px; }
#main .section06 .end .txt-body .navi a .icon02{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 26px; line-height: 0; margin-right: 20px; }
#main .section06 .netshop-navi{ max-width: 600px; margin: 0 auto; margin-top: 60px; }
#main .section06 .netshop-navi a{ display: block; padding: 15px 0; text-align: center; font-size: 1.625rem; background-color: #ffffff; border: 3px solid #0b3061; border-radius: 57px; color: #0b3061; text-decoration: none; position: relative; }
#main .section06 .netshop-navi a .word .inner-txt{ display: block; }
#main .section06 .netshop-navi a .word .inner-caption{ display: inline-block; font-size: 70%; background-color: #0b3061; padding: 2px 10px; color: #ffffff; }
#main .section06 .netshop-navi a .icon01{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 54px; line-height: 0; margin-left: 40px; }
#main .section06 .netshop-navi a .icon02{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); line-height: 0; margin-right: 40px; border: solid transparent; border-width: 9px 0 9px 12px; border-left-color: #0b3061; }
#main .section06 .fixed-netshop-navi{ max-width: 380px; width: 100%; position: fixed; z-index: 1000; left: 50%; bottom: 0; transform: translateX(-50%); margin-bottom: 20px; }
#main .section06 .fixed-netshop-navi a{ display: block; padding: 10px 0; text-align: center; font-size: 1rem; background-color: #ffffff; border: 2px solid #0b3061; border-radius: 36px; color: #0b3061; text-decoration: none; position: relative; }
#main .section06 .fixed-netshop-navi a .word .inner-txt{ display: block; }
#main .section06 .fixed-netshop-navi a .word .inner-caption{ display: inline-block; font-size: 70%; background-color: #0b3061; padding: 2px 10px; color: #ffffff; }
#main .section06 .fixed-netshop-navi a .icon01{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 42px; line-height: 0; margin-left: 20px; }
#main .section06 .fixed-netshop-navi a .icon02{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); line-height: 0; margin-right: 20px; border: solid transparent; border-width: 8px 0 8px 10px; border-left-color: #0b3061; }
#main .section06 .navi-disable a{ line-height: 1.5; }
#main .section06 .caption{ font-size: 0.875rem; line-height: 1.71; width: 92.9688%; margin: 40px auto 0; }



@media screen and (max-width: 1050px) {
	#main .section04 .split-view01 .txt-body .txt{ line-height: 2.5; height: 280px; }
}
@media screen and (max-width: 767.5px) {
	#main .vertical-txt .start-quote::before,
	#main .vertical-txt .end-quote::before{ display: none; }
	#main .vertical-txt .start-quote .inner-quote,
	#main .vertical-txt .end-quote .inner-quote{ display: inline; }
	#main .main-visual{ min-height: 480px; }
	#main .main-visual .logo{ padding-bottom: 25px; }
	#main .main-visual .scroll .arrow{ height: 50px; }
	#main .section01{ position: relative; overflow: hidden; padding-top: 20%; }
	#main .section01 .bg{ min-width: 0; height: 100%; left: 0; transform: none; }
	#main .section01 .deco{ position: relative; left: 0; top: 0; width: 30%; max-width: 489px; margin: 0 auto; }
	#main .section01 .txt-body{ position: relative; z-index: 10; padding: 0 5% 40%; margin-top: 15%; text-align: left; }
	#main .section01 .txt-body .copy{ letter-spacing: 0.1em; padding-left: 0.1em; text-align: center; }
	#main .section01 .txt-body .txt{ margin-top: 10%; }
	#main .section02 .txt-body{ width: auto; height: auto;  position: relative; z-index: 150; }
	#main .section02 .txt-body .ttl,
	#main .section02 .txt-body .txt{ position: static; }
	#main .section02 .txt-body .ttl{ text-align: center; margin: 0; }
	#main .section02 .txt-body .txt{ margin: 10% 0 0; }
	#main .section02 .fixed-bg.enable~.txt-body .ttl,
	#main .section02 .fixed-bg.enable~.txt-body .txt{ z-index: 150; }
	#main .section02 .photo-list{ margin: 10% 5% 0; width: auto; height: auto; padding-bottom: 40%; }
	#main .section02 .photo-list .item{ position: relative; width: 100%; margin-left: 0; position: relative; z-index: 150; top: 0; transform: none; }
	#main .section02 .photo-list .item:nth-child(n+2){ margin-top: 10%; }
	#main .section02 .dummy-box{ display: none; }
	#main .section02 .flow-list{ position: relative; left: 0; top: 0; transform: none; display: block; padding: 50vh 5% 10%; padding-top: calc(var(--vh, 1vh) * 50); }
	#main .section02 .flow-list .ttl~*{ margin-left: 0; margin-top: 5%; }
	#main .section02 .flow-list .txt{ line-height: 2; width: 100%; }
	#main .section02 .flow-list .photo{ width: 100%; }
	#main .section03 .split-view{ display: block; padding: 20% 5%; }
	#main .section03 .split-view .photo02{ width: 100%; height: auto; }
	#main .section03 .split-view .photo02 img{ object-fit: fill; height: auto; }
	#main .section03 .split-view .txt-body{ display: block; margin-top: 15%; }
	#main .section03 .split-view .txt-body .ttl{ margin: 0; }
	#main .section03 .split-view .txt-body .txt{ height: auto; margin-top: 5%; }
	#main .section03 .photo03 .copy{ white-space: nowrap; }
	#main .section04 .split-view01{ width: auto; margin: 20% 5%; }
	#main .section04 .split-view01 .photo01{ width: 100%; height: auto; }
	#main .section04 .split-view01 .photo01 img{ object-fit: fill; height: auto; }
	#main .section04 .split-view01 .txt-body{ width: 100%; position: static; display: block; margin-top: 15%; }
	#main .section04 .split-view01 .txt-body .ttl{ margin: 0; }
	#main .section04 .split-view01 .txt-body .txt{ height: auto; margin-top: 5%; }
	#main .section04 .split-view01 .photo02{ width: 100%; height: auto; position: static; }
	#main .section04 .split-view01 .photo02 img{ object-fit: fill; height: auto; margin-top: 10%; }
	#main .section04 .split-view02{ margin-top: 15%; }
	#main .section04 .split-view02 .photo03{ width: 100%; height: auto; }
	#main .section04 .split-view02 .photo03::before{ display: none; }
	#main .section04 .split-view02 .photo03 img{ object-fit: fill; height: auto; }
	#main .section04 .split-view02 .txt-body{ position: static; display: block; padding: 15% 5%; margin: 0 auto; }
	#main .section04 .split-view02 .txt-body .copy{ margin: 0; }
	#main .section04 .split-view02 .txt-body .txt{ height: auto; margin-top: 5%; }
	#main .section05 .movie-area{ padding: 15% 0; }
	#main .section05 .movie-area .ttl{ margin: 0 5%; line-height: 1.5; }
	#main .section05 .movie-area .movie{ margin-top: 10%; }
	#main .section06{ padding-top: 20%; }
	#main .section06 .photo01{ width: auto; margin: 0 auto; padding: 0 5%; }
	#main .section06 .section-ttl{ padding: 15% 5%; }
	#main .section06 .menu01 .list-item .item .inner{ margin: 0 5%; }
	#main .section06 .menu01 .list-item .slick-dots{ padding-top: 5%; }
	#main .section06 .menu01 .list-item .slick-dots li{ width: 7%; }
	#main .section06 .menu01 .list-item .slick-dots li+li{ margin-left: 1%; }
	#main .section06 .menu01 .list-item .slick-arrow{ width: 5%; height: 0; padding-top: 5%; box-sizing: content-box; margin-bottom: calc(-2.5% + 3px); }
	#main .section06 .menu01 .list-item .slick-prev{ margin-left: -40%; }
	#main .section06 .menu01 .list-item .slick-next{ margin-right: -40%; }
	#main .section06 .menu02{ margin-top: 15%; padding: 0 5%; }
	#main .section06 .menu02 .deco01{ display: none; }
	#main .section06 .menu02 .txt{ font-size: 1rem; }
	#main .section06 .menu02 .photo02{ width: 50%; }
	#main .section06 .menu02 .item01{ margin: -5% 0 0; width: 100%; }
	#main .section06 .menu02 .item01 .photo03{ width: 90%; }
	#main .section06 .menu02 .item01 .head01{ right: 0; bottom: 0; width: 25%; margin: 0 5% 50px 0; }
	#main .section06 .menu02 .item01 .txt{ position: static; margin: 10px 0 0; text-shadow: none; }
	#main .section06 .menu02 .head02{ margin: 10% auto 0; width: 25%; }
	#main .section06 .menu02 .split-view{ display: block; margin-top: 5%; }
	#main .section06 .menu02 .split-view .item02{ width: 100%; text-align: center; }
	#main .section06 .menu02 .split-view .item02 .txt{ margin-top: 0; }
	#main .section06 .menu02 .split-view .item03{ width: 100%; margin: 10% auto 0; }
	#main .section06 .menu02 .split-view .item03 .txt{ margin-top: -3%; }
	#main .section06 .end{ margin-top: 20%; }
	#main .section06 .end .copy{ padding: 0 5%; }
	#main .section06 .end .photo{ margin-top: 10%; }
	#main .section06 .end .txt-body{ position: static; margin-top: 10%; padding-bottom: 0; }
	#main .section06 .end .txt-body .place{ text-shadow: none; }
	#main .section06 .end .txt-body .navi{ max-width: none; margin-top: 5%; padding: 0 10%; }
	#main .section06 .end .txt-body .navi a{ padding: 5% 0; border-radius: 13.71vw; }
	#main .section06 .end .txt-body .navi a .icon01{ width: 3vw; margin-left: 3.7142vw; }
	#main .section06 .end .txt-body .navi a .icon02{ width: 3.7142vw; margin-right: 3.7142vw; }
	#main .section06 .netshop-navi{ max-width: none; margin-top: 10px; padding: 0 10%; }
	#main .section06 .netshop-navi a{ padding: 5% 0; font-size: 1rem; border-width: 2px; border-radius: 13.71vw; }
	#main .section06 .netshop-navi a .icon01{ width: 4.5vw; margin-left: 3.7142vw; }
	#main .section06 .netshop-navi a .icon02{ border-width: 1.5vw 0 1.5vw 2vw; margin-right: 3.7142vw; }
	#main .section06 .fixed-netshop-navi{ width: 80%; max-width: none; margin-top: 5%; padding: 0 10%; }
	#main .section06 .fixed-netshop-navi a{ padding: 5% 0; border-radius: 13.71vw; }
	#main .section06 .fixed-netshop-navi a .icon01{ width: 4.5vw; margin-left: 3.7142vw; }
	#main .section06 .fixed-netshop-navi a .icon02{ border-width: 1.5vw 0 1.5vw 2vw; margin-right: 3.7142vw; }
	#main .section06 .caption{ width: auto; margin: 15% auto 0; padding: 0 5%; }
}



/*animation*/
/*-------------------------------------------------------*/
#header-menu{ opacity: 0; }
#header-menu.show{ opacity: 1; transition: opacity 1s; }
#header .global-navi-wrapper{ opacity: 0; z-index: -2; -webkit-overflow-scrolling: touch; transition: opacity 0.5s; }
#header.active .global-navi-wrapper{ opacity: 1; z-index: 5000; }
.js-inview{ opacity: 0; }
.js-inview.show{ opacity: 1; transition: opacity 1s; }
#main .main-visual{ opacity: 0; transition: opacity 1s; }
#main .main-visual.show{ opacity: 1; }
#main .main-visual .scroll .arrow::before{ animation: arrow_slide 2s infinite; }
@keyframes arrow_slide{
	0%{ transform: translateY(0%); }
	50%{ transform: translateY(100%); }
	51%{ transform: translateY(100%) scaleX(0); }
	52%{ transform: translateY(-100%) scaleX(0); }
	53%{ transform: translateY(-100%); }
	100%{ transform: translateY(0%); }
}
#main .section02 .overlay{ opacity: 0; transition: opacity 1s; }
#main .section02 .overlay.active{ opacity: 1; }
#main .section06 .fixed-netshop-navi{ opacity: 0; pointer-events: none; transition: opacity 1s; }
#main .section06 .fixed-netshop-navi.show{ opacity: 1; pointer-events: auto; }
#main .section06 a{ opacity: 1; transition: transform 0.5s ease; }
#main .section06 a:hover{ transform: scale(1.04); }
#main .section06 .navi-disable a:hover{ transform: scale(1); }
@media screen and (max-width: 767.5px) {
	#main .section06 a:hover{ transform: scale(1); }
	#main .section06 a:active{ transform: scale(1.04); }
	#main .section06 .navi-disable a:active{ transform: scale(1); }
}