@charset "utf-8";

/*********************
* 店舗紹介・アクセス
*********************/

/* PC */
@media print,screen and (min-width: 1001px) {
#shop_access .page_header {
	background-image: url(../images/shop_access/main.jpg);
}

#shop_access .s1 {
	margin: 120px 0 160px;
}

#shop_access .s1 .contents_inner {
	position: relative;
}

#shop_access .s1 .text {
	position: absolute;
	bottom: 0;
	right: 10px;
	z-index: 1;
	width: 41.67%;
}

#shop_access .s1 .text > div {
	background-color: rgba(255, 255, 255, .8);
	border-radius: 20px 0 0 0;
	padding: 30px 0 30px 30px;
}

#shop_access .s1 .text > div dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 10px;
}

#shop_access .s1 .text > div dt,
#shop_access .s1 .text > div dd {
	font-size: 1.143em;
  margin-bottom: 10px;
}

#shop_access .s1 .text > div dt {
  width: 5.5em;
}

#shop_access .s1 .text > div dd {
  width: calc(100% - 5.5em);
}

#shop_access .s1 .text > div dd small {
  font-size: .875em;
}

#shop_access .s1 .text > div dd a {
  margin-left: 10px;
}

#shop_access .s1 .text > div .btn1 {
  padding-top: 20px;
  padding-bottom: 20px;
}

#shop_access .s1 .img {
	width: 71.67%;
}

#shop_access .s2 {
	margin-bottom: 120px;
	overflow: hidden;
}

#shop_access .s2_box {
	width: 96.25vw;
	background: #27cfdc url(../images/top/bg_movie.png) no-repeat center bottom;
	background-size: 100% auto;
	border-radius: 20px;
	margin: 0 auto;
	padding: 80px 0 130px;
}

#shop_access .s2_top_box {
  display: flex;
  align-items: flex-start;
}

#shop_access .s2_top_box h2 {
  flex-shrink: 0;
  width: 30%;
	font-size: 4.286em;
	font-weight: 800;
	position: relative;
}

#shop_access .s2_top_box h2::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 46px;
	height: 4px;
	background-color: #dc000c;
}

#shop_access .s2_top_box p {
  font-size: 1.571em;
  font-weight: 700;
}

#shop_access .s2_bottom_box {
  margin-top: 70px;
}

#shop_access .s2_bottom_box h3 {
  font-size: 2.143em;
  margin-bottom: 30px;
}

#shop_access .s2_bottom_box .item {
  width: 30.81%;
	background-color: #fff;
	border: 10px solid #fff;
	border-radius: 10px;
  padding-bottom: 10px;
}

#shop_access .s2_bottom_box .item .text {
  margin-top: 15px;
  padding: 0 10px;
}

#shop_access .s2_bottom_box .item h4 {
  font-size: 1.714em;
  margin-bottom: 10px;
  position: relative;
}

#shop_access .s2_bottom_box .item h4 img {
  position: absolute;
  bottom: 10px;
  right: -10px;
}

#shop_access .s2_bottom_box .item p {
  font-size: 1.143em;
}

#shop_access .s3 {
  margin-bottom: 120px;
  padding: 100px 0;
  position: relative;
}

#shop_access .s3::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
	width: 56.25vw;
  height: 100%;
  background-color: #f8f8f8;
  border-radius: 40px 0 0 40px;
}

#shop_access .s3 .sidebar {
  width: 50%;
  height: 72vh;
  position: sticky;
  top: 118px;
  left: 10px;
}

#shop_access .s3 .sidebar .img_course {
  margin-bottom: 30px;
}

#shop_access .s3 .sidebar h2 {
  font-size: 2.143em;
  line-height: 1.3;
  letter-spacing: .1em;
  background: url(../images/shop_access/img10.png) no-repeat left center;
  margin-bottom: 20px;
  padding-left: 45px;
}

#shop_access .s3 .sidebar p {
  font-size: 1.143em;
  margin-bottom: 20px;
}

#shop_access .s3 .sidebar .tbl_course {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 93%;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}
#shop_access .s3 .sidebar .tbl_course:first-of-type {
  border-top: 1px solid #ddd;
}

