@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; top: 50%; transform: translateY(-50%);
 background: #000; border: none; border-radius: 50%; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 0px; height: 0px; top: 50%; transform: translateY(-50%);}
.slick-prev:before { left: 30%; border: solid 9px transparent; border-right: solid 16px #fff; border-left: 0;}
.slick-next:before { right: 30%; border: solid 9px transparent; border-left: solid 16px #fff; border-right: 0;}

/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0;
	width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black;
}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}

@media (max-width: 481px) {
}



html{
  height: -webkit-fill-available;
}
body{
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
/*		font-style
-------------------------------------------------- */
body {
	font-family: "Noto Serif JP","Hiragino Mincho ProN","ヒラギノ明朝 Pro", "游明朝", "Yu Mincho", "YuMincho", serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea { font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.eng { font-family: Georgia, serif;}
::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}


#loading { position: fixed; top: 0px; left: 0px; width: 100%; height: 100svh; z-index: 100;}
#loading .inner { position: relative; width: 100%; height: 100%; background: #76624c;}
#loading .logo { width: 50%; max-width: 200px;
 position: absolute; left: 50%; top: 50%; transform: translate(-50%,-55%);
 transition: 1.2s ease; opacity: 0;
}
#loading.show .logo { opacity: 1;}
@keyframes showError{
	100%{ opacity: 1;}
}


.tips { position: absolute; left: 0; padding-left: 80px; transform: rotate(90deg); transform-origin: 0 0;}
.tips:before { content: ''; display: block; width: 60px; height: 1px; background: #fff; position: absolute; left: 0; top: 50%;}
.tips p { color: #fff; font-size: 14px; letter-spacing: 0.2rem;}
@media (max-width: 641px) {
	.tips { left: 20px;}
}
@media (max-width: 481px) {
	.tips { left: 12px; padding-left: 50px;}
	.tips:before { width: 40px;}
	.tips p { font-size: 10px; letter-spacing: 0.2rem;}

}


.wrap { position: relative; width: 100%;}

@keyframes slideshow5 {
  0% { opacity: 0;}
 8% { opacity: 1;}
 15% { opacity: 1;}
 25% { opacity: 0;}
 100%{ opacity: 0;}
}
@keyframes slideshow4 {
  0% { opacity: 0;}
 10% { opacity: 1;}
 20% { opacity: 1;}
 30% { opacity: 0;}
 100%{ opacity: 0;}
}
@keyframes zoom {
	0% { transform: translate(-50%,-50%) scale(1);}
 100%{ transform: translate(-50%,-50%) scale(1.2);}
}

@keyframes vline{
	0% { top: 0; height: 0px;}
  45%{ top: 0; height: 100%;}
  50%{ top: auto; bottom: 0; height: 100%;}
  90%{ bottom: 0; height: 0px;}
 100%{ bottom: 0; height: 0px;}
}

#kv { position: relative; z-index: 1;}
#kv .inner-kv { position: relative; width: 100%; height: 100vh;}
#kv .kv-btn { width: 250px; position: absolute; right: 0px; top: 60px; padding-left: 20px; z-index: 4; overflow: hidden;}
#kv .kv-btn a { position: relative; display: block;
 color: #76624c; font-size: 15px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; text-decoration: none;
 transform: translateX(250px);
}
#kv .kv-btn a:after { content: ''; display: block; width: 100%; height: 100%; background: #fff;
 border-top-left-radius: 50px; border-bottom-left-radius: 50px;
 position: absolute; right: 0; top: 0; z-index: 1; transition: 0.3s ease;
}
#kv .kv-btn a span { position: relative; display: block; padding: 16px 0; padding-left: 40px; z-index: 2;}

#kv.show .kv-btn a { transform: translateX(0px);}
#kv .kv-btn a br { display: none;}
#kv .kv-ctn { position: absolute; left: 0; top: 0; width: 100%; height: 100vh; z-index: 2;}
#kv .kv-logo { width: 230px; position: absolute; left: 50px; bottom: 30px;}
#kv .kv-logo img { width: 100%;}
#kv .kv-txt-1 { position: absolute; left: 50px; top: 60px; z-index: 3;}
#kv .kv-txt-1 p { color: #fff; font-size: 18px; letter-spacing: 0.3rem; line-height: 2;}
#kv .kv-line { position: absolute; right: 40px; bottom: 20px; width: 10px; height: 280px; padding-top: 85px; z-index: 2;
background: url('./img/txt-scroll.png') no-repeat 50% 0 / 100% auto;
}
#kv .kv-line div { position: relative; width: 100%; height: 100%;}
#kv .kv-line div:before,
#kv .kv-line div:after { content: ''; display: block; width: 1px; height: 100%; position: absolute; left: 50%;}
#kv .kv-line div:before { background: rgba(255,255,255,0.15);}
#kv .kv-line div:after { background: rgba(255,255,255,0.8); animation: 4.0s vline ease-in-out infinite;}
#kv .kv-txt-2 { position: absolute; left: 50%; top: 31.2vh; transform: translate(-50%,0); z-index: 4; writing-mode: vertical-rl;}
#kv .kv-txt-2 h1 { color: #fff; font-size: 32px; letter-spacing: 0.3rem; line-height: 2.2;}
#kv .kv-txt-2 h1 span { transition: opacity 1.5s ease, filter 1s ease; opacity: 0; filter: blur(5px);}
#kv .kv-txt-2 h1 span.char:nth-of-type(1) { transition-delay: 0.42s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(2) { transition-delay: 0.50s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(3) { transition-delay: 0.58s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(4) { transition-delay: 0.64s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(5) { transition-delay: 0.72s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(6) { transition-delay: 0.80s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(7) { transition-delay: 0.88s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(8) { transition-delay: 0.96s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(9) { transition-delay: 1.04s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(10){ transition-delay: 1.12s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(11){ transition-delay: 1.20s;}

#kv .kv-txt-2 h1 span.char:nth-of-type(12){ transition-delay: 0.62s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(13){ transition-delay: 0.70s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(14){ transition-delay: 0.78s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(15){ transition-delay: 0.86s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(16){ transition-delay: 0.94s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(17){ transition-delay: 1.02s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(18){ transition-delay: 1.10s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(19){ transition-delay: 1.18s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(20){ transition-delay: 1.26s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(21){ transition-delay: 1.34s;}

#kv .kv-txt-2 h1 span.char:nth-of-type(22){ transition-delay: 0.84s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(23){ transition-delay: 0.92s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(24){ transition-delay: 1.00s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(25){ transition-delay: 1.08s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(26){ transition-delay: 1.16s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(24){ transition-delay: 1.24s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(25){ transition-delay: 1.32s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(26){ transition-delay: 1.40s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(27){ transition-delay: 1.48s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(28){ transition-delay: 1.56s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(29){ transition-delay: 1.62s;}
#kv .kv-txt-2 h1 span.char:nth-of-type(30){ transition-delay: 1.70s;}

