/******************
TOP
******************/


header{
background:#D02166;
text-align:center;
padding:20px 0;
}
header p.logo{
margin:0 0 5px 0;
padding:0;
}
header p.logo img{
max-width:110px;
}
header p.sub{
margin:0;
padding:0;
font-size:14px;
font-weight:bold;
color:#fff;
}


footer{
background:#D02166;
text-align:center;
padding:45px 0;
font-size:12px;
color:#fff;
}



#main_img{
background:url(../img/page/main_img.jpg) no-repeat center center;
background-size:cover;
    border-bottom: 20px solid #D02166;
}
#main_img .catch h1{
font-weight:bold;
text-align:center;
display:inline-block;
padding:90px 0 0 0;
position:relative;
margin: 0px 0 110px;
}
#main_img .catch h1 span.h1-1{
font-size:24px;
display:block;
    top: -30px;
    margin-bottom: -30px;
}
#main_img .catch h1 span.h1-2{
font-size:30px;
display:block;
}

#main_img .catch h1 span{
 position: relative;
  z-index: 2;
}

#main_img .catch h1:before {
  content: attr(data-en);
    position: relative;
    top: 0;
  left: 0%;
  transform: translateX(-50%);
  color: rgba(209 34 103 / .2);
  font-size: 50px;
  font-style: italic;
  font-family: 'Montserrat', sans-serif;
  z-index: 1;
}



#main_img .tabmenu{
text-align:center;
display: flex;
    flex-flow: wrap;
justify-content: center;
}
#main_img .tabmenu ul{
    display: flex;
    flex-flow: wrap;
}
#main_img .tabmenu ul li{
margin-right:10px;
}
#main_img .tabmenu ul li:last-child{
margin-right:0px;
}
#main_img .tabmenu ul li a{
    background: #fff;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    border-top: 3px solid #D02166;
    border-left: 3px solid #D02166;
    border-right: 3px solid #D02166;
    padding: 10px ;
    text-align: center;
    min-width: 160px;
display:block;
}

#main_img .tabmenu ul li:hover a{
background:#efefef;
color:#D02166;
font-weight:bold;
}
#main_img .tabmenu ul li.active a{
    background: #D02166;
color:#FFF700;
    pointer-events: none;
}
#main_img .tabmenu ul li.active:hover a{
    opacity:1;
}



#anchor_list_wrap{
padding:45px 0 80px;
}
#anchor_list_wrap .list_wrap{
position:relative;
    text-align: center;
}
#anchor_list_wrap .list_wrap h2{
    position: absolute;
    background: #fff;
    color: #D02166;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    z-index: 2;
    display: inline-block;
    top: 0;
    left: calc(50% - 40px);
    padding: 0 20px;
}
#anchor_list_wrap .list_wrap .box{
border: 1px solid #D02166;
    border-radius: 10px;
    padding: 30px 60px 20px 60px;
    position: relative;
    z-index: 1;
    top: 15px;
    min-width: 460px;
    display: inline-block;
}
#anchor_list_wrap .list_wrap .box ul{
    display: inline-block;
    text-align: left;
}



.shop_wrap{
}

.shop_wrap .title_bg{
background:#D02166;
text-align:center;
padding:20px 0;
color:#fff;
}
.shop_wrap .title_bg h2{
font-family: 'Glegoo', serif;
font-size:20px;
    font-style: italic;
}


.shop_wrap .contents_box{
margin:40px 0 80px 0;
}

.shop_wrap .contents_box h3{
font-weight:bold;
    display: flex;
    flex-flow: wrap;
    align-items: center;
margin-bottom:10px;
}
.shop_wrap .contents_box h3 span{
display:inline-block;
}

.shop_wrap .contents_box h3 span.cos{
font-size:14px;
margin-right:10px;
}

.shop_wrap .contents_box h3 span.name{
font-size:40px;
margin-right:20px;
}

