/* ===============================================
 * 
 * -- style common 共通
 * 
 * =============================================== */
/* --------------------------------------------
 * >> page common 
 * ------------------------------------------ */
#content .container {
  width: 100%;
  padding: 0;
}
#content .row {
  margin: 0;
}
.contents__wrap {
  margin: 0 auto;
  max-width: clamp(700px, calc((800 / 1280) * 100vw), 1080px);
}
.front__ttl {
  color: #7f4a58;
  text-align: center;
}
#primary.fp-content-area {
  background: #fff;
  position: relative;
	z-index: 2;
}



/* --------------------------------------------
 * >> menu 
 * ------------------------------------------ */
#mainnav {
}
#masthead.site-header {
  background: rgb(255, 255, 255);
  max-height: 80px;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#masthead.site-header.float-header {
  background-color: rgba(255,255,255,0.9);
  background: rgb(255, 255, 255);
}
.head-menu_icon {
  width: calc((25 / 1280) * 100vw);
  margin-left: 2%;
  max-width: 25px;
}
.head-menu_icon a:hover {
  opacity: 0.5;
}
#mainnav ul li {
  padding: 0;
}
#mainnav ul li a {
  padding: 0 1.5vw;
  line-height: 1;
  border-left: 1px solid #000;
}
#mainnav ul li:last-child a {
  border-left: 1px solid #000;
}
#mainnav ul li a, #mainnav ul li::before {
  color: #000;
}
#mainnav .menu-globalmenu-container ul li .sub-menu {
  width: 100%;
  height: 55px;
  top: 80px;
  position: fixed;
  left: 0;
  right: 0;
  background: #9e959a;
  display: flex !important;
  justify-content: center;
  align-items: center;
  padding: 0;
  max-height: 55px;
	min-height: 55px;
}
#mainnav .menu-globalmenu-container ul li .sub-menu li a {
  display: block;
  color: #fff;
padding: 20px 1vw;
  line-height: 1;
  background: transparent;
  text-align: center;
  border: none;	
  margin: 0;
  width: auto;
}
#mainnav .menu-globalmenu-container ul li .sub-menu li .sub-menu {
	width: 100vw;
position: fixed;
  height: 100%;
  background: #fff;
  top: 135px;
  border: none;
  display: grid !important;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: calc((15 / 1280) * 100vw) calc((250 / 1280) * 100vw);
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 5%;
  min-height: 12vw;
	grid-auto-rows: min-content;
}
#mainnav .menu-globalmenu-container ul li .sub-menu li .sub-menu::before {
  content: "";
  position: absolute;
  z-index: -1;
  background: #fff;
  width: 100vw;
  height: 100%;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .3);
}
#mainnav .menu-globalmenu-container ul li .sub-menu li .sub-menu a {
  color: #fff;
  text-align: left;
  padding: 0.5vw 0.8vw;
  position: relative;
  background: #231815;
  width: 100%;
	font-size: clamp(12px, (14 / 1280) * 100vw, 14px);
}
#mainnav .menu-globalmenu-container ul li .sub-menu li .sub-menu a:hover {
	background: #9e959a;
}
#mainnav .menu-globalmenu-container ul li .sub-menu li .sub-menu li {
  display: flex;
  align-items: center;
  margin-bottom: 1vw;
  width: 100%;
}
#mainnav .menu-globalmenu-container .menu-item.active > a {
background: transparent;
  transition: ease all 0.5s;
}
#mainnav .menu-globalmenu-container .menu-item.active > a:hover {

}



#mainnav .menu .menu-item.menu-item-35.active {
  position: relative;
}
#mainnav .menu .menu-item.menu-item-35::after {
	content: "";
	top: 63px;
	transition: ease all 0.7s;
	opacity: 0;
}
#mainnav .menu .menu-item.menu-item-35.active::after {
  content: "";
  background: #9e959a;
  height: calc(tan(60deg) * 30px / 2);
  width: 30px;
  clip-path: polygon(50% 0, 100% 65%, 0 65%);
  top: 32px;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  margin: 0 auto;
	transition: ease all 0.7s;
	opacity: 1;
}
#mainnav .menu .menu-item.active .sub-menu .menu-item::after {/* reset */
	content: "";
	top: 63px;
	transition: ease all 0.7s;
	opacity: 0;
}
#mainnav .menu .menu-item.active .sub-menu .menu-item.active {
  position: relative;
}
#mainnav .menu .menu-item.active .sub-menu .menu-item.active::after {
  content: "";
  background: #fff;
  height: calc(tan(60deg) * 30px / 2);
  width: 30px;
  clip-path: polygon(50% 0, 100% 65%, 0 65%);
  top: 45px;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  margin: 0 auto;
	transition: ease all 0.7s;
	opacity: 1;
}
#mainnav .menu .menu-item.active .sub-menu .menu-item .sub-menu .menu-item {/* reset */
}
#mainnav .menu .menu-item.active .sub-menu .menu-item .sub-menu .menu-item.active::after  {/* reset */
	  content: none;
}
.menu-item-66::after,
.menu-item-69::after,
.menu-item-66::after,
.menu-item-43::after,
.menu-item-67::after,
.menu-item-68::after {
display: none;
}