#kv .kv-bg { position: fixed; top: 0; left: 0; z-index: 1; width: 100%; height: 100svh;}
#kv .kv-bg .bg-inner { position: relative; width: 100%; height: 100%; overflow: hidden; background: #fff;
 -webkit-backface-visibility:hidden;
 backface-visibility:hidden;
 will-change: transform;
}

#kv .kv-bg .slide { position: absolute; width: 100%; height: 100svh; left: 0; top: 0;
 animation: slideshow4 32s linear infinite; opacity: 0; overflow: hidden;
}
#kv .kv-bg .slide:nth-child(1){ animation-delay: 0s;}
#kv .kv-bg .slide:nth-child(2){ animation-delay: 8s;}
#kv .kv-bg .slide:nth-child(3){ animation-delay: 16s;}
#kv .kv-bg .slide:nth-child(4){ animation-delay: 24s;}

#kv .kv-bg .slide:before { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 50%; left: 50%;
 animation: zoom 16s linear infinite; transform: translate(-50%,-50%) scale(1); z-index: 1;
}
#kv .kv-bg .slide:nth-child(1):before { animation-delay: 0s; background: url('./img/kv-1.jpg') no-repeat 50% 50% / cover;}
#kv .kv-bg .slide:nth-child(2):before { animation-delay: 6s; background: url('./img/kv-2.jpg') no-repeat 50% 50% / cover;}
#kv .kv-bg .slide:nth-child(3):before { animation-delay: 12s; background: url('./img/kv-3.jpg') no-repeat 50% 50% / cover;}
#kv .kv-bg .slide:nth-child(4):before { animation-delay: 18s; background: url('./img/kv-4.jpg') no-repeat 50% 50% / cover;}
#kv .kv-bg .slide:nth-child(5):before { animation-delay: 24s; background: url('./img/kv-5.jpg') no-repeat 50% 50% / cover;}

#kv .lead {}
#kv .lead .inner-sct { position: relative; width: 100%; height: 150vh;}
#kv .lead .ctn { position: relative; width: 92%; max-width: 1000px; height: 100%; margin: 0 auto;}
#kv .lead .ctn .inner { position: relative; height: 100%;}
#kv .lead .ctn .tit { writing-mode: vertical-rl; position: absolute; right: 0; top: 35%;}
#kv .lead .ctn .tit h2 { color: #fff; font-size: 26px; letter-spacing: 0.2rem; line-height: 2.4;}
#kv .lead .ctn .tit h2 span { transition: opacity 1.5s ease, filter 1s ease; opacity: 0; filter: blur(5px);}
#kv .lead .ctn .tit h2 span.char:nth-of-type(2) { transition-delay: 0.10s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(3) { transition-delay: 0.18s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(4) { transition-delay: 0.24s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(5) { transition-delay: 0.32s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(6) { transition-delay: 0.40s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(7) { transition-delay: 0.48s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(8) { transition-delay: 0.56s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(9) { transition-delay: 0.64s;}

#kv .lead .ctn .tit h2 span.char:nth-of-type(10){ transition-delay: 0.30s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(11){ transition-delay: 0.38s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(12){ transition-delay: 0.46s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(13){ transition-delay: 0.54s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(14){ transition-delay: 0.62s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(15){ transition-delay: 0.70s;}
#kv .lead .ctn .tit h2 span.char.delay-1 { transition-delay: 0.78s;}
#kv .lead .ctn .tit h2 span.char.delay-2 { transition-delay: 0.86s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(16){ transition-delay: 0.94s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(17){ transition-delay: 1.02s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(18){ transition-delay: 1.10s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(19){ transition-delay: 1.18s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(20){ transition-delay: 1.26s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(21){ transition-delay: 1.32s;}
#kv .lead .ctn .tit h2 span.char:nth-of-type(22){ transition-delay: 1.40s;}

#kv .lead .ctn .tit h2 span.kakko { position: relative; display: inline-block; padding: 20px 0;}
#kv .lead .ctn .tit h2 span.kakko:before,
#kv .lead .ctn .tit h2 span.kakko:after { content: ''; display: block; width: 10px; height: 8px; position: absolute; transition: opacity 0.8s ease, filter 1s ease; opacity: 0; filter: blur(5px);}
#kv .lead .ctn .tit h2 span.kakko:before{ right: 10px; top: 12px; background: url('./img/kakko-1.svg') no-repeat 50% 50% / 100% auto; transition-delay: 1.20s;}
#kv .lead .ctn .tit h2 span.kakko:after { left: 15px; bottom: 10px; background: url('./img/kakko-2.svg') no-repeat 50% 50% / 100% auto; transition-delay: 1.44s;}

#kv .lead .ctn .txt { writing-mode: vertical-rl; position: absolute; right: 200px; top: 35%;
 transition: opacity 0.8s ease, filter 1s ease; opacity: 0; filter: blur(5px); transition-delay: 1.5s;
}
#kv .lead .ctn .txt p { color: #fff; font-size: 18px; letter-spacing: 0.2rem; line-height: 2.6;}
#kv .lead .ctn .txt p span.br { display: block;}
#kv .lead .ctn .txt p span.kakko { position: relative; display: inline-block; padding: 15px 0;}
#kv .lead .ctn .txt p span.kakko:before,
#kv .lead .ctn .txt p span.kakko:after { content: ''; display: block; width: 7px; height: 6px; position: absolute;}
#kv .lead .ctn .txt p span.kakko:before{ right: 10px; top: 6px; background: url('./img/kakko-1.svg') no-repeat 50% 50% / 100% auto;}
#kv .lead .ctn .txt p span.kakko:after { left: 10px; bottom: 8px; background: url('./img/kakko-2.svg') no-repeat 50% 50% / 100% auto;}