#shop_access .s3 .sidebar .tbl_course dt {
  width: 33%;
  font-size: 1.143em;
  font-weight: 700;
}
#shop_access .s3 .sidebar .tbl_course.course1 dt {
  color: #f48400;
}
#shop_access .s3 .sidebar .tbl_course.course2 dt {
  color: #49c2d0;
}
#shop_access .s3 .sidebar .tbl_course.course3 dt {
  color: #61d09d;
}

#shop_access .s3 .sidebar .tbl_course dd {
  width: 67%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#shop_access .s3 .sidebar .tbl_course dd p {
  width: calc(100% / 3);
  text-align: center;
  border-left: 1px dashed #d1d1d1;
  margin: 0;
}
#shop_access .s3 .sidebar .tbl_course.course0 dd p {
  width: 100%;
}

#shop_access .s3 .sidebar .btn1 {
  background-image: url(../images/common/icon_download.png);
  background-size: 30px auto;
  margin: 30px 7% 0 0;
  /*margin: 30px 7% 0 auto;*/
  padding-top: 20px;
  padding-bottom: 20px;
}

#shop_access .s3 .right {
  width: 50%;
}

#shop_access .s3 .right .item {
  background-color: #fff;
  border-radius: 20px;
  padding: 6.67% 8.34%;
}

#shop_access .s3 .right .item_inner + .item_inner {
  border-top: 1px solid #d1d1d1;
  margin-top: 30px;
  padding-top: 30px;
}

#shop_access .s3 .right .item_inner h3 {
  font-size: 1.714em;
  color: #f84848;
  letter-spacing: .1em;
  margin-bottom: 10px;
}

#shop_access .s3 .right .item_inner h3 img {
  width: 26px;
  margin-right: 10px;
  vertical-align: middle;
}

#shop_access .s3 .right .item_inner p {
  font-size: 1.143em;
  margin-bottom: 20px;
}

#shop_access .s4 {
  margin-top: -118px;
  padding: 118px 0 160px;
  position: relative;
}

#shop_access .s4::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 80%;
  background-color: #f8f8f8;
  border-radius: 40px 40px 0 0;
}

#shop_access .s4 .caption {
  text-align: center;
  margin-bottom: 70px;
}

#shop_access .s4 .caption .border {
  margin-left: auto;
  margin-right: auto;
}

#shop_access .s4 .map {
  width: 92.5vw;
  height: 560px;
  margin: 0 auto 60px;
}

#shop_access .s4 .map iframe {
  width: 100%;
  vertical-align: bottom;
}

#shop_access .s4 .item.item1 {
  width: 29.17%;
  padding-right: 2em;
}
#shop_access .s4 .item.item2 {
  width: 29.17%;
  margin-right: auto;
  padding: 82px 2em 0 0;
}
#shop_access .s4 .item.item3 {
  width: calc(100% / 3);
}

#shop_access .s4 .item h3 {
  font-size: 1.714em;
  letter-spacing: .1em;
  margin-bottom: 40px;
}

#shop_access .s4 .item h3 span {
  font-size: 1.25em;
}

#shop_access .s4 .item h3 img {
  transform: scale(.8);
  margin-right: 10px;
}

#shop_access .s4 .item h4 {
  font-size: 1.286em;
  letter-spacing: .1em;
  margin-bottom: 20px;
}

#shop_access .s4 .item ul {
  position: relative;
}
#shop_access .s4 .item ul + ul {
  margin-top: 40px;
}

#shop_access .s4 .item ul li {
  font-size: 1.143em;
  text-indent: -24px;
  padding-left: 24px;
  position: relative;
}

#shop_access .s4 .item ul li::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: #cbcbcb;
  border-radius: 50%;
  margin-right: 10px;
}

#shop_access .s4 .item ul li::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 7px;
  width: 1px;
  height: 100%;
  background-color: #cbcbcb;
}
#shop_access .s4 .item ul li:last-child::after {
  height: 17px;
}
#shop_access .s4 .item ul.nobrdr li:last-child::after {
  display: none;
}

#shop_access .s4 .item ul li + li {
  padding-top: 10px;
}

#shop_access .s4 .item .btn1 {
  margin-top: 30px;
  padding-top: 20px;
  padding-bottom: 20px;
}

