@charset "UTF-8";

/*  ====================================================
  基本設定
===================================================== */
:root {
  --c-red: #FF075D;
  --c-red2: #EC595C;
  --c-green: #46A66B;
  
  --c-pitchblack: #000;
  --c-linkblack: #111;
  --c-black: #333;
  --c-gray: #999;
  --c-white: #fff;
  
  --c-bglabel: #EBE3D6;
}

* {
  box-sizing: border-box;
}

main {
  word-break: break-word;
  background: url(../images/lp_tulips2025/bg2_2.png) center top no-repeat;
	background-size: 2000px auto;
  background-attachment: fixed;
}

.is-sp {
  display: none;
}

.l-banner-white {
  border-top: solid 1px #eee;
}

.l-banner-gray {
  background: #f6f6f6;
}


@media screen and (max-width:768px){
.is-pc {
  display: none;
}

.is-sp {
  display: block;
}
br.is-sp,
img.is-sp {
  display: inline;
}
}

.content {
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 20px;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

p {
  font-size: 18px;
  line-height: 1.72;
  text-align: left;
}

@media screen and (max-width: 767px){
.content {
  padding: 60px 20px;
}

h2 {
  margin-bottom: 30px;
}


p {
  font-size: 16px;
  line-height: 1.62;
}
}

/*-----------------------------------------------------------------
  header
-----------------------------------------------------------------*/
.l-header {
  position: relative;
  z-index: 100;
}

.header-top {
  background: rgba(255,255,255,0.1);
  background: none;
  border: none;
}

.header-logo {
  max-width: 124px;
}
.header-logo a {
  display: block;
}
.header-logo img {
  width: 100%;
}

.header-option {
  display: none;
}

.l-header-sns {
  margin-left: auto;
}


/*-----------------------------------------------------------------
  MV
-----------------------------------------------------------------*/
.mv {
  min-height: 560px;
  margin-top: -61px;
  background: url(../images/lp_tulips2025/mv.webp) bottom center no-repeat;
	background-size: cover;
  position: relative;
  display:flex;
  align-items: center;
  justify-content: center;
}

.mv-inner {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 15px 20px;
}

@media screen and (max-width: 767px){
.mv {
  min-height: 420px;
}
}


/*-----------------------------------------------------------------
  about
-----------------------------------------------------------------*/
.about {
  padding: 120px 0 0;
  background: url(../images/lp_tulips2025/about_img.webp) calc(50% + 315px) calc(0% + 30px) no-repeat, url(../images/lp_tulips2025/bg1_2.png) center bottom no-repeat;
	background-size: 630px auto, cover;
}

.about-inner {
  max-width: 1056px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
}

.about-content {
  max-width: 528px;
  padding: 30px;
  position: relative;
  border-radius: 30px;
  background: rgba(255,255,255,0.4);
  backdrop-filter: blur(5px);
  box-shadow: 0 0 10px rgba(255,23,23,0.1);
}

.about h2 {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 28px;
  color: var(--c-red);
  text-shadow: 0 0 3px rgba(255,255,255,0.6);
}
.about h2 span {
  display: inline-block;
}

.about-ttl-img {
  max-width: 325px;
  position: absolute;
  top: -107px;
  left: -48px;
}

.about-txt{
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 1.71;
  text-shadow: 0 0 3px rgba(255,255,255,0.6);
}

.about-flex-right {
  width: 405px;
}

.about-point {
  display: flex;
  justify-content: space-between;
}
.about-point div {
  width: calc((100% - 60px) / 3);
}
.about-point div p {
  padding-top: 5px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: -0.08rem;
  text-align: center;
}

@media screen and (max-width: 767px){
.about {
  padding: 120px 0 0;
  background: url(../images/lp_tulips2025/about_img.webp) calc(50% + 115px) calc(0% + 30px) no-repeat, url(../images/lp_tulips2025/bg1_2.png) center bottom no-repeat;
	background-size: 280px auto, 2000px auto;
}

.about h2 {
  font-size: 18px;
  margin-bottom: 15px;
}

.about-ttl-img {
  max-width: 195px;
  top: -57px;
  left: -5px;
}

.about-inner {
  padding: 0 15px;
}

.about-content {
  max-width: calc(100% - 30px);
  padding: 30px 20px 20px;
  border-radius: 20px;
}

.about-point div {
  width: calc((100% - 30px) / 3);
}
.about-point div p {
  font-size: 11px;
}
}


/*-----------------------------------------------------------------
  event
-----------------------------------------------------------------*/
.event {
  padding: 40px 0 0;
}

.event-inner {
  max-width: 1114px;
  margin: 0 auto;
  position: relative;
}

.event-content {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 15px;
}

.event .flex {
  max-width: 880px;
  margin-bottom: 80px;
  align-items: center;
}

.event .flex:nth-of-type(2n) {
  margin-left: auto;
}

.event h2 {
  max-width: 340px;
  margin: 0 0 0 auto;
}

.event0323-flex-left {
  width: 440px;
}
.event0323-flex-left img {
  border-radius: 30px;
  box-shadow: 0 0 6px rgba(0,0,0,0.16);
}

.event0323-flex-right {
  width: calc(100% - 470px);
}

.guide-txt {
  line-height: 1.5;
  font-size: 14px;
}

.guide-txt a {
  color: var(--c-pitchblack);
}

.guide-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
  line-height: 34px;
  font-weight: bold;
}