#kv.show .kv-txt-2 h1 span { opacity: 1; filter: blur(0px);}
#kv .lead .ctn .tit.show h2 span { opacity: 1; filter: blur(0px);}
#kv .lead .ctn .tit.show h2 span.kakko:before,
#kv .lead .ctn .tit.show h2 span.kakko:after { opacity: 1; filter: blur(0px);}
#kv .lead .ctn .txt.show { opacity: 1; filter: blur(0px);}
@media (max-height: 601px) {
	#kv .inner-kv { min-height: 800px;}
	#kv .kv-logo { bottom: 20px;}
	#kv .kv-txt-2 { top: 20vh;}
	#kv .lead .inner-sct { min-height: 900px;}
}
@media (min-width: 801px) {
	#kv .kv-btn a:hover:after { width: 104%;}
}
@media (max-width: 801px) {
	#kv .kv-txt-1 p span { display: block;}
	#kv .lead .ctn .inner { width: 80%; max-width: 500px; margin: 0 auto;}
	#kv .lead .ctn .txt { right: 160px;}

	#kv .kv-bg { animation-range: contain 0% contain 6.5%; -webkit-animation-range: contain 0% contain 6.5%;}
}
@media (max-width: 641px) {
	#kv .kv-logo { left: 30px;}
	#kv .kv-txt-1 { left: 30px; top: 40px;}
	#kv .kv-btn { width: 200px; top: 40px;}
	#kv .kv-btn a span { padding: 12px 0; padding-left: 40px;}
	#kv .kv-btn a br { display: block;}

	#kv .kv-line { bottom: 20px; height: 200px;}

	#kv .kv-bg .slide:nth-child(1):before { background: url('./img/kv-1@sp.jpg') no-repeat 50% 50% / cover;}
	#kv .kv-bg .slide:nth-child(2):before { background: url('./img/kv-2@sp.jpg') no-repeat 50% 50% / cover;}
	#kv .kv-bg .slide:nth-child(3):before { background: url('./img/kv-3@sp.jpg') no-repeat 50% 50% / cover;}
	#kv .kv-bg .slide:nth-child(4):before { background: url('./img/kv-4@sp.jpg') no-repeat 50% 50% / cover;}
	#kv .kv-bg .slide:nth-child(5):before { background: url('./img/kv-5@sp.jpg') no-repeat 50% 50% / cover;}
}
@media (max-width: 481px) {
	#kv .kv-logo { width: 120px; left: 20px; bottom: 40px;}
	#kv .kv-btn { width: 160px; top: 30px;}
	#kv .kv-btn a span { padding: 4px 0; padding-left: 25px; font-size: 12px; line-height: 1.25;}

	#kv .kv-ctn { height: 100svh;}
	#kv .kv-txt-1 { left: 20px; top: 20px;}
	#kv .kv-txt-1 p { font-size: 12px; letter-spacing: 0.15rem;}
	#kv .kv-line { width: 8px; height: 180px; padding-top: 64px;}
	#kv .kv-line { right: 18px; bottom: auto; top: calc(100svh - 200px);}
	
	#kv .kv-txt-2 h1 { font-size: 20px; letter-spacing: 0.2rem;}

	#kv .kv-bg { height: 100svh;}
	#kv .lead .inner-sct { height: 200vh;}
	#kv .lead .ctn .inner { width: 88%;}
	#kv .lead .ctn .tit { display: block; position: relative; right: auto; top: 20%; margin: 0 auto;}
	#kv .lead .ctn .tit h2 { font-size: 20px; line-height: 2.0;}
	#kv .lead .ctn .tit h2 span.kakko { padding: 10px 0;}
	#kv .lead .ctn .tit h2 span.kakko:before,
	#kv .lead .ctn .tit h2 span.kakko:after { width: 8px; height: 6px;}
	#kv .lead .ctn .tit h2 span.kakko:before{ right: 6px; top: 2px;}
	#kv .lead .ctn .tit h2 span.kakko:after { left: 6px; bottom: 2px;}

	#kv .lead .ctn .txt { position: relative; margin: 0 auto; right: auto; transition-delay: 0.5s;}
	#kv .lead .ctn .txt p { font-size: 13px; line-height: 2.2;}
	#kv .lead .ctn .txt p span.kakko { padding: 10px 0;}
	#kv .lead .ctn .txt p span.kakko:before,
	#kv .lead .ctn .txt p span.kakko:after { width: 5px; height: 4px;}
	#kv .lead .ctn .txt p span.kakko:before{ right: 5px; top: 2px;}
	#kv .lead .ctn .txt p span.kakko:after { left: 5px; bottom: 4px;}
	
	#kv .kv-bg { height: 100vh; animation-range: contain 0% contain 6%; -webkit-animation-range: contain 0% contain 6%;}
	#kv .kv-bg .slide { height: 100vh;}
}



#introduction { position: relative; background: #76624c; z-index: 2;}
#introduction .inner-sct { position: relative; width: 92%; margin: 0 auto; padding: 120px 0px 90px;}
#introduction .tips { top: 120px;}
#introduction .tit { width: 100%; max-width: 1080px; margin: 0 auto 35px; padding: 0 36px;}
#introduction .tit h2 { color: #fff; font-size: clamp(20px, 2.4vw, 28px); letter-spacing: 0.3rem;
 transition: opacity 0.8s ease; opacity: 0;
}
#introduction .bloc { width: 100%; max-width: 1080px; margin: 0 auto; padding: 30px 40px;}
#introduction .ctn { position: relative; width: 100%; padding-top: 50px;}
#introduction .ctn-L { padding-left: 300px;}
#introduction .ctn-R { padding-right: 300px;}
#introduction .ctn .pht { position: absolute; top: 0; z-index: 3; width: 42%; max-width: 390px;}
#introduction .ctn.ctn-L .pht { left: 0px;}
#introduction .ctn.ctn-R .pht { right: 0px;}
#introduction .ctn .pht figure { position: relative;}
#introduction .ctn .pht figure img { position: relative; width: 100%; 
 transition: opacity 1.4s ease, filter 2s ease, transform 2s ease;
 -webkit-transition: opacity 1.4s ease, filter 2s ease, transform 2s ease;
 opacity: 0; filter: saturate(0.4); -webkit-filter: saturate(0.4); transform: translateY(20px) scale(1.02);}
#introduction .ctn .txt { position: relative; z-index: 2; overflow: hidden;
 transition: opacity 1.2s ease, transform 2s ease; opacity: 0; transform: translateY(20px);
 -webkit-transition: opacity 1.2s ease, transform 2s ease; opacity: 0; transform: translateY(20px);
}
#introduction .ctn .txt:after { content: ''; display: block; width: 100%; height: 100%;
 position: absolute; left: 0; bottom: 0; filter: blur(45px); opacity: 0.8;
}
#introduction .ctn .txt.bg-1:after { background: url('./img/pht-1.jpg') no-repeat 80% 80% / 200% auto;}
#introduction .ctn .txt.bg-2:after { background: url('./img/pht-2.jpg') no-repeat 20% 80% / 200% auto;}
#introduction .ctn .txt.bg-3:after { background: url('./img/pht-3.jpg') no-repeat 40% 25% / 200% auto;}
#introduction .ctn .txt.bg-4:after { background: url('./img/pht-4.jpg') no-repeat 80% 80% / 200% auto;}
#introduction .ctn .txt.bg-5:after { background: url('./img/pht-5.jpg') no-repeat 50% 80% / 280% auto;}
#introduction .ctn .txt.bg-6:after { background: url('./img/pht-6.jpg') no-repeat 80% 100% / 200% auto;}
#introduction .ctn .txt .inner { position: relative; padding: 50px; background: rgba(190,200,160,0.2); z-index: 2;}
#introduction .ctn.ctn-L .txt .inner { padding-left: 130px;}
#introduction .ctn.ctn-R .txt .inner { padding-right: 130px;}
#introduction .ctn .txt.bg-3 .inner { background: rgba(130,130,130,0.4);}
#introduction .ctn .txt.bg-6 .inner { background: rgba(110,130,150,0.2);}
#introduction .ctn .txt h3 { margin-bottom: 40px; color: #fff; font-size: clamp(18px, 2.0vw, 22px); letter-spacing: 0.25rem;}
#introduction .ctn .txt h3 span { display: block;}
#introduction .ctn .txt p { color: #fff; font-size: 15px; letter-spacing: 0.2rem; line-height: 2.2;}
#introduction .ctn .txt dl { padding-top: 30px;}
#introduction .ctn .txt dl dt { margin-bottom: 20px;}
#introduction .ctn .txt dl dt img { width: 100%;}
#introduction .ctn .txt dl dd { color: #fff; font-size: 15px; letter-spacing: 0.2rem; line-height: 2.2;}

