@charset "utf-8";

:root {
    --txt: #003d77;
    /*--c-pink: #e7336e;*/
    --c-pink: #e95389;
    --pink: #ea6180;
    --l-pink: #f399b6;
    --purple: #924898;
    --blue: #0062ac;
    --black: #000;
}

@font-face {
	font-family: "Zen Maru Gothic";
	src: url(../font/ZenMaruGothic-Medium.woff2) format('woff2');
	font-style: normal;
	font-weight: 500;
	font-display:swap;
}
@font-face {
	font-family: "Zen Maru Gothic";
	src: url(../font/ZenMaruGothic-Bold.woff2) format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display:swap;
}
@font-face {
	font-family: "Zen Maru Gothic";
	src: url(../font/ZenMaruGothic-Black.woff2) format('woff2');
	font-style: normal;
	font-weight: 900;
	font-display:swap;
}

.bg{
    background-image: url("https://www.keikyu.co.jp/cp/kawazu2026/img/bg_sp.jpg");
    background-position: top center;
    background-size: contain;
}
@media screen and (min-width: 768px){
    .bg{
        background-image: url("https://www.keikyu.co.jp/cp/kawazu2026/img/bg.jpg");
        background-position: top center;
        background-attachment: fixed;
        background-size: cover;
        background-repeat: repeat-y;
    }
}

a:link{
    color:var(--txt);
}

.contents{
    font-family: "Zen Maru Gothic", sans-serif;
    color:var(--txt);
}

.kp-content{
    padding: 1rem 2rem;
}
.w-1200{
    max-width: 1200px;
    margin: auto;
    
}
.w-1010{
    max-width: 1010px;
    margin: auto;
}
.w-500{
    max-width: 340px;
    margin:auto;
}
.w-700{
    max-width: 600px;
    margin:auto;
}
/***間隔調整***/
.m-t-1{
    margin-top: 1rem;
}
.m-t-2{
    margin-top: 2rem;
}
.m-b-1{
    margin-bottom: 1rem;
}
.m-t-0 {
    margin-top: 0;
}
.m-tb-1{
    margin-top:1rem;
    margin-bottom:1rem;
}
.m-tb-3{
    margin-top:3rem;
    margin-bottom:3rem;
}
.m-w-1{
    margin-left:1rem;
    margin-right:1rem;
}
.m-w-2{
    margin-left:2rem;
    margin-right:2rem;
}
.m-r-1{
    margin-right:.5em;
    align-self: center;
}
.column-layout{
    margin-top:1rem;
}
.topic-box{
    margin-top:1.5rem;
    margin-bottom:1.5rem;
}
.topic-box-title{
    text-align: center;
}

.topic-box-title.kikaku-logo{
    position: relative;
}
.topic-box-title.kikaku-logo::before{
    position: absolute;
    content: '';
    top: 54px;
    left: 0;
    width: 102px;
    height: 98px;
    background: url(/en/cp/kawazu2026/img/kawazu2026-image28.png) no-repeat;
    background-size: contain;
    background-position: center;
}
.topic-box-title.kikaku-logo h3{
    padding: 0 0 0 5em;
    text-align: left;
}
@media screen and (min-width: 768px){
    .topic-box-title.kikaku-logo{

    }
    .topic-box-title.kikaku-logo::before{
        top: 0;
        width: 152px;
        height: 148px;
    }
    .topic-box-title.kikaku-logo h3{
        padding: 0;
        text-align: center;
    }
    
}

.topic-box-title h2, .topic-box-title h3{
    color: var(--c-pink);
    display: inline-block;
    font-size: 1.5em;
    font-weight: 900;
    margin-bottom: .4em;
    padding: 0;
    line-height: 1.35;
}
@media screen and (min-width: 768px){
    .topic-box-title h2, .topic-box-title h3{
        font-size: 2.2em;
    }
}
@media screen and (min-width: 1024px){
    .topic-box-title h2, .topic-box-title h3{
        font-size: 2.5em;
    }
}