.head-logo {
  width: calc((160 / 1280) * 100vw);
	z-index: 1;
}
.head-menu {
  width: calc((1280 / 1280) * 100vw - 160px);
}
.hm-before {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  align-items: center;
font-family: "Noto Serif JP", "Noto Sans JP";
}
.hamburger {
  display: none;
  width: 42px;
  height: 42px;
  position: relative;
  position: fixed;
  z-index: 10001;
  cursor: pointer;
	display: block;
	top: 2.5%;
	margin: auto;
	right: 3%;
  text-align: left;
}
.hamburger span {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transition: ease all 0.5s;
}
.hamburger span:first-of-type {
  top: 30%;
}
.hamburger span:nth-of-type(2){
  top: 50%;
}
.hamburger span:last-of-type{
  top: 70%;
}
.slide-menu {
  position: fixed;
  top: 0;
  width: 100%;
  left: 0;
  transform: translateX(100%);
  transition: ease all 0.5s;
  z-index: 10000;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 10% 0 5%;
  height: 60vh;
  display: flex;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.slide-menu ul {	
  list-style: none;
  padding: 0;
  width: 100%;
}
.slide-menu ul li{
  color: #000;
  line-height: 400%;
  text-align: center;
	line-height: 3;
}
.slide-menu ul li a {
  color: #333;
  font-size: 4vw;
  font-weight: 600;
  border-bottom: 1px solid #999;
  padding: 5px 0;
  letter-spacing: 0.3rem;
  width: 100%;
  display: block;
}
.slide-menu.active
.menu-global-menu-container {
  width: 90%;
}
.hamburger.active span:first-of-type{
  top: 50%;
  transform: rotate(45deg);
}
.hamburger.active span:nth-of-type(2){
  opacity: 0;
}
.hamburger.active span:last-of-type{
  top: 50%;
  transform: rotate(-45deg);
}
.slide-menu.active{
  transform: translateX(0); 
}
.hm-after img {
  width: 80px;
  height: auto;
  margin: 0 auto 10px;
}
.line_btn {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 1.5vw 0 0.8vw;
  overflow: hidden;
  align-items: center;
margin: 2vw auto auto;
}
.line_btn::before {
  background: #7f4a58;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
}
.line_btn:hover::before {
}
.line_btn .btn__tx {
  color: #231815;
  width: 50%;
  letter-spacing: 0.5rem;
  font-size: calc(13 / 1280 * 100vw);
}
.line_btn .btn__en {
  color: #7f4a58;
  font-family: "Source Sans 3", serif;
  width: 50%;
  font-size: calc(13 / 1280 * 100vw);
  text-align: center;
  transition: ease all 0.5s;
  letter-spacing: 0.08vw;
  font-weight: 900;
}
.line_btn:hover .btn__en {
	width: 40%;
}
.btn__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10%;
  transition: ease all 0.5s;
  position: absolute;
  right: -10%;
  height: 25px;
}
.line_btn:hover .btn__arrow {
  right: 0;
}
.btn__arrow img {
  max-width: 20px;
}
/* cycle btn */
.circle_btn {
  color: #7f4a58;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  border: 1.3px solid #7f4a58;
  border-radius: 100px;
  width: calc((240 / 1280) * 100vw);
  font-size: calc(13 / 1280 * 100vw);
  margin: 0 auto;
  padding: 1.1vw 0;
  overflow: hidden;
  position: relative;
  align-items: center;
  letter-spacing: 0.1vw;
}
.circle_btn
.btn__tx1 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: ease all 0.5s;
}
.circle_btn:hover .btn__tx1 {
  width: 75%;
	padding-left: 20%;
}
.circle_btn:hover .btn__arrow {
  right: 0;
	width: 25%;
}
.circle_btn:hover {
   color: #7f4a58;
  border-color: #7f4a58;
	background: #ebdde1;
}
.circle_btn._w2 {
  width: calc((340 / 1280) * 100vw);
}
.circle_btn._w2:hover .btn__arrow {
  width: 20%;
}
.banner_btn {
  background: #7f4a58;
  color: #fff;
  padding: 1.3vw 0;
    padding-left: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 8%;
}
.banner_btn .btn__arrow {
  right: 0;
  position: relative;
  width: 8%;
}
.banner_btn:hover {
  opacity: 0.5;
  transition: ease all 0.5s;
}
.hamburger {
	display: none;
}
.header-wrap
.site-logo {
  max-width: clamp(150px, calc((200 / 1280) * 100vw), 200px);
}