.shop_wrap .contents_box h3 span.batch{

}
.shop_wrap .contents_box h3 span.batch img{
height:25px;
margin-right:5px;
}


.shop_wrap .contents_box .map_wrap{
position:relative;
margin-bottom:30px;
}
.shop_wrap .contents_box .map_wrap .btn{
position:absolute;
z-index:2;
right:0;
top:0;
}
.shop_wrap .contents_box .map_wrap .btn a{
background:#D02166;
color:#fff;
padding:20px;
display:block;
min-width:280px;
border-bottom-left-radius:15px;
text-align:center;
font-size:20px;
}
.shop_wrap .contents_box .map_wrap .btn a span.icon:after {
    font-family: "Font Awesome 5 Free";
    content: "\f2d2";
margin-left:5px;
}
.shop_wrap .contents_box .map_wrap .map{
position:relative;
z-index:1;
}

.shop_wrap .contents_box .map_wrap .map iframe{
width:100%;
height:350px;
}

.shop_wrap .contents_box .info_wrap{
}
.shop_wrap .contents_box .info_wrap .dl_wrap.dl_side dl{
    flex-flow: column;
    justify-content: start;
margin-bottom:20px;
}
.shop_wrap .contents_box .info_wrap .dl_wrap.dl_side.dt_bg dl dt{
font-weight:normal;
text-align:center;
padding:5px 0;
margin-bottom:10px;
}
.shop_wrap .contents_box .info_wrap .dl_wrap.dl_side.dt_bg dl dd{
font-weight:bold;
padding:5px 0;
}

.shop_wrap .contents_box .info_wrap .imp{
border:1px solid #ccc;
border-radius:5px;
padding:20px;
}



html {
    scroll-behavior: smooth;
}

html {
    scroll-padding-top: 0px;
}












/**********************************************************************/

/* for TB & SP CSS   */

/**********************************************************************/








/******************/
/* TB    */
/******************/

@media only screen and (min-width: 600px) and (max-width: 1019px) {






}









/******************
SP
******************/
@media only screen and (max-width: 599px) {

header {
    padding: 10px 0;
}
header p.logo img {
    max-width: 90px;
}


#main_img {
    background: url(../img/page/main_img_sp.jpg) no-repeat center top;
    background-size: contain;
}
#main_img .catch h1:before {
    font-size: 42px;
}
#main_img .catch h1 {
    width: 100%;
    margin: 0px 0 30px;
padding: 140px 0 0 0;
}

#main_img .tabmenu ul li {
    margin-right: 5px;
}
#main_img .tabmenu ul li a {
    padding: 10px;
    min-width: 80px;
}

#anchor_list_wrap {
    padding: 20px 0 50px;
}

#anchor_list_wrap .list_wrap .box {
    border: 1px solid #D02166;
    border-radius: 10px;
    padding: 20px 20px 20px;
    position: relative;
    z-index: 1;
    top: 15px;
    min-width: auto;
    display: block;
}



.shop_wrap .title_bg h2 {
    font-size: 18px;
}

.shop_wrap .contents_box h3 {
    flex-flow: column;
    align-items: start;
margin-bottom:20px;
}

.shop_wrap .contents_box h3 span.cos br{
display:none;
}
.shop_wrap .contents_box h3 span.name {
    font-size: 30px;
margin-bottom:5px;
}
.shop_wrap .contents_box .map_wrap .btn {
    position: static;
}

.shop_wrap .contents_box .map_wrap .map iframe {
    width: 100%;
    height: 200px;
}
.shop_wrap .contents_box .map_wrap .btn a {
    padding: 15px;
    display: block;
    min-width:100%;
    border-bottom-left-radius: 0;
}

.shop_wrap .contents_box .info_wrap .dl_wrap.dl_side.dt_bg dl dt {
    max-width: 35%;
}

.shop_wrap .contents_box .info_wrap .dl_wrap.dl_side.dt_bg.mar30px{
margin-bottom:0 !important;
}








}