@charset "UTF-8";


/* ========================================
         base
======================================== */

.spring main img {
	margin-right: auto;
	margin-left: auto;
	max-width: 100%;
}

.space{
    padding-top: 2rem;
}
.map-space{
    margin-top:1.25em;
}

/* ========================================
         import
======================================== */

main .ico-blank-after:after {
	right: 0;
	content: "\e90d";
	margin-right: .25em;
	margin-left: .35em;
	font-family: icomoon;
	font-size: 1em;
	font-weight: 400;
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-transform: none;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}



/* ========================================
         structure
======================================== */

main {
	position: relative;
    background: linear-gradient(120deg, #cbf3f7 40% 0%, #ffdee9 100%);
}
main > section.base > .section-content {
	margin: 0 auto;
	max-width: 100%;
	padding: 35px 20px;
	width: 1000px;
}

@media screen and (max-width:640px) {
main > section.base > .section-content {
	padding-right: 10px;
	padding-left: 10px;
}
}


body.nav-active {
	height: 100%;
	position: fixed;
	width: 100%;
}


/* ===== grid ===== */
main section {
	margin-right: auto;
	margin-left: auto;
	max-width: 100%;
}


/* ===== pageTop ===== */
main #pageTop {
	position: absolute;
		right: 20px;
}

main #pageTop a {
	opacity: 0.5;
}

@media screen and (min-width:641px) {
main #pageTop {
	transform: translateY(-10px)
}

main #pageTop > a:hover {
	animation-delay: 0;
	animation-direction: normal;
	animation-duration: 0.15s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	animation-name: to_pageTop;
	animation-timing-function: ease-out;
}

@keyframes to_pageTop {
0% {
	opacity: 0.5;
}

100% {
	opacity: 1;
}
}
}

@media screen and (max-width:640px) {
main #pageTop > a img {
	width: 55px;
}
}

/* ===== icon ===== */
main .has-icon {
	position: relative;
}

main .has-icon.icon-01:before,
main .has-icon.icon-02:before,
main .has-icon.icon-kinect .label:after {
	background: center center no-repeat;
	background-size: contain;
	content: "";
}

main .has-icon.icon-01:before,
main .has-icon.icon-02:before {
	display: block;
	position: absolute;
}

main .has-icon.icon-01 { padding-left: 55px; }/*{ padding-left: 42px; }*/
main .has-icon.icon-02 { padding-left: 37px; }/*{ padding-left: 52px; }*/

main .has-icon.icon-01:before {
	background-image: url(../img/icon_text_01.png);
	/*height: 39px;
	width: 25px;
	top: 0;*/
	width:46px;
	height:52px;
	top:-7px;
	left: 0;
}

main .has-icon.icon-02:before {
	background-image: url(/spring/img/icon_text_02.png);
	/*height: 18px;
	width: 26px;
	top: 6px;*/
	width: 33px;
	height: 29px;
	top: 0px;
	left: 0;
}

main .has-icon.icon-kinect .label:after {
	background-image: url(../img/icon_text_kinect.png);
	display: inline-block;
	height: 25px;
	margin-top: -2px;
	margin-left: 20px;
	vertical-align: middle;
	width: 100px;
}

main .has-icon.icon-logo img {
	vertical-align: middle;
	margin-right: 10px;
	width: 100px;
}

@media screen and (max-width:640px) {
main .has-icon.icon-logo img {
	float: left;
	width: 60px;
}
}


/* ===== btn ===== */
main .btn_01 {
	border: #e55c5c solid 2px;
    border-radius: 2em;
	color: #e55c5c;
	display: inline-block;
    padding: 0.5em 34px 0.5em 20px;
    position: relative;
	transition: opacity 0.2s linear;
}

main .btn_01:after {
	background-image: url(../img/icon_btn.svg);
	background-size: 8px 12px;
	background-repeat: no-repeat;
	content: "";
	height: 12px;
	position: absolute;
		top: 12px;
		right: 14px;
	width: 8px;
}

main .btn_01:hover,
main .btn_01:active,
main .btn_01:focus {
	opacity: 0.7;
}

main .btn_01.ico-blank-after {
	padding-right: 44px;
}

main .btn_01.ico-blank-after:after {
	content: "\e90d";
	background: none;
		top: 10px;
		right: 20px;
}