/* --------------------------------------------
 * >> footer
 * ------------------------------------------ */
.footer__access .contents__wrap {
  padding: 10vw 0 5vw;
}
.footer__access_data_ttl {
  font-family: "Noto Sans JP", "Raleway", sans-serif;
  font-size: clamp(18px, calc(20 / 1280 * 100vw), 22px);
}
.footer__access_data_ttl span{
	color: #767a7b;
  font-weight: 600;
}
.site-footer {
  background: #f2f2f3;
  color: #000;
  font-family: "Noto Serif JP", sans-serif;
}
.site-footer a {
  color: #000;
}
.footer__access {
  background: #f2f2f3;
}
.footer__access_item iframe {
  height: clamp(180px, calc((200 / 1280) * 100vw), 400px);
}
.footer_wrap {
  width: calc((1200 / 1280) * 100vw);
  margin: 0 auto;
}
.footer__access .front__ttl {
  color: #fff;
  font-size: calc(18 / 1280 * 100vw);
  margin: 0 auto;
  padding: 0 0 4vw;
  letter-spacing: 0.5vw;
}
.footer__access_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 7%;
  color: #000;
  font-family: "Noto Sans JP", "Raleway", sans-serif;
}
.footer__access_item ul {
  padding: 0;
  list-style: none;
  text-align: center;
  line-height: 2.8;
  margin: 0 auto 3vw;
}
.footer__access_item ul li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__access_item ul img {
  max-width: 40px;
  margin-right: 0.5vw;
}
.footer__access_datalist {
  margin: 2vw auto;
}
.footer__access_datalist a {
  color: #000;
}
.footer__access_datalist img {
  height: calc((38 / 1280) * 100vw);
}
.footer_note {
  padding: 0.5vw 0;
  margin: 0;
  font-size: clamp(12px, calc((14 / 1280) * 100vw), 15px);
}
.footer_note span {
  font-size: clamp(14px, calc((15 / 1280) * 100vw), 17px);
  font-weight: 600;
}
.footer_note .fs-s {
  font-size: 84%;
  font-feature-settings: "palt" 1;
  letter-spacing: -1px;
}

