@charset "UTF-8";


/* ========================================================
  
  FV

======================================================== */
.fv_area {
    position: relative;
	height: min(30vw,360px);
	padding-top: min(10vw,150px);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fv_area {
    height: 40vw;
	padding-top: 12vw;
}
}

/*---------------------------------------------------------
 m_title
---------------------------------------------------------*/
.m_title {
	position: relative;
	text-align: center;
	font-size: min(258%,4.2vw);
	line-height: 1.2;
	letter-spacing: 0;
	white-space: nowrap;
}
hgroup.m_title {
	font-size: min(100%,4vw);
}
.m_title [lang="en"] {
    font: var(--font_eng);
	font-size: min(8vw,588%);
	letter-spacing: .05em;
}
.m_title:not(hgroup) {
	padding-bottom: 2em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_title {
	font-size: 6vw;
}
hgroup.m_title {
	font-size: 4vw;
}
.m_title [lang="en"] {
	font-size: 280%;
}
}


/* ========================================================
  
  parts

======================================================== */
.com_inbox {
	max-width: 1100px;
	box-sizing: content-box;
	padding-left: 2%;
	padding-right: 2%;
	margin-inline: auto;
}
.com_inbox.in__1200 {
	max-width: 1200px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}

/*---------------------------------------------------------
 heading
---------------------------------------------------------*/
.com_h__bg {
	text-align: center;
	font-size: min(2.7vw,182%);
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: #fff;
	padding: 0.7em 3%;
	background: url(../images/common/bg-grain@2x.png) repeat left top;
	background-size: 64px 64px;
	background-color: #bcab96;
	margin-bottom: 1.8em; 
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_h__bg {
	font-size: 135%;
	letter-spacing: .05em;
	margin-bottom: 1.4em;
}
}

/*---------------------------------------------------------
 box
---------------------------------------------------------*/

/* com_box__bdr
---------------------------------------------------------*/
.com_box__bdr {
	position: relative;
	padding: 7% 5%;
	border-radius: 15px;
	border: 1px solid rgba(255,255,255,0.7);
	margin-inline: auto;
}
.com_box__bdr .bdr_title {
	text-align: center;
	font-size: min(2.2vw,147%);
	line-height: 1.5;
	margin-bottom: 2em;
}
.com_box__bdr .com_list {
	row-gap: 1em;
	max-width: 840px;
	margin-inline: auto;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_box__bdr {
	padding: 10% 6%;
}
.com_box__bdr .bdr_title {
	font-size: 110%;
	margin-bottom: 1.2em;
}
}

/*---------------------------------------------------------
 com_col_list
---------------------------------------------------------*/
.com_col_list {
	position: relative;
	display: grid;
}
.com_col_list .box_img {
	position: relative;
	max-width: max-content;
	margin: 0 auto 6%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_col_list {
	justify-content: space-between;
	row-gap: 5em;
}
.com_col_list.col__2 {
	grid-template-columns: repeat(2,47%);
}
.com_col_list.col__3 {
	grid-template-columns: repeat(3,min(31%,380px));
}
.com_col_list.col__4 {
	grid-template-columns: repeat(4,23.4%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_col_list {
	row-gap: 3em;
}
.com_col_list.col__2 .box_img {
	width: 90%;
}
.com_col_list.col__3 {
	row-gap: 2em;
}
.com_col_list.col__3 > *:not(:last-child) {
	padding-bottom: 8%;
	border-bottom: 1px solid #E6E6E6;
}
.com_col_list.col__3 .box_img {
	width: 85%;
}
}


/*---------------------------------------------------------
 com_info
---------------------------------------------------------*/

/* com_info_list
---------------------------------------------------------*/
.com_info_list > li .dept{
	font-size: 147%;
	line-height: 1.35em;
	letter-spacing: 0.1em;
	padding-left: 4em;
	position: relative;
	margin-bottom: 0.8em;
}
.com_info_list > li .dept::before{
	position: absolute;
	content: "";
	background-repeat: none;
	background-position: left center;
	background-size: 100% auto;
	width: 3.2em;
	height: 3.2em;
	left: 0;
	top:50%;
	transform: translateY(-50%);
}
.com_info_list > li:nth-child(1) .dept::before{	background-image: url("../images/common/dept1.svg");}
.com_info_list > li:nth-child(2) .dept::before{	background-image: url("../images/common/dept2.svg");}
.com_info_list > li:nth-child(3) .dept::before{	background-image: url("../images/common/dept3.svg");}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_info_list {
	display: grid;
	grid-template-columns: repeat(3,min(32%,360px));
	justify-content: space-between;
	font-size: min(1.425vw,100%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_info_list {
	display: block;
	font-size:100%;
}
.com_info_list > li{
	max-width: 100%;
	width: 100%;
	margin-top: 8%;
	padding-top: 8%;
	border-top: 1px solid #37373B;
}
.com_info_list > li:first-child{
	margin-top: 0;
}
.com_info_list .com_ctc_list {
	padding-bottom: 1em;
}
.com_info_list .com_ctc_btn {
	position: relative;
}
}

/* com_info_box
---------------------------------------------------------*/
.com_info_box .com_timetable {
	border-color: rgba(55,55,59,0.3);
}
.com_info_box .com_timetable thead th {
	color: var(--color_lbei);
	font-size: 106%;
}
.com_info_box .com_timetable tbody th {
	font-size: 120%;
}
.com_info_box .reserve{
	font-size: 88%;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 1em;
}
.com_info_box .reserve dt {
	font-size: 134%;
	color: var(--color_lbei);
	margin-bottom: 0.5em;
}
.com_info_box .com_ctc_btn > a {
	height: 2em;
	color: #fff;
	background-color: rgba(55,55,59,0.75);
}
.com_info_box .com_ctc_btn > a:hover {
	background-color: rgba(55,55,59,0.1);
	color: rgba(55,55,59,0.75);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_info_box .com_timetable {
	max-width: 360px;
	font-size: 88%;
}
.com_info_box .com_timetable thead th,
.com_info_box .com_timetable thead td {
	padding-top: .4rem;
}
.com_info_box .com_ctc_list {
	max-width: 360px;
	column-gap: 5%;
}
.com_info_box .com_tel_style {
	font-size: 132%;
}
.com_info_box .com_ctc_btn > a {
	min-width: 8.5em;
	font-size: min(1.8vw,112%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_info_box {
	width: 94%;
	margin-inline: auto;
}
.com_info_box .reserve {
	font-size: 85%;
	margin-top: 6%;
}
.com_info_box .com_ctc_list {
	justify-content: center;
}
}




/* ========================================================
  
  com_internal_link

======================================================== */
.com_internal_link {
	position: relative;
	width: 94%;
	padding: 50px 4% 80px;
	border-top: 1px solid var(--color_bei_opc);
	margin-inline: auto;
}
.com_internal_link .inbox {
	max-width: 1240px;
	margin-inline: auto;
}
.com_internal_link .ft_eng {
	margin-bottom: 1em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_internal_link {
	padding: 10% 4% 12%;
}
}


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

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

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


} 