/* ===== column ===== */
@media screen and (min-width:641px) {
main .column_01 {
	display: flex;
	flex-direction: row;
}

main .column_01 > .item + .item {
	margin-left: 36px;
}

main .column_01 > .item > img {
	margin-top: 0.3125rem; /* 5px */
}

main .column_01.cols-08 > .item.span-07 { flex-basis: calc((100% + 36px) / 8 * 7 - 36px); }
main .column_01.cols-08 > .item.span-05 { flex-basis: calc((100% + 36px) / 8 * 5 - 36px); }
main .column_01.cols-08 > .item.span-03 { flex-basis: calc((100% + 36px) / 8 * 3 - 36px); }
main .column_01.cols-08 > .item         { flex-basis: calc((100% + 36px) / 8     - 36px); }
main .column_01.cols-07 > .item.span-06 { flex-basis: calc((100% + 36px) / 7 * 6 - 36px); }
main .column_01.cols-07 > .item.span-05 { flex-basis: calc((100% + 36px) / 7 * 5 - 36px); }
main .column_01.cols-07 > .item.span-04 { flex-basis: calc((100% + 36px) / 7 * 4 - 36px); }
main .column_01.cols-07 > .item.span-03 { flex-basis: calc((100% + 36px) / 7 * 3 - 36px); }
main .column_01.cols-07 > .item.span-02 { flex-basis: calc((100% + 36px) / 7 * 2 - 36px); }
main .column_01.cols-07 > .item         { flex-basis: calc((100% + 36px) / 7     - 36px); }
main .column_01.cols-06 > .item.span-05 { flex-basis: calc((100% + 36px) / 6 * 5 - 36px); }
main .column_01.cols-06 > .item         { flex-basis: calc((100% + 36px) / 6     - 36px); }
main .column_01.cols-05 > .item.span-04 { flex-basis: calc((100% + 36px) / 5 * 4 - 36px); }
main .column_01.cols-05 > .item.span-03 { flex-basis: calc((100% + 36px) / 5 * 3 - 36px); }
main .column_01.cols-05 > .item.span-02 { flex-basis: calc((100% + 36px) / 5 * 2 - 36px); }
main .column_01.cols-05 > .item         { flex-basis: calc((100% + 36px) / 5     - 36px); }
main .column_01.cols-08 > .item.span-06,
main .column_01.cols-04 > .item.span-03 { flex-basis: calc((100% + 36px) / 4 * 3 - 36px); }
main .column_01.cols-08 > .item.span-02,
main .column_01.cols-04 > .item         { flex-basis: calc((100% + 36px) / 4     - 36px); }
main .column_01.cols-06 > .item.span-04,
main .column_01.cols-03 > .item.span-02 { flex-basis: calc((100% + 36px) / 3 * 2 - 36px); }
main .column_01.cols-06 > .item.span-02,
main .column_01.cols-03 > .item         { flex-basis: calc((100% + 36px) / 3     - 36px); }
main .column_01.cols-08 > .item.span-04,
main .column_01.cols-06 > .item.span-03,
main .column_01.cols-04 > .item.span-02,
main .column_01.cols-02 > .item         { flex-basis: calc((100% + 36px) / 2     - 36px); }
}


/* ===== info ===== */
main .info_01 {
	border-bottom: #ddd solid 1px;
	margin: 1em 0 0;
}

main .info_01 > li {
	border-top: #ddd solid 1px;
	padding: 16px 0 16px 60px;
	position: relative;
}

main .info_01 > li:before {
	background: center center no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 25px;
	position: absolute;
		top: 16px;
		left: 10px;
	width: 25px;
}

@media screen and (max-width:640px) {
main .info_01 > li.term:before     { background-image: url(/spring/img/icon_info_term.svg); }
main .info_01 > li.place:before    { background-image: url(/spring/img/icon_info_place.svg); }
main .info_01 > li.price:before    { background-image: url(/spring/img/icon_info_price.svg); }
main .info_01 > li.menu:before     { background-image: url(/spring/img/icon_info_menu.svg); }
main .info_01 > li.contents:before { background-image: url(/spring/img/icon_info_contents.svg); }
main .info_01 > li.guest:before    { background-image: url(/spring/img/icon_info_guest.svg); }
main .info_01 > li.info:before     { background-image: url(/spring/img/icon_info_info.svg); }
main .info_01 > li.time:before     { background-image: url(/spring/img/icon_time_time.svg); }
}
@media screen and (min-width:641px) {
main .info_01 > li.term:before     { background-image: url(/spring/img/icon_info_term.png); }
main .info_01 > li.place:before    { background-image: url(/spring/img/icon_info_place.png); }
main .info_01 > li.price:before    { background-image: url(/spring/img/icon_info_price.png); }
main .info_01 > li.menu:before     { background-image: url(/spring/img/icon_info_menu.png); }
main .info_01 > li.contents:before { background-image: url(/spring/img/icon_info_contents.png); }
main .info_01 > li.guest:before    { background-image: url(/spring/img/icon_info_guest.png); }
main .info_01 > li.info:before     { background-image: url(/spring/img/icon_info_info.png); }
main .info_01 > li.time:before     { background-image: url(/spring/img/icon_time_time.png); }
}


