@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: #2c1c1c;
	font-family: 'YakuHanMP', "Zen Old Mincho", serif;
	font-size: 16px; line-height: 2.5; font-weight: 400;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
.pc{ display: block; }
.sp{ display: none; }
.key-action{ display: none!important; }
@media screen and (max-width: 767.5px) {
	html,body,p,div{ font-size: 3.7333vw; line-height: 2.4285; }
	img{ width: 100%; height: auto; }
	.pc{ display: none; }
	.sp{ display: block; }
}
html, body { height: auto; }



/*common style*/
/*-------------------------------------------------------*/
.defs{ position: absolute; z-index: -9999; width: 0; height: 0; overflow: hidden; }
#wrapper{  }
#header{ position: absolute; width: 100%; z-index: 5000; }
#header .logo{ position: absolute; width: 227px; left: 0; top: 0; margin: 19px 0 0 28px; }
#header .global-navi{ position: absolute; right: 0; top: 0; margin: 43px 70px 0 0; }
#header .global-navi .navi-list{ display: flex; display: -ms-flex; }
#header .global-navi .navi-list .navi{  }
#header .global-navi .navi-list .navi:nth-child(n+2){ margin-left: 2em; }
#header .global-navi .navi-list .navi a{ display: block; font-family: 'YakuHanMP', "Hina Mincho", serif; font-size: 14px; line-height: 1.5; color: #424242; text-decoration: none; }
#header .global-navi .navi-list .navi a:hover{ text-decoration: underline; }
#footer{ position: relative; }
#footer *{ font-family: 'YakuHanJP', Lato, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif; }
#footer .footer-navi{ background-color: #000000; padding: 18px 0; }
#footer .footer-navi .navi-list{ display: -ms-flex; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto; }
#footer .footer-navi .navi-list .navi{ margin: 0 1em; }
#footer .footer-navi .navi-list .navi a{ color: #ffffff; text-decoration: none; display: block; position: relative;padding-left: 1.5em; }
#footer .footer-navi .navi-list .navi a::before{ content: ''; position: absolute; left: 0; top: 50%; width: 7px; height: 7px; border: solid #ffffff; border-width: 1px 1px 0 0; transform: rotate(45deg) translateY(-50%); }
#footer .kintetsu-logo{ margin-top: 20px; text-align: center; }
#footer .kintetsu-logo a{ display: block; max-width: 155px; margin: 0 auto; }
#footer .copyright{ font-size: 12px; margin: 0 auto; padding: 10px 0 60px; color: #666666; text-align: center; }

@media screen and (max-width: 1060px) {
	#header{ 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; }
	#header .inner-body{ padding: 20.5333% 0 36.8%; }
	#header .logo{ position: relative; width: 60.5333%; left: auto; margin: 0 auto; }
	#header .logo a{ display: block; }
	#header .logo a img{ width: 100%; height: auto; }
	#header .global-navi{ position: relative; right: auto; margin-top: 13.3333%; width: 100%; }
	#header .global-navi .navi-list{ display: block; text-align: center; }
	#header .global-navi .navi-list .navi:nth-child(n+2){ margin: 10.1333% auto 0; }
	#header .global-navi .navi-list .navi a{ font-size: 28px; }
	#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; }
	#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 #000000; border-width: 1px 0; }
	#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: #000000; }
	#header-menu.active::before{ border: none; padding: 0; padding-top: 1px; background-color: #000000; transform: translate(-50%,-50%) rotate(45deg); }
	#header-menu.active::after{ transform: translate(-50%,-50%) rotate(-45deg); }
	#footer{ padding-top: 0; }
	#footer .footer-navi{ padding: 0; margin-top: 0; }
	#footer .footer-navi .navi-list{ flex-wrap: wrap; width: auto; justify-content: flex-start; }
	#footer .footer-navi .navi-list .navi{ width: 50%; }
	#footer .footer-navi .navi-list .navi:nth-child(n){ margin: 0; }
	#footer .footer-navi .navi-list .navi:nth-child(even){ border-left: 1px solid #ffffff; margin-left: -1px; }
	#footer .footer-navi .navi-list .navi:nth-child(n+3){ margin-top: -1px; border-top: 1px solid #ffffff; }
	#footer .footer-navi .navi-list .navi a{ padding: 10px 15px 10px 10px; }
	#footer .footer-navi .navi-list .navi a::before{ left: auto; right: 10px; }
	#footer .copyright{ width: auto; padding: 5%; }
}
@media screen and (max-width: 767.5px) {
	#header-menu{ width: 16%; padding-top: 16%; }
	#header .global-navi .navi-list .navi a{ font-size: 4.2666vw; }
}



