@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */

/* cormorant-garamond-regular - latin */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local(''),
		url('../fonts/cormorant-garamond-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/cormorant-garamond-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

body { min-width: 1240px; min-height: 100vh; background: #fff; color: #000; font-size: 14px; font-weight: normal; line-height: 1.5; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif; -webkit-text-size-adjust: 100%; position: relative; font-feature-settings: "palt"; letter-spacing: 0.08em;}
body.noscroll{ overflow: hidden;}

.v_rl{ writing-mode: vertical-rl; -ms-writing-mode: tb-rl; font-feature-settings: "palt" 0;}
.mincho{ font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; }
.en{ font-family: 'Cormorant Garamond'; }

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

div { box-sizing: border-box;}

a { color: #000; text-decoration: none;}
a:hover { color: #000; text-decoration: underline;}
a:hover img { opacity: 0.75;}

.ofi { object-fit: cover; width: 100%; height: 100%;}

.br_pc{ display: block;}
.br_sp{ display: none;}
.view_pc{ display: block;}
.view_sp{ display: none;}

.inner{ width: 92%; max-width: 1200px; margin: 0 auto;}

@media screen and (max-width: 600px) {
body,
input,
select,
textarea { font-size: 16px;}
body { min-width: 0;}
.br_pc{ display: none;}
.br_sp{ display: block;}
.view_pc{ display: none;}
.view_sp{ display: block;}
}


/* ---------------------------------------------------
	Global Header
------------------------------------------------------ */
#g_header { position: absolute; width: 100%; height: 100px; z-index: 50;}
.hd_logo{ padding: 10px 0 0 4%; width: 270px; height: auto;}
.hd_logo img{ width: 100%; height: auto; /*filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.6));*/}
/* ↓多言語ボタン（公開時は非表示）ここから */
/*.hd_lang{ position: absolute; top: 36px; right: 340px; z-index: 4; font-size: 14px; color: #fff; line-height: 1.2;}
#lang_btn{ padding: 5px 20px 5px 27px; background: url("../img/common/ico_lang_01.svg") no-repeat center left; background-size: 20px; position: relative; cursor: pointer;}
#lang_btn::after{ content: ""; display: block; width: 6px; height: 6px; border-bottom: solid 1px #fff; border-right: solid 1px #fff; position: absolute; top: 10px; right: 6px; transform: rotate(45deg); transition: all, 0.5s;}
#lang_btn.on::after{ top: 14px; transform: rotate(-135deg);}
#lang_list{ opacity: 0; z-index: 100; visibility: hidden; height: 0; transition: all, 0.5s;}
#lang_list.on{ opacity: 1; visibility: visible; height: auto;}
#lang_list li{ margin-bottom: 1px; background: rgba(255,255,255,0.8);}
#lang_list li a{ display: block; padding: 5px 10px; text-align: center;}*/
/* ↑多言語ボタン（公開時は非表示）ここまで */
[class^="hd_btn_"]{ position: fixed; top: 0; right: 100px; z-index: 90; width: 200px; height: 100px; background: #cb5219; color: #fff; font-size: 18px; line-height: 100px; display: flex; justify-content: center; align-items: center; transition: all 0.5s; }
[class^="hd_btn_"]:hover{ text-decoration: none; background: #E4652A; color: #fff; }
.hd_btn_01{ right: 300px; }
.hd_btn_01 span{ background: url("../img/common/ico_bag_01.svg") no-repeat left center; background-size: 18px; padding: 0 0 0 25px; display: block; }
.hd_btn_02{ background-color: #973b12; }

@media screen and (max-width: 600px) {
#g_header { height: 50px;}
.hd_logo{ padding: 8px 0 0 4%; width: 120px;}
/* ↓多言語ボタン（公開時は非表示）ここから */
/*.hd_lang{ top: 0; right: 148px; font-size: 11px;}
#lang_btn{ padding: 27px 0 15px 0; background: url("../img/common/ico_lang_01.svg") no-repeat center 5px; background-size: 20px; text-align: center;}
#lang_btn::after{ width: 4px; height: 4px; top: 41px; right: inherit; left: 50%; margin: 0 0 0 -4px;}
#lang_btn.on::after{ top: 43px;}*/
/* ↑多言語ボタン（公開時は非表示）ここまで */
[class^="hd_btn_"] { width: max(75px,22%); height: 50px; font-size: 11px; line-height: 50px; right: 50px; }
.hd_btn_01{ right: calc(max(75px,22%) + 50px); min-width: 80px;}
.hd_btn_01 span { padding-left: 4vw; background-size: min(3.8vw,15px); }
}
@media screen and (max-width: 375px) {
.hd_btn_01 span { padding: 0; background: none; }
}


/* ---------------------------------------------------
	Side Menu
------------------------------------------------------ */
#sidemenu { box-sizing: border-box; cursor: pointer; position: fixed; z-index: 121; top: 0; right: 0; height: 100px; width: 100px; background: #fff;}
#sidemenu > .bar{ transition: all 0.3s; box-sizing: border-box; position: absolute; height: 1px; width: 100%; text-indent: 100%; white-space: nowrap; overflow: hidden; z-index: 2; transform-origin: center center;}
#sidemenu > .bar::after{ content: ""; height: 1px; width: 40px; display: block; background: #000; position: absolute; top: 0; left: 0;}
#sidemenu > .bar:nth-of-type(1) { top: 40px; left: 30px;}
#sidemenu > .bar:nth-of-type(2) { top: 49px; left: 30px;}
#sidemenu > .bar:nth-of-type(3) { top: 58px; left: 30px; width: 20px;}
#sidemenu:hover > .bar:nth-of-type(3) { width: 40px;}
#sidemenu.on > .bar:nth-of-type(1) { transform: rotate(135deg); top: 70px; left: -22px; }
#sidemenu.on > .bar:nth-of-type(2) { opacity: 0; }
#sidemenu.on > .bar:nth-of-type(3) { transform: rotate(-135deg); top: 49px; left: 30px; width: 40px;}

@media screen and (max-width: 600px) {
#sidemenu { height: 50px; width: 50px;}
#sidemenu > .bar::after{ width: 30px;}
#sidemenu > .bar:nth-of-type(1) { top: 15px; left: 10px;}
#sidemenu > .bar:nth-of-type(2) { top: 24px; left: 10px;}
#sidemenu > .bar:nth-of-type(3) { top: 33px; left: 10px; width: 15px;}
#sidemenu:hover > .bar:nth-of-type(3) { width: 30px;}
#sidemenu.on > .bar:nth-of-type(1) { top: 31px; left: -7px; }
#sidemenu.on > .bar:nth-of-type(3) { top: 24px; left: 10px; width: 30px;}
}

/* ---------------------------------------------------
	Global Navigation
------------------------------------------------------ */
#gnav { position: fixed; top: 0; right: 0; bottom: 0; overflow: auto; width: 100%; padding: 0 0 0 50%; background-image: url("../img/common/gnav_bg_01.jpg"); background-repeat: no-repeat; background-position: center center; background-size: cover; background-color: #fff; box-sizing: border-box; opacity: 0; z-index: 100; transition: opacity 0.5s, visibility 1s; opacity: 0; visibility: hidden;}
#gnav.on { opacity: 1; visibility: visible;}
.gnav_inner{ padding: 90px 10%; width: 100%; min-height: 100%; margin: 0; background: #fff; box-sizing: border-box;}
.gn_logo{ padding: 0 0 30px; width: 290px; height: auto; margin: 0 auto;}
.gn_logo img{ width: 100%; height: auto;}
.gn_tit{ font-size: 18px;}
.gn_tit::before{ content: "▼"; color: #cb5219;}
.gn_list{ display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 40px; width: 100%; }
.gn_list li{ width: 47%; border-bottom: solid 1px #aaa; display: flex; font-size: 18px; line-height: 1.5;}
.gn_list li a{ display: flex; align-items: center; padding: 25px 10px 25px 20px; width: 100%; transition: all 0.3s;}
.gn_list li a:hover{ text-decoration: none; background: #faede8;}
.gn_list li#gn_06{ font-size: 14px;}
[class^="gn_btn_"]{ margin-top: 10px; padding: 35px 0; width: 100%; background: #cb5219; color: #fff; font-size: 18px; line-height: 1; display: flex; justify-content: center; align-items: center; transition: all 0.5s;}
[class^="gn_btn_"]:hover{ text-decoration: none; background: #E4652A; color: #fff; }
.gn_btn_01{ margin: 60px 0 0; }
.gn_btn_01 span{ background: url("../img/common/ico_bag_01.svg") no-repeat left center; background-size: 18px; padding: 0 0 0 25px; display: block}
.gn_btn_02{ background: #973b12; }
#hd_area_04 a::after { content: ''; display: inline-block; width: 15px; height: 15px; margin-left: 10px; background: url("../img/common/ico_map_bk.svg")no-repeat center/contain; }

@media screen and (max-width: 600px) {
#gnav { padding: 0; background-image: none; }
.gnav_inner{ padding: 60px 5%;}
.gn_logo{ padding: 0 0 30px; width: 160px;}
.gn_tit{ font-size: 14px;}
.gn_list{ margin: 0 0 20px;}
.gn_list li{ width: 48%; font-size: 12px; line-height: 1.5;}
.gn_list li a{ padding: 15px 10px;}
.gn_list li#gn_06{ font-size: 12px;}
[class^="gn_btn_"]{ padding: 20px 0; font-size: 14px; }
.gn_btn_01{ margin: 30px 0 0; }
#hd_area_04 a::after { width: 12px; height: 12px; margin-left: 7px; }
}


/* ---------------------------------------------------
	Block Main Title
------------------------------------------------------ */
.box_maintit{ position: relative; z-index: 20;}
.box_maintit .main_tit{ position: absolute; top: 50%; left: 0; width: 100%; display: block; margin: -100px 0 0; text-align: center; filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.6)); z-index: 2;}
.box_maintit .main_tit .en{ font-size: 130px; line-height: 1; color: #ddd0c4; display: block; }
.box_maintit .main_tit .en::first-letter{ font-size: 180px;}
.box_maintit .main_tit .ja{ font-size: 36px; line-height: 1; padding: 20px 0 0; display: block; color: #fff;}
.box_maintit .main_img{ width: 100%; height: 400px; position: relative; z-index: 1;}

@media screen and (max-width: 600px) {
.box_maintit .main_tit{ margin: -25px 0 0;}
.box_maintit .main_tit .en{ font-size: 70px;}
.box_maintit .main_tit .en::first-letter{ font-size: 90px;}
.box_maintit .main_tit .ja{ font-size: 18px; padding: 0;}
.box_maintit .main_img{ height: 250px;}
}


/* ---------------------------------------------------
	Section 404
------------------------------------------------------ */
.sec_404{ padding: 100px 0 150px; width: 92%; max-width: 1200px; margin: 0 auto; text-align: center;}
.sec_404 .tit{ font-size: 36px; line-height: 1.5; color: #cb5219;}
.sec_404 .body{ font-size: 16px; line-height: 2; padding: 20px 0 0;}
.sec_404 .body a{ text-decoration: underline;}

@media screen and (max-width: 600px) {
.sec_404{ padding: 50px 0 50px;}
.sec_404 .tit{ font-size: 26px;}
.sec_404 .body{ font-size: 14px; line-height: 1.7; text-align: left; padding: 10px 0 0;}
}


/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
#contents { overflow: hidden;}

@media screen and (max-width: 600px) {
#contents {}
}

/* ---------------------------------------------------
	Breadcrumbs
------------------------------------------------------ */
.breadcrumbs { margin: 0; padding: 10px 15px; box-sizing: border-box; width: 100%; font-size: 14px; text-align: right; background: #fff; position: relative; z-index: 10;}
.breadcrumbs li { display: inline-block; line-height: 1.4;}
.breadcrumbs li:before { content: '>'; margin: 0 5px;}
.breadcrumbs li:first-child:before { display: none;}

@media screen and (max-width: 600px) {
.breadcrumbs { padding: 10px 15px; width: 100%; font-size: 12px;}
}


/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */
/* Common Button Type 01 */
.cmn_btn_01{ display: inline-block; border: solid 1px #000; padding: 20px 90px 20px 30px; font-size: 18px; line-height: 1; position: relative; background: #fff; transition: background 0.5s;}
.cmn_btn_01::before,
.cmn_btn_01::after{ content: ""; display: block; height: 1px; background: #000; position: absolute; right: 10px; bottom: 25px; transform-origin: right bottom; transition: right 0.5s;}
.cmn_btn_01::before{ width: 50px;}
.cmn_btn_01::after{ width: 10px; transform: rotate(45deg);}
.cmn_btn_01:hover{ text-decoration: none; border: solid 1px #cb5219; background: #cb5219; color: #fff;}
.cmn_btn_01:hover::before,
.cmn_btn_01:hover::after{ right: 0; background: #fff;}

@media screen and (max-width: 600px) {
.cmn_btn_01{ padding: 10px 60px 10px 15px; font-size: 14px;}
.cmn_btn_01::before,
.cmn_btn_01::after{ bottom: 15px;}
.cmn_btn_01::before{ width: 40px;}
}


/* ---------------------------------------------------
	Section Area List
------------------------------------------------------ */
.sec_arealist{ padding: 100px 0 150px; position: relative; z-index: 4; background: #fff;}
.sec_arealist .tit{ text-align: center; padding: 0 0 50px;}
.sec_arealist .tit .en{ font-size: 100px; line-height: 1; color: #ddd0c4; display: block; padding: 0 0 20px;}
.sec_arealist .tit .ja{ font-size: 16px; line-height: 1; display: block;}
.sec_arealist .list{ display: flex; justify-content: space-between;flex-wrap: wrap;}
.sec_arealist .list li{ width: 31.6%; max-width: 380px;}
.sec_arealist .list li a{ position: relative; display: block; overflow: hidden; transition: all 0.5s; background: #000;}
.sec_arealist .list li a img{ transition: all 0.5s; width: 100%; height: auto;}
.sec_arealist .list li a:hover img{ transform: scale(1.1); opacity: 0.8;}
.sec_arealist .list li a span{ position: absolute; bottom: 0; left: 0; width: 100%; height: 40px; display: block; color: #fff; font-size: 18px; text-align: center; line-height: 40px; background: rgba(47,24,10,0.7)}
.sec_arealist .list li a span::after{ content: "≫";}
.sec_arealist .list li:last-child{margin: 20px 0 0;}

@media screen and (max-width: 600px) {
.sec_arealist{ padding: 40px 0;}
.sec_arealist .tit{ padding: 0 0 20px;}
.sec_arealist .tit .en{ font-size: 50px; padding: 0 0 20px;}
.sec_arealist .tit .ja{ font-size: 16px;}
.sec_arealist .list{ flex-direction: column;}
.sec_arealist .list li{ width: 100%; max-width: 100%; margin: 10px 0 0;}
.sec_arealist .list li a span{ font-size: 16px;}
.sec_arealist .list li:last-child{margin: 10px 0 0;}
}



/* ---------------------------------------------------
	Global Footer
------------------------------------------------------ */
#g_footer{ background: #f2f0eb; position: relative; z-index: 40;}
.ft_copy{ background: url("../img/common/ft_bg_01.jpg") no-repeat center top; background-size: cover; height: 400px; width: 100%; display: flex; align-items: center; justify-content: center;}
.ft_copy p{ font-size: 36px; letter-spacing: 0.4em; color: #fff; filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.6));}
.ft_wrap{ width: 92%; max-width: 1200px; margin: 0 auto; padding: 50px 0; display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 16px; line-height: 2;}
.ft_block_01{ width: 40%;}
.ft_logo{ width: 290px; padding: 0 0 15px;}
.ft_logo img{ width: 100%; height: auto;}
.ft_block_02{ width: 60%;}
.ft_tit{ padding: 0 0 5px;}
.ft_tit::before{ content: "▼"; color: #cb5219;}
.ft_list_01,
.ft_list_02{ position: relative; display: flex; flex-wrap: wrap; margin: 0 0 20px -22px; padding: 0 0 20px;}
.ft_list_01::after{ content: ""; display: block; position: absolute; width: 100%; height: 1px; background: #aaa; bottom: 0; left: 24px;}
.ft_list_01 li,
.ft_list_02 li{ border-right: solid 1px #aaa; padding: 0 24px; margin: 0 0 15px ; line-height: 1.3;}
.ft_list_01 li a,
.ft_list_02 li a{ }
.ft_copyright{ width: 100%; text-align: right; font-size: 14px; line-height: 1.5;}

@media screen and (max-width: 600px) {
.ft_copy{ height: 200px; justify-content: center;}
.ft_copy p{ font-size: 18px; letter-spacing: 0.4em; text-align: center;}
.ft_wrap{ width: 90%; max-width: 90%; padding: 20px 0; flex-direction: column; font-size: 14px; line-height: 2;}
.ft_block_01{ width: 100%; text-align: center; order: 2; padding: 0 0 20px;}
.ft_logo{ width: 145px; padding: 0 0 15px; margin: 0 auto;}
.ft_name,
.ft_addr,
.ft_tel{ font-size: 12px; line-height: 2;}
.ft_block_02{ width: 100%; order: 1; padding: 0 0 20px;}
.ft_tit{ padding: 0 0 5px;}
.ft_list_01,
.ft_list_02{ justify-content: space-between; margin: 0 0 20px 0; padding: 0;}
.ft_list_01::after{ left: 0;}
.ft_list_01 li,
.ft_list_02 li{ border-right: none; border-bottom: solid 1px #aaa; padding: 0 1em; margin: 0; line-height: 1.3; width: 48%; box-sizing: border-box; display: flex; align-items: center; font-size: 12px;}
.ft_list_01 li a,
.ft_list_02 li a{ padding: 10px 0; display: flex; align-items: center;}
.ft_copyright{ text-align: center; font-size: 10px; line-height: 1.5; order: 3;}
}


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

yymmdd_Name_内容

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