@charset "UTF-8";

/* メインイメージ */
.contentpage .m_img_area::before {
	background-image: url("../images/access/m_img@2x.jpg");
}



/*access
---------------------------------------------------------*/
#access{
	background-color: #FDF6F4;
	position: relative;
	padding-bottom: 120px;
	z-index: 0;
}
#access::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 328px;
	left: 0;
	right:0;
	margin: auto;
	top:0;
	z-index: -1;
}
#access .map_tit{
	font-size: 190%;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-align: center;
	margin: 0 auto 30px;
}
#access .map_tit span{
	position: relative;
	padding-left: 1.1em;
}
#access .map_tit span::before{
	position: absolute;
	content: "";
	background: url("../images/common/icon_map.svg") no-repeat left center;
	background-size: 100% 100%;
	width: 0.7em;
	height: 0.7em;
	left: 0;
	top:50%;
	transform: translateY(-50%);
}
#access iframe{
	height: 540px;
}
#access .com_link1{
	text-align: right;
	margin-top: 0.5em;
}
#access .com_link1 a .com_arrow1{
	border: 1px solid #6E6B6A;
}
#access .com_link1 a:hover .com_arrow1{
	background-color: #6E6B6A;
}
#access .flex_box .flx_r .access_list{
	display: flex;
    flex-wrap: wrap;
	font-size: 120%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-top: 20px;
}
#access .flex_box .flx_r .access_list li{
	margin-right: 2em;
	display: flex;
	align-items: center;
	margin-top: 20px;
}
#access .flex_box .flx_r .access_list li:last-child{
	margin-right: 0;
}
#access .flex_box .flx_r .access_list li p{
	margin-left: 0.8em;
	font-weight: bold;
}


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

#access .flex_box{
	display: flex;
	justify-content: space-between;
}
#access .flex_box .flx_l{
	max-width: 470px;
	width: 40%;
}
#access .flex_box .flx_r{
	max-width: 660px;
	width: 56%;
}
#access .flex_box .flx_r dl{
	font-size: min(135%,2vw);
}
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#access{
	padding-bottom: 10%;
}
#access::before{
	height: 35.5vw;
}
#access .map_tit{
	font-size: 3vw;
	margin: 0 auto 3vw;
}
#access iframe{
	height: 56vw;
}
#access .com_link1{
	margin-top: 0.3em;
}
#access .flex_box .flx_r .access_list{
	font-size: 110%;
	margin-top: 2vw;
}
#access .flex_box .flx_r .access_list li{
	margin-top: 2vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#access{
	padding-bottom: 13%;
}
#access::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 70vw;
	left: 0;
	right:0;
	margin: auto;
	top:0;
	z-index: -1;
}
#access .map_tit{
	font-size: 130%;
	letter-spacing: 0.05em;
	margin: 0 auto 4vw;
}

#access iframe{
	height: 80vw;
}
#access .com_link1{
	text-align: right;
	margin-top: 0.3em;
}

#access .flex_box {
	display: block;
}
#access .flex_box .flx_l{
	width: 80%;
	margin: 0 auto 6vw;
}
#access .flex_box .flx_r address,
#access .flex_box .flx_r .sp_tel_btn{
	font-size: 100%;
}
#access .flex_box .flx_r .access_list{
	display: flex;
    flex-wrap: wrap;
	font-size: 90%;
	letter-spacing: 0.03em;
	margin-top: 6vw;
}
#access .flex_box .flx_r .access_list li{
	margin-right: 0;
	display: block;
	margin-top:0;
	width:50%; 
}
#access .flex_box .flx_r .access_list li:last-child{
	margin-right: 0;
}
#access .flex_box .flx_r .access_list li p{
	margin-left:0;
	font-weight: bold;
	text-align: center;
	margin-top: 0.3em;
}
}





