@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: var(--main-font-color); text-decoration: none;
}

/*html { scroll-behavior: smooth; }*/
body { line-height: 1; text-align: justify; background: #fff; color: var(--main-font-color); font-family: "A1明朝", 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; }

/*滞在色変*/
#Index nav.localnav #menu01 a , #Outline nav.localnav #menu02 a , #Location nav.localnav #menu03 a , #Plan nav.localnav #menu04 a , #Quality nav.localnav #menu05 a , #Structure nav.localnav #menu06 a , #Gallery nav.localnav #menu07 a { background: #f0ecde; }

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

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

common

----------------------------------------------------- */
h1 , h2 , h3 , h4 , h5 { font-weight: initial; }
.pc { display: block; }
.sp { display: none; }
p { color: var(--main-font-color); line-height: 1.4; }
/*.small { font-size: 10px; line-height: 1.3; }*/
sup { font-size: 10px; vertical-align: top; position: relative; top: -0.3em; }
.cp { font-size: 10px; line-height: 1.3 }


.inner { max-width: 1280px; width: 90%; margin: 0 auto; }
.flex { display: flex; justify-content: space-between; align-items: flex-start; }
[data-overDirection="full"] { width: 100vw; margin: 0 calc(50% - 50vw); }
[data-color="ocher"]{ color: #BB915C; }
[data-size="w900"]{ max-width: 900px; 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; }
.w900 { max-width: 900px; width: 90%; margin: 0 auto;}

:root {
	--main-font-color: #3c3c3c;
	--brown-color: #532b1a;
	--green-color: #008d54;
	--mossgreen-color: #79a389;
	--sub-font: "Cardo", serif;
  	--ryumin-font: "リュウミン R-KL JIS2004 AP", serif;
	--gothic-font: Gothic Medium BBB , "Hiragino Kaku Gothic ProN";
	--a1gothic-font: "A1ゴシック" , "Hiragino Kaku Gothic ProN";
}
/*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; }

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

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

下層heeadまわり

----------------------------------------------------- */
.intro h2 { font-size: 35px; line-height: 50px; margin-bottom: 30px; }
.head_area { position: relative; height: 325px; display: flex; flex-direction: column; justify-content: center; align-items: center; margin-bottom: 100px; }
.head_area h3 { background: #fff; padding: 18px 25px; box-sizing: border-box; text-align: center; font-size: clamp(12px, 3vw, 15px); color: #b18c81; width: min(90%, 400px); }
.head_area h3 span.en { font-size: clamp(24px, 4vw, 37px); color: var(--mossgreen-color); display: block; margin-bottom: clamp(3px, 1vw, 10px); }
.head_area p.cp { max-width: 1580px; width: 90%; position: absolute; bottom: 3%; color: #fff; text-align: right; right: 5%; }
.head_lead p.ttl { margin-bottom: 50px; text-align: center; font-size: clamp(1.125rem, 1.016rem + 0.55vw, 1.563rem); line-height: 1.4; color: var(--brown-color); }
.head_lead p.txt { font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); text-align: center; line-height: 1.6; }
.contents { background: url("../img/common/top_bg.png")no-repeat; background-size: contain; background-position: top; }



@media print {
    header , footer { display: none!important; }
}

@media only screen and (max-width: 980px){
	.head_area { top: 8px; }
}

@media only screen and (max-width: 834px){
	.head_area { top: 7px; }
}

/*　600pxからレスポンシブ*/
@media only screen and (max-width: 600px){
  sup { font-size: 7px; top: 0em; }
	.pc { display: none; }
	.sp { display: block; }
	.head_area { max-height: initial; height: 150px; top: 25px; }
  .head_area h3 { width: min(70%, 400px); padding: 10px 20px; }
  .head_lead { padding-top: 70px; margin-bottom: 50px; }
  .head_lead p.ttl { margin-bottom: 40px; }
  .head_lead p.txt { text-align: left; }
	.head_area h3 span { margin-bottom: 10px; line-height: 1.3; }
	.intro { margin-bottom: 40px; }
	.intro p.ttl { margin-bottom: 20px; text-align: left; }
	.line { margin-bottom: 20px; }
	[data-fontsize="font20"] { line-height: 26px; }
	p.txt { line-height: 22px; }
	p.subttl { line-height: 26px; }
	p.linettl { line-height: 26px; }
	section .intro { margin-bottom: 40px; }
}