#introduction .tit.show h2 { opacity: 1;}
#introduction .ctn.show .txt { opacity: 1; transform: translateY(0px);}
#introduction .ctn.show .pht figure img { opacity: 1; filter: saturate(1); -webkit-filter: saturate(1); transform: translateY(0px) scale(1);}

@media (max-width: 1201px) {
	#introduction .ctn-L { padding-left: 30%;}
	#introduction .ctn-R { padding-right: 32%;}
}
@media (max-width: 1001px) {
	#introduction .ctn .txt .inner { padding: 40px;}
	#introduction .ctn.ctn-L .txt .inner { padding-left: 100px;}
}
@media (max-width: 801px) {
	#introduction .inner-sct { padding: 200px 0px 120px;}
	#introduction .tips { top: 80px;}
	#introduction .tit { margin: 0 auto 20px; padding: 0 30px;}
	#introduction .bloc { padding: 20px 30px;}
	#introduction .ctn { padding-top: 30vw;}
	#introduction .ctn-L { padding-left: 40px;}
	#introduction .ctn-R { padding-right: 40px;}
	#introduction .ctn .pht { width: 65%; max-width: 65%;}
	#introduction .ctn.ctn-L .pht { left: 0px;}
	#introduction .ctn.ctn-R .pht { right: 0px;}
	#introduction .ctn .txt .inner { position: relative; padding: 80px 30px 30px;}
	#introduction .ctn.ctn-L .txt .inner { padding-left: 30px;}
	#introduction .ctn.ctn-R .txt .inner { padding-right: 30px;}
}
@media (max-width: 641px) {
	#introduction .ctn .txt h3 { margin-bottom: 20px;}
	#introduction .ctn .txt p { letter-spacing: 0.1rem; line-height: 2.0;}
}
@media (max-width: 481px) {
	#introduction .tips { top: 40px;}
	#introduction .tit { margin: 0 auto 12px; padding: 0 25px;}
	#introduction .tit h2 { font-size: 18px; letter-spacing: 0.2rem;}
	#introduction .bloc { padding: 25px;}
	#introduction .ctn { padding-top: 24vw;}

	#introduction .ctn .txt .inner { position: relative; padding: 60px 20px 30px;}
	#introduction .ctn.ctn-L .txt .inner { padding-left: 20px;}
	#introduction .ctn.ctn-R .txt .inner { padding-right: 20px;}
	#introduction .ctn .txt h3 { margin-bottom: 16px; font-size: 13px; letter-spacing: 0.1rem;}
	#introduction .ctn .txt p { font-size: 11px; line-height: 1.85;}
	#introduction .ctn .txt dl { padding-top: 12px;}
	#introduction .ctn .txt dl dt { margin-bottom: 12px;}
	#introduction .ctn .txt dl dd { font-size: 11px; letter-spacing: 0.1rem; line-height: 1.85;}
}



#exp { position: relative; z-index: 2;}
#exp .inner-sct { position: relative; width: 92%; min-height: 800px; height: 100svh; margin: 0 auto; padding-top: 100px;}
#exp .tips { top: 120px;}
#exp .read { position: absolute; width: 100%; padding-top: 30px;}
#exp .read .inner { width: 100%; max-width: 920px; margin: 0 auto; writing-mode: vertical-rl;}
#exp .read .tit { margin: 0 0px 0px 40px;}
#exp .read .tit h3 { color: #fff; font-size: 28px; font-weight: 600; letter-spacing: 0.15rem; line-height: 2.4;}
#exp .read .tit h3 span { transition: opacity 0.8s ease, filter 1s ease; opacity: 0; filter: blur(5px);}
#exp .read .tit h3 span.num40 { display: inline-block; height: 32px; color: transparent;
 background: url('./img/txt-40.png') no-repeat 50% 50% / auto 100%;
}
#exp .read .tit h3 span:nth-of-type(2) { transition-delay: 0.10s;}
#exp .read .tit h3 span:nth-of-type(3) { transition-delay: 0.18s;}
#exp .read .tit h3 span:nth-of-type(4) { transition-delay: 0.26s;}
#exp .read .tit h3 span:nth-of-type(5) { transition-delay: 0.34s;}
#exp .read .tit h3 span:nth-of-type(6) { transition-delay: 0.42s;}
#exp .read .tit h3 span:nth-of-type(7) { transition-delay: 0.50s;}
#exp .read .tit h3 span:nth-of-type(8) { transition-delay: 0.58s;}
#exp .read .tit h3 span:nth-of-type(9) { transition-delay: 0.66s;}

#exp .read .tit h3 span:nth-of-type(10){ transition-delay: 0.32s;}
#exp .read .tit h3 span:nth-of-type(11){ transition-delay: 0.40s;}
#exp .read .tit h3 span:nth-of-type(12){ transition-delay: 0.48s;}
#exp .read .tit h3 span:nth-of-type(13){ transition-delay: 0.66s;}
#exp .read .tit h3 span:nth-of-type(14){ transition-delay: 0.74s;}
#exp .read .tit h3 span:nth-of-type(15){ transition-delay: 0.82s;}
#exp .read .tit h3 span:nth-of-type(16){ transition-delay: 0.90s;}
#exp .read .tit h3 span:nth-of-type(17){ transition-delay: 0.98s;}
#exp .read .tit h3 span:nth-of-type(18){ transition-delay: 1.06s;}
#exp .read .tit h3 span:nth-of-type(19){ transition-delay: 1.14s;}
#exp .read .tit h3 span:nth-of-type(20){ transition-delay: 1.22s;}
#exp .read .tit h3 span:nth-of-type(21){ transition-delay: 1.30s;}
#exp .read .tit h3 span:nth-of-type(22){ transition-delay: 1.38s;}
#exp .read .tit h3 span:nth-of-type(23){ transition-delay: 1.46s;}
#exp .read .tit h3 span:nth-of-type(24){ transition-delay: 1.54s;}
#exp .read .tit h3 span:nth-of-type(25){ transition-delay: 1.62s;}

#exp .read .txt { margin: 0 0 0 auto; writing-mode: vertical-rl;
 transition: opacity 0.8s ease, filter 1s ease;
 -webkit-transition: opacity 0.8s ease, filter 1s ease;
 opacity: 0; filter: blur(5px); -webkit-filter: blur(5px); transition-delay: 2.0s;
}
#exp .read .txt p { color: #fff; font-size: 18px; letter-spacing: 0.2rem; line-height: 2.5;}