/*root
---------------------------------------------------------*/
#root {
	position: relative;
	z-index: 0;
}
#root::before{
	position: absolute;
	content: "";
	background: #FDF6F4;
	width: 100%;
	height: 50px;
	left: 0;
	right: 0;
	z-index: -1;
}
#root .root_list{
	display: flex;
    flex-wrap: wrap;
	padding-bottom:60px;
	margin-bottom: 60px;
	border-bottom: 1px solid #79595A;
}
#root .root_list li{
	width: 29.2%;
	margin-right: 6.2%;
	margin-top: 70px;
}
#root .root_list li:nth-child(3n){
	margin-right: 0;
}
#root .root_list li:nth-child(-n + 3){
	margin-top: 0;
}
#root .root_list li div{
	position: relative;
	max-width: 350px;
	margin: 0 auto 1em;
}
#root .root_list li div::before{
	position: absolute;
	content: "";
	background: url("../images/access/root01.svg") no-repeat left top;
	background-size: 100% 100%;
	width:76px;
	height: 76px;
	left: -9px;
	top: -17px;
}
#root .root_list li:nth-child(2) div::before{
	background-image: url("../images/access/root02.svg");
}
#root .root_list li:nth-child(3) div::before{
	background-image: url("../images/access/root03.svg");
}
#root .root_list li:nth-child(4) div::before{
	background-image: url("../images/access/root04.svg");
}
#root .root_list li:nth-child(5) div::before{
	background-image: url("../images/access/root05.svg");
}
#root .root_list li:nth-child(6) div::before{
	background-image: url("../images/access/root06.svg");
}
#root .root_list li:nth-child(7) div::before{
	background-image: url("../images/access/root07.svg");
}
#root .fs17.sp_txt_l{
	line-height: 2.5em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#root::before{
	height: 5vw;
}
#root .root_list{
	padding-bottom: 4%;
	margin-bottom: 4%;
}
#root .root_list li{
	margin-top: 5%;
	width: 30%;
	margin-right: 5%;
}
#root .root_list li div{
	margin: 0 auto 0.8em;
}
#root .root_list li div::before{
	width:7.9vw;
	height: 7.9vw;
	left: -1vw;
	top: -1.7vw;
}
#root .fs17.sp_txt_l{
	line-height: 2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#root::before{
	height: 13vw;
}
#root .root_list{
	padding-bottom: 7%;
	margin-bottom: 7%;
}
#root .root_list li{
	margin-top: 7%!important;
	width: 48%;
	margin-right: 4%!important;
}
#root .root_list li:nth-child(2n){
	margin-right: 0!important;
}
#root .root_list li:nth-child(-n + 2){
	margin-top: 0!important;
}
#root .root_list li div{
	margin: 0 auto 0.6em;
}
#root .root_list li div::before{
	width:16vw;
	height: 16vw;
	left: -2vw;
	top: -3.4vw;
}
#root .fs17.sp_txt_l{
	line-height: 1.8em;
}
}





/*time
---------------------------------------------------------*/
#time{
	background-color: #FDF6F4;
	padding-bottom: 80px;
	position: relative;
	z-index: 1;
}
#time::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height:48px;
	left: 0;
	right: 0;
	z-index: -1;	
}
#time .flot_box{
	margin-bottom: 60px;
}
#time .flot_box .flt_l{
	max-width: 655px;
	width: 56%;
}
#time .flot_box .flt_l .com_time_txt{
	font-size: min(100%,1.3vw);
}
#time .com_monshin{
	background-color: #fff;
	border-radius: .7em;
	padding: 1.5em 5%;
	margin-top: 40px;
}
#time .com_monshin .com_mon_list{
	max-width: 558px;
}
#time .com_monshin .com_mon_list a{
	line-height: 2.4;
	text-align: center;
}

#time .flot_box .flt_r{
	max-width: 470px;
	width: 40%;
	
}
#time .com_contact{
	width: 85%;
}
#time .com_con_txt {
	width: 85%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#time{
	padding-bottom: 7%;
}
#time::before{
	height: 5vw;
}
#time .flot_box{
	margin-bottom: 3%;
}
#time .flot_box .flt_l .com_time_txt{
	text-align: left;
	font-size: 85%;
	line-height: 1.8em;
}
#time .com_monshin{
	margin-top: 0;
	margin-bottom: 5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#time{
	padding-bottom: 10%;
}
#time::before{
	height: 8vw;
}
#time .flot_box{
	margin-bottom: 6%;
}
#time .flot_box .flt_l{
	max-width: 100%;
	width: 100%;
	float: none;
}
#time .flot_box .flt_l .com_time_txt{
	text-align: left;
	font-size: 95%;
}
#time .com_monshin{
	margin-top:0;
	margin-bottom: 8%;
}
#time .com_monshin .com_mon_list li:first-child a{
	line-height: 1.3697;
}
#time .flot_box .flt_r{
	width: 80%;
	margin: 0 auto 6vw;
	float: none;
}
#time .com_contact{
	width: 100%;
}
#time .com_con_txt {
	width: 100%;
}
}





/*schedule
---------------------------------------------------------*/
#schedule{
	padding:70px 0 110px;
}
#schedule .schedule_tit{
	font-size:300%;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-bottom: 0.5em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#schedule{
	padding:6% 0 10%;
}
#schedule .schedule_tit{
	font-size:4.7vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#schedule{
	padding:9% 0 13%;
}
#schedule .schedule_tit{
	font-size:160%;
	letter-spacing: 0.05em;
}
}