.topic-box-title h3{
    font-size: 1.6em;
}
@media screen and (min-width: 768px){
    .topic-box-title h3{
        font-size: 1.9em;
    }
}
.topic-box-title h2.sakura-title{
    padding: 0 2.8em;
    position: relative;
}
@media screen and (min-width: 768px){
    .topic-box-title h2.sakura-title{
        padding: 0 2em;
    }
}
.topic-box-title h2.sakura-title::before, 
.topic-box-title h2.sakura-title::after{
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    margin: auto;
    width: 50px;
    height: 48px;
    background: url(/en/cp/kawazu2026/img/sakura-icon-menu.png) no-repeat;
    background-size: contain;   
}
@media screen and (min-width: 768px){
    .topic-box-title h2.sakura-title::before, 
    .topic-box-title h2.sakura-title::after{
        width: 60px;
        height: 58px;
    }
}
.topic-box-title h2.sakura-title::before{
    left: 0;
}
.topic-box-title h2.sakura-title::after{
    right: 0;
}
#cp6 .topic-box-title h2{
    margin-bottom: 0;
    padding: .5em 3em;
    border-bottom: 3px solid var(--c-pink);
}
@media screen and (min-width: 768px){
    #cp6 .topic-box-title h2{
        padding: .5em 2em;
    }
}
#cp5 .topic-box-title h2.sakura-title{
    padding: 0;
}
#cp5 .topic-box-title h2.sakura-title::before, 
#cp5 .topic-box-title h2.sakura-title::after{
    content: none;
}
@media screen and (min-width: 768px){
    #cp5 .topic-box-title h2.sakura-title{
        padding: 0 2.4em;
    }
    #cp5 .topic-box-title h2.sakura-title::before, 
    #cp5 .topic-box-title h2.sakura-title::after{
        content: '';
    }
}
#cp5 .topic-box-title h2{
    max-width: 720px;
    margin: auto;
}
#cp5 .topic-box-title h2::before, 
#cp5 .topic-box-title h2::after{
    bottom: auto;
}

#cp4 .title-sub{
    line-height: 1.35;
    padding-bottom: 1.5em;

    display: flex;
    align-items: center;
    gap: 1em;
}
#cp4 .title-sub img{
    width: 110px;
}
@media screen and (min-width: 768px){
    #cp4 .title-sub{
        padding-bottom: .5em;
    }
}

#cp8 .topic-box-title h2{
    padding: 0 0 0 4.5em;
    text-align: left;
    line-height: 1.5;
    position: relative;
}
#cp8 .topic-box-title h2::before{
    position: absolute;
    content: '';
    top: 24px;
    left: 0;
    width: 80px;
    height: 80px;
    background: url(/en/cp/kawazu2026/img/plan-title_3939_sub.png) no-repeat;
    background-size: contain;
    background-position: center;
}
#cp8 .topic-box-title h2 span{
    font-size:1.4rem;
    padding-left: 6.7em;
    line-height: 4;
    position: relative;
}
#cp8 .topic-box-title h2 span::before{
    position: absolute;
    content: '';
    background: url(/en/cp/kawazu2026/img/keikyu_premiere_point_logo.png) no-repeat;
    background-size: contain;
    width: 94px;
    height: 40px;
    top:0;
    bottom: 0;
    left:0;
    margin: auto;
}
@media screen and (min-width: 768px){
    #cp8 .topic-box-title h2{
        white-space:nowrap;
        padding: 0 1em 0 2.6em;
        text-align: center;
    }
    #cp8 .topic-box-title h2::before{
        width: 90px;
        height: 90px;
    }
    #cp8 .topic-box-title h2 span{
        font-size:3rem;
        padding-left: 4.3em;
        line-height: 1;
    }
    #cp8 .topic-box-title h2 span::before{
        top: 0;
        left: 0;
        width: 120px;
        height: 48px;
    }
    .topic-box-title h2{
        line-height: 1.65;
    }
}

.title-sub2 img{
    width: 110px;
    vertical-align: middle;
    margin: -10px 0 0;
}
.topic-box-title rt{
    font-size: 1.2rem;
    letter-spacing: 1em;
}
@media screen and (min-width: 768px){
    .topic-box-title rt{
        font-size: 1.4rem;
    }
}

#cp1,#cp2,#cp3,#cp5,#cp7,#cp8,#cp9,.leaflet-link{
    margin-top:4rem;
    padding-top:2em;
}
#cp2{
    margin-bottom:4rem;
}
#cp3{
    margin-top:0;
    padding-top:5rem;
}
#cp4{
    margin-top:0;
    padding-top:0;
}
#cp6{
    margin-top:4rem;
    padding-top:.5em;
}
.a-i-center{
    align-items: center;
}