/* footer menu */
.footer__contents {
  padding: 6vw 0 0;
  position: relative;
  background: #fff;
}
.soundgraph_menu {
  display: flex;
  color: #ccc;
  justify-content: center;
}
 .soundgraph_menu .f-sg-item, .soundgraph_menu .f-sg-item a {
color: #222;
	 font-size: clamp(12px, calc((14 / 1280) * 100vw), 15px);
}
.soundgraph_second_menu {
}		 
.soundgraph_second_menu .tab-menu {
  display: flex;
  justify-content: center;
  background: #000;
  position: relative;
}
.f-sg-item {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
}
.f-sg-item a {
  padding: 2vw 1.5vw;
  display: block;
}
.f-sg-item:nth-child(2) {
  padding: 2vw 1.5vw;
}
.f-sg-item::before {
  content: "";
  background: #222;
  left: 0;
  position: absolute;
  width: 1px;
  height: 15px;
}		 
.f-sg-item:last-child::after {
  content: "";
  position: absolute;
  right: 0;
  background: #222;
  width: 1px;
  height: 15px;
}		 
.soundgraph_second_menu .tab-menu .f-sg-s-item a,.f-sg-s-item {
  color: #fff;
}		 
.soundgraph_second_menu .tab-menu .f-sg-s-item {
  cursor: pointer;
  font-size: clamp(12px, calc((14 / 1280) * 100vw), 15px);
  transition: ease 0.5s all;
  position: relative;
	overflow: hidden;
}
.soundgraph_second_menu .tab-menu .f-sg-s-item::before {/* ひし形 */
  bottom: -80%;
  opacity: 0;
	transition: ease all 0.3s;
	visibility: hidden;
	  /*content: "";*/
  background: transparent;
width: calc((25 / 1280) * 100vw);
height: calc((25 / 1280) * 100vw);
	left: 0;
  right: 0;
  margin: auto;
	position: absolute;
	 transform: rotate(45deg);
}
.soundgraph_second_menu.active .tab-menu .f-sg-s-item.active::before {/* ひし形active */
  /*content: "";*/
  background: white;
  position: absolute;
  bottom: -40%;
  left: 0;
  right: 0;
  margin: auto;
	opacity: 1;
	transition: ease all 0.3s;
	visibility: visible;
}
.soundgraph_second_menu.active .tab-menu .f-sg-s-item:nth-child(n+2).active::before {
  content: none;
	visibility: hidden;
}
.f-sg-s-item {
  padding: 1.2vw;
}
.soundgraph_third_menu {
  max-width: clamp(700px, calc((800 / 1280) * 100vw), 1170px);
  margin: 0 auto;
  padding: 0;
}
.soundgraph_third_menu .sub-menu {
  display: grid;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 5%;
  padding: 2vw 0 4vw;
  list-style: none;
  position: relative;
}
.f-sg-t-menu-item {
  margin-bottom: 15px;
}		
.f-sg-t-menu-item a {
  display: block;
  color: #fff;
  text-align: left;
  position: relative;
  background: #231815;
  width: 100%;
  line-height: 1.5;
  padding: 0.2vw 0.4vw;
  font-size: clamp(12px, calc((14 / 1280) * 100vw), 15px);
}	 
.f-sg-t-menu-item a:hover {
  color: #fff;
  background: #9e959a;
}		 
		 
.tab-content, .sub-tab-content { 
	visibility: hidden;
	opacity: 0;
    transition: opacity 0.5s ease-in-out, height 0.5s ease-in-out, visibility 0.5s;
	max-height: 0;
}
.tab-content.active, .sub-tab-content.active { 
	visibility: visible;
	opacity: 1;
}
.tab.f-sg-item:hover, .tab.f-sg-item:hover a {
  color: #32585c;
}
.f-sg-s-item:hover {
  background: #323030;
  transition: ease 0.5s all;
}

.copyright_txt {
  font-size: clamp(11px, calc((14 / 1280) * 100vw), 16px);
  line-height: 1.5;
  height: auto;
  font-family: "Noto Sans JP", "Raleway", sans-serif;
}



/* ----------------------
 * >> common --- page
 * -------------------- */
/* pankuzu */
.page_breadcrumbs {
  padding: 1vw 0;
}
.breadcrumb ul {
  padding: 0;
  list-style: none;
  margin: 0.5vw auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
 .breadcrumb ul li a, .breadcrumb ul li {
    font-size: clamp(11px, calc((14 / 1280) * 100vw), 15px);
  }
.breadcrumb ul li a {
  color: #3f3f3f;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  -moz-border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  text-shadow: none;
  line-height: 1;
}
.breadcrumb ul li {
  position: relative;
  line-height: 1;
  display: inline-flex;
}
.breadcrumb ul li::after {
  content: ">";
  padding: 0 8px;
}
.breadcrumb ul li a:hover {
  background: transparent;
  text-decoration: underline;
  color: #ccc;
}
.breadcrumb ul li:last-child::after {
  content: none;
}





/* page */
.content-area {
  overflow: hidden;
}



/* ---------------------------------------
 *  view change
 * --------------------------------------- */
.view-pc { display: none; }
.view-sp { display: block; }

@media (min-width: 767px) {
  .view-pc { display: block; }
  .view-sp { display: none; }
}
/* ---------------------------------------
 *  view size -- 1024px
 * --------------------------------------- */	
@media screen and (max-width: 1200px) {
.hm-before {
background: #fff;
}
.hamburger span {
background: #000;
}	
.slide-menu {
background: #fff;
}
 .slide-menu ul li a:hover {
background: #eee;
}
.slide-menu ul li a {
color: #000;
}
	
	
	
}
/* ---------------------------------------
 *  view size -- 1024px
 * --------------------------------------- */	
@media screen and (max-width: 1024px) {
#mainnav ul li a {/* ber menu */
  font-size: clamp(12px, calc((14 / 1280) * 100vw), 15px);
}
.mainnav {/* ber menu ----------------------------------- */
  width: 80%;
}
.menu-globalmenu-container .menu {/* ber menu */
  /*justify-content: flex-end;
  align-items: center;
  display: flex;*/
}

.hamburger {/* hmberger ----------------------------------- */
    top: 1%;
    right: 1.5%;
    display: block;
}
.sub-menu {
  display: none;
}
	.slide-menu ul {
  list-style: none;
  padding: 0;
  width: 100%;
}
	  .slide-menu ul li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
  }