#exp .bloc { width: 100%; max-width: 900px; margin: 0 auto; padding: 32px 20px; transition: 1.2s ease; opacity: 0; transform: translateY(20px);}
#exp .bloc:nth-child(2) { transition-delay: 2.4s;}
#exp .bloc:nth-child(3) { transition-delay: 2.6s;}
#exp .bloc:nth-child(4) { transition-delay: 2.8s;}
#exp .bloc .box { padding-left: 30px; padding-right: 360px; border-left: solid 1px #fff;}
#exp .bloc .box h3 { margin-bottom: 20px; color: #fff; font-size: 22px;}
#exp .bloc .box h3 span { display: block; font-size: 16px; text-indent: -0.4em;}
#exp .bloc .box h3 sup { font-size: 10px; vertical-align: super;}
#exp .bloc .box p { color: #fff; font-size: 15px; line-height: 1.8;}
#exp .bloc .box p.note { margin-top: 20px; font-size: 12px;}
@media (min-width: 641px) {
	#exp .show .bloc { opacity: 1; transform: translateY(0px);}
	#exp .read .tit.show h3 span { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px);}
	#exp .read .txt.show { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px);}
}
@media (max-width: 1001px) {
	#exp .bloc .box { padding-left: 30px; padding-right: 300px;}
}
@media (max-width: 641px) {
	#exp { background: none;}
	#exp .inner-sct { min-height: auto; height: auto;}
	#exp .tips { top: 80px;}
	#exp .read { position: relative; margin-bottom: 80px;}
	#exp .read .inner { height: 75vh;}
	#exp .read .tit { margin: 0 25% 0px 40px;}
	#exp .bloc .box { padding-right: 0px;}

	#exp .bloc:nth-child(2) { transition-delay: 0s;}
	#exp .bloc:nth-child(3) { transition-delay: 0s;}
	#exp .bloc:nth-child(4) { transition-delay: 0s;}

	#exp .read .tit.show h3 span { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px);}
	#exp .read .txt.show { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px);}
	#exp .bloc.show { opacity: 1; transform: translateY(0px);}
}
@media (max-width: 481px) {
	#exp .inner-sct { height: auto; padding: 100px 0;}
	#exp .tips { top: 40px;}
	#exp .read .tit { margin: 0 12% 0px 20px;}
	#exp .read .tit h3 { font-size: 20px;}
	#exp .read .tit h3 span.num40 { height: 21px;}
	#exp .read .txt p { font-size: 14px;}

	#exp .bloc { padding: 15px 20px;}
	#exp .bloc .box { padding-left: 20px;}
	#exp .bloc .box h3 { margin-bottom: 12px; font-size: 16px;}
	#exp .bloc .box h3 span { font-size: 12px;}
	#exp .bloc .box p { font-size: 12px;}
	#exp .bloc .box p.note { margin-top: 12px; font-size: 10px;}
}


#voice { position: relative; z-index: 2;/* background: url('./img/bg-voice.jpg') no-repeat 50% 50% / cover;*/}
#voice .inner-sct { position: relative; width: 92%; min-height: 800px; height: 100svh; margin: 0 auto; padding-top: 120px;}
#voice .ttl { margin-bottom: 60px; transition: 0.8s ease; opacity: 0; transform: translateY(20px);}
#voice .ttl h2 { color: #fff; font-size: 30px; letter-spacing: 0.3rem; text-align: center;}
#voice .ctn { width: 100%; max-width: 880px; margin: 0 auto;}
#voice .ctn ul { position: relative; font-size: 0;}
#voice .ctn ul li { position: relative; width: 100%; color: #fff; font-size: 18px; letter-spacing: 0.2rem; line-height: 1.85;
 transition: 0.8s ease; opacity: 0; transform: translateY(20px);
}
#voice .ctn ul li:nth-child(1) { max-width: 360px; margin: 0 auto 50px 80px; transition-delay: 0.8s;}
#voice .ctn ul li:nth-child(2) { max-width: 310px; position: absolute; right: 40px; top: 50px; transition-delay: 1.2s;}
#voice .ctn ul li:nth-child(3) { max-width: 330px; margin: 0 auto 90px 0px; transition-delay: 1.6s;}
#voice .ctn ul li:nth-child(4) { max-width: 460px; position: absolute; right: 40px; top: 200px; transition-delay: 2.0s;}
#voice .ctn ul li:nth-child(5) { max-width: 560px; margin: 0 auto 40px; transition-delay: 2.4s;}
#voice .ctn ul li:nth-child(6) { font-size: 14px; text-align: center; transition-delay: 2.8s;}
#voice .ctn ul li span { position: relative; display: block; width: 100%; padding: 20px 10px; padding-left: 40px;
 background: url('./img/bg-R.png') no-repeat 100% 50% / auto 100%;
}
#voice .ctn ul li span:before,
#voice .ctn ul li span:after { content: ''; display: block; position: absolute; }
#voice .ctn ul li span:before{ width: calc(100% - 100px); height: 100%; top: 0; left: 0;
 background: url('./img/bg-L.png') no-repeat 0% 50% / auto 100%;
}
#voice .ctn ul li span:after { width: 1px; height: 25px; bottom: -12px; right: 65px; background: #fff;
 transform: rotate(-45deg);
}
#voice .ttl.show { opacity: 1; transform: translateY(0px);}
#voice .ctn.show ul li { opacity: 1; transform: translateY(0px);}
@media (max-width: 801px) {
	#voice .inner-sct {  min-height: auto; height: auto; padding: 100px 0px;}
	#voice .ctn ul li:nth-child(1) { margin: 0 auto 30px 20px;}
	#voice .ctn ul li:nth-child(2) { position: relative; right: auto; top: auto; margin: 0 auto 30px;}
	#voice .ctn ul li:nth-child(3) { margin: 0 0 30px auto;}
	#voice .ctn ul li:nth-child(4) { position: relative; right: auto; top: auto; margin: 0 0 30px;}
	#voice .ctn ul li:nth-child(5) { margin: 0 0 40px auto;}
}
@media (max-width: 641px) {
	#voice {}
	#voice .ctn ul li { font-size: 16px;}
	#voice .ctn ul li:nth-child(1) { max-width: 320px;}
	#voice .ctn ul li:nth-child(2) { max-width: 260px;}
	#voice .ctn ul li:nth-child(3) { max-width: 280px;}
	#voice .ctn ul li:nth-child(5) { max-width: 500px;}
}
@media (max-width: 481px) {
	#voice .inner-sct { padding: 80px 0px;}
	#voice .ttl { margin-bottom: 40px;}
	#voice .ttl h2 { font-size: 18px; letter-spacing: 0.2rem;}
	#voice .ctn ul li { font-size: 12px; letter-spacing: 0.1rem; line-height: 1.4;}
	#voice .ctn ul li:nth-child(1) { max-width: 230px; margin: 0 auto 25px 12px;}
	#voice .ctn ul li:nth-child(2) { max-width: 200px; margin: 0 auto 25px;}
	#voice .ctn ul li:nth-child(3) { max-width: 220px; margin: 0 0 25px auto;}
	#voice .ctn ul li:nth-child(4) { max-width: 290px; margin: 0 0 25px;}
	#voice .ctn ul li:nth-child(5) { max-width: 340px; margin: 0 0 30px auto;}
	#voice .ctn ul li:nth-child(6) { font-size: 10px;}

	#voice .ctn ul li span { padding: 12px; padding-left: 20px;}
	#voice .ctn ul li span:before{ width: calc(100% - 60px);}
	#voice .ctn ul li span:after { height: 18px; bottom: -9px; right: 36px;}
}