/*style*/
/*-------------------------------------------------------*/
/*#anchor03,
#anchor04{ position: absolute; margin-top: 50vh; }*/
#main{ overflow: hidden; }
#main img{ width: 100%; height: auto; }
#main .intro-copy{ position: absolute; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); z-index: 3000; left: 0; top: 0; }
#main .intro-copy .copy{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; font-size: 34px; line-height: 2.05; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); white-space: nowrap; margin-top: 40px; pointer-events: none; }
#main .scroll{ position: absolute; left: 0; top: 0; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); z-index: 1000; pointer-events: none; }
#main .scroll::before,
#main .scroll::after{ content: ""; position: absolute; left: 50%; bottom: 86px; width: 40px; padding-top: 40px; border: 1px solid rgba(0,0,0,0.5); border-width: 0 1px 1px 0; transform: translate(-50%,-50%) rotate(45deg);  }
#main .scroll::after{ bottom: 94px; }
#main .main-visual{ position: relative; border-top: 1px solid transparent; padding-top: 69.7857%; background-color: #ffffff; }
#main .main-visual .logo{ width: 16%; position: absolute; left: 0; top: 0; margin: 22.3571% 0 0 11.6428%; z-index: 10; }
#main .main-visual .photo{ width: 93.3571%; position: absolute; left: 0; top: 0; margin: 10.3571% 0 0 26.7142%; }
#main .main-visual .line01{ width: 20.8479%; position: absolute; left: 0; top: 0; margin: 29.4092% 0 0 -6.25%; pointer-events: none; }
#main .main-visual .line01 path{ fill: none; stroke: url(#grad-color01); stroke-width: 2px; stroke-dasharray: 417.97601318359375; stroke-dashoffset: 417.97601318359375; }
#main .section01{ margin-top: 200px; padding-bottom: 112px; position: relative; background-color: #ffffff; }
#main .section01 .line02{ width: 116.225%; position: absolute; left: 0; top: 0; margin: -18.0529% 0 0 -0.2928%; pointer-events: none; }
#main .section01 .line02 path{ fill: none; stroke: url(#grad-color02); stroke-width: 1.5px; stroke-dasharray: 1750.4332275390625; }
#main .section01 .illust01{ width: 18.1857%; position: absolute; left: 0; top: 0; margin: -15.3562% 0 0 68.4196%; pointer-events: none; }
#main .section01 .ttl-body{ position: relative; left: 0; margin: 0 0 0 20.7143%; transform: translateX(-50%); display: inline-block; }
#main .section01 .ttl-body .inner-body{ display: flex; display: -ms-flex; }
#main .section01 .ttl-body .en,
#main .section01 .ttl-body .ja{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; }
#main .section01 .ttl-body .en{ font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; margin-right: 10%; position: relative; }
#main .section01 .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; background-color: #484848; transform: translateX(-50%); margin-bottom: 10px; }
#main .section01 .ttl-body .ja{ font-size: 34px; line-height: 2.0588; white-space: nowrap; }
#main .section01 .ttl-body .ja .word{ display: block; }
#main .section01 .txt{ margin: -300px 0 0 47.31%; width: 52.69%; }
#main .section01 .photo{ width: 60%; overflow: hidden; margin: 80px 0 0 auto; }
#main .section02{ margin-top: 212px; padding-bottom: 220px; position: relative; background-color: #ffffff; }
#main .section02 .line03{ width: 111.5714%; position: absolute; left: 0; top: 0; margin: -33.7142% 0 0 -2.2668%; pointer-events: none; }
#main .section02 .line03 path{ fill: none; stroke: url(#grad-color03); stroke-width: 1.5px; }
#main .section02 .line03 .path01{ stroke-dasharray: 1051.0972900390625; }
#main .section02 .line03 .path02{ stroke-dasharray: 84.74195861816406; }
#main .section02 .line03 .path03{ stroke-dasharray: 236.60791015625; }
#main .section02 .line03 .path04{ stroke-dasharray: 133.95892333984375; }
#main .section02 .line03 .path05{ stroke-dasharray: 808.8681640625; }
#main .section02 .illust02{ width: 42.5183%; position: absolute; left: 0; top: 0; margin: -14.5023% 0 0 14.9075%; pointer-events: none; }
#main .section02 .ttl-body{ position: relative; left: 0; margin: 0 0 0 76.5714%; transform: translateX(-50%); display: inline-block; }
#main .section02 .ttl-body .inner-body{ display: flex; display: -ms-flex; flex-direction: row-reverse; }
#main .section02 .ttl-body .en,
#main .section02 .ttl-body .ja{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; }
#main .section02 .ttl-body .en{ font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; margin-left: 10%; position: relative; }
#main .section02 .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; background-color: #484848; transform: translateX(-50%); margin-bottom: 10px; }
#main .section02 .ttl-body .ja{ font-size: 34px; line-height: 2.0588; white-space: nowrap; }
#main .section02 .ttl-body .ja .word{ display: block; }
#main .section02 .txt{ margin: -300px 0 0 18.7049%; /*width: 52.69%;*/ }
#main .section02 .photo{ width: 60%; overflow: hidden; margin-top: 80px; }
#main .section03{ position: relative; }
#main .section03 .fixed-dummy{ position: relative; height: 800vh; /*background-color: #000;*/ }
#main .section03 .fixed-dummy .blur-pos{ position: absolute; left: 0; top: 0; width: 100%; margin-top: 240vh; margin-top: calc(var(--vh, 1vh) * 240); }
#main .section03 .section-body{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); z-index: -1; }
#main .section03 .section-body.enable{ z-index: 200; }
#main .section03 .section-body .fixed-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main .section03 .section-body .fixed-bg .bg{ position: absolute; left: 0; width: 100%; height: 0; clip: rect(auto, auto, auto, auto); left: 0; bottom: 0; }
#main .section03 .section-body .fixed-bg .bg.reverse{ bottom: auto; top: 0; }
#main .section03 .section-body .fixed-bg .bg .bg-fill,
#main .section03 .section-body .fixed-bg .bg .bg-blur{ position: fixed; top: 0; z-index: -1; display: block; width: calc(100% + 20px); height: calc(100% + 20px); background-size: cover; background-position: center; background-image: url(../image/top/bg01.jpg); margin: -10px 0 0 -10px; }
#main .section03 .section-body .fixed-bg .bg .bg-blur{ opacity: 0; filter: blur(10px); transition: opacity 0.3s; }
#main .section03 .section-body .fixed-bg .bg.blur .bg-blur{ opacity: 1; }
#main .section03 .section-body .box{ position: absolute; display: flex; top: 50%; left: 0; transform: translateY(-50%); margin-top: -40px; }
#main .section03 .section-body .box .ttl-body{ display: inline-block; }
#main .section03 .section-body .box .ttl-body .inner-body{ display: flex; display: -ms-flex; }
#main .section03 .section-body .box .ttl-body .en,
#main .section03 .section-body .box .ttl-body .ja{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; color: #ffffff; }
#main .section03 .section-body .box .ttl-body .en{ font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; margin-right: 10%; position: relative; }
#main .section03 .section-body .box .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; background-color: #ffffff; transform: translateX(-50%); margin-bottom: 10px; }
#main .section03 .section-body .box .ttl-body .ja{ font-size: 32px; line-height: 2.0588; white-space: nowrap; }
#main .section03 .section-body .box .ttl-body .ja .word{ display: block; }
#main .section03 .section-body .box .txt{ color: #ffffff; white-space: nowrap; margin-left: 120px; }
#main .section03 .section-body .box .photo-list{ width: 1640px; display: flex; display: -ms-flex; justify-content: space-between; margin-left: 90px; }
#main .section03 .section-body .box .photo-list .photo{ width: 520px; overflow: hidden; }
#main .section04{ position: relative; }
#main .section04 .fixed-dummy{ position: relative; height: 900vh; /*background-color: #000;*/ }
#main .section04 .fixed-dummy .blur-pos{ position: absolute; left: 0; top: 0; width: 100%; margin-top: 240vh; margin-top: calc(var(--vh, 1vh) * 240); }
#main .section04 .section-body{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh; height: calc(var(--vh, 1vh) * 100); z-index: -1; }
#main .section04 .section-body.enable{ z-index: 200; }
#main .section04 .section-body .fixed-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main .section04 .section-body .fixed-bg .bg{ position: absolute; left: 0; width: 100%; height: 0; clip: rect(auto, auto, auto, auto); left: 0; bottom: 0; }
#main .section04 .section-body .fixed-bg .bg.reverse{ bottom: auto; top: 0; }
#main .section04 .section-body .fixed-bg .bg .bg-fill,
#main .section04 .section-body .fixed-bg .bg .bg-blur{ position: fixed; top: 0; z-index: -1; display: block; width: calc(100% + 20px); height: calc(100% + 20px); background-size: cover; background-position: center; background-image: url(../image/top/bg02.jpg); margin: -10px 0 0 -10px; }
#main .section04 .section-body .fixed-bg .bg .bg-blur{ opacity: 0; filter: blur(10px); transition: opacity 0.3s; }
#main .section04 .section-body .fixed-bg .bg.blur .bg-blur{ opacity: 1; }
#main .section04 .section-body .box{ position: absolute; display: flex; top: 50%; left: 0; transform: translateY(-50%); margin-top: -40px; }
#main .section04 .section-body .box .ttl-body{ display: inline-block; }
#main .section04 .section-body .box .ttl-body .inner-body{ display: flex; display: -ms-flex; }
#main .section04 .section-body .box .ttl-body .en,
#main .section04 .section-body .box .ttl-body .ja{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; color: #ffffff; }
#main .section04 .section-body .box .ttl-body .en{ font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; margin-right: 10%; position: relative; }
#main .section04 .section-body .box .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; background-color: #ffffff; transform: translateX(-50%); margin-bottom: 10px; }
#main .section04 .section-body .box .ttl-body .ja{ font-size: 32px; line-height: 2.0588; white-space: nowrap; }
#main .section04 .section-body .box .ttl-body .ja .word{ display: block; }
#main .section04 .section-body .box .txt{ color: #ffffff; white-space: nowrap; margin-left: 120px; }
#main .section04 .section-body .box .photo-list{ width: 2200px; display: flex; display: -ms-flex; justify-content: space-between; margin-left: 90px; }
#main .section04 .section-body .box .photo-list .photo{ width: 520px; overflow: hidden; }
#main .section05{ padding: 240px 0 220px; position: relative; background-color: #ffffff; }
#main .section05 .ttl-body{ display: inline-block; margin-left: 55.7143%; position: relative; z-index: 100; }
#main .section05 .ttl-body .inner-body{ position: relative; }
#main .section05 .ttl-body .en,
#main .section05 .ttl-body .ja{ font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; }
#main .section05 .ttl-body .en{ writing-mode: vertical-rl; font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; position: absolute; right: 100%; margin: 20px 10% 0 0; }
#main .section05 .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; transform: translateX(-50%); margin-bottom: 10px; background-color: #484848; }
#main .section05 .ttl-body .ja{ font-size: 32px; line-height: 2.0588; white-space: nowrap; }
#main .section05 .ttl-body .ja .word{ display: block; }
#main .section05 .photo{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; mask-image: linear-gradient(#000, #000); mask-size: 0 0; mask-position: center 20%; mask-repeat: no-repeat; }
#main .section05 .photo img{ width: 100%; height: 100%; object-fit: cover; }
#main .section05 .txt{ margin: 50px 0 0 55.7143%; position: relative; z-index: 100; }
#main .section06{ position: relative; padding: 240px 0 0; background-color: #ffffff; }
#main .section06 .ttl-body{ position: absolute; left: 0; top: 0; margin: 146px 0 0 81.8571%; display: inline-block; }
#main .section06 .ttl-body .inner-body{ display: flex; display: -ms-flex; flex-direction: row-reverse; }
#main .section06 .ttl-body .en,
#main .section06 .ttl-body .ja{ writing-mode: vertical-rl; font-weight: normal; font-family: 'YakuHanMP', "Hina Mincho", serif; }
#main .section06 .ttl-body .en{ font-size: 16px; line-height: 1.5; letter-spacing: 0.2em; margin-left: 10%; position: relative; }
#main .section06 .ttl-body .en::before{ content: ""; position: absolute; left: 25%; bottom: 100%; width: 1px; height: 18px; background-color: #484848; transform: translateX(-50%); margin-bottom: 10px; }
#main .section06 .ttl-body .ja{ font-size: 34px; line-height: 2.0588; white-space: nowrap; }
#main .section06 .ttl-body .ja .word{ display: block; }
#main .section06 .list-item{ position: relative; z-index: 10; display: flex; display: -ms-flex; max-width: 880px; width: 90%; margin: 0 auto; }
#main .section06 .list-item .item{ width: 50%; text-align: center; position: relative; }
#main .section06 .list-item .item:nth-child(n+2)::before{ content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background-color: #e9e9e9; transform: translateX(-50%); }
#main .section06 .list-item .item .logo{ padding-top: 33.1818%; position: relative; }
#main .section06 .list-item .item .logo .inner-body{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
#main .section06 .list-item .item01 .logo .inner-body{ width: 47.9545%; }
#main .section06 .list-item .item02 .logo .inner-body{ width: 62.9545%; }
#main .section06 .list-item .item .txt{ margin-top: 3.6364%; line-height: 2.25; }
#main .section06 .list-item .item .navi{ width: 80%; display: block; margin: 20px auto 0; }
#main .section06 .list-item .item .navi a{ position: relative; display: block; padding: 1px; font-size: 16px; line-height: 1.5; color: #262626; text-decoration: none; border-radius: 9.2857% / 50%; }
#main .section06 .list-item .item .navi a .word{ background-color: #ffffff; display: block; width: 100%; padding: 5.8571% 0; border-radius: 9.2857% / 50%; }
#main .section06 .list-item .item .navi a::before,
#main .section06 .list-item .item .navi a::after{ content: ""; position: absolute; width: 4.5714%; height: 1px; right: 0; top: 50%;  margin-right: 5%; background-color: #000; }
#main .section06 .list-item .item .navi a::after{ transform: scaleX(0.5) rotate(20deg); transform-origin: center right; }
#main .section06 .list-item .item01 .navi a{ background: linear-gradient(to right, #eacd76 0%, #a68830 100%); opacity: 1!important; position: relative; }
#main .section06 .list-item .item01 .navi a::before,
#main .section06 .list-item .item01 .navi a::after{ background-color: #a68830; display: none; }
#main .section06 .list-item .item01 .navi a .word .inner-body{ position: absolute; white-space: nowrap; text-align: center; left: 50%; top: 50%; transform: translate(-50%,-50%); font: inherit; }
#main .section06 .list-item .item01 .navi a .word .inner-body .inner-caption{ display: block; font-size: 80%; background-color: #c10000; padding: 2px 5px; color: #ffffff; }
#main .section06 .list-item .item02 .navi a{ background: linear-gradient(to right, #fccf00 0%, #ee835c 100%); opacity: 1!important; position: relative; }
#main .section06 .list-item .item02 .navi a::before,
#main .section06 .list-item .item02 .navi a::after{ background-color: #ee835c; display: none; }
#main .section06 .list-item .item02 .navi a .word .inner-body{ position: absolute; white-space: nowrap; text-align: center; left: 50%; top: 50%; transform: translate(-50%,-50%); font: inherit; }
#main .section06 .list-item .item02 .navi a .word .inner-body .inner-caption{ display: block; font-size: 80%; background-color: #002f95; padding: 2px 5px; color: #ffffff; }
#main .section06 .list-item .item .navi-disable a{ cursor: default; }
#main .section06 .caption{ margin-top: 70px; font-size: 14px; line-height: 1.66; text-align: center; position: relative; color: #969696; }
#main .section06 .photo-body{ margin-top: -156px; position: relative; }
#main .section06 .photo-body .photo-caption{ position: absolute; right: 0; bottom: 0; font-size: 14px; line-height: 1.5; padding: 2px 7px; text-shadow: white 0 0 5px, white 0 0 5px, white 0 0 5px; }

