@charset "UTF-8";
/*-----------------------------------------------------
Reset
----------------------------------------------------- */
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section , main {
	display: block;
}

a:link, a:visited, a:hover, a:active { color: #323232; text-decoration: none; }

html { scroll-behavior:smooth; scrollbar-gutter: stable; }
/*[id] {scroll-margin-top:40px;}*/
body { line-height: 1; text-align: justify; background: #fff; color: #323232; font-family: "M PLUS 1p", sans-serif; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }

* { margin: 0; padding: 0; }
img { max-width: 100%; width: 100%; height: auto; vertical-align: bottom; flex-shrink: 0; }
picture { display: block; }
span.uwa { vertical-align: top; font-size: 30%; } 

/*滞在色変*/
#Index nav.localnav #menu01 a , #Outline nav.localnav #menu02 a , #Plan nav.localnav #menu03 a , #Location nav.localnav #menu04 a , #Quality nav.localnav #menu05 a { color: #515151; }

/*オーバーレイ*/
.overlay { background: #fff; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 10000; }

/*fade*/
.fade { opacity: 0; transition: opacity 1.5s; }
.fade.is_inview { opacity: 1; transition-delay: .8s; }

.fade_early { opacity: 0; transition: opacity 1s; }
.fade_early.is_inview { opacity: 1; transition-delay: .1s; }

.fadeup { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup.is_inview { opacity: 1; transform: translateY(0); transition-delay: .1s; }
.fadeup02 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup02.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .2s; }
.fadeup03 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform 1s; }
.fadeup03.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .3s; }

/*-----------------------------------------------------

common

----------------------------------------------------- */

h1 , h2 , h3 , h4 , h5 { font-feature-settings: "palt"; font-weight: initial; line-height: 1.5; }
.pc { display: block; }
.tab { display: none; }
.sp { display: none; }
p { font-feature-settings: "palt"; line-height: 1.6; }

[data-size="w750"]{ max-width: 750px; margin: 0 auto; }
[data-size="w800"]{ max-width: 800px; margin: 0 auto; }
[data-size="w900"]{ max-width: 900px; width: 90%; margin: 0 auto; }
[data-size="w1000"]{ max-width: 1000px; width: 90%; margin: 0 auto; }
[data-size="w1200"]{ max-width: 1200px; width: 90%; margin: 0 auto; }

:root {
	--blue-color: #3331ba;
  --purple-color: #87217b;
  --pink-color: #f757a3;
  --purple-color: #4c3598;
}

.line { border:solid #bb915c82 .3px; margin-bottom: 40px; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.kv { background: url("../img/kvset_bg.jpg")no-repeat; background-size: cover; width: 50%; position: relative; background-position: center; z-index: 1;display: flex; align-items: center; justify-content: center; }
.kv .kv_catch { max-width:600px; width:90%; bottom: 20%; position: absolute; }
.kv .kv_catch img { width:100%; height:auto; }
.kv_flex { display: flex; height: 100vh }
.kv_column { display: flex; flex-direction: column; width: 50%; }
.kv_column .kv_column_blk .column_ttl { position: relative; margin-bottom: -10px; }
.kv_column .kv_column_blk { height: 50%; display: flex; flex-direction: column; justify-content: center; padding: 5%; box-sizing: border-box; }
.kv_column .kv_column_blk.miho { background: url("../img/miho_bg.png")no-repeat; background-size: cover; }
.kv_column .kv_column_blk.ritto { background: url("../img/ritto_bg.png")no-repeat; background-size: cover; }
.kv_column_blk.miho a { filter: drop-shadow(0px 7px 7px rgba(79, 67, 177, 0.6)); transition: .15s; }
.kv_column_blk.ritto a { filter: drop-shadow(0px 7px 7px rgba(269, 67, -63, 0.6)); transition: .15s; }
.kv_column_blk a:hover { filter: none; transform: translateY(5px); }
/*未選択hover処理*/
.kv_column_blk { position: relative; transition: 0.3s ease; }
.kv_column_blk::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0); pointer-events: none; transition: background 0.3s ease; }
.kv_column:has(.miho:hover) .ritto::after { background: rgba(0,0,0,0.7); }
.kv_column:has(.ritto:hover) .miho::after { background: rgba(0,0,0,0.7); }

footer { background: #1a1a8a; padding: 10px 0; }
footer small img { max-width: 100px; }
footer .txt_area { text-align: center; }


@media (max-width: 1448px) and (max-height: 675px) {
  .kv .kv_catch { max-width: 500px; }
}

@media only screen and (max-width: 980px){
  .kv { width: 100%; height: 100vh; }
  .kv_flex { display: block; height: initial; }
  .kv_column { width: 100%; }
  .kv_column .kv_column_blk { padding: 7% 7% 9% 7%; }
  .kv_column:has(.miho:hover) .ritto::after , .kv_column:has(.ritto:hover) .miho::after { background: none; }
}

/*　600pxからレスポンシブ*/
@media only screen and (max-width: 600px){
	.pc { display: none; }
	.sp { display: block; }
}