#shop_access .s4 .item .btn1 + .btn1 {
  margin-top: 10px;
}

#shop_access .s4 .btn1.btn_center {
  width: 380px;
  border-radius: 60px;
  margin: 30px auto 0;
}

#shop_access .s4 .item ul + p {
  margin-top: 20px;
}

} /* @media print,screen and (min-width: 1001px) */



/* SP */
@media screen and (max-width: 1000px) {
#shop_access .page_header {
	background-image: url(../images/shop_access/main_sp.jpg);
}

#shop_access .s1 {
	margin: 13vw 0;
}

#shop_access .s1 .text {
	margin-bottom: 7vw;
}

#shop_access .s1 .text > div dl {
  margin-bottom: 5vw;
}

#shop_access .s1 .text > div dd {
  margin-bottom: 3vw;
}

#shop_access .s1 .text > div dd small {
  font-size: .923em;
}

#shop_access .s1 .text > div dd a {
  margin-left: 2vw;
}

#shop_access .s1 .text > div dd a img {
  transform: scale(.8);
}

#shop_access .s1 .text > div .btn1 {
  margin: 0 auto;
}

#shop_access .s2 {
	margin-bottom: 13vw;
	overflow: hidden;
}

#shop_access .s2_box {
	width: 95vw;
	background: #27cfdc url(../images/top/bg_movie_sp.png) no-repeat center bottom;
	background-size: contain;
	border-radius: 20px;
	margin: 0 auto;
	padding: 10vw 0;
}

#shop_access .s2_top_box h2 {
	font-size: 2em;
	font-weight: 800;
	text-align: center;
	margin-bottom: 5vw;
	position: relative;
}

#shop_access .s2 h2::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 46px;
	height: 4px;
	background-color: #dc000c;
}

#shop_access .s2_top_box p {
  font-size: 1.077em;
  font-weight: 700;
}

#shop_access .s2_bottom_box {
  margin-top: 7vw;
}

#shop_access .s2_bottom_box h3 {
  font-size: 1.385em;
  margin-bottom: 5vw;
}

#shop_access .s2_bottom_box .item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
	background-color: #fff;
	border-radius: 10px;
  padding: 3vw;
}

#shop_access .s2_bottom_box .item + .item {
  margin-top: 3vw;
}

#shop_access .s2_bottom_box .item .text {
  width: calc(100% - 31.25vw);
  padding-left: 3vw;
}

#shop_access .s2_bottom_box .item picture {
  width: 31.25vw;
}

#shop_access .s2_bottom_box .item picture img {
  width: 100%;
}

#shop_access .s2_bottom_box .item h4 {
  font-size: 1.154em;
  line-height: 1.3;
  margin-bottom: 3vw;
  padding-right: 15vw;
  position: relative;
}

#shop_access .s2_bottom_box .item h4 span {
  display: block;
}

#shop_access .s2_bottom_box .item h4 img {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 13.125vw;
}

#shop_access .s2_bottom_box .item p {
  font-size: .923em;
  line-height: 1.3;
}

#shop_access .s3 {
  margin-bottom: 13vw;
  position: relative;
}

#shop_access .s3 .sidebar {
  width: 100%;
  margin-bottom: 13vw;
}

#shop_access .s3 .sidebar .img_course {
  margin-bottom: 30px;
}

#shop_access .s3 .sidebar h2 {
  font-size: 1.385em;
  line-height: 1.3;
  letter-spacing: .1em;
  background: url(../images/shop_access/img10.png) no-repeat left center;
  background-size: 5.625vw auto;
  margin-bottom: 1vw;
  padding-left: 7vw;
}

#shop_access .s3 .sidebar p {
  margin-bottom: 3vw;
}

#shop_access .s3 .sidebar .tbl_course {
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #ddd;
  padding: 3vw 0;
}
#shop_access .s3 .sidebar .tbl_course:first-of-type {
  border-top: 1px solid #ddd;
}

#shop_access .s3 .sidebar .tbl_course dt {
  width: 50%;
  font-weight: 700;
}
#shop_access .s3 .sidebar .tbl_course.course1 dt {
  color: #f48400;
}
#shop_access .s3 .sidebar .tbl_course.course2 dt {
  color: #49c2d0;
}
#shop_access .s3 .sidebar .tbl_course.course3 dt {
  color: #61d09d;
}