#main .util-navi{ position: fixed; bottom: 0; left: 0; width: 100%; background-color: rgba(255,255,255,0.98); z-index: 4000; padding: 10px; box-sizing: border-box; }
#main .util-navi .navi-list{ display: flex; display: -ms-flex; max-width: 714px; width: 100%; justify-content: space-between; margin: 0 auto; }
#main .util-navi .navi-list .navi{ width: 49%; max-width: 350px; text-align: center; position: relative; }
#main .util-navi .navi-list .navi a{ position: relative; display: block; padding: 1px; font-size: 16px; line-height: 1.5; color: #262626; text-decoration: none; border-radius: 9.2857% / 50%; }
#main .util-navi .navi-list .navi a .word{ background-color: #ffffff; display: block; width: 100%; padding: 5.8571% 0; border-radius: 9.2857% / 50%; }
#main .util-navi .navi-list .navi a::before,
#main .util-navi .navi-list .navi a::after{ content: ""; position: absolute; width: 4.5714%; height: 1px; right: 0; top: 50%;  margin-right: 5%; background-color: #000; }
#main .util-navi .navi-list .navi a::after{ transform: scaleX(0.5) rotate(20deg); transform-origin: center right; }
#main .util-navi .navi-list .navi01 a{ background: linear-gradient(to right, #eacd76 0%, #a68830 100%); opacity: 1!important; position: relative; }
#main .util-navi .navi-list .navi01 a::before,
#main .util-navi .navi-list .navi01 a::after{ background-color: #a68830; display: none; }
#main .util-navi .navi-list .navi01 a .word .inner-body{ position: absolute; white-space: nowrap; text-align: center; left: 50%; top: 50%; transform: translate(-50%,-50%); font: inherit; }
#main .util-navi .navi-list .navi01 a .word .inner-body .inner-caption{ display: block; font-size: 80%; background-color: #c10000; padding: 2px 5px; color: #ffffff; }
#main .util-navi .navi-list .navi02 a{ background: linear-gradient(to right, #fccf00 0%, #ee835c 100%); opacity: 1!important; position: relative; }
#main .util-navi .navi-list .navi02 a::before,
#main .util-navi .navi-list .navi02 a::after{ background-color: #ee835c; display: none; }
#main .util-navi .navi-list .navi02 a .word .inner-body{ position: absolute; white-space: nowrap; text-align: center; left: 50%; top: 50%; transform: translate(-50%,-50%); font: inherit; }
#main .util-navi .navi-list .navi02 a .word .inner-body .inner-caption{ display: block; font-size: 80%; background-color: #002f95; padding: 2px 5px; color: #ffffff; }
#main .util-navi .navi-list .navi-disable a{ cursor: default; }