.ttl_sub01{
    max-width: 280px;
    margin: 0 auto .5em auto;
}
.ttl_sub02{
    max-width: 200px;
    margin: 2em auto 1em auto;
}
.ttl_sub03{
    max-width: 380px;
    margin: 2em auto 1em auto;
}

.img_w50{
    max-width: 50%;
}

/****メニュー****/
.banner-area{
    max-width: 1200px;
    margin:auto;
}
ul.cpmenu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin:0 auto 2rem auto;
    width: 100%;
    padding:1em auto;
}
ul.cpmenu::after{
  content:"";
  display: block;
  width:49%;
  margin:0.5%;
}
ul.cpmenu li{
    margin:0.5%;
    align-items: flex-start;
    vertical-align: middle;
    width: 49%;
}
li a.menu-item {
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.25;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-flow: row;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    vertical-align: middle;
    text-decoration: none;
    overflow: hidden;
    padding-right: 25px;
    width: 100%;
    height: 90px;
    color: var(--c-pink);
    text-align: left;    
    background: #fff;
    border-radius: 100vmax;
    border:3px solid var(--c-pink);
    padding: 0 12px;
}
li a.menu-item .p-small{
    font-size: 80%;
    line-height: 1.25;
}
li a.menu-item img{
    margin:10px;
    width: 56px;
}
li a.menu-item:hover{
    background: #f9cedc;
}
li a.menu-item::before, 
li a.menu-item::after {
    content: '';
  position: absolute;
    top: calc(50% - 1px);
    right: 25px;
    width: 22px;
    height: 3px;
    border-radius: 9999px;
    background-color: var(--c-pink);
    transform-origin: calc(100% - 1px) 50%;
}
li a.menu-item::before {
  transform: rotate(45deg);
}
li a.menu-item::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 834px){
ul.cpmenu::after{
    width:48%;
    margin:0.5%;
}
ul.cpmenu li{
    margin:0.5%;
    width:48%; 
}
li a.menu-item {
    font-size: 1em;
    height: 60px;
}
li a.menu-item img.menu-arrow{
    width: 20px;
} 
li a.menu-item img{
    width: 38px;
}
}
@media screen and (max-width: 550px){
ul.cpmenu::after{
    width:100%;
    margin-bottom:0.5%;
}
ul.cpmenu li{
    margin-bottom:0.5%;
    width:100%;
}
li a.menu-item {
    font-size: 1em;
    height: 70px;
    }
}

.keikyulivecamera-camera video{
    position: relative !important;
}

/***日付や販売場所等詳細***/
dl.kawazu-info{
    padding:.5em 0 0;
}
dl.kawazu-info dt{
    margin-bottom:.25em;
    padding:0 10px;
    background: var(--c-pink);
    color: #fff;
    border-radius: 100vh;
    width: 150px;
    font-size: .9em;
    font-weight: bold;
    text-align: center;
    line-height: 1.7
}
#cp5 dl.kawazu-info dt{
    width: 130px;
}
dl.kawazu-info dt.p-small-2{
    font-size:.8em
}
dl.kawazu-info dd{
    margin-bottom:.5em;
    font-weight: bold;
}
dl.kawazu-info dt.t-wide{
    clear:both;
}
dl.w-500 dt{
    clear:left;
    float:left; 
}
dl.w-500 dd{
    margin-left:140px;
}
dl.t-wide dt{
    clear:both;
    float: none;
    width: 280px;
}
dl.kawazu-info dl.info-small dt{
    padding:0;
    color: var(--c-pink);
    background: none;
    border-radius:none;
    width: 100%;
    font-weight: bold;
    text-align: left;
    font-size: 1em;
}
dl.info-small dd{
    padding-left:1em;
}
p.ruby-p rt{
    line-height: .5
}
@media screen and (min-width: 768px){
    dl.kawazu-info dt{
        clear:left;
        float:left;
    }
    dl.kawazu-info dd{
        margin-left:160px;
    }
    #cp5 dl.kawazu-info dd{
        margin-left:140px;
    }
    dl.t-wide dt{
        clear:both;
        float: none;
        width: 180px;
    }
    dl.kawazu-info dt.t-wide{
        clear:both;
        float: none;
        width: 180px;
    }
    dl.t-wide dd{
        margin-left:0;
    }
    dl.kawazu-info dt.t-wide dd{
        margin-left:0;
    }
}
@media screen and (max-width: 500px){
    dl.w-500 dt{
        clear:both;
        float: none;
        width: 100px;
        margin:.5em auto;
    }
    dl.w-500 dd{
        margin-left:0;
    }
    .w-500{
        max-width: auto;
        text-align: center;
    }
}
/****手順****/
ol.number-list {
  counter-reset:number;
  list-style-type: none!important;
}
ol.number-list li {
  position: relative;
  line-height: 1.6em;
  padding: 0 0 .75em 30px;
}