/* ===== tab ===== */




main .tab_01 .tab-toc {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
/*	justify-content: space-between;*/
	justify-content: space-around;
    vertical-align: middle;
    
}




main .tab_01 .tab-toc > li {
	margin-top: 7px;
    display: table-cell;
    vertical-align: middle;
}

main .tab_01 .tab-toc > li a {
	border: transparent solid 4px;
	border-radius: 2.25rem;
	display: table-cell;
/*    min-width: 228px;*/
	padding: 10px 0px 12px;
	text-align: center;
	white-space: normal;
    vertical-align: middle;
}

/*6個のときは/3*/
@media screen and (min-width:600px) {
main .tab_01 .tab-toc > li a {
    max-height: 5rem;
	width: calc(100% / 3);
}
}

@media screen and (max-width:599px) {
main .tab_01 .tab-toc > li a {
    max-height: 4rem;
	width: calc(100% / 2);
}
}




main .tab_01 .tab-toc > li a.is-active,
main .tab_01 .tab-toc > li a:hover,
main .tab_01 .tab-toc > li a:active,
main .tab_01 .tab-toc > li a:focus {
	border-color: #fff;
}

/*6個のときは/3*/
@media screen and (min-width:600px) {
main .tab_01 .tab-toc > li {
	width: calc(100% / 4 );
}
}

@media screen and (max-width:599px) {
main .tab_01 .tab-toc > li {
	width: calc(100% / 2);
}
}

@media screen and (max-width:768px) {
main .tab_01 .tab-toc > li a {
	font-size: 0.815rem;}
}
@media screen and (max-width:375px) {
main .tab_01 .tab-toc > li a {
	font-size: 0.795rem;}
}

@media screen and (max-width:370px) {
main .tab_01 .tab-toc > li a {
	white-space: normal;
}
}

main .tab-content {
	display: none;
}

main .tab-content.is-visible {
	display: block;
}

/* ===== sns ===== */
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;
}
main > section.base.hashigo-footer .banner_01 + #sns { padding-top: 74px; }
#sns { margin-bottom: -72px; }

@media screen and (max-width:640px) {
.hashigo main > section.base.hashigo-footer .banner_01 + #sns { padding-top: 0; }
#sns { margin-bottom: 74px; }
}


/* ========================================
         set controls
======================================== */


main > section section,
main > section .box_01,
main > section .column_01 {
	text-align: left;
}


main .index_01 > a.box_01 .description {
	color: #666;
}


/* ===== text ===== */
/* ----- family ----- */
#key-visual p,
#countdown strong,
main .cat,
main header .shoulder {
	font-family: 'Montserrat';
	-ms-font-feature-settings: "normal";
}

main figcaption,
main .cat,
main .profile_01 dd {
	font-size: 0.75rem;
}

main .heading_01 .label,
main .heading_02 .label,
main .btn_01,
main .info_01,
main p.note_01,
main .note_01 > li,
main .profile_01 dt,
main .description,
main .modal_01 .icon-place {
	font-size: 0.875rem;
}

#key-visual .term > .day,
main .heading_06 .label,
main #lastSeason > header .shoulder:first-line {
	font-size: 1rem;
}

main .heading_04 .label {
	font-size: 1.125rem;
}

main .heading_05 .label,
main .box_01 > .cat + .label {
	font-size: 1rem;
}

main .heading_03 .label,
main header .shoulder {
	font-size: 1.5rem;
}

#countdown strong {
	font-size: 2.5rem;
}

@media screen and (min-width:641px) {
#countdown {
	font-size: 1.25rem;
}
}


/* ----- weight ----- */
/* Noto Fonts */
#key-visual > *,
#countdown p,
main .btn_01,
main .header > .label,
main .index_01 > a.box_01 .label,
main .profile_01 dt,
main .index_01 .catch,
main .tab_01 .tab-toc a {
	font-weight: 700;
}

/* Montserrat */
#key-visual p,
#countdown strong,
main .cat,
main header .shoulder {
	font-weight: 600;
}