.slide-menu .sub-menu li {
    position: relative;
    margin-bottom: 5px;
}
.slide-menu .sub-menu li a {
    padding: 0.5vw 0 0.5vw 2vw;
    border: none;
    font-size: calc(12 / 1024 * 100vw);
}
.slide-menu ul ul .sub-menu li {
  position: relative;
}
.slide-menu ul ul .sub-menu li a {
  padding: 0.4vw 0 0.4vw 4vw;
  font-size: clamp(12px, calc((12 / 1024) * 100vw), 13px);
}
.slide-menu ul li a:hover {
background: #e9e9e9;
}	
#masthead.site-header {
z-index: 9999;
position: fixed !important;
padding: 0;
margin: 0;
top: 0;
left: 0;
right: 0;
margin: auto;
width: 100vw;
background: rgb(255, 2550, 255);
    min-height: initial;
    max-height: initial;
    height: calc((55 / 1024) * 100vw);
}
.header-wrap .container {
  width: 100%;
  height: 100%;
  height: calc((55 / 1024) * 100vw);
}	
.header-wrap .row {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
	margin: 0 auto;
}
.head-menu {
    background-color: rgb(35, 24, 21);
    width: calc((1024 / 1024) * 100vw - 280px);
  }	
.slide-menu {
    width: 30%;
    left: inherit;
    right: 0;
    background-color: rgb(255, 255, 255);
    height: 100vh;
    overflow-x: scroll;
  }
 .slide-menu ul li a {
    text-align: left;
    color: #000;
    font-size: clamp(14px, calc((14 / 1024) * 100vw), 16px);
    padding: 1vw 0;
    border-bottom: 1px solid #ccc;
  }

.slide-menu li {
  position: relative;
}
 .slide-menu li::before {
    content: ">";
    color: #585353;
    position: absolute;
    font-size: clamp(24px, calc(30 / 1280 * 100vw), 32px);
    font-family: "Noto Serif JP", serif;
    right: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
.slide-menu ul li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
  }
.hamburger.active span:first-of-type {
transform: rotate(30deg);
}
.hamburger.active span:last-of-type {
transform: rotate(-30deg);
}	
  .slide-menu ul li:hover, .map-menu-only a:hover {
  }
.menu-globalmenu-container {
    width: 100%;
    padding: 0 8%;
    height: 100%;
	overflow-x: scroll;
    max-height: 80vh;
  }
.slide-menu .sub-menu.open a {
  font-size: calc(12 / 1024 * 100vw);
  border: none;
}	
/* -- メニューのサイズ -- */
.slide-menu ul li,
.slide-menu ul ul li,
.slide-menu ul ul ul li {
  height: 100%;
  position: relative;
justify-content: center;
align-items: flex-start;
}
.slide-menu ul  li::before,
.slide-menu ul ul li::before,
.slide-menu ul ul ul li::before {
  position: absolute;
  height: 100%;
}		

.slide-menu ul li::before {
	height: 60px;
}	
	
.slide-menu ul ul li::before {
	height: 45px;
	 font-size: 22px;
}	
	
.slide-menu ul ul ul li::before {
	height: 100%;
  font-size: 17px;
}	
.site-logo {
max-width: 150px;
}	
	
	
	
}



/* ---------------------------------------
 *  view size -- 767px
 * --------------------------------------- */	
@media screen and (max-width: 767px) {
/* menu */
	
/* 初期状態（閉じる） */
.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

/* 開いたとき */
.menu-item-has-children.open > .sub-menu {
    max-height: 500px; /* 高さは自動調整するので適宜調整 */
}
	
	
	
	
	
.hamburger {
  display: block;
width: calc((45 / 375) * 100vw);
height: calc((45 / 375) * 100vw);
top: 0;
right: 3%;
}
 .slide-menu {
    background: #231815;
    height: 100vh;
    padding: 20vw 0 25vw;
    justify-content: flex-start;
    overflow-x: scroll;
    width: 100%;
	 height: fit-content;
	 min-height: 90vh;
	}
.hm-after img {
  width: calc((90 / 375) * 100vw);
}	
.hamburger span {
background-color: #000;
}
#masthead.site-header {
z-index: 9999;
position: fixed !important;
padding: 0;
margin: 0;
top: 0;
left: 0;
right: 0;
margin: auto;
width: 100vw;
background: rgb(255, 2550, 255);
    min-height: initial;
    max-height: initial;
    height: calc((45 / 375) * 100vw);
}
.header-wrap {
    width: 100%;
  }