.guide-item-ttl {
  width: 88px;
  text-align: center;
  background: linear-gradient(257deg, rgba(255,128,172,1) 0%, rgba(255,44,117,1) 100%);;
  display: inline-block;
  border-radius: 12px;
  line-height: 24px;
  font-size: 14px;
  color: var(--c-white);
}
.guide-item-txt {
  width: calc(100% - 100px);
  line-height: 24px;
  font-size: 18px;
}

.event dl {
  width: calc(50% - 15px);
  font-size: 18px;
}
.event dt {
  font-weight: bold;
  color: var(--c-red);
}
.event dd {
  margin-bottom: 10px;
}

h3 {
  font-size: 26px;
  margin-bottom: 20px;
  line-height: 1.2;
  font-feature-settings: "palt";
}

.txt-small {
  font-size: 16px;
}

.event0323-list {
  margin: 30px 0 80px;
}
.event0323-item02 {
  margin-bottom: 80px;
}

.flex-content-start {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: solid 1px var(--c-bglabel);
  align-items: flex-start;
}

.list-ttl {
  width: 100px;
  text-align: center;
  background: var(--c-bglabel);
  display: inline-block;
  border-radius: 17px;
  line-height: 34px;
}

.list-contents {
  width: calc(100% - 130px);
  padding-top: 4px;
  font-size: 18px;
  line-height: 1.72;
}

.list-contents a {
  color: var(--c-red);
  text-decoration: underline;
}
.list-contents a:hover {
  opacity: 0.7;
  text-decoration: none;
}

@media screen and (max-width: 767px){
.event .flex {
  margin-bottom: 40px;
}

.event h2 {
  max-width: 204px;
  margin-bottom: 20px;
}

.event0323-flex-left {
  width: 100%;
  margin-bottom: 10px;
}

.event0323-flex-right {
  width: 100%;
}

.guide-item-txt {
  font-size: 14px;
}

h3 {
  margin-bottom: 10px;
  font-size: 20px;
}

.event0323-flex-left img {
  border-radius: 20px;
}
}


/*-----------------------------------------------------------------
  gallery
-----------------------------------------------------------------*/
.gallery {
  padding: 0 0 80px 0;
}

.gallery-inner {
  max-width: 1056px;
  margin: 0 auto;
}

.gallery h2 {
  max-width: 425px;
  margin-bottom: 20px;
}

.gallery-img {
  padding: 0 48px;
}

.gallery-item {
	width: calc((100% - 60px) / 4);
}

.gallery-img img{
	border-radius: 30px;
}

@media screen and (max-width: 767px){
.gallery h2 {
  max-width: 255px;
}
.gallery-img {
  padding: 0 15px;
}

.gallery-item {
	width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
}
}


/*-----------------------------------------------------------------
  access
-----------------------------------------------------------------*/
.access {
  background: #FFEEF4;
}