ol.number-list li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  background: var(--c-pink);
  color: #fff;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 22px;
  text-align: center;
  top: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.eng-list{
    list-style-type: none;
}
.eng-list li{
    padding: 0 0 .2em 30px;
    line-height: 1.6em;
    counter-increment: cnt;
    position: relative;
}
.eng-list li::before{
    position: absolute;
    content: counter(cnt, upper-alpha);
    top: 0;
    left: 7px;
    color: #fff;
    z-index: 1;
}
.eng-list li::after{
    position: absolute;
    content: '';
    background: var(--purple);
    border-radius: 50%;
    top: 1px;
    left: 0;
    width: 24px;
    height: 24px;
}

.num-list{
    list-style-type: none;
    counter-reset: cnt;
}
.num-list li{
    padding: 0 0 .2em 28px;
    line-height: 1.6em;
    counter-increment: cnt;
    position: relative;
}
.num-list li::before{
    position: absolute;
    content: counter(cnt, decimal);
    top: 0;
    left: 7px;
    color: #fff;
    z-index: 1;
}
.num-list li::after{
    position: absolute;
    content: '';
    background: var(--blue);
    border-radius: 50%;
    top: 3px;
    left: 0;
    width: 21px;
    height: 21px;
}

.number{
    color: #fff;
    background: var(--c-pink);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-block;
    line-height: 1.6;
    text-align: center;
    font-size: 15px;
    margin: 0 6px 2px 0;
    padding: 0;
    vertical-align: text-bottom;
}

/****箱****/
.box-inner{
    margin:1.5rem;
}
@media screen and (min-width: 768px){
    .box-inner-inner{
        min-height:450px;
    }
}

.green-box{
    background-color: #fff;
    border: #00a384 solid 2px;
    line-height: 1.25;
}
.green-header{
    background: #00a384;
    padding:8px;
}
.navy-box{
    background-color: #fff;
    border: #00003e solid 2px;
    margin: 1rem auto;
}
.navy-header{
    background: #00003e;
    padding:4px;
}
.white-box{
    border:2px solid #000;
    padding:0.5em;
    margin-top:1rem;
    background: #fff;
    color: var(--black);
}
.blue-box{
    background-color: #fff;
    border: #006fbc solid 2px;
    padding: 1em;
}
.cream-box{
    background: #fff697;
    padding: 10px 20px;
    margin-top:1rem;
    margin-bottom:1rem;
}
.sky-header{
    background: #efea45;
    padding:8px;
    color: #fff;
    font-weight: bold;
}
.sky-box{
    background: #fff;
    margin-top:1rem;
    margin-bottom:1rem;
    border:2px solid #efea45;
}
.red-box{
    background-color: #fff;
    border: #e60012 solid 2px;
    margin: 1rem auto;
    max-width: 750px;
}
.red-header{
    background: #e60012;
    padding:8px;
    color: #fff;
    font-weight: bold;
}
.yellow-box{
    background: #fffbc7;
    padding:1rem 2rem;
    border-radius: 20px;
}
.yellow-box-2{
    background: #fff794;
    padding:1rem 2rem;
    border-radius: 20px;
}
.pink-box{
    background: var(--c-pink);
    border-radius: 10px;
    padding:1rem;
}
.blue-line-box{
    border:2px solid var(--blue);
    border-radius: 10px;
    padding:1rem;
}
.pink-line-box{
    border:1px solid var(--c-pink);
    border-radius: 10px;
    padding:1rem;
}

.bg-round-pink{
    background: var(--c-pink);
    color: #fff;
    border-radius: 100vmax;
    text-align: center;
    padding: 0 20px;
    display: inline-block;
    font-size: .9em;
}