.head-logo {
  width: calc((90 / 375) * 100vw);
}
.header-wrap .container {
  width: 100%;
  height: 100%;
  height: calc((45 / 375) * 100vw);
}	
.header-wrap .row {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
	margin: 0 auto;
}
.head-menu_icon {
display: none;
}
.hamburger span:first-of-type {
top: 30%;
}
.hamburger span:last-of-type {
top: 70%;
}	
.hamburger.active span:first-of-type {
transform: rotate(30deg);
}
.hamburger.active span:last-of-type {
transform: rotate(-30deg);
}
.slide-menu {
background: #fff;
}
.slide-menu ul li a {
    text-align: left;
    color: #000;
    font-size: calc(13 / 375 * 100vw);
    padding: 2vw 0;
	border-bottom: 1px solid #585353;
}
  .slide-menu ul li:hover, .map-menu-only a:hover {
  }
 .menu-globalmenu-container {
    width: 100%;
    padding: 0 8%;
    height: auto;
	 overflow-x: scroll;
    max-height: 80vh;
  }
.slide-menu .sub-menu.open a {
  font-size: calc(12 / 375 * 100vw);
  border: none;
}
 .map-menu-only {
    color: #333;
    font-size: calc(14 / 375 * 100vw);
    font-weight: 600;
    border-bottom: 1px solid #585353;
    letter-spacing: 0.3rem;
    width: 84%;
    text-align: left;
    position: relative;
  }
.map-menu-only::before {
  content: ">";
  color: #585353;
  position: absolute;
  font-size: clamp(24px, calc((30 / 1280) * 100vw), 32px);
  font-family: "Noto Serif JP", serif;
  right: 0.8vw;
  top: 1.5vw;
  bottom: 0;
}	
 .map-menu-only a {
    color: #000;
    padding: 4vw 0;
    display: block;
  }

.head-logo {
    width: calc((90 / 375) * 100vw);
    z-index: 999999;
}
.slide-menu li {
  position: relative;
}
 .slide-menu li::before {
    content: ">";
    color: #585353;
    position: absolute;
    font-size: clamp(24px, calc(30 / 1280 * 100vw), 32px);
    font-family: "Noto Serif JP", serif;
    right: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

/* menu ul  */
.slide-menu ul li::before {
    height: 55px;
}
.slide-menu .sub-menu li a {
  padding: 1.5vw 10vw;
  border: none;
  font-size: calc(12 / 375 * 100vw);
}

/* menu ul ul */
.slide-menu ul ul li::before {
    height: 45px;
}
/* menu ul ul ul */
.slide-menu ul ul ul li {
  height: 100%;
}	
.slide-menu ul ul ul li::before {
  top: 0;
  height: 97%;
}	
.slide-menu ul ul .sub-menu li a {
    padding: 2vw 0 2vw 15vw;
    line-height: 2;
  }
	
	
/* sp >> footer */	
.footer__contents {
  padding: 0;
}	
.footer-nav {
  display: none;
}	
.footer__access_wrap {
grid-template-columns: 1fr;
grid-gap: 0;
}
.btn__arrow img {
max-width: 15px;
}	
.footer__access .contents__wrap {
  padding: 15vw 0 0;
}
.footer__access_datalist img {
 height: calc((38 / 375) * 100vw);
}
.footer__access_item {
  padding: 0 0 10vw;
}
.footer_wrap {
width: 90%;
}
		
	
	
/* front page */	
.contents__wrap {
width: 90%;
padding: 20vw 0;
}	
	
	
.circle_btn {
width: clamp(200px, calc(240 / 375 * 100vw), 300px);
font-size: clamp(12px, calc(13 / 375 * 100vw), 16px);
padding: 3.5vw 0;
max-width: 500px;
}	
	
.line_btn {
padding: 4vw 0;
}
.btn__arrow {
width: 10%;
right: 0;
}
	
.btn__arrow img {
  max-width: 15px;
}	
	
	
.page_contents__wrap {
  width: 70%;
}	
	
.circle_btn._w2 {
  width: 90%;
}

	
	
	
	
	
	
	
	
	
}