@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
/* cinzel-regular - latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cinzel-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/cinzel-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/cinzel-v17-latin-regular.woff') format('woff');
	font-display: swap; /* Modern Browsers */
}
/* cinzel-700 - latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/cinzel-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/cinzel-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/cinzel-v17-latin-700.woff') format('woff');
	font-display: swap; /* Modern Browsers */
}


body {
	min-width: 1200px; min-height: 100vh; background: #fff; color: #534f48;
	font-size: 16px; font-weight: normal; line-height: 1.8;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	-webkit-text-size-adjust: 100%; position: relative; letter-spacing: 2px;

	/* font-feature-settings: "palt"; こちらの指定をすると文字が詰まりすぎてしまう場合があるので、letter-spaceingの記述が必要です。デザイン上不要であれば削除してください。
	縦書きテキストだと崩れる可能性があります。縦書きの項目は下記のようにしてください。
	.v_rl{ writing-mode: vertical-rl; font-feature-settings: "palt" 0;}*/
}
html.pos_fix { overflow: hidden;}


input,
select,
textarea { font-size: 13px;}

div { box-sizing: border-box;}

a { color: #534f48; text-decoration: none;}

#lineup-font-size-sampler { bottom: 0; left: 0;}
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

.ofi { object-fit: cover;}
.sp { display: none;}

a img { transition: opacity .5s;}

@media screen and (hover: hover) {
	a:hover { color: #534f48; text-decoration: underline;}
	a:hover img { opacity: 0.75;}
}

@media screen and (max-width: 600px) {
	body,
	input,
	select,
	textarea { font-size: 16px;}

	body { min-width: 0;}
	.sp { display: block;}
	.pc { display: none !important;}
}


/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
.font_en { font-family: 'Cinzel', serif;}


/* コンテンツ幅 */
.inner_lg { width: 1400px; max-width: 92%; margin: 0 auto;}
.inner_md { width: 1200px; max-width: 92%; margin: 0 auto;}
.inner_sm { width: 1100px; max-width: 92%; margin: 0 auto;}

.cmn_linkbtn { display: block; width: 360px; padding: 18px 0; background: #fff; text-align: center; position: relative; color: #534f48;}
p.cmn_linkbtn { background: #e2e0d6;}
.cmn_linkbtn span { position: relative; z-index: 1;}
a.cmn_linkbtn::after { content: ''; display: block; width: 35px; height: 1px; background: #928c83; position: absolute; top: 50%; right: 0;}
.cmn_linkbtn::before {
	content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #534f48;
	transform: scaleX(0); transform-origin: right; transition: transform .7s cubic-bezier(.19, 1, .22, 1);
}

.cmn_tit01 { text-align: center; font-size: 15px;}
.cmn_tit01 span { font-size: 80px; display: block; line-height: 1.5;}


.type_list { display: flex; justify-content: space-between; letter-spacing: 4px; font-size: 20px;}
.type_list img { width: 100%; transition: transform .8s;}
.type_list .prepare img { opacity: .5;}
.type_list .small { font-size: 16px; line-height: 1.5; text-align: center; margin-top: 10px;}
.type_list p:first-of-type { overflow: hidden;}
.type_list p:nth-of-type(2) { display: flex; justify-content: center; align-items: center; padding: 10px 0 0; transition: opacity .5s;}
.type_list p:nth-of-type(2) span{text-align: center;}
.type_list p:nth-of-type(2)::before { content: ''; display: block; width: 6px; height: 10px; background: url(../img/arrow_01.svg)no-repeat center; background-size: contain; margin-right: 20px;}

@media screen and (hover: hover) {
	a.cmn_linkbtn:hover { color: #fff; text-decoration: none;}
	a.cmn_linkbtn:hover::before { transform: scaleX(1); transform-origin: left;}

	.type_list a:hover img { transform: scale(1.1); opacity: 1;}
	.type_list a:hover { text-decoration: none;}
	.type_list a:hover p:nth-of-type(2) { opacity: .6;}

}

@media screen and (max-width: 600px) {
	.cmn_linkbtn { width: 250px; padding: 12px 0;}
	.cmn_linkbtn::after { width: 20px;}

	.type_list { flex-wrap: wrap; letter-spacing: 2px; font-size: 15px;}
  .type_list .small { font-size: 10px; text-align: left; margin-top: 0;}
	.type_list p:nth-of-type(2) { padding: 10px 0;}
	.type_list p:nth-of-type(2)::before { margin-right: 10px;}

	.cmn_tit01 span { font-size: 40px;}
}


/* ---------------------------------------------------
	Header
------------------------------------------------------ */
#header { position: fixed; top: 0; left: 0; z-index: 15;}
#h_menu a {
	display: flex; flex-direction: column; align-items: center; justify-content: center; width: 130px; height: 80px; margin: 0 0 0 auto;
	transition: align-items .5s; background: #e2e0d6; position: relative; z-index: 1; transition: background-color .5s; text-decoration: none;
}
#h_menu a.active { background: #fff;}
#h_menu a span { background: #534f48; width: 65px; height: 1px; transition: transform .5s; font-size: 0; transition: margin .5s, transform .5s;}
#h_menu a span + span { margin-top: 12px;}
#h_menu a.active span { transform: rotate(-20deg);}
#h_menu a.active span + span { margin: -1px 0 0; transform: rotate(20deg); }

#h_logo { background: #e2e0d6; padding: 60px 0; text-align: center;}
#h_logo img { width: 199px; height: 109px;}

#gnav_wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; opacity: 0; pointer-events: none; transition: opacity .5s; overflow: scroll;}
#gnav_wrap.active { opacity: 1; pointer-events: auto;}
#gnav { padding: 50px 0 80px; width: 1100px; max-width: 92%; margin: 0 auto;}
#gnav_logo { text-align: center;}
#gnav_contents { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 80px;}
#gnav_contents > ul { width: 34%;}
#gnav_contents > ul li { font-size: 18px; font-weight: bold;}
#gnav_contents > ul li + li { margin-top: 15px;}
#gnav_contents #gnav_01 li:not(:first-of-type) { font-size: 15px; font-weight: normal;}
#gnav_contents #gnav_01 li:not(:first-of-type) { margin-top: 20px;}
#gnav_contents > dl { width: 32%; font-weight: bold;}
#gnav_contents > dl dt { font-size: 18px; margin-bottom: 10px;}
#gnav_contents > dl dd { font-size: 15px;}
#gnav_contents > dl dd li a { display: flex; align-items: center; padding: 20px; border-bottom: 1px solid #a2a2a2; position: relative;}
#gnav_contents > dl dd li a::before { content: ''; display: block; width: 6px; height: 10px; background: url(../img/arrow_01.svg)no-repeat center; background-size: contain; margin-right: 20px;}
#gnav_contents > dl dd li a::after { content: ''; display: block; width: 0; height: 100%; background: #f6f5f0; position: absolute; top: 0; left: 0; z-index: -1; transition: width .7s cubic-bezier(.19, 1, .22, 1);}
#gnav_address { margin-top: 60px; padding: 40px 0 0; border-top: 1px solid #b8b1a5; letter-spacing: 3px;}
#gnav_address .tel-link { margin-left: 40px;}


#gnav_contents > dl dd li a.prepare { pointer-events: none; }
#gnav_contents > dl dd li a.prepare small { display: block; font-size: 13px; ine-height: 1.5; color: #aaa;}

@media screen and (hover: hover) {
	#gnav_contents > dl dd li a { text-decoration: none;}
	#gnav_contents > dl dd li a:hover::after { width: 100%;}
}

@media screen and (max-width: 900px) {
  #gnav_contents > ul { width: 32%;}
  #gnav_contents > ul li { font-size: 16px;}
  #gnav_contents > dl dt { font-size: 16px;}
}

@media screen and (max-width: 600px) {
	#h_menu a { width: 70px; height: 50px;}
	#h_menu a span { width: 40px;}
	#h_menu a span + span { margin-top: 10px;}

  #h_logo { padding: 50px 0;}
  #h_logo img { width: 65vw; height: auto;}

  #gnav { width: 100%; max-width: 100%;}
	#gnav_logo img { width: 60vw;}
	#gnav_contents { margin-top: 50px;}
	#gnav_contents > ul { width: 100%;}
	#gnav_contents > dl { width: 100%;}
  #gnav_contents #gnav_01 { width: 92%; margin: 0 auto;}
	#gnav_contents #gnav_01 li:not(:first-of-type) { margin-top: 10px;}
	#gnav_contents #gnav_02 { width: 92%; margin: 15px auto 0;}
	#gnav_contents > dl { margin-top: 20px; background: #eeece5; padding: 30px 4% 40px;}
	#gnav_contents > dl dt { margin-bottom: 0; }
	#gnav_contents > dl dd li a { padding: 10px 15px;}
	#gnav_address { border-top: none; margin: 50px auto 0; padding: 0; width: 92%; }
	#gnav_address .tel-link { margin-left: 0; display: block;}
}




/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
#main_img { width: 100%; margin: 0 auto; background: #e2e0d6; text-align: center;}

#main_tit { width: 100%; margin: 0 auto; background: #e2e0d6; text-align: center; padding: 60px 0 80px;}
#main_tit h1 { font-size: 20px;}
#main_tit h1 span { font-size: 42px; line-height: 2.6;}

@media screen and (max-width: 600px) {
  #main_tit { padding: 20px 0 40px;}
  #main_tit h1 { font-size: 16px;}
  #main_tit h1 span { font-size: 30px; line-height: 2.0;}
}

/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
#contents_wrap { background: #e2e0d6;}
#lead_col { padding: 40px 0 80px;  background: #e2e0d6;}

@media screen and (max-width: 600px) {
  #lead_col { padding: 20px 0 50px;}
}


/* breadcrumb */
#contents_wrap #breadcrumb { font-size: 13px; text-align: right; background: #e2e0d6; padding: 15px 0;}
#contents_wrap #breadcrumb li { display: inline-block; line-height: 1.6;}
#contents_wrap #breadcrumb li:before { content: '>'; margin: 0 5px;}
#contents_wrap #breadcrumb li:first-child:before { display: none;}


@media screen and (max-width: 600px) {
	#contents_wrap #breadcrumb { display: none;}
}



/* ---------------------------------------------------
	Footer
------------------------------------------------------ */

#footer_wrap { background: #3b3936; padding: 50px 0 120px; color: #fff;}
#fnav { display: flex; justify-content: center;}
#fnav a { color: #fff; font-size: 15px;}
#fnav li { padding: 0 25px 0 0; margin: 0 0 0 25px; border-right: 1px solid #706c67;}
#fnav li:last-of-type { border-right: none;}
#f_logo { text-align: center; margin-top: 130px;}
#ft_type { margin-top: 120px;}
#ft_type li { flex-grow: 1; margin-right: 2px; width: calc(100% / 4);}
#ft_type li img { width: 100%;}
#ft_type li:last-of-type { margin-right: 0;}
#ft_type a { color: #fff;}
#ft_type p:nth-of-type(2)::before { background-image: url(../img/arrow_02.svg);}
#f_address { text-align: center; margin-top: 80px; letter-spacing: 4px;}
#f_address span:first-of-type,#f_address .add { margin-right: 15px;}
#f_address .tel-link { display: block; color: #fff;}
#copyright { width: 100%; margin-top: 50px; text-align: center; color: #928c83; font-size: 13px; letter-spacing: 5px;}

@media screen and (max-width: 600px) {
	#footer_wrap { padding: 10vw 0 15vw;}
  #fnav_wrap .acc_tit { text-align: center; border: 1px solid #706c67; padding: 5px 0;}
	#fnav { display: block; margin-top: 10px;}
	#fnav li { border-right: none; margin: 0 5px 0 15px;}
	#f_logo { margin-top: 10vw;}
	#f_logo img { width: 60vw;}
	#ft_type { margin-top: 10vw;}
	#ft_type li { width: calc(50% - 1px); flex-grow: 0; margin-right: 0; margin-top: 15px;}
	#f_address { margin-top: 10vw;}
	#f_address span:first-of-type,#f_address .add { margin-right: 0; display: block;}

}



/* ---------------------------------------------------
	clear
------------------------------------------------------ */


/* ---------------------------------------------------
	更新履歴
------------------------------------------------------

180228_〇〇_cssを更新したらここに更新履歴を追加していきます。多くなったら上の方は削除。
180205_kamiguchi_更新履歴コメントひな形追加
200828_akimoto_IEで游ゴシック体を使用すると謎の余白ができるバグがあるため、IEでのみfont-familyを変更する記述を追記
201029_maehata_bodyタグにfont-feature-settings: "palt";追加
201223_akimito_下記内容の修正
　・bodyのdisplay:flex;の削除。
　・iPhoneセーフエリアの対応記述。
　・object-fitのIE対応の記述およびjs追加。
231117_haiguchi #ft_type liへ width 追加

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