#future { position: relative; z-index: 2; background: #76624c;}
#future .inner-sct { position: relative; width: 92%; margin: 0 auto; padding: 100px 0px;}
#future .tips { top: 110px;}
#future .tit { width: 100%; max-width: 1000px; margin: 0 auto 50px; padding: 0 20px;}
#future .tit h3{ position: relative; margin-bottom: 40px; color: #fff; font-size: clamp(24px, 4.0vw, 30px); letter-spacing: 0.3rem;
 transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 -webkit-transition: opacity 0.8s ease, filter 1s ease, transform 2s ease;
 opacity: 0; filter: blur(20px); -webkit-filter: blur(20px); transform: translateY(20px);
}
#future .tit p { color: #fff; font-size: 18px; letter-spacing: 0.3rem;
 transition: opacity 0.8s ease, filter 1s ease, transform 2s ease; transition-delay: 0.4s;
 -webkit-transition: opacity 0.8s ease, filter 1s ease, transform 1s ease; -webkit-transition-delay: 0.4s;
 opacity: 0; filter: blur(10px); -webkit-filter: blur(10px); transform: translateY(20px);
}
#future .ctn { width: calc(100% - 40px); max-width: 1000px; margin: 0 auto 50px; border-left: solid 1px #bbb1a6; border-right: solid 1px #bbb1a6;
 transition: opacity 0.8s ease; transition-delay: 0.6s; opacity: 0;
}
#future .ctn ol { display: flex; justify-content: space-between; font-size: 0;}
#future .ctn ol li { width: 33.333334%; color: #fff; font-size: 15px; letter-spacing: 0.2rem;}
#future .ctn ol li:nth-child(2) { border-left: solid 1px #bbb1a6; border-right: solid 1px #bbb1a6;}
#future .ctn ol li dl { position: relative; width: 100%; height: 100%; padding: 6px 30px 12px;
 transition: opacity 0.8s ease, transform 1s ease; opacity: 0; transform: translateY(20px);
}
#future .ctn ol li:nth-child(1) dl { transition-delay: 0.4s;}
#future .ctn ol li:nth-child(2) dl { transition-delay: 0.6s;}
#future .ctn ol li:nth-child(3) dl { transition-delay: 0.8s;}
#future .ctn ol li dl dt { margin-bottom: 16px; font-size: clamp(16px, 1.8vw, 20px); line-height: 1.85;}
#future .ctn ol li dl dt span { display: block; margin-bottom: 12px; font-size: 23px; line-height: 1;}
#future .ctn ol li dl dd { letter-spacing: 0.15rem; text-align: justify;}
#future figure.wide { width: 100%; max-width: 1000px; margin: 0 auto 100px;}
#future figure.wide img { position: relative; width: 100%;
 transition: opacity 0.8s ease, transform 1.8s ease; opacity: 0; transform: translateY(20px); transition-delay: 0.6s;
}
#future figure.wide img.sp { display: none;}
#future .ctn-flex { display: flex; justify-content: space-between;
 width: 100%; max-width: 1000px; margin: 0 auto;
}
#future .ctn-flex .txt { width: 50%;}
#future .ctn-flex .pht { width: 45%;}
#future .ctn-flex .txt h3 { margin-bottom: 20px; padding-bottom: 20px; border-bottom: solid 1px #bbb1a6;
 color: #fff; font-size: 23px; letter-spacing: 0.2rem;
 transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 -webkit-transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 opacity: 0; filter: blur(5px); -webkit-filter: blur(5px); transform: translateY(20px);
}
#future .ctn-flex .txt p { color: #fff; font-size: 18px; letter-spacing: 0.3rem;
 transition: opacity 0.8s ease; transition-delay: 0.4s; opacity: 0; transform: translateY(20px);
}
#future .ctn-flex .pht figure img { position: relative; width: 100%;
 transition: opacity 1.4s ease, filter 2s ease, transform 2s ease;
 -webkit-transition: opacity 1.4s ease, filter 2s ease, transform 2s ease;
 opacity: 0; filter: saturate(0.4); -webkit-filter: saturate(0.4); transform: translateY(20px) scale(1.02);
}

#future .tit.show h3,
#future .tit.show p { opacity: 1; filter: blur(0px); transform: translateY(0px);}
#future .ctn.show { opacity: 1;}
#future .ctn.show ol li dl { opacity: 1; transform: translateY(0px);}
#future figure.show img { opacity: 1; transform: translateY(0px);}
#future .ctn-flex.show .pht figure img { opacity: 1; filter: saturate(1); transform: scale(1);}
#future .ctn-flex.show .txt h3{ opacity: 1; filter: blur(0px); -webkit-filter: blur(0px); transform: translateY(0px);}
#future .ctn-flex.show .txt p { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px); transform: translateY(0px);}

@media (max-width: 1001px) {
	#future .ctn ol li dl { padding: 6px 20px 12px;}
	#future .ctn-flex .txt p { font-size: 16px; letter-spacing: 0.2rem;}
}
@media (max-width: 801px) {
	#future .tit p { font-size: 16px;}
	#future .tit p span { display: block;}
	#future .ctn { width: calc(100% - 40px); margin: 0 auto 60px; border: 0px;}
	#future .ctn ol { display: block; border-top: solid 1px #bbb1a6;}
	#future .ctn ol li { width: 100%; border-bottom: solid 1px #bbb1a6;}
	#future .ctn ol li:nth-child(2) { border-left: 0px; border-right: 0px;}
	#future .ctn ol li dl { padding: 20px 0px;}
	#future .ctn ol li dl dt { font-size: 18px;}
	#future .ctn ol li dl dt span { font-size: 20px;}
	#future .ctn ol li dl dt br { display: none;}
	#future figure.wide { width: calc(100% - 40px); margin: 0 auto 60px;}
	#future .ctn-flex { display: block; width: calc(100% - 40px);}
	#future .ctn-flex .txt { width: 100%; margin-bottom: 40px;}
	#future .ctn-flex .pht { width: 100%;}
	#future .ctn-flex .txt h3 { margin-bottom: 15px; padding-bottom: 15px; font-size: 20px;}
	#future .ctn-flex .txt p { font-size: 16px; letter-spacing: 0.2rem;}
}
@media (max-width: 641px) {
	#future figure.wide img.pc { display: none;}
	#future figure.wide img.sp { display: block;}
}
@media (max-width: 481px) {
	#future .inner-sct { padding: 140px 0px 80px;}
	#future .tips { top: 30px;}
	#future .tit { margin: 0 auto 30px;}
	#future .tit h3{ margin-bottom: 20px; font-size: 14px; letter-spacing: 0.2rem;}
	#future .tit p { font-size: 13px; letter-spacing: 0rem;}

	#future .ctn { margin: 0 auto 50px;}
	#future .ctn ol li { font-size: 12px;}
	#future .ctn ol li dl dt { font-size: 15px; line-height: 1.4;}
	#future .ctn ol li dl dt span { margin-bottom: 10px; font-size: 16px;}
	#future .ctn ol li dl dt br.sp { display: block;}
	#future .ctn ol li dl dd { letter-spacing: 0.05rem;}

	#future figure.wide { margin: 0 auto 50px;}

	#future .ctn-flex .txt { margin-bottom: 30px;}
	#future .ctn-flex .txt h3 { margin-bottom: 10px; padding-bottom: 10px; font-size: 16px;}
	#future .ctn-flex .txt p { font-size: 12px; letter-spacing: 0.05rem;}
	#future .ctn-flex .pht figure img { transition-delay: 0.6s;}
}


