@charset "UTF-8";


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

======================================================== */
.m_slide li {
	width: 41vw !important;
	max-width: 610px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_slide li {
	width: 60vw !important;
}
}


/* ========================================================
  
  common

======================================================== */

/*---------------------------------------------------------
 about
---------------------------------------------------------*/
#about .sp_txt_l {
	margin-bottom: 3%;
}
#about .sp_txt_l b {
	color: var(--color_red);
}
/* about: tbl_about
---------------------------------------------------------*/
.tbl_about {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 1px;
	font-size: min(1.7vw,100%);
	line-height: 1.6;
}
.tbl_about tr {
	background-color: rgba(152,149,156,0.03);
}
.tbl_about tr:nth-of-type(even) {
	background-color: rgba(152,149,156,0.09);
}
.tbl_about th,
.tbl_about td {
	vertical-align: top;
	box-sizing: border-box;
	padding: 2.5em 3.2%;
}
.tbl_about th {
	width: 24%;
	text-align: left;
	color: #FFF;
	font-weight: bold;
	background-color: var(--color_gry);
}
.tbl_about td {
	width: 76%;
	padding-left: 5%;
}
.tbl_about td address {
	font-size: 100%;
}
.tbl_about td ul {
	margin-top: 1em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.tbl_about td ul {
	display: flex;
	column-gap: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.tbl_about {
	font-size: 80%;
}
.tbl_about th,
.tbl_about td {
	padding: 1em 1.2em;
}
.tbl_about th {
	width: 36%;
}
.tbl_about td {
	width: 64%;
}
}


/*---------------------------------------------------------
 access
---------------------------------------------------------*/
.map_box {
	max-width: 1000px;
	margin: 0 auto 4%;
}
.map_box iframe {
	border-radius: 25px;
}
.acs_box .com_h__bld::before {
	display: inline-block;
	content: "";
	background: url(../images/guide/icon-train.svg) no-repeat;
	background-size: contain;
	width: 1.75em;
	height: 1.6em;
	vertical-align: -0.45em;
	margin-right: .5em;
} 
.acs_box:last-of-type .com_h__bld::before {
	background-image: url(../images/guide/icon-car.svg);
}
.acs_box > div {
	padding: 0 3.5%;
}
.acs_box dl dt {
	color: var(--color_dgrn);
	font-size: 112%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	margin-top: 1.5em;
	margin-bottom: .6em;
}
.acs_box dl dt:first-of-type {
	margin-top: 0;
}
.map_img {
	margin-top: 3.5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.map_box > div {
	display: flex;
	justify-content: space-between;
	margin-top: 1.5em;
}
.map_box .com_btn1 {
	margin-top: 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#access iframe {
	height: 400px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.map_box {
	margin-bottom: 8%;
}
.map_box > div {
	margin-top: 1em;
}
.map_box iframe {
	height: 80vw;
	border-radius: 3.4vw;
}
.acs_box > div {
	padding: 0 3.5%;
}
.acs_box dl dt {
	font-size: 105%;
	letter-spacing: .1em;
}
.acs_box dl dt:first-of-type {
	margin-top: 0;
}
.map_img {
	margin-top: 5%;
}
}


/*---------------------------------------------------------
 payment
---------------------------------------------------------*/
.card_list {
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
	gap: 1em 1%;
    width: 90%;
    max-width: 700px;
	margin: 5% auto 0;
}
.card_list > li {
	width: 15.6%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.card_list > li {
	width: 24%;
}
}


/*---------------------------------------------------------
 root
---------------------------------------------------------*/

/*root: root_list
---------------------------------------------------------*/
.root_list {
	list-style: none;
	width: 92%;
	max-width: 1000px;
	margin-inline: auto;
}
.root_list > li {
	position: relative;
	box-sizing: border-box;
	padding-left: 6%;
	margin-bottom: 25px;
	border-left: 1px solid var(--color_dgrn);
}
.root_list > li:last-of-type {
	margin-bottom: 0;
}
.root_list .no {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
	color: var(--color_dgrn);
	font-size: min(1.5vw,100%);
    width: min(3em);
    height: min(3em);
    box-sizing: border-box;
    border-radius: 50%;
	background-color: #fff;
	border: 1px solid var(--color_dgrn);
	left: 0;
	top: 0;
	translate: -50% 0;
}
.root_list .no span {
	font: var(--font_fut);
	font-size: 141%;
	font-style: italic;
	padding-top: .1em;
}
.root_list .no.txt_jp {
	color: #FFF;
	background-color: var(--color_dgrn);
	font-style: normal;
}
.root_list .no::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1em;
	background-color: #fff;
	left: 0;
	top: calc(100% + 1px);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.root_list > li {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 29% 67%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.root_list > li {
	padding-left: 10%;
	margin-bottom: 8%;
}
.root_list .no {
    font-size: 4vw;
}
.root_list .box_img {
    width: 80%;
	margin: 0 auto 5%;
}
}

/*root: root_goal
---------------------------------------------------------*/
.root_goal {
	background-color: var(--color_bei);
	box-sizing: border-box;
	padding: 3.8% 3.8% 5%;
	border-radius: 20px;
	margin-top: 30px;
}
.root_goal .com_h__en {
	font-size: min(3vw,194%);
	margin-bottom: 1.4em;
}
.root_goal > ul {
	max-width: 870px;
	margin-inline: auto;
}
.root_goal > ul > li {
	text-align: center;
}
.root_goal .box_img {
	margin: 0 auto 5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.root_goal > ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.root_goal {
	padding: 7% 7% 9%;
	margin-top: 8%;
}
.root_goal .com_h__en {
	font-size: 6vw;
	margin-bottom: .8em;
}
.root_goal > ul > li:not(:last-of-type) {
	margin-bottom: 9%;
}
.root_goal .box_img {
	width: 80%;
}
}



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

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

/* 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) {

}