/* ----- transfoem ----- */
#key-visual p,
main .cat,
main header .shoulder {
	text-transform: uppercase;
}

/* 追加分 */
@media screen and (min-width:1280px){
.header-facility-drawer{
	border-top-color:#ccc;
	background-color:#fff;
}
.c-mod-order .header-facility{
	border:solid #e5e5e5;
	border-width:1px 0
}
}

@media screen and (min-width:1280px){
.header-facility-logo{
	margin-top:15px
}
.header-facility-links__item a{
    color: #EE7146;  
}
.header-facility-links__item:not(:last-child):after{
    color: #000;    
}
}
@media screen and (max-width:1279px){
    .header-facility-logo{
	margin-top:15px
}
    .header-facility-logo img{
	width:150px;
	height:35px
}
}
.header-facility-logo img{
	width:160px;
	height:44px
}


/*
.hashigo main {
    background-color: #04102a;
}
*/
@media screen and (min-width: 1280px) {
    .content-width{
        padding: 0px 118px;
    }
}
@media screen and (max-width: 1279px) {
        .header-facility-guide__item.is-language{
        width: 56px;
    }
    .header-facility-guide__item{
        color: #fff;
    }
    .header-facility-guide__item-name{
        color: #fff;
    }
}

.box-white{
    border: none;
    background-color: #fff;
    border-radius: 18px;
    margin: 0 auto;
    max-width: 100%;
    width: 1000px;
    padding: 2.5rem 4rem;
}
@media screen and (max-width: 600px){
    .box-white{
        padding: 2rem;
    }
    .lt_sp{
        text-align: left;
    }
}
.box-white-heading{
    border: none;
    background-color: #fff;
    border-radius: 18px;
    margin: 0 auto;
    max-width: 70%;
    width: 1000px;
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
}
/* 追加分 2024*/
.lead{
    font-size: 24px;
    font-weight: 600;
}
@media screen and (max-width: 640px){
    .lead{
        font-size: 22px;;
    }
}
.tittle-style {
	position: relative;
	padding-top: 50px;
	font-size: 26px;
	text-align: center;
}
.tittle-style::before {
	content: attr(data-en);
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	color: #33ccff26;
	font-size: 80px;
	font-style: italic;
}
.tittle-style span {
	position: relative;
	z-index: 2;
}
.subtittle-style{
    position: relative;
	padding-top: 50px;
	font-size: 26px;
	text-align: center;
}
.subtittle-style::before{
    content: attr(data-en);
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	color: #E4BD6226;
	font-size: 80px;
	font-style: italic;
}
.subtittle-style span{
    position: relative;
	z-index: 2;
}
.section-content{
    margin: 0 auto;
    max-width: 100%;
    padding: 35px 20px;
    width: 1000px;
}
@media screen and (max-width: 640px){
    .tittle-style::before{
        font-size: 70px;
    }
}

.c-btn-cmn.btn-normal .c-btn-cmn__item {
    background: #A0624B;
}

.font-b{
    color: #000;
}
/* styles.css */
.slider {
    position: relative;
    width: 100%;
    max-width: 1200px; /* 最大幅を設定 */
    margin: auto;
    overflow: hidden;
    padding-bottom: 100%;
}

.slides {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.slide img {
    width: 100%;
    object-fit: cover; /* 画像がコンテナに合わせてリサイズされる */
}

.slide.active {
    opacity: 1;
}

.under-lead{
    border-bottom: 7px solid;
    border-image: linear-gradient(to right, #FF1D83 0%, #93F3FF 100%) 1;
    margin: 25px 33%;
}
.fadein-up {
    opacity: 0;
    transform: translate(0,0);
    transition: all 2.5s;
    transform: translate(0,-30px);
  }
.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

.shop-card:hover{
    transition: opacity 0.6s;
    opacity: .70;
}
.place{
    position:relative;
}
.place::before{
    background-image: url(/tdc-hashigo/common/img/icon_info_place.png);
}
.flat .note_01{
    color: #666;
}

.ico-drink::before{
    content: url(/tdc-hashigo/common/img/logo_drink.png);
    position: relative;
    top: 6px;
    padding-right: 5px;
}
.ico-food::before{
    content: url(/tdc-hashigo/common/img/logo_food.png);
    position: relative;
    top: 6px;
    padding-right: 5px;
}
.space-25{
    margin-top: 24px;
}
.text-space{
    margin-top: 5px;
}
.text-emphasis{
    font-weight: 600;
}
@media screen and (max-width: 599px) {
    .c-btn-cmn-list {
        width: auto;
    }
}