@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
color: #444;
letter-spacing:0.1rem;
}

a {
  color: #428bca;
  text-decoration: none;
}

a:hover {
  color: #9eccf4;
  text-decoration: none;
}

img{
	max-width:100%;
	height:auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-primary {
font-family: "Noto Serif JP", serif;
letter-spacing:0.2rem;
}

h2{
	font-size:2.8rem;
}

.eng{
font-family: "Noto Serif JP", serif;!important;
}

.ja{
	font-family: "fot-tsukuaoldmin-pr6n", sans-serif!important;
}

.note-sans{
	font-family: "Noto Sans JP", sans-serif!important;
}

.coming-soon{
	font-size:0.9rem;
}

.bg-bule{
	background:#172753;
}

.bg-pink{
	background:#FC4072;
}

.bg-lightpink{
	background:#FFE7ED;
}

.bg-lightpink2{
	background:#FFF5F7;
}

.bg-lightgray{
	background:#D8DAE2;
}

.bg-white{
	background:#FFF;
}

.mt-80{
	margin-top:80px;
}

.mb-80{
	margin-bottom:80px;
}

.pt-80{
	padding-top:80px;
}

.pb-80{
	padding-bottom:80px;
}

.pt-60{
	padding-top:60px;
}

.pb-60{
	padding-bottom:60px;
}

.pt-40{
	padding-top:40px;
}

.pb-40{
	padding-bottom:40px;
}

.area-relative{
	position:relative;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background: #172753;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #629fd3;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
#topbar {
  background: #fff;
  border-bottom: 1px solid #eee;
  font-size: 15px;
  height: 40px;
  padding: 0;
}

#topbar .contact-info a {
  line-height: 0;
  color: #444;
  transition: 0.3s;
}

#topbar .contact-info a:hover {
  color: #428bca;
}

#topbar .contact-info i {
  color: #428bca;
  line-height: 0;
  margin-right: 5px;
}

#topbar .contact-info .phone-icon {
  margin-left: 15px;
}

#topbar .social-links a {
  color: #5c768d;
  padding: 4px 12px;
  display: inline-block;
  line-height: 1px;
  transition: 0.3s;
}

#topbar .social-links a:hover {
  color: #428bca;
}

/*--------------------------------------------------------------
# sp-bottom-btn
--------------------------------------------------------------*/

.sp-fix-btn{
	position:fixed;
	bottom:0;
	width:100%;
	z-index:10;
}

.sp-fix-btn ul{
	padding:0;
	margin:0;
	list-style:none;
	display:flex;
	text-align:center;
}

.sp-fix-btn ul li:first-child{
	width:43%;
}

.sp-fix-btn ul li:nth-child(2){
	width:43%;
}

.sp-fix-btn ul li:last-child{
	width:14%;
}

.sp-fix-btn ul li:first-child a{
	padding:15px 0;
	background:#FF6E00;
	border-top:solid 1px #FFF;
	border-right:solid 1px #FFF;
}

.sp-fix-btn ul li:nth-child(2) a{
	padding:15px 0;
	background:#FD4072;
	border-top:solid 1px #FFF;
}

.sp-fix-btn ul li:last-child a{
	padding:15px 0;
	background:#172753;
	border-top:solid 1px #FFF;
}

.sp-fix-btn ul li a{
	display:block;
	color:#FFF;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  height: 95px;
  z-index: 997;
  /* box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.06); */
}

#header.is-scrolled {
  background-color: rgba(0,0,0,.8);
  box-shadow: 0 6px 24px rgb(0 0 0 / 10%);
  transition: background .2s ease, box-shadow .2s ease;
}

#header .logo h1 {
  font-size: 28px;
  margin: 0;
  padding: 10px 0;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
width:216px;
}

#header .logo h1 a,
#header .logo h1 a:hover {
  color: #1c5c93;
  text-decoration: none;
}

#header .logo img {
  padding: 0;
  margin: 0;
  height: auto;
}

.scrolled-offset {
  margin-top: 0px;
}