#faq { position: relative; z-index: 2;}
#faq .inner-sct { position: relative; width: 92%; margin: 0 auto; padding: 100px 0px 120px;}
#faq .tips { top: 100px;}
#faq h2 { margin-bottom: 60px; color: #fff; font-size: 30px; letter-spacing: 0.3rem; text-align: center;
 transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 -webkit-transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 opacity: 0; filter: blur(20px); -webkit-filter: blur(20px); transform: translateY(20px);
}
#faq .ctn { width: 88%; max-width: 850px; margin: 0 auto;}
#faq .ctn ul.qa li { position: relative; margin-bottom: 30px; background: #76624c;
 transition: opacity 0.8s ease, transform 1s ease; opacity: 0; transform: translateY(20px);
}
#faq .ctn ul.qa li:last-child { margin-bottom: 0px;}
#faq .ctn ul.qa li dl dt { position: relative; padding: 25px 80px 20px; color: #fff; font-size: 22px; letter-spacing: 0.15rem; line-height: 1.4; cursor: pointer;}
#faq .ctn ul.qa li dl dt:before,
#faq .ctn ul.qa li dl dt:after { content: ''; display: block; width: 28px; height: 1px; background: #fff;
 position: absolute; right: 30px; top: 55%;
}
#faq .ctn ul.qa li dl dt:before{}
#faq .ctn ul.qa li dl dt:after { transform: rotate(90deg); transition: 0.3s linear;}
#faq .ctn ul.qa li dl dt.open:after { transform: rotate(0deg);}

#faq .ctn ul.qa li dl dt span.eng { font-size: 28px; line-height: 1;
 position: absolute; left: 36px; top: 50%; transform: translateY(-50%);
}
#faq .ctn ul.qa li dl dd { position: relative; display: none; padding: 30px; color: #fff; font-size: 16px; line-height: 2; letter-spacing: 0.2rem;}
#faq .ctn ul.qa li dl dd:before { content: ''; display: block; width: calc(100% - 60px); height: 1px; border-top: dashed 1px #bbb1a6;
 position: absolute; left: 50%; top: 1px; transform: translateX(-50%);
}

#faq h2.show { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px); transform: translateY(0px);}
#faq .ctn ul.qa li.show { opacity: 1; transform: translateY(0px);}

@media (max-width: 801px) {
	#faq h2 { margin-bottom: 40px;}
	#faq .ctn ul.qa li { margin-bottom: 20px;}
	#faq .ctn ul.qa li dl dt { padding: 25px 60px; font-size: 20px;}
	#faq .ctn ul.qa li dl dt:before,
	#faq .ctn ul.qa li dl dt:after { right: 20px; top: 52%;}	
	#faq .ctn ul.qa li dl dt span.eng { font-size: 24px; left: 20px;}
	#faq .ctn ul.qa li dl dd { font-size: 14px; line-height: 1.8;}
	#faq .ctn ul.qa li dl dd:before { width: calc(100% - 40px);}
}
@media (max-width: 481px) {
	#faq { background-size: cover;}
	#faq .inner-sct { padding: 100px 0px;}
	#faq .tips { top: 40px;}
	#faq h2 { margin-bottom: 30px; font-size: 18px; letter-spacing: 0.2rem;}
	#faq .ctn ul.qa li { margin-bottom: 12px;}
	#faq .ctn ul.qa li dl dt { padding: 15px 50px; font-size: 14px; letter-spacing: 0.1rem;}
	#faq .ctn ul.qa li dl dt:before,
	#faq .ctn ul.qa li dl dt:after { right: 20px; top: 52%; width: 16px;}	
	#faq .ctn ul.qa li dl dt span.eng { font-size: 21px; left: 20px;}
	#faq .ctn ul.qa li dl dd { padding: 12px 20px 20px; font-size: 12px; letter-spacing: 0.1rem; line-height: 1.4;}
	#faq .ctn ul.qa li dl dd:before { width: calc(100% - 40px);}
}



#contact { position: relative; z-index: 2; background: #76624c;}
#contact .inner-sct { position: relative; width: 92%; margin: 0 auto; padding: 120px 0px 0px;}
#contact .tips { top: 100px;}
#contact h2 { margin-bottom: 40px; color: #fff; font-size: 30px; letter-spacing: 0.2rem; text-align: center;
 transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 -webkit-transition: opacity 0.8s ease, filter 1s ease, transform 1s ease;
 opacity: 0; filter: blur(20px); -webkit-filter: blur(20px); transform: translateY(20px);
}
#contact .read{ width: 100%; max-width: 900px; margin: 0 auto 40px;}
#contact .read p { color: #fff; font-size: 20px; letter-spacing: 0.3rem; text-align: center;
 transition: 0.8s ease; opacity: 0; transform: translateY(20px);
}
#contact .ctn { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 900px;
 margin: 0 auto 30px; border-left: solid 1px #bbb1a6; border-right: solid 1px #bbb1a6;
 transition: 0.8s ease; opacity: 0; transform: translateY(20px);
}
#contact .ctn .tel { padding: 12px 0; width: 70%; border-right: solid 1px #bbb1a6;}
#contact .ctn .link{ padding: 12px 0; width: 30%;}

#contact .ctn .tel dl { padding-left: 40px;}
#contact .ctn .tel dl dt,
#contact .ctn .tel dl dd { color: #fff;}
#contact .ctn .tel dl dt { font-size: 22px; letter-spacing: 0.3rem; line-height: 1;}
#contact .ctn .tel dl dd { font-size: 18px; letter-spacing: 0.3rem;}
#contact .ctn .tel dl dd.telno a { display: inline-block; pointer-events: none;
 color: #fff; font-size: clamp(30px, 4.2vw, 38px); letter-spacing: 0.2rem; vertical-align: baseline; text-decoration: none;
}
#contact .ctn .tel dl dd.telno span { display: inline-block; font-size: clamp(16px, 1.8vw, 18px); letter-spacing: 0.2rem; vertical-align: baseline;}


#contact .ctn .link ul { width: 100%; max-width: 250px; margin: 0 auto; font-size: 0; text-align: center;}
#contact .ctn .link ul li { display: inline-block; width: 30%;}
#contact .ctn .link ul li a { display: block; width: 52px; margin: 0 auto;}
#contact .ctn .link ul li a svg { width: 100%; fill: #fff;}

#contact .form-ctn { width: 92%; max-width: 900px; height: 1020px; margin: 0 auto;}
#contact .form-ctn iframe { width: 100%; height: 100%; border: none;}