ul.precautions{
    list-style: disc;
    padding-left: 20px;
}
ul.precautions li{
    margin-top:.5em;
}
/****揃え****/
.a-left{
    justify-content: start;
    text-align: left;
}
.a-center{
    text-align: center;
    margin:auto
}
.a-right{
    text-align: right;
}


/****文字****/
.note{
    /*font-size: .9em;*/
    font-size: .8em;
    font-weight: normal;
    margin-top: .5em;
}
.p-small{
    font-size: 14px;
}
.p-medium{
    font-size: 1.6rem;
}
.p-big{
    font-size: 1.35em;
    font-weight: 900;
}
.p-bold{
    font-weight: bold;
}
.p-normal{
    font-weight: normal;
}
.c-pink{
    color: var(--c-pink);
}
.c-pink a{
    color: var(--blue);
    text-decoration: underline;
    font-weight: bold;
}
.c-red{
    color: #d01120;    
}
.c-white{
    color: #fff;
}
.c-green{
    color: #00a384;
}
.p-back-green{
    background: #1b924f;
    display: inline-block;
    padding:5px 16px;
    border-radius: 100vh;
}
.va-bottom{
    vertical-align: middle;
}
.p-date{
    font-size: 1.25em;
}
.small-title{
    font-size: 1.35em;
    text-align: center;
    border-top: 2px dotted var(--blue);
    padding:.5em 0;
    line-height: 1.5;
    font-weight: 900;
    margin-top:2rem;
    margin-bottom:0.5rem;
}
.h-90{
    min-height: 90px;
    display: table;
    width: 100%;
}
.h-120{
    min-height: 120px;
    display: table;
    width: 100%;
}
.w100{
    width: 100%;   
}
.line-dot{
    position: relative;
}
.line-dot::after{
    position: absolute;
    background-image: linear-gradient(to right, var(--c-pink), var(--c-pink) 2px, transparent 2px, transparent 8px);
    background-size: 4px 2px;
    background-repeat: repeat-x;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    height: 2px;
    width: 56%;
    content: "";
}
.fukidashi_line{
    padding: 0 12px;
    position: relative;
}
.fukidashi_line::before, 
.fukidashi_line::after{
    position: absolute;
    content: "";
    width: 24px;
    height: 2px;
    box-sizing: border-box;
    background-color: #333;
    top:15px;
}
.fukidashi_line::before{
    transform: rotate(60deg);
    left:-20px;
}
.fukidashi_line::after{
    transform: rotate(-60deg);
    right:-20px;
}
.ai-stretch{
    -webkit-box-align: stretch;
	-ms-flex-align: stretch;
    align-items: stretch!important;
}
.va-middle{
    vertical-align: middle;
    display: table-cell;
}
.small-title-2{
    display: flex;
    justify-content: flex-start;
    font-weight: bold;
    margin-top:2rem;
    align-content: center;
    line-height: 1.5;
}
.small-title-3{
    background:var(--c-pink);
    color:#fff;
    border-radius: 7px;
    padding: 7px;
    font-size: 1.25em;
    text-align: center;
}
@media print, screen and (max-width: 768px){
    .small-title-3{
        font-size: 1.1em;
        text-align: left;
    } 
}
.ticket-type{
    padding:.5em 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.itoencp-topic{
    background: #fff000;
    display: inline;
    padding:5px 20px;
    margin: 1rem auto;
    color: #e50012;
    font-weight: bold;
    border-radius: 100vh;
}
.bb-pink{
    padding-bottom: 3.5rem;
    margin-bottom:3rem;
    position: relative;
}
.bb-pink::after{
    position: absolute;
    content: '';
    background:url(/en/cp/kawazu2026/img/bg2.jpg);
    width: 100%;
    height: 7px;
    bottom: 0;
    left: 0;
    border-radius: 15px 660px/40px 10px;
}
.bb-pink-2{
    border-bottom:1px solid var(--c-pink);
}
.bb-pink-dot{
    border-bottom: 2px dotted var(--c-pink);
    padding-bottom: 1.5rem;
    margin-bottom:1.5rem;
}
.bb-blue-dot{
    border-bottom: 2px dotted var(--blue);
    padding-bottom: 1.5rem;
    margin-bottom:1.5rem;
}
.small-flex{
    display: flex;
    align-items:center;
}
.covid-text{
    margin:1em 2em;
}
.covid-text li::before{
    content:  "";
    width:  10px;
    height:  10px; 
    display:  inline-block;
    background-color: #e60012;
    border-radius:  50%;
    position:  relative;
    top: -1px;
    margin-right: 5px;  
}
.cp-date{
    margin:1em auto;
    font-size:1.5em;
    font-weight: 700;
}
@media print, screen and (max-width: 768px){
    .h-90{
    min-height: auto;
}
.h-120{
    min-height: auto;
}
.va-middle{
    vertical-align: middle;
    display: table-cell;
}
}
/****背景色***/
.bg-white{
    background: rgba(255,255,255,.75);
    padding: 2rem 2.5rem;
    border-radius: 10px;
}

/****きっぷ****/
.bus-topic{
    background: #d01120;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
    padding: 3px 10px;
}
/***ボタン****/
.kawazu-btn{
    margin: 1rem auto;
    position: relative;
    display: inline-block;
}
a.kawazu-btn{
    padding: 8px 46px 8px 30px;
    border-radius: 100vh;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    font-size: 1.1em;

    color:#fff;
    background: var(--c-pink);
    text-decoration: none;
    display: inline-block;
}
a.kawazu-btn.blue-btn{
    background: var(--blue);
}
.kawazu-btn:before, 
.kawazu-btn:after {
    position: absolute;
    content: '';
    top: calc(50% - 1px);
    right: 20px;
    width: 12px;
    height: 3px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
}
.kawazu-btn:before {
    transform: rotate(45deg);
}
.kawazu-btn:after {
    transform: rotate(-45deg);
}
.btn-r,
a.btn-r{
    background: #c7161d;
    color: #fff;
}
.btn-p,
a.btn-p{
    background:#00003e;
    color: #fff;
}
.btn-n,
a.btn-n{
    background: #003e64;
    color: #fff;
}
.btn-g,
a.btn-g{
    background: #00a384;
    color: #fff;
}
.btn-ppl,
a.btn-ppl{
    background: var(--purple);
    color: #fff;
}
.btn-blue,
a.btn-blue{
    background: #0062ac;
    color: #fff;
}
.kawazu-btn:hover,
a.kawazu-btn:hover,
.btn-img:hover,
a.btn-img:hover{
    opacity: .7;
}

@media print, screen and (min-width: 768px){
    .column-media {
        margin-top: .5em;
    }
}
@media print, screen and (min-width: 768px){
    .column-media > .column_image[data-image="right"]{
        float: none;
    }
}
@media print, screen and (min-width: 1024px){
    .column-media > .column_image[data-image="right"]{
        float: right;
    }
}

.box-2clm{
    display: flex;
    gap: 1rem;
}
.box-2clm .box-2clm-item{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .2em;
}

/***楽宴ツアーについて***/
/*ベース*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 1em;
	display: block;
	color: #fff;
	background:#019ac6;
}
.labelcolor-red{
    background:#e7372f;
}
.labelcolor-yellow{
    background:#b5ac44;
}
.labelcolor-green{
    background:#7fbe26;
}
.labelcolor-brown{
    background:#663c00;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 16px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:16px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
/**ツアー詳細**/
table.kawazu-info-simple{
    margin-top:1rem;
    margin-bottom:1rem;
}
.kawazu-info-simple th{
    font-weight: bold;
    background-color: #fbe5ec;
    line-height: 1.4
}
.kawazu-info-simple th,
.kawazu-info-simple td{
    text-align: left;
    vertical-align:middle;
    border:1px solid #898989;
    padding:8px;
    font-size: 1em;
}

/**ツアースケジュール**/
table.tour-schedule,
table.mobility-schedule{
    margin:0 0 1rem;
}

.tour-schedule td,
.mobility-schedule td{
    padding-left: 8px;
}
.tour-schedule th,
.tour-schedule td,
.mobility-schedule th,
.mobility-schedule td{
    padding-bottom:.5rem;
    text-align: left;
}
.mobility-schedule td{
    text-align: right
}
table.mobility-schedule{
    margin-top:.5em
}
table.mobility-schedule td,
table.mobility-schedule th{
    border-bottom:1px solid #333;
    border-top:1px solid #333;
    padding-left:5px;
    padding-right:5px;
    
}
.tour-schedule th{
    min-width: 80px;
}



/****フレックス****/
.kawazu-flex{
    display: flex;
    flex-wrap: wrap;
}
.kawazu-flex_item{
    margin:auto;
    max-width: 480px;
}
.kawazu-flex-2{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content:space-between;
}
.kawazu-flex_item-2{

    max-width: 65%;
}
.kawazu-flex_item-1{

    max-width: 30%;
}
.degital-ticket-link{
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top:1rem;
}
.degital-ticket-link img{
    margin-right:1rem;
    margin-left: 1rem;
}

@media screen and (max-width: 500px){
    .tour-schedule,
    .tour-schedule th,
    .tour-schedule td,
    .kawazu-info-simple,
    .kawazu-info-simple th,
    .kawazu-info-simple td{
        border-collapse: collapse;
        text-align: left;
    }
    .tour-schedule th,
    .kawazu-info-simple th{
        display: block;
        width: 100%;
    }
    .tour-schedule th{
        padding-bottom:0;
    }
    .tour-schedule td,
    .kawazu-info-simple td{
        display: block;
        width: 100%;
    }
    .kawazu-info-simple th br{
        display: none;
    }
    
}

/* 2025追加 */
.kippu_ttl{
    padding: 0 8rem;
}
.kippu_ttl img{
    -webkit-filter: drop-shadow(2px 0 0 #FFF) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff);
    filter: drop-shadow(2px 0 0 #FFF) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff);
}
@media print, screen and (min-width: 768px){
    .kippu_ttl{
        padding: 0 5rem;
    }
}

.course{
    border:2px solid var(--c-pink);
    border-radius: 10px;
    margin:3rem 0;
    padding: 2rem;
    text-align: center;
    background: #fff;
}
.course .course-inner{
    margin-bottom: 1em;
}
.course .kawazu-btn{
    clear: both;
}
.course a.kawazu-btn{
    background: var(--c-pink);
}
.course .image-set.course_ttl{
    margin-top: 1em;
    padding-bottom: 0;
}
.course .image-set img{
    width: 100%;
    height: auto;
}

@media print, screen and (min-width: 768px){
    .course{
        padding: 1rem 1rem 1rem 1rem;
    }
    .course .course-inner{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 0;
    }
    
    .course .image-set.course_ttl{
        margin-top: 0;
        padding:1em 0 0 1em;
    }
    .course .image-set:nth-child(2){
        width: 46%; 
        padding: 0 1em 0 0;
    }
    .course .image-set:last-child{
        width: 40%; 
    }
}

a.kawazu-btn.leaflet_btn{
    font-size: 1.1em;
    background: var(--c-pink);
    margin:0 auto 2rem auto;
}
.kawazu-btn.leaflet_btn:before, 
.kawazu-btn.leaflet_btn:after {
    width: 20px;
}

@media print, screen and (min-width: 768px){
    a.kawazu-btn.leaflet_btn{
        font-size: 2em;
    }
}

@media print, screen and (min-width: 768px){
    .img_large{
        width: 550px;
    }
}

@media print, screen and (min-width: 768px){
    .kippu_all{
        position: relative;
    }
    .kippu_all .kippu-in{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: 80%;
    }
}

.column-layout.align-center{
    align-items: center;
}
.leaflet-link .column-layout{
    margin-bottom: 2rem;
}

.kakomi{
    border:1px solid var(--c-pink);
    color: var(--c-pink);
    padding: 0 10px 0 12px;
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 2;
}
@media print, screen and (min-width: 768px){
    .kakomi{
        font-size: 14px;
    }
}


.img_r{
    float:right;
    width: 100px;
    margin: -10px -30px 0 20px;
}
.img_r img{
    width: 100%;
    height: auto;
}
@media print, screen and (min-width: 768px){
    .img_r{
        width: 120px;
        margin:-70px 0 0 0;
    }
}

@media print, screen and (min-width: 768px){
    .sp-on{
        display: none;
    }
}
.pc-on{
    display: none;
}
@media print, screen and (min-width: 768px){
    .pc-on{
        display: block;
    }
}

.type1000_contact{
    margin-left: 1rem;
    margin-right: 1rem;
}
.type1000_contact .contact-box{
    margin: 0 auto;
    background: rgba(255,255,255,.75);
    color: #333;
    font-family: 'Noto Sans JP', serif;
    width: 100%;
}
@media print, screen and (min-width: 1024px){
    .type1000_contact .contact-box{
        width: 990px;
    }
}