#shop_access .s3 .sidebar .tbl_course dd {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

#shop_access .s3 .sidebar .tbl_course dd p {
  width: 50%;
  margin: 0;
}
#shop_access .s3 .sidebar .tbl_course:not(.course0) dd p:nth-of-type(2) {
  border-left: 1px dashed #d1d1d1;
  padding-left: 1em;
}
#shop_access .s3 .sidebar .tbl_course dd p:last-of-type {
  width: 100%;
  text-align: left;
  border-left: none;
  padding-top: 1.5vw;
}

#shop_access .s3 .sidebar .btn1 {
  background-image: url(../images/common/icon_download.png);
  background-size: 4.6875vw auto;
  margin: 5vw auto 0;
}

#shop_access .s3 .right {
  width: 100%;
  padding: 10vw 0;
  position: relative;
}

#shop_access .s3 .right::before {
  content: "";
  position: absolute;
  top: 0;
  left: -5vw;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: #f8f8f8;
  border-radius: 20px;
}

#shop_access .s3 .right .item {
  background-color: #fff;
  border-radius: 20px;
  padding: 5vw;
}

#shop_access .s3 .right .item_inner + .item_inner {
  border-top: 1px solid #d1d1d1;
  margin-top: 5vw;
  padding-top: 7vw;
}

#shop_access .s3 .right .item_inner h3 {
  font-size: 1.23em;
  color: #f84848;
  letter-spacing: .1em;
  margin-bottom: 3vw;
}

#shop_access .s3 .right .item_inner h3 img {
  width: 23px;
  margin-right: 2vw;
  vertical-align: middle;
}

#shop_access .s3 .right .item_inner p {
  margin-bottom: 5vw;
}

#shop_access .s4 {
  margin-top: -15vw;
  padding: 15vw 0 13vw;
  position: relative;
}

#shop_access .s4 .caption {
  text-align: center;
  margin-bottom: 7vw;
}

#shop_access .s4 .caption .border {
  margin-left: auto;
  margin-right: auto;
}

#shop_access .s4 .map {
  height: 93.75vw;
  margin-bottom: 5vw;
  padding: 0 5vw;
}

#shop_access .s4 .map iframe {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  vertical-align: bottom;
}

#shop_access .s4 .item {
  width: 100%;
}
#shop_access .s4 .item + .item {
  margin-top: 5vw;
}

#shop_access .s4 .item h3 {
  font-size: 1.077em;
  letter-spacing: .1em;
  margin-bottom: 3vw;
}

#shop_access .s4 .item h3 span {
  font-size: 1.286em;
}

#shop_access .s4 .item h3 img {
  transform: scale(.7);
  vertical-align: middle;
}

#shop_access .s4 .item h4 {
  font-size: 1.077em;
  letter-spacing: .1em;
  margin-bottom: 1vw;
}

#shop_access .s4 .item ul {
  position: relative;
}
#shop_access .s4 .item ul + ul {
  margin-top: 5vw;
}

#shop_access .s4 .item ul li {
  text-indent: -20px;
  padding-left: 20px;
  position: relative;
}

#shop_access .s4 .item ul li::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: #cbcbcb;
  border-radius: 50%;
  margin-right: 7px;
}

#shop_access .s4 .item ul li::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 6px;
  width: 1px;
  height: 100%;
  background-color: #cbcbcb;
}
#shop_access .s4 .item ul li:last-child::after {
  height: calc(10px + 1.5vw);
}
#shop_access .s4 .item ul.nobrdr li:last-child::after {
  display: none;
}

#shop_access .s4 .item ul li + li {
  padding-top: 1.5vw;
}

#shop_access .s4 .item .btn1 {
  margin: 5vw auto 0;
}

#shop_access .s4 .item .btn1 + .btn1 {
  margin-top: 3vw;
}

#shop_access .s4 .btn1.btn_center {
  border-radius: 60px;
  margin: 5vw auto 0;
}

#shop_access .s4 .item ul + p {
  margin-top: 3vw;
}

} /* @media screen and (max-width: 1000px) */