#contact h2.show { opacity: 1; filter: blur(0px); -webkit-filter: blur(0px); transform: translateY(0px);}
#contact .read.show p { opacity: 1; transform: translateY(0px);}
#contact .ctn.show { opacity: 1; transform: translateY(0px);}
@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#contact .ctn { display: block; width: 80%; margin: 0 auto 30px; padding: 20px 0; border: 0px; border-top: solid 1px #bbb1a6; border-bottom: solid 1px #bbb1a6;}
	#contact .ctn .tel { width: 100%; border-right: none;}
	#contact .ctn .link{ width: 100%;}
	#contact .ctn .tel dl { padding: 0; text-align: center;}
	#contact .ctn .tel dl dt { margin-bottom: 12px;}
	#contact .ctn .tel dl dd.telno { margin-bottom: 12px;}
}
@media (max-width: 641px) {
	#contact .ctn .tel { margin-bottom: 12px;}
	#contact .ctn .tel dl dd.telno { padding: 12px 0 20px; border: solid 1px #bbb1a6;}
	#contact .ctn .tel dl dd.telno a { display: inline-block; pointer-events: visible; font-size: 30px; line-height: 1.2;}
	#contact .ctn .tel dl dd.telno span { display: block; font-size: 16px; letter-spacing: 0.1rem;}
}
@media (max-width: 481px) {
	#contact .tips { top: 40px;}
	#contact h2 { margin-bottom: 12px; font-size: 18px;}
	#contact .read { margin-bottom: 20px;}
	#contact .read p { font-size: 14px; letter-spacing: 0.15rem;}
	#contact .read p span { display: block;}
	#contact .ctn { padding: 12px 0;}
	#contact .ctn .tel dl dt { font-size: 16px;}
	#contact .ctn .tel dl dd { font-size: 13px; letter-spacing: 0.1rem;}
	#contact .ctn .tel dl dd.telno { padding: 6px 0 10px;}
	#contact .ctn .tel dl dd.telno a { font-size: 24px;}
	#contact .ctn .tel dl dd.telno span { font-size: 13px;}
	#contact .form-ctn { width: 88%; height: 1150px;}
}



#ft { position: relative; z-index: 2; background: #76624c;}
#ft .inner-ft { width: 92%; max-width: 900px; margin: 0 auto; padding: 35px 0 12px;}
#ft .ft-ctn { position: relative; width: 100%; margin-bottom: 50px; padding-left: 380px; border-left: solid 1px #bbb1a6;}
#ft .ft-ctn .ft-name { position: absolute; left: 35px; top: 0px;}
#ft .ft-ctn .ft-name h3 { color: #fff; font-size: 18px; letter-spacing: 0.3rem;}
#ft .ft-ctn ul li { margin-bottom: 30px; color: #fff; font-size: 16px; letter-spacing: 0.25rem;}
#ft .ft-ctn ul li:last-child { margin-bottom: 0px;}
#ft .ft-ctn ul li dl dt { margin-bottom: 12px;}
#ft .ft-ctn ul li dl dd br { display: none;}
#ft .copyright { padding: 20px 0;}
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}

@media (max-width: 801px) {
	#ft .ft-ctn { width: 80%; margin: 0 auto 40px; padding-left: 0px; padding-top: 20px; border-left: none; border-top: solid 1px #bbb1a6;}
	#ft .ft-ctn .ft-name { position: relative; left: auto; top: auto; margin-bottom: 20px;}
	#ft .ft-ctn ul li { margin-bottom: 12px; font-size: 14px; }
	#ft .ft-ctn ul li dl dt { margin-bottom: 0px;}
}
@media (max-width: 481px) {
	#ft .ft-ctn { margin-bottom: 30px;}
	#ft .ft-ctn .ft-name h3 { font-size: 13px; letter-spacing: 0.1rem;}
	#ft .ft-ctn ul li { font-size: 12px; letter-spacing: 0.1rem;}
	#ft .ft-ctn ul li dl dd br { display: block;}
	#ft .copyright { padding: 12px 0;}
	#ft .copyright p { font-size: 10px;}
}



.fix-btn { width: 60%; max-width: 250px; padding-left: 20px; position: fixed; top: 30px; right: 0; z-index: 10;
 transition: 0.4s ease; transform: translate(300px,0px);
}
.fix-btn.fixed { transform: translate(0px,0px);}
.fix-btn a { position: relative; display: block; color: #76624c; font-size: 15px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; text-decoration: none;}
.fix-btn a:after { content: ''; display: block; width: 100%; height: 100%; background: #fff; border-top-left-radius: 50px; border-bottom-left-radius: 50px; z-index: 1;
 position: absolute; right: 0; top: 0;
 transition: 0.3s ease;
}
.fix-btn a span { position: relative; display: block; padding: 15px 0; padding-left: 40px; z-index: 2;}
@media (min-width: 801px) {
	.fix-btn a:hover:after { opacity: 0.95; width: 104%;}
}
@media (max-width: 641px) {
	.fix-btn { top: auto; right: auto; bottom: 30px; left: 50%; transition: 0.4s ease; transform: translate(-50%,200px);}
	.fix-btn.fixed { transform: translate(-50%,0px);}
	.fix-btn a { position: relative; display: block; font-size: 15px; text-align: center; text-decoration: none; transition: 0.3s ease;
	}
	.fix-btn a:after { border-radius: 50px;}
	.fix-btn a span { padding: 15px 0;}
}
@media (max-width: 481px) {
	.fix-btn { bottom: 20px;}
	.fix-btn a { font-size: 13px;}
	.fix-btn a span{ padding: 10px 0;}
}


.fix-bg { position: fixed; left: 0; top: 0; width: 100%; height: 100svh;}
.fix-bg .bg-movie { position: relative; display: block; width: 100%; height: 100%; z-index: 3;}
.fix-bg .bg-movie video { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); min-width: 100%; min-height: 100%;}
.fix-bg .bg-movie video.sp { display: none;}
.fix-bg .bg-movie.hide { display: none;}
.fix-bg .bg-exp { position: absolute; left: 0; top: 0; z-index: 2; width: 100%; height: 100%; background: url('./img/bg-voice.jpg') no-repeat 50% 50% / cover;}
.fix-bg .bg-exp:before { content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0;
 background: url('./img/bg-exp.jpg') no-repeat 50% 50% / cover; transition: 0.3s ease;
}
.fix-bg .bg-exp.bg-2:before { opacity: 0;}
.fix-bg .bg-faq { position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: 100%; background: url('./img/bg-faq.jpg') no-repeat 50% 50% / cover;}
@media (max-width: 801px) {
	.fix-bg { height: 100vh; height: 100svh;}
	.fix-bg .bg-movie video.pc { display: none;}
	.fix-bg .bg-movie video.sp { display: block; width: 112%; height: auto;}
	.fix-bg .bg-exp { width: 100%; height: 100vh; background: url('./img/bg-voice@sp.jpg') no-repeat 50% 50% / cover;}
	.fix-bg .bg-exp:before { background: url('./img/bg-exp@sp.jpg') no-repeat 50% 50% / cover;}
	.fix-bg .bg-faq { height: 100vh;}
}