@media screen and (max-width: 1060px) {
	#main .section02 .ttl-body{ margin: 0 0 0 70%; }
	#main .section02 .txt{ margin: 30px 0 0 10%; /*width: 52.69%;*/ }
	#main .section05{ padding: 120px 0; }
	#main .section05 .ttl-body{ margin-left: 40%; }
	#main .section05 .txt{ margin: 50px 0 0 40%; }
	#main .section05 .photo{ width: 120%; margin-left: -20%; }
}
@media screen and (max-width: 767.5px) {
	#main .scroll::before{ bottom: 20.8vw; }
	#main .scroll::after{ bottom: 22.9vw; }
	#main .intro-copy .copy{ font-size: 4.8148vh; margin-top: 0; }
	#main .main-visual{ /*height: 644px;*/ padding-top: 171.7333%; }
	#main .main-visual .logo{ width: 38.1415%; margin: 14.7621% 0 0 30.4549%; }
	#main .main-visual .photo{ width: 174.8957%; position: absolute; left: 0; top: auto; bottom: 0; margin: 0 0 0 -16.8%; }
	#main .main-visual .line01{ width: 49.4717%; margin: 31.7664% 0 0 -12.2048%; }
	#main .main-visual .line01 path{ stroke-width: 2px; }
	#main .section01{ margin-top: 58.6666%; padding-bottom: 24%; position: relative; }
	#main .section01 .line02{ width: 172.2552%; margin: -52.2229% 0 0 -41.5885%; }
	#main .section01 .illust01{ width: 26.9388%; margin: -47.9678% 0 0 59.8382%; }
	#main .section01 .ttl-body{ margin: 0 0 0 50%; }
	#main .section01 .ttl-body .en{ font-size: 4.2666vw; }
	#main .section01 .ttl-body .ja{ font-size: 6.9333vw; line-height: 1.9230; }
	#main .section01 .txt{ margin: 16% auto 0; width: 82.6666%; }
	#main .section01 .photo{ width: 100%; margin: 16.1290% auto 0; border-radius: 0; }
	#main .section02{ margin-top: 58.6666%; padding-bottom: 40%; }
	#main .section02 .line03{ width: 149.9594%; margin: -65.5396% 0 0 -5.6928%; }
	#main .section02 .illust02{ width: 57.1220%; margin: -39.7% 0 0 17.2664%; }
	#main .section02 .ttl-body{ margin: 0 0 0 50%; }
	#main .section02 .ttl-body .inner-body{ flex-direction: row; }
	#main .section02 .ttl-body .en{ font-size: 4.2666vw; margin: 0 10% 0 0; }
	#main .section02 .ttl-body .ja{ font-size: 6.9333vw; line-height: 1.9230; }
	#main .section02 .txt{ margin: 16% auto 0; width: 82.6666%; }
	#main .section02 .photo{ width: 100%; margin: 16.1290% auto 0; border-radius: 0; }

	#main .section03 .fixed-dummy{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
	#main .section03 .fixed-dummy .blur-pos{ margin-top: 160vh; margin-top: calc(var(--vh, 1vh) * 160); }
	#main .section03 .section-body{ position: relative; left: 0; top: 0; width: 100%; height: auto; padding-top: 100vh; padding-top: calc(var(--vh, 1vh) * 100); padding-bottom: 30%; }
	#main .section03 .section-body .fixed-bg{ position: fixed; }
	#main .section03 .section-body .box{ position: relative; display: block; top: 0; left: 0; transform: none; margin-top: 0; }
	#main .section03 .section-body .box .ttl-body{ position: relative; left: 50%; transform: translateX(-50%); }
	#main .section03 .section-body .box .ttl-body .en{ font-size: 4.2666vw; }
	#main .section03 .section-body .box .ttl-body .ja{ font-size: 6.9333vw; }
	#main .section03 .section-body .box .txt{ margin: 14.9333vw auto 0; width: 82.6666vw; white-space: normal; }
	#main .section03 .section-body .box .photo-list{ width: 85.3333vw; display: block; margin: 16vw auto 0; }
	#main .section03 .section-body .box .photo-list .photo{ width: 100%; }
	#main .section03 .section-body .box .photo-list .photo:nth-child(n+2){ margin-top: 10%; }
	/*#main .section03 .section-body .box .photo img{ width: 100%; height: 100%; object-fit: cover; }*/

	#main .section04 .fixed-dummy{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
	#main .section04 .fixed-dummy .blur-pos{ margin-top: 160vh; margin-top: calc(var(--vh, 1vh) * 160); }
	#main .section04 .section-body{ position: relative; left: 0; top: 0; width: 100%; height: auto; padding-top: 100vh; padding-top: calc(var(--vh, 1vh) * 100); padding-bottom: 30%; }
	#main .section04 .section-body .fixed-bg{ position: fixed; }
	#main .section04 .section-body .box{ position: relative; display: block; top: 0; left: 0; transform: none; margin-top: 0; }
	#main .section04 .section-body .box .ttl-body{ position: relative; left: 50%; transform: translateX(-50%); }
	#main .section04 .section-body .box .ttl-body .en{ font-size: 4.2666vw; }
	#main .section04 .section-body .box .ttl-body .ja{ font-size: 6.9333vw; }
	#main .section04 .section-body .box .txt{ margin: 14.9333vw auto 0; width: 82.6666vw; white-space: normal; }
	#main .section04 .section-body .box .photo-list{ width: 85.3333vw; display: block; margin: 16vw auto 0; }
	#main .section04 .section-body .box .photo-list .photo{ width: 100%; }
	#main .section04 .section-body .box .photo-list .photo:nth-child(n+2){ margin-top: 10%; }
	/*#main .section04 .section-body .box .photo img{ width: 100%; height: 100%; object-fit: cover; }*/

	#main .section05{ padding: 32% 0 25.0666%; background-color: #f3f3f1; }
	#main .section05 .ttl-body{ margin: 0 auto; width: 82.6666%; display: block; }
	#main .section05 .ttl-body .inner-body{ display: flex; display: -ms-flex; }
	#main .section05 .ttl-body .en{ position: relative; font-size: 4.2666vw; margin: 0 5% 0 0; right: 0; }
	#main .section05 .ttl-body .ja{ font-size: 6.9333vw; line-height: 1.9230; }
	#main .section05 .photo{ position: relative; width: 100%; height: auto; margin: 16% 0 0; }
	#main .section05 .txt{ margin: 10.6666% auto 0; width: 82.6666%; }
	#main .section06{ padding: 29.3333% 0 0; text-align: center; }
	#main .section06 .ttl-body{ position: relative; left: auto; top: auto; margin: 0 auto; text-align: left; }
	#main .section06 .ttl-body .en{ font-size: 4.2666vw; }
	#main .section06 .ttl-body .ja{ font-size: 6.9333vw; }
	#main .section06 .list-item{ display: block; max-width: none; width: 85.3333%; margin-top: 21.3333%; }
	#main .section06 .list-item .item{ width: 100%; }
	#main .section06 .list-item .item:nth-child(n+2){ margin-top: 15.625%; padding-top: 15.625%; }
	#main .section06 .list-item .item:nth-child(n+2)::before{ width: 100%; height: 1px; transform: translateY(-50%); }
	#main .section06 .list-item .item .logo{ padding-top: 0; }
	#main .section06 .list-item .item .logo .inner-body{ position: relative; left: auto; top: auto; transform: none; margin: 0 auto; }
	#main .section06 .list-item .item01 .logo .inner-body{ width: 65.9375%; }
	#main .section06 .list-item .item02 .logo .inner-body{ width: 86.5625%; }
	#main .section06 .list-item .item .txt{ margin-top: 8.75%; font-size: 4.2666vw; }
	#main .section06 .list-item .item .navi{ width: 100%; margin: 8% auto 0; }
	#main .section06 .list-item .item .navi a{ font-size: 4.2666vw; border-radius: 10.15625% / 50%; }
	#main .section06 .list-item .item .navi a .word{ padding: 6.4062% 0; border-radius: 10.15625% / 50%; }
	#main .section06 .caption{ font-size: 3.2vw; margin-top: 11.7333%; }
	#main .section06 .photo-body{ margin-top: 0; }
	#main .section06 .photo-body .photo{ width: 182.8%; margin-left: -33.8667%; }
	#main .section06 .photo-body .photo-caption{ color: #ffffff; text-shadow: none; }

	#main .util-navi{ padding: 10px 3%; }
	#main .util-navi .navi-list{ max-width: none; }
	#main .util-navi .navi-list .navi{ max-width: none; }
	#main .util-navi .navi-list .navi a{ font-size: 3.8vw; line-height: 1.2; border-radius: 16.4705% / 50%; }
	#main .util-navi .navi-list .navi a .word{ padding: 6.4062% 0; border-radius: 16.4705% / 50%; }
	#main .util-navi .navi-list .navi01 a .word .inner-body .inner-caption{ font-size: 70%; margin-top: 2%; }
}