.header-sns svg{
	fill: #444;
	width: 29px;
}

.header-sns svg:hover{
	fill:#FF81A0;
}

.navbar ul.header-sns{
	margin-left:50px;
}

ul.header-sns li a{
	padding: 10px 0 10px 10px;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-size: 1rem;
  color: #FFF;
	letter-spacing:0.1rem;
  white-space: nowrap;
  transition: 0.3s;
font-family: "georgiapro", sans-serif!important;
}

.navbar a i,
.navbar a:focus i {
  font-size: 2.1rem;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color: #FF81A0;
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: 100%;
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  text-transform: none;
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
  color: #428bca;
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}


@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }

  .navbar .dropdown .dropdown:hover>ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
  color: #FFF;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
  color: #fff;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(31, 53, 72, 0.9);
  transition: 0.3s;
  z-index: 998;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 15px;
  color: #1f3548;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: #428bca;
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}

.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown ul li {
  min-width: 200px;
}

.navbar-mobile .dropdown ul a {
  padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
  color: #428bca;
}

.navbar-mobile .dropdown>.dropdown-active {
  display: block;
}

.header-sns svg{
	fill:#FFF;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  /*height: calc(100vh - 110px);*/
	height:auto;
  padding: 0;
  overflow: hidden;
  background: #FFF;
}

#hero .hero-container{
	position:relative;
}

#hero img{
	width:100%;
	height:auto;
}

#hero .container{
	position:absolute;
	bottom:2%;
	left: 50%;
	transform: translateX(-50%);
}

#hero .carousel-item {
  width: 100%;
  height: auto;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  overflow: hidden;
}

#hero .carousel-item::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

#hero .carousel-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

#hero .carousel-content {
  text-align: left;
}

@media (max-width: 992px) {

  #hero,
  #hero .carousel-item {
    height: auto;
  }

  #hero .carousel-content.container {
    padding: 0 50px;
  }
}

#hero h2 {
color: #fff;
margin-bottom: 30px;
font-size: 7rem;
font-weight: 700;
}

#hero p {
  width: 80%;
  animation-delay: 0.4s;
  color: #fff;
font-weight: 700;
}

#hero .carousel-inner .carousel-item {
  transition-property: opacity;
  background-position: center top;
}

#hero .carousel-inner .carousel-item,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
  opacity: 0;
}

#hero .carousel-inner .active,
#hero .carousel-inner .carousel-item-next.carousel-item-start,
#hero .carousel-inner .carousel-item-prev.carousel-item-end {
  opacity: 1;
  transition: 0.5s;
}

#hero .carousel-inner .carousel-item-next,
#hero .carousel-inner .carousel-item-prev,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
  left: 0;
  transform: translate3d(0, 0, 0);
}

#hero .carousel-control-prev,
#hero .carousel-control-next {
  width: 10%;
}

#hero .carousel-control-next-icon,
#hero .carousel-control-prev-icon {
  background: none;
  font-size: 48px;
  line-height: 1;
  width: auto;
  height: auto;
}

#hero .carousel-indicators li {
  list-style-type: none;
  cursor: pointer;
}

#hero .btn-get-started {
  font-family: "Raleway", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 12px 32px;
  border-radius: 5px;
  transition: 0.5s;
  line-height: 1;
  margin: 10px;
  color: #fff;
  animation-delay: 0.8s;
  border: 0;
  background: #428bca;
}

#hero .btn-get-started:hover {
  background: #1c5c93;
}

.fix-hero-btn{
	position:fixed;
	right:0;
	top:20%;
	z-index:5;
	width: 61px;
}

.fix-hero-btn ul{
	margin:0;
	padding:0;
	list-style:none;
}

.fix-hero-btn ul li a{
writing-mode: vertical-rl; /* 右から左に縦書き */
text-orientation: upright; /* 文字の向きを正しく保つ */
}

.fix-hero-btn ul li:first-child a{
	background:#65AD27;
	color:#FFF;
padding: 25px 15px;
  font-size: 1.2rem;
}