.access-inner {
  max-width: 990px;
  margin: 0 auto;
  padding: 40px 30px;
  background: none !important;
}

.access h2 {
  max-width: 320px;
  margin: 0 0 20px auto;
}

.access h3 {
  border-bottom: none;
}

.acces-contents {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.acces-item {
  width: calc(50% - 15px);
  padding: 40px;
  background: #FEF7EE;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  box-shadow: 0 0 4px rgba(0,0,0, 0.11);
  border-radius: 30px;
}

.access-main-ttl {
  padding-top: 40px;
  background: url(../images/lp-tulips2023/access_ttl.png) no-repeat center top;
	background-size: 392px auto;
  line-height: 1.2;
  font-size: 40px;
}
.gallery-main-ttl {
  padding-top: 40px;
  background: url(../images/lp-tulips2023/gallery_ttl.png) no-repeat center top;
	background-size: 392px auto;
  line-height: 1.2;
  font-size: 40px;
}

.acces-contents h3 {
  width: 100%;
  margin-bottom: 14px;
  padding-top: 60px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.access-car {
  background: url(../images/lp-tulips2023/i_car.png) no-repeat center top;
	background-size: 52px auto;
}
.access-train {
  background: url(../images/lp-tulips2023/i_train.png) no-repeat center top;
	background-size: 52px auto;
}

.acces-contents p {
  width: 100%;
  margin-bottom: 30px;
  line-height: 1.5;
  font-size: 14px;
  text-align: center;
}

.tulips-btn {
  margin: auto auto 0;
  color: #fff;
  background-color: #EC595C;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 52px;
  width: 100%;
  max-width: 280px;
  display: inline-block;
  text-decoration: none;
}

.access span{
	color: #ff0000;
	font-weight: bold;
}

.map iframe{
	height: 200px;
	width: 100%;
	margin-bottom: 25px;
}

@media screen and (min-width:1024px){
.map iframe{
	height: 450px;
	width: 100%;
}
}

@media screen and (max-width:768px){
.access h2 {
  max-width: 192px;
}

.access-inner {
  padding: 40px 15px;
}

.acces-item {
  width: 100%;
}

.acces-item + .acces-item {
  margin-top: 20px;
}
}


/*-----------------------------------------------------------------
  他言語対応
-----------------------------------------------------------------*/
.en-style .mv-img img {
  max-width: 291px;
}
.en-style .about h2 img {
  max-width: 494px;
}
.en-style .event0323 h2 img {
  max-width: 512px;
}
.en-style .event h2 img {
  max-width: 693px;
}
.en-style .gallery h2 img {
  max-width: 132px;
}
.en-style .access h2 img {
  max-width: 132px;
}

@media screen and (max-width: 767px){
.en-style .mv-img img {
  max-width: 194px;
}
.en-style .about h2 img {
  max-width: 255px;
}
.en-style .event0323 h2 img {
  max-width: 175px;
}
.en-style .event h2 img {
  max-width: 237px;
}
}


/* 終了表示 */
.end-txt {
  margin-bottom: 30px;
  background: #fcd9d1;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 40px;
  border-radius: 20px;
}

.event-end {
  position: relative;
}
.event-end .content-list a {
  background: #ccc;
}

.event-end::before {
  content: 'このイベントは終了しました';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  white-space: pre; /* これがないと改行が効かない */
  z-index: 103;
  text-shadow: 0 0 8px rgba(0,0,0,0.6);
}

.event-end::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.4;
  transition: opacity 0.3s;
  z-index: 102;
  border-radius: 30px;
}

.event-end .event0323-flex-left img {
  border-radius: 30px 0 0 30px;
}

@media screen and (max-width: 767px){
.event-end .event0323-flex-right {
  padding: 0 15px 15px;
}

.event-end::after {
  border-radius: 20px;
}

.event-end .event0323-flex-left img {
  border-radius: 20px 20px 0 0;
}
}


/* 言語別 */
.lang-en .event-end::before {
  content: 'This event has ended';
}

.lang-zh .event-end::before {
  content: '活动已结束';
}

.lang-tw .event-end::before {
  content: '活動已結束';
}

.lang-ko .event-end::before {
  content: '이벤트가 종료되었습니다';
}