/*animation*/
/*-------------------------------------------------------*/
@media screen and (max-width: 1060px) {
	#header{ opacity: 0; z-index: -1; -webkit-overflow-scrolling: touch; transition: opacity 0.5s; }
	#header.active{ opacity: 1; z-index: 5000; }
}
#main .intro-copy .copy .char{ opacity: 0; filter: blur(10px); }
#main .intro-copy .copy.show .char{ opacity: 1; filter: blur(0); transition: filter 1s, opacity 1s ease-in; }
#main .intro-copy .copy.show .char02{ transition-delay: 0.2s; }
#main .intro-copy .copy.show .char03{ transition-delay: 0.4s; }
#main .intro-copy .copy.show .char04{ transition-delay: 0.6s; }
#main .intro-copy .copy.show .char05{ transition-delay: 0.8s; }
#main .intro-copy .copy.show .char06{ transition-delay: 1s; }
#main .intro-copy .copy.show .char07{ transition-delay: 1.2s; }
#main .intro-copy .copy.show .char08{ transition-delay: 1.4s; }
#main .intro-copy .copy.show .char09{ transition-delay: 1.6s; }
#main .intro-copy .copy.show .char10{ transition-delay: 1.8s; }
#main .intro-copy .copy.show .char11{ transition-delay: 2.8s; }
#main .intro-copy .copy.show .char12{ transition-delay: 3s; }
#main .intro-copy .copy.show .char13{ transition-delay: 3.2s; }
#main .intro-copy .copy.show .char14{ transition-delay: 3.4s; }
#main .intro-copy .copy.show .char15{ transition-delay: 3.6s; }
#main .intro-copy .copy.show .char16{ transition-delay: 3.8s; }
#main .intro-copy .copy.show .char17{ transition-delay: 4s; }
#main .intro-copy .copy.show .char18{ transition-delay: 4.2s; }
#main .intro-copy .copy.show .char19{ transition-delay: 4.4s; }
#main .intro-copy .copy.show .char20{ transition-delay: 4.6s; }
#main .intro-copy .copy.show .char21{ transition-delay: 4.8s; }
#main .intro-copy .copy.show .char22{ transition-delay: 5s; }
#main .intro-copy.hide{ opacity: 0; transition: opacity 1s; }
#main .scroll::before,
#main .scroll::after{ opacity: 0; }
#main .main-visual.show+.scroll::before,
#main .main-visual.show+.scroll::after{ animation: scroll_arrow 1.5s 3s infinite; }
@keyframes scroll_arrow{
	0%{ transform: translate(-50%,-100%) rotate(45deg); opacity: 0; }
	90%{ transform: translate(-50%,-50%) rotate(45deg); opacity: 1; }
	100%{ opacity: 0; }
}
#main .main-visual .photo{ opacity: 0; filter: blur(10px); transform: scale(1.1); }
#main .main-visual.show .photo{ opacity: 1; filter: blur(0); transform: scale(1); transition: opacity 1s, filter 1s, transform 2s; }
#main .main-visual .logo{ opacity: 0; }
#main .main-visual.show .logo{ opacity: 1; transition: opacity 1s 2s; }
#main .main-visual .line01{ opacity: 0; }
#main .main-visual.show .line01{ opacity: 1; transition: opacity 1s 2s; }
#main .section01 .ttl-body .en{ opacity: 0; }
#main .section01 .ttl-body .ja .word{ opacity: 0; transform: translateY(50px); }
#main .section01 .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section01 .ttl-body.show .ja .word{ opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section01 .ttl-body.show .ja .word:nth-child(2){ transition-delay: 0.5s; }
#main .section01 .txt{ opacity: 0; }
#main .section01 .txt.show{ opacity: 1; transition: opacity 1s 1s; }
#main .section01 .photo{ opacity: 0; transform: translateX(50%); }
#main .section01 .photo.show{ opacity: 1; transform: translateX(0); transition: opacity 1s 0.5s, transform 1s 0.5s; }
@media screen and (max-width: 767.5px) {
	#main .section01 .txt.show{ transition-delay: 0s; }
	#main .section01 .photo.show{ transition-delay: 0s; }
}
#main .section01 .illust01{ opacity: 0; }
#main .section01 .line02.draw~.illust01{ opacity: 1; transition: opacity 1s; }
#main .section02 .ttl-body .en{ opacity: 0; }
#main .section02 .ttl-body .ja .word{ opacity: 0; transform: translateY(50px); }
#main .section02 .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section02 .ttl-body.show .ja .word{ opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section02 .ttl-body.show .ja .word:nth-child(2){ transition-delay: 0.5s; }
#main .section02 .txt{ opacity: 0; }
#main .section02 .txt.show{ opacity: 1; transition: opacity 1s 1s; }
#main .section02 .photo{ opacity: 0; transform: translateX(-50%); }
#main .section02 .photo.show{ opacity: 1; transform: translateX(0); transition: opacity 1s 0.5s, transform 1s 0.5s; }
@media screen and (max-width: 767.5px) {
	#main .section02 .txt.show{ transition-delay: 0s; }
	#main .section02 .photo.show{ transition-delay: 0s; }
}
#main .section02 .illust02{ opacity: 0; }
#main .section02 .line03.draw~.illust02{ opacity: 1; transition: opacity 1s; }
#main .section03 .section-body .box{ left: 100%; }
#main .section03 .section-body .ttl-body .en{ opacity: 0; }
#main .section03 .section-body .ttl-body .ja .word{ opacity: 0; transform: translateY(50px); }
#main .section03 .section-body .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section03 .section-body .ttl-body.show .ja .word{ opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section03 .section-body .ttl-body.show .ja .word:nth-child(2){ transition-delay: 0.5s; }
#main .section03 .section-body .txt{ opacity: 0; }
#main .section03 .section-body .txt.show{ opacity: 1; transition: opacity 1s; }
#main .section03 .section-body .photo{ opacity: 0; }
#main .section03 .section-body .photo.show{ opacity: 1; transition: opacity 1s; }
#main .section04 .section-body .box{ left: 100%; }
#main .section04 .section-body .ttl-body .en{ opacity: 0; }
#main .section04 .section-body .ttl-body .ja .word{ opacity: 0; transform: translateY(50px); }
#main .section04 .section-body .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section04 .section-body .ttl-body.show .ja .word{ opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section04 .section-body .ttl-body.show .ja .word:nth-child(2){ transition-delay: 0.5s; }
#main .section04 .section-body .txt{ opacity: 0; }
#main .section04 .section-body .txt.show{ opacity: 1; transition: opacity 1s; }
#main .section04 .section-body .photo{ opacity: 0; }
#main .section04 .section-body .photo.show{ opacity: 1; transition: opacity 1s; }
#main .section05 .ttl-body .en{ opacity: 0; }
#main .section05 .ttl-body .ja .word{ opacity: 0; transform: translateX(50px); }
#main .section05 .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section05 .ttl-body.show .ja .word{ opacity: 1; transform: translateX(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section05 .ttl-body.show .ja .word:nth-child(2){ transition-delay: 0.5s; }
#main .section05 .txt{ opacity: 0; }
#main .section05 .txt.show{ opacity: 1; transition: opacity 1s; }
#main .section06 .ttl-body .en{ opacity: 0; }
#main .section06 .ttl-body .ja .word{ opacity: 0; transform: translateY(50px); }
#main .section06 .ttl-body.show .en{ opacity: 1; transition: opacity 1s; }
#main .section06 .ttl-body.show .ja .word{ opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.25s; }
#main .section06 .list-item .item{ opacity: 0; }
#main .section06 .list-item .item.show{ opacity: 1; transition: opacity 1s; }
#main .section06 .caption{ opacity: 0; }
#main .section06 .caption.show{ opacity: 1; transition: opacity 1s; }
#main .util-navi{ transition: opacity 1s; }
#main .util-navi.hide{ opacity: 0; pointer-events: none; }