.fix-hero-btn ul li:nth-child(2) a{
	background:#FD4072;
	color:#FFF;
padding: 25px 15px;
  font-size: 1.2rem;	
}

.fix-hero-btn ul li:last-child a{
	background:#172753;
	color:#FFF;
padding: 25px 15px;
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  #hero h2 {
    font-size: 28px;
  }
}

@media (max-height: 500px) {

  #hero,
  #hero .carousel-item {
    height: 120vh;
  }
}

@media (min-width: 1024px) {
  #hero p {
    width: 60%;
  }

  #hero .carousel-control-prev,
  #hero .carousel-control-next {
    width: 5%;
  }
}

.carousel-inner{
	height:auto;
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 80px 0;
  overflow: hidden;
}

section.p-small{
	padding: 120px 0;
}

.section-bg {
  background-color: #f5f9fc;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title h2 {
  font-size: 7rem;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 0;
  color: #5c768d;
}

.section-title p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 15px 0;
  background-color: #f5f9fc;
  min-height: 40px;
}

.breadcrumbs h2 {
  font-size: 24px;
  font-weight: 300;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.breadcrumbs ol li+li {
  padding-left: 10px;
}

.breadcrumbs ol li+li::before {
  display: inline-block;
  padding-right: 10px;
  color: #6c757d;
  content: "/";
}

@media (max-width: 768px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }

  .breadcrumbs ol {
    display: block;
  }

  .breadcrumbs ol li {
    display: inline-block;
  }
}

/*--------------------------------------------------------------
# region
--------------------------------------------------------------*/

