@charset "utf-8";
/* CSS Document */

/*初期値クリア設定*/

body {
    -webkit-text-size-adjust: 100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,table,th,td,figure,address {
	padding: 0;
	margin: 0;
	line-height: 1.0;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

img {
    border: none;
    width: auto;
    height: auto;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    text-align: center;
    vertical-align: bottom;
}


ul li, ol li {
    list-style-type: none;
}
i {
	font-size: 100%;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	border: none;
}

/*初期値クリア設定ここまで*/


/*テキストリンク設定*/
a {
	text-decoration: none;
	color: #000;
	opacity: 1; /* 通常時の不透明度 */
	transition: opacity 0.3s ease; /* マウスオーバー時のアニメーション設定 */
}
a img {
	opacity: 1; /* 通常時の不透明度 */
	transition: opacity 0.3s ease; /* マウスオーバー時のアニメーション設定 */
}
/*テキストリンク設定ここまで*/


/*マウスオーバー設定*/
a:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

a:hover img.hoverimg {
	opacity: 0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
.fade {
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
.fade:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
} 
/*マウスオーバー設定ここまで*/


/*clearfix設定*/

.clearfix {zoom:1;}
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
}

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

/*clearfix設定ここまで*/

/*印刷時の改ページ指定*/
.print {
	page-break-after: always;
}
/*印刷時の改ページ指定ここまで*/


/*ページTOPに戻る指定*/
#page-top{
	width:50px;
	height:50px;
	display:none;
	position:fixed;
	right:16px;
	bottom:16px;
}
 
#page-top p{
	margin:0;
	padding:0;
	text-align:center;
	background:#3b3b3b;
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	transition:all 0.3s;
}
 
#page-top p:hover{
	background:#8b8b8b;
}
 
#move-page-top{
	color:#fff;
	line-height:50px;
	text-decoration:none;
	display:block;
	cursor:pointer;
}
.clear {
	font-size: 12px;
	line-height: 1.3em;
	height: auto;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #FFF;
}

/*ページTOPに戻る指定ここまで*/


html {
	width: 100%;
	min-height: 100%;
}
body {
	
}
header {
	width: 100%;
}
footer {
	width: 100%;
}

/*基本フォン設定*/

/* =======================================
// フォントサイズの設定（rem単位）
// ======================================= */

/* スマートフォン（デフォルト） */
/* htmlのフォントサイズを基準に16pxに設定します */
@media only screen and (max-width: 767px) {
	html {
		font-size: 14px;
	}
}

/* タブレット（768px以上） */
/* タブレットの画面では、基準のフォントサイズを少し大きくします */
@media screen and (min-width:768px) and ( max-width:999px) {
	html {
		font-size: 15px;
	}
}

/* PC（1000px以上） */
/* PCの画面では、さらに基準のフォントサイズを大きくします */
@media (min-width: 1000px) {
	html {
		font-size: 15px;
	}
}

/* =======================================
// 各要素のフォントサイズ
// ======================================= */

body {
  /* htmlの基準サイズ（スマホなら16px）の1.125倍になります */
  font-size: 1.0rem; /* 18px */
  line-height: 1.7;
}

h1 {
  /* htmlの基準サイズ（スマホなら16px）の2.5倍になります */
  font-size: 2.5rem; /* 40px */
}

h2 {
  /* htmlの基準サイズ（スマホなら16px）の1.75倍になります */
  font-size: 1.8rem; /* 28px */
}

p {
  /* htmlの基準サイズ（スマホなら16px）の1倍になります */
  font-size: 1.0rem; /* 16px */
}



/* =======================================
// スクロールに応じたフェードイン効果 //
// ======================================= */

/* アニメーションさせたい要素の初期状態 */
.fade-in {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.6s, transform 0.6s;
}

/* 画面に表示されたときに付与するクラス */
.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* カードの基本スタイル */
.card {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* --- 親要素が画面に入ったら、カードをアニメーションさせる --- */
.card-container.is-in-view .card {
  opacity: 1;
  transform: translateY(0);
}



h1 {
	font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

h2 {
	font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

h2 span.entxt {
	font-family: "Libertinus Serif", serif;
  font-weight: 400;
  font-style: normal;
  display: block;
}

h3 {
	font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

h4 {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

h5 {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

p {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
li,dd,td,strong {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
dt,th {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}



.yellow { color: #F5A809; }
.orange { color: #ff5400; }
.lightgold { color: #c4b299; }
.gold { color: #877a5f; }
.white { color: #fff; }


.txt-left { text-align: left; }
.txt-right { text-align: right; }
.txt-center { text-align: center; }




.title-xl { font-size: clamp(3.4rem, 3.6vw, 3.6vw); letter-spacing: 0.13em; line-height: 1.6; }
.title-l  { font-size: clamp(2.48rem, 2.6vw, 2.6vw); letter-spacing: 0.2em; line-height: 1.6; }
.title-m  { font-size: clamp(1.8rem, 2.0vw, 2.0vw); letter-spacing: 0.2em; line-height: 1.8; }
.title-s  { font-size: clamp(1.1rem, 1.2vw, 1.2vw); letter-spacing: 0.1em; line-height: 1.7; }
.title-xs  { font-size: clamp(0.9rem, 0.95vw, 0.95vw); letter-spacing: 0.2em; line-height: 1.7; }
.title-en { font-size: clamp(1.4rem, 1.6vw, 1.6vw); letter-spacing: 0.2em; line-height: 2.3; }
.maintxt { font-size: clamp(1.0rem, 1.05vw, 1.05vw); letter-spacing: 0.12em; line-height: 2.08; }
.partstxt { font-size: clamp(1.0rem, 1.05vw, 1.05vw); letter-spacing: 0.12em; line-height: 1.66; }

.bold500 { font-weight: 500; }