.region a{
	display:block;
	padding:50px 0;
	text-align:center;
	background: linear-gradient(90deg, #767676 0%, #cfcfcf 12%, #e6e6e6 50%, #cfcfcf 88%, #767676 100%);
	font-size:2.4rem;
	color:#000;
}

/*--------------------------------------------------------------
# concept
--------------------------------------------------------------*/

.concept h2{
	color:#FFF;
	text-align:center;
}

.concept h2 span{
	color:#FFF;
	font-size:1rem;
	display:block;
	padding-top:15px;
}

.concept .concept-right p{
	writing-mode: vertical-rl;
	color:#FFF;
	line-height:2.6;
} 

/*--------------------------------------------------------------
# cta
--------------------------------------------------------------*/

.cta h3{
	font-weight:700;
	margin-top:15px;
}

.cta .schedule-top p{
	font-weight:700;
	font-size:1.4rem;
}

.cta .schedule-top p span{
	font-size:1.75rem;
}

.cta .schedule-bottom p{
	padding:4px 8px;
	font-size:1.4rem;
	font-weight:700;
}

.cta .badge-pink{
	background: linear-gradient(90deg, #f6b9c9 0%, #ec6aa0 55%, #e33d8f 100%);
	color:#FFF;
	text-align:center;
}

.cta .sponsored-by p{
	font-size:1rem;
}

.bleed-right{
	margin-right: calc(50% - 50vw); /* ← これで右端にピタッ */
}

.bleed-right img{
	width:100%;
}

.cta-btn a{
	display:block;
	background:#162753;
	color:#FFF;
	padding:18px; 0;
	text-align:center;
}

/*--------------------------------------------------------------
# guest
--------------------------------------------------------------*/

.guest1{
	position:relative;
	overflow:visible;
}

.guest1 img{
	position:absolute;
	right:0;
	bottom:0;
	z-index:1;
	width:23%;
}

.guest1 h2{
	color:#FC4072;
}

.guest1 h2 + p,.guest2 h2 + p{
	font-size:2.2rem;
	font-weight:700;
}

.guest1 h2 + p span{
	font-size:1.3rem;
}

.guest2 {
	color:#000;
}

.guest2 h2{
	color:#FFF;
}

.guest2 a{
	color:#FFF;
	border:solid 1px #FFF;
	padding:8px 0;
	display:block;
	text-align:center;
	font-size:1.4rem;
}

/*--------------------------------------------------------------
# department
--------------------------------------------------------------*/

.department{
background-image: url("../img/department-bg.png");
background-repeat: no-repeat;
background-position: center bottom;
background-size: cover; 
color:#FFF;
}

.bg-department{
background-image: url("../img/department-img02.png");
background-repeat: no-repeat;
background-position: center center;
background-size: contain; 
}

.department h2{
	color:#FF8027;
}

.department h2 span{
	font-size:1.8rem;
}

.department h3{
	color:#FC4072;
	text-align:center;
	font-size:3.4rem;
}

.department h3 span{
	font-size:1.2rem;
	color:#FFF;
	display:block;
}

.department ul{
	margin:0;
	padding:0;
	list-style:none;
}

.department ul li{
	padding:8px 0;
}

/*--------------------------------------------------------------
# finalist
--------------------------------------------------------------*/

.finalist img{
	width:100%;
}

.finalist h2{
	color:#FD4072;
	text-align:center;
	font-size:2.8rem;
	letter-spacing:-0.2rem;
	font-weight:800;
}

.finalist h2 + p{
	color:#FD4072;
	font-size:3.8rem;
	letter-spacing:-0.2rem;
	font-weight:800;
}

.finalist-area{
    padding: 10px;
    background: #FFF;
}

.finalist-area h3{
	width:100%;
	font-size: 1.3rem;
}

.finalist-area .btn2-area{
	width:40%;
	text-align:right;
}

.finalist-img-area{
overflow: hidden;
}

.overlay-text {
  position: absolute;
  bottom: -80%; /* 初期状態では画像の下に隠す */
  left: 0;
  width: 100%;
  height: 70%; /* テキストが出る範囲を設定 */
	background: rgba(255, 255, 255, 0.7); /* 半透明の背景 */
  color: #000;
  font-size: 0.8rem;
	padding:15px;
  transition: bottom 0.5s ease; /* アニメーション */
}


.overlay-text p {
	text-align:center;
	margin-bottom:30px;
}

.overlay-text p img{
	width:60%;
}

.finalist-img-area:hover .overlay-text {
  bottom: 0; /* ホバー時にテキストがスライドアップして表示される */
}


.finalist-img-area span{
background-color: #8040E1; /* ボタンの背景色 */
  color: #fff;               /* ボタンの文字色 */
padding: 5px 32px 5px 20px;
  border: none;
	font-size: 1rem;
  cursor: pointer;
  position: absolute;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
	top: 0px;
    left: 0px;
}


.finalist-area h3 span{
	font-size:0.8rem;
	display:block;
	padding-top:4px;
}

/* 展開 CSS */
:root{
  --c-sapphire:#8040E1;
  --c-topaz:#1fbad6;
  --c-emerald:#19c17c;
  --c-garnet:#e2343a;
  --c-pearl:#D02CC8;
}

/* セクション枠 */
details{
  padding:16px 0;
}

/* 見出し */
summary{
  list-style:none;
  display:flex; align-items:center; gap:12px;
  cursor:pointer; user-select:none;
  font-size:clamp(22px,3.4vw,36px); font-weight:700;
  outline:none;
}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:2px solid currentColor; outline-offset:4px}

/* タイトル（英字＋カナ） */
summary .title{display:flex; align-items:baseline; gap:.6em}
summary .kana{font-weight:600; font-size:.6em; letter-spacing:.15em; opacity:.8}

/* 三角（右寄せ） */
.caret{
  margin-left:auto;                 /* ← 右端に寄せる肝 */
  width:0; height:0;
  border:9px solid transparent;
  border-left-color:currentColor;   /* ▶ を描く */
  transition:transform .25s ease;
}
details[open] .caret{ transform:rotate(90deg); } /* ▼風に回転 */

/* 見出しごとの色 */
.sapphire summary{color:var(--c-sapphire)}
.topaz    summary{color:var(--c-topaz)}
.emerald  summary{color:var(--c-emerald)}
.garnet   summary{color:var(--c-garnet)}
.pearl   summary{color:var(--c-pearl)}

/* パネルのフェード（任意） */
.panel{opacity:0; transform:translateY(-6px); transition:opacity .25s, transform .25s}
details[open] .panel{opacity:1; transform:none}

/*--------------------------------------------------------------
# sponsor
--------------------------------------------------------------*/

.sponsor{
	text-align:center;
	background:#FC4072;
	color:#FFF;
}

/*--------------------------------------------------------------
# area-manager 
--------------------------------------------------------------*/

.area-manager {
	text-align:center;
	background:#FF6E00;
	color:#FFF;
}





@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.footer {
  color: #FFF;
  background-color:#000;
  font-size: 14px;
  padding:60px 0;
  position: relative;
}

.footer .footer-about .logo {
  margin-bottom: 25px;
}

.footer .footer-about .logo img {
  width:300px;
}

.footer .footer-about .logo span {
  color: var(--heading-color);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: var(--heading-font);
}

.footer .footer-about p {
  font-size: 14px;
}

.footer .footer-about p span{
  font-size: 1.4rem;
	display:block;
}

.footer .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 50%);
  font-size: 16px;
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  margin-right: 10px;
  transition: 0.3s;
}

.footer .social-links a:hover {
  color: var(--accent-color);
  border-color: var(--accent-color);
}

.footer h4 {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-bottom: 12px;
}

.footer .footer-links {
	text-align:right;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
}

.footer .footer-links ul i{
	font-size: 35px;
	line-height: 0;
}

.footer .footer-links ul li {
  display: inline-block;
text-align:center;
padding: 0px 28px;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
	font-family: "georgiapro", sans-serif !important;
  color: #FFF;
  display: inline-block;
  line-height: 1;
font-size: 1rem;
letter-spacing: 0.1rem;
}

.footer .footer-links ul a:hover{
	color:#FF81A0;
}

.footer .footer-links ul a span{
display:block;
font-size: 0.7rem;
padding-top:8px;
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .copyright {
  padding-bottom: 25px;
}

.footer .copyright p {
  margin-bottom: 0;
	font-size: 0.8rem;
	font-family: "georgiapro", sans-serif !important;
}
ul.footer-links-bottom,ul.footer-links-center{
margin-top:55px!important;
}

ul.footer-links-center{
	margin-right:20px;
}

.footer .footer-links ul.footer-links-bottom li a{
font-size:0.6rem;
font-family: var(--sansjp-font);
}

.footer .footer-links ul.footer-links-center li{
	padding: 0px 7px;
}

.footer .footer-links ul.footer-links-center li:first-child{
	padding-left:27px;
}

.footer-links-center li svg{
width: 29px;
  vertical-align: -1px;
	fill: #FFF;
}

.footer-links-center li svg:hover{
	fill: #FF81A0;
}


/* ############################
GROWUP ADD CSS
############################ */

.carousel-indicators [data-bs-target]{
	width:15px;
	height:15px;
	background-color:#B6BBC0;
}
.carousel-indicators .active{
	background-color:#FF81A0;
}



/* button start */

.btn1-area{
text-align:center;
}

.btn1-area a{
	background:#FE5F87;
	color:#FFF;
	padding:10px 40px;
	font-size:1.4rem;
}
.btn1-area a i{
	padding-left:15px;
}

.btn2-area a{
	background:#D8D8D8;
	padding:5px 20px;
	color:#000;
	font-size:1.4rem;
	border-radius:7px;
	display:inline-block;
}


.btn3-area a{
	padding:5px 40px;
	color:#FFF;
	font-size:1.4rem;
	display:inline-block;
	border:solid 1px #FFF;
}

.btn4-area{
	text-align:center;
}

.btn4-area a{
	background:#20B71C;
	padding:15px 180px;
	color:#FFF;
	font-size:1.4rem;
	display:inline-block;
}

.btn-arrow1 a {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  color: #000;
  text-decoration: none;
  outline: none;
	font-size: 1.2rem;
	font-family: "georgiapro", sans-serif !important;
}

.btn-arrow1 a::after {
  content: '';
  position: absolute;
  bottom: 11px;
  right: -100px;
  width: 15px;
  height: 1px;
  background: #333;
  transform: rotate(35deg);
  transition: all .3s;
}

.btn-arrow1 a::before {
  content: '';
  position: absolute;
  bottom: 7px;
  left: 100%;
width: 66%;
  height: 1px;
  background: #333;
  transition: all .3s;
}

.btn-arrow1 a:hover::before {
  width: 92%;
}

.btn-arrow1 a:hover::after {
  right: -140px;
}

.btn-effect a{
transition: 1.0s ;
}

.btn-effect a:hover{
opacity: 0.7 ;
}

/* button end */

.sale .section-title h3{
line-height:1.5;
font-family: 'Noto Sans JP', sans-serif;
font-size:2.4rem;
font-weight:700;
text-align:left;
background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sale .section-title p{
text-align:left;
margin-bottom:40px;
}

.media .section-title h2{
text-align:left;
}

.media .section-title p{
text-align:left;
font-size:2rem;
}

.media{
	background:#292929;
}

/* contact */

.wpcf7-spinner{
	display:block;
}

.form-area{
	width: 75%;
	margin: 0 auto;
}
.form-area p{
	color:#000;
	margin-top:30px;
}

.form-area input,.form-area textarea{
	width:100%;
	padding:10px;
	border-radius:5px;
	background:#ECECEC;
	border:none;
}

.form-area input[type="submit"]{
	background:#172753;
	width:250px;
	color:#FFF;
	font-weight:700;
}

.form-area p span.req{
background: #FF81A0;
  font-size: 0.8rem;
  padding: 5px 10px;
  border-radius: 3px;
  color: #FFF;
  margin-left: 10px;
}

.sp-only{
	display:none;
}

/* responsive css */


@media (max-width:1399px) {

}

@media (max-width:1199px) {
	.guest1 img{
		width:40vw;
	}
}

@media (max-width:991px) {
	.header-sns svg{
		fill:#1F3548;
	}
	.header-sns li{
		float:left;
	}
	.navbar ul.header-sns {
		display:none;
		margin-left: 5px;
        margin-top: 55vh;
        align-items: self-end;
        background-color: transparent;
	}
	.navbar ul.header-sns li{
		float:left;
	}
	#hero{
		height:auto;
	}
	.concept .concept-right p{
		writing-mode: horizontal-tb;
		margin-top:30px;
	}
	.guest1 p{
		width:65%;
	}
	.guest1 h2 + p{
		width:100%;
	}
	.bleed-right {
		margin:0;
	}
	.finalist h2{
		font-size:2rem;
	}
}

@media (max-width: 767px) {
	.pc-only{
		display:none;
	}
	.sp-only{
		display:block;
	}

	.back-to-top{
		bottom:65px;
	}
}

@media (max-width: 574px) {
	section{
		padding:50px 0;
	}
	#hero .row .col-6,.cta .row .col-6{
		padding:0!important;
	}
	h2,h3{
		font-family: "Noto Serif JP", serif;
	}
	a{
		font-size:4vw!important;
	}
	p,li{
		font-size:3vw;
	}
	h2,.guest1 h2{
		font-size:8vw;
	}
	.bg-department li span{
		display:block;
	}
	.finalist h2{
		font-size: 4.6vw;
	}
	.finalist h2 + p{
		font-size: 7.8vw;
	}
	summary span{
		font-size:6vw;
	}
	.sponsor h2,.area-manager h2{
		font-size:6.4vw;
	}
	.cta .schedule-bottom p{
		font-size:4vw;
	}
	.guest1 h2 + p{
		font-size:6vw;
	}
	.region a {
		font-size:5vw!important;
		padding:26px 0;
	}
	.footer .footer-about p span{
		font-size:5vw;
	}
}
