/*
 * html
 * -------------------------------------------------------------------
 */
html{
	scrollbar-gutter: stable;
}
html:not(.app-ready),
html:not(.app-ready) body {
	overflow: hidden;
  
}

html:not(.app-ready),
html:not(.app-ready) body {
	position: fixed;
	width: 100%;
}

html.app-ready,
html.app-ready body {
	position: relative;
	overflow: visible;
}
/*
 * loader
 * -------------------------------------------------------------------
 */

#loader{
	position:fixed; 
	inset:0;
	display:grid;
	place-items:center;
	pointer-events: auto; 
	z-index:9999; 
  /* 合成レイヤー化してフェードを安定化 */
  will-change: opacity, visibility;
  transform: translateZ(0);

}
#loader[aria-hidden="true"]{ 
	/*display:none;*/
  
opacity: 0;
  visibility: hidden; /* スクリーンリーダー目的なら role="img" 等も検討 */
  pointer-events: none;

  
} 
#loader.fade-out{ 
/*	animation: fadeOut 2s ease forwards;*/
  
  animation: loaderFadeOut 400ms ease-out forwards;

}

@keyframes loaderFadeOut {
  to {
    opacity: 0;
    visibility: hidden; /* visibility の変更は OK（reflow は起きにくい） */
  }
}

@keyframes fadeOut { 
	to { 
		opacity:0; 
		visibility:hidden;
	}
}
#loader svg{
	width: 250px;
}
#loader svg path,
#loader svg ellipse,
#loader svg rect,
#loader svg polygon{
	fill: transparent;
}
/**___TRANK_body___**/
#loader svg .svg-elem-1,
#loader svg .svg-elem-2,
#loader svg .svg-elem-3 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
}
#loader svg .svg-elem-4 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
}
#loader svg .svg-elem-5 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
}
/**___TRANK_body___**/
#loader svg .svg-elem-6,
#loader svg .svg-elem-7,
#loader svg .svg-elem-8 {
  -webkit-transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
          transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
}
#loader svg .svg-elem-9,
#loader svg .svg-elem-10,
#loader svg .svg-elem-11,
#loader svg .svg-elem-12,
#loader svg .svg-elem-13,
#loader svg .svg-elem-14,
#loader svg .svg-elem-15 {
  -webkit-transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
          transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
}
#loader svg.active .svg-elem-1,
#loader svg.active .svg-elem-2,
#loader svg.active .svg-elem-3,
#loader svg.active .svg-elem-4,
#loader svg.active .svg-elem-5,
#loader svg.active .svg-elem-7,
#loader svg.active .svg-elem-8,
#loader svg.active .svg-elem-9,
#loader svg.active .svg-elem-10,
#loader svg.active .svg-elem-11,
#loader svg.active .svg-elem-12,
#loader svg.active .svg-elem-13,
#loader svg.active .svg-elem-14,
#loader svg.active .svg-elem-15 {
  fill: rgb(35, 24, 21);
}
#loader svg.active .svg-elem-6 {
  fill: rgb(255, 255, 255);
}
#loader svg .svg-elem-16,
#loader svg .svg-elem-17,
#loader svg .svg-elem-18,
#loader svg .svg-elem-19,
#loader svg .svg-elem-20,
#loader svg .svg-elem-21,
#loader svg .svg-elem-22,
#loader svg .svg-elem-23,
#loader svg .svg-elem-24,
#loader svg .svg-elem-25 {
  -webkit-transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
          transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
}
#loader svg .svg-elem-26 {
  -webkit-transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
          transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
}
#loader svg.active .svg-elem-16,
#loader svg.active .svg-elem-17,
#loader svg.active .svg-elem-18,
#loader svg.active .svg-elem-19,
#loader svg.active .svg-elem-20,
#loader svg.active .svg-elem-21,
#loader svg.active .svg-elem-22,
#loader svg.active .svg-elem-23,
#loader svg.active .svg-elem-24,
#loader svg.active .svg-elem-25,
#loader svg.active .svg-elem-26 {
  fill: rgb(255, 255, 255);
}

#loader svg .svg-elem-27,
#loader svg .svg-elem-28,
#loader svg .svg-elem-29,
#loader svg .svg-elem-30 {
  -webkit-transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
          transition: fill 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s;
}
#loader svg.active .svg-elem-27,
#loader svg.active .svg-elem-28,
#loader svg.active .svg-elem-29,
#loader svg.active .svg-elem-30 {
  fill: rgb(35, 24, 21);
}
/**____STAR____**/
#loader svg .svg-elem-31,
#loader svg .svg-elem-32 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s;
}
#loader svg .svg-elem-33,
#loader svg .svg-elem-34 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}
#loader svg .svg-elem-35,
#loader svg .svg-elem-36 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.0s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.0s;
}
#loader svg .svg-elem-37,
#loader svg .svg-elem-38 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
}
#loader svg.active .svg-elem-31,
#loader svg.active .svg-elem-32,
#loader svg.active .svg-elem-33,
#loader svg.active .svg-elem-34,
#loader svg.active .svg-elem-35,
#loader svg.active .svg-elem-36,
#loader svg.active .svg-elem-37,
#loader svg.active .svg-elem-38 {
  fill: rgb(203, 149, 0);
}
/**____MAGICAL____**/
#loader svg .svg-elem-39 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
}
#loader svg .svg-elem-40 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}
#loader svg .svg-elem-41 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}
#loader svg .svg-elem-42 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
}
#loader svg .svg-elem-43 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}
#loader svg .svg-elem-44 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
}
#loader svg .svg-elem-45 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.0s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.0s;
}
/**____STATIONERY____**/
#loader svg .svg-elem-46 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}
#loader svg .svg-elem-47 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}
#loader svg .svg-elem-48 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}
#loader svg .svg-elem-49 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
}
#loader svg .svg-elem-50 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
}
#loader svg .svg-elem-51 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;;
}
#loader svg .svg-elem-52 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
}
#loader svg .svg-elem-53 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
}
#loader svg .svg-elem-54 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
}
#loader svg .svg-elem-55 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.0s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.0s;
}
#loader svg.active .svg-elem-39,
#loader svg.active .svg-elem-40,
#loader svg.active .svg-elem-41,
#loader svg.active .svg-elem-42,
#loader svg.active .svg-elem-43,
#loader svg.active .svg-elem-44,
#loader svg.active .svg-elem-45,
#loader svg.active .svg-elem-46,
#loader svg.active .svg-elem-47,
#loader svg.active .svg-elem-48,
#loader svg.active .svg-elem-49,
#loader svg.active .svg-elem-50,
#loader svg.active .svg-elem-51,
#loader svg.active .svg-elem-52,
#loader svg.active .svg-elem-53,
#loader svg.active .svg-elem-54,
#loader svg.active .svg-elem-55 {
  fill: rgb(35, 24, 21);
}
/**____TOUR____**/
#loader svg .svg-elem-56 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
}
#loader svg .svg-elem-57 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.0s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.0s;
}
#loader svg .svg-elem-58 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s;
}
#loader svg .svg-elem-59 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s;
}
#loader svg .svg-elem-60 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s;
}
#loader svg .svg-elem-61 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s;
}
#loader svg .svg-elem-62 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s;
}
#loader svg .svg-elem-63 {
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s;
}
#loader svg.active .svg-elem-56,
#loader svg.active .svg-elem-57,
#loader svg.active .svg-elem-58,
#loader svg.active .svg-elem-59,
#loader svg.active .svg-elem-60,
#loader svg.active .svg-elem-61,
#loader svg.active .svg-elem-62,
#loader svg.active .svg-elem-63 {
  fill: rgb(203, 149, 0);
}
@media (max-width: 575.98px){
	#loader svg{
		width: 150px;
	}
}
/*
 * mainvisual
 * -------------------------------------------------------------------
 */
.mainvisual__container{
	padding-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: column;
	position: relative;
}
@media (max-width: 767.98px) {
	.mainvisual__container{
	}
}
@media (max-width: 575.98px){
	.mainvisual__container{
		padding-top: 30px;
	}
}
/**** mainvisual__logo ****/
.mainvisual__logo{
	display: block;
	z-index: 10;
	text-align: center;
	margin-bottom: 60px;
	transition-delay: 0.4s!important;
}
.mainvisual__logo img{
	width: 200px;
	height: 100%;
}

@media (max-width: 991.98px) {
	.mainvisual__logo img{
		width: 160px;
	}
}
@media (max-width: 575.98px){
	.mainvisual__logo{
		margin-bottom: 30px;
	}
	.mainvisual__logo img{
		width: 130px;
	}
}
/**** mainvisual__illust ****/
.mainvisual__illust{
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: 530px;
	opacity: .4;
	overflow: hidden;
}
.mainvisual__illust-img{
	position: absolute;
}
.mainvisual__illust-img.delay-1 { transition-delay: 0s; }
.mainvisual__illust-img.delay-2 { transition-delay: 0.1s; }
.mainvisual__illust-img.delay-3 { transition-delay: 0.2s; }
.mainvisual__illust-img.delay-4 { transition-delay: 0.3s; }
.mainvisual__illust-img.delay-5 { transition-delay: 0.4s; }
.mainvisual__illust-img.delay-6 { transition-delay: 0.5s; }
.mainvisual__illust-img.delay-7 { transition-delay: 0.6s; }
.mainvisual__illust-img.delay-8 { transition-delay: 0.7s; }
.mainvisual__illust-img.-yamaguchi{
	width: 150px;
	top: 20%;
	right: 26%;
}
.mainvisual__illust-img.-wave{
	width: 150px;
	top: 23px;
	left: calc(30vw - 150px);
	transform: rotate(55deg);
}
.mainvisual__illust-img.-air{
	width: 200px;
	right: 30vw;
}
.mainvisual__illust-img.-border{
	width: 200px;
	bottom: 180px;
	left: 10%;
}
.mainvisual__illust-img.-copenhagen{
	width: 110px;
	top: 0;
	left: 30vw;
}
.mainvisual__illust-img.-first{
	width: 160px;
	right: 2%;
	top: 30%;
}
.mainvisual__illust-img.-france{
	width: 100px;
	top: 10%;
	right: 15%;
	transform: rotate(25deg);
}
.mainvisual__illust-img.-helsinki{
	width: 100px;
	top: 35%;
	left: 31%;
}
.mainvisual__illust-img.-los{
	width: 120px;
	top: 38%;
	left: 3%;
}
.mainvisual__illust-img.-mail{
	width: 110px;
	top: 30%;
	left: 20%;
}

.mainvisual__illust-img.-milan{
	width: 80px;
	top: 3%;
	left: 3%;
}
.mainvisual__illust-img.-received{
	width: 130px;
	top: 20%;
	left: 6%;
}
.mainvisual__illust-img.-return{
	width: 100px;
	top: 50%;
	right: 4%;
	transform: rotate(25deg);
}
@media (max-width: 991.98px) {
	.mainvisual__illust-img.-yamaguchi{
		width: 130px;
		top: 25%;
		right: 23%;
	}
	.mainvisual__illust-img.-copenhagen{
		left: 20%;
	}
	.mainvisual__illust-img.-wave{
		left: calc(20% - 150px);
	}
	.mainvisual__illust-img.-los{
		width: 90px;
		top: 30%;
	}
	.mainvisual__illust-img.-border{
		width: 180px;
		bottom: 190px;
		left: -9%;
	}
	.mainvisual__illust-img.-air{
		width: 150px;
		right: 22%;
	}
	.mainvisual__illust-img.-milan{
		width: 80px;
		top: 8%;
		left: 65%;
	}
	.mainvisual__illust-img.-france{
		right: 10%;
	}
	.mainvisual__illust-img.-return{
		top: 44%;
		right: auto;
		left: 14%;
	}
	.mainvisual__illust-img.-received{
		top: 19%;
		left: 6%;
	}
}
@media (max-width: 767.98px) {
	.mainvisual__illust-img.-france{
		right: 5%;
		width: 55px;
	}
	.mainvisual__illust-img.-first{
		width: 80px;
		right: -1%;
		top: 20%;
	}
	.mainvisual__illust-img.-milan{
		width: 60px;
		top: 8%;
		left: auto;
		right: 20%;
	}
	.mainvisual__illust-img.-yamaguchi{
		width: 70px;
		top: 19%;
		right: 15%;
	}
	.mainvisual__illust-img.-copenhagen{
		left: 15%;
		width: 70px;
	}
	.mainvisual__illust-img.-wave{
		left: calc(16% - 81px);
		width: 80px;
		top: 14px;
	}
	.mainvisual__illust-img.-los{
		width: 60px;
		top: 15%;
		left: 5%;
	}
	.mainvisual__illust-img.-mail{
		width: 80px;
		top: 19%;
		left: 18%;
	}
	.mainvisual__illust-img.-received{
		width: 68px;
		top: 9%;
		left: 27%;
	}
	.mainvisual__illust-img.-helsinki{
		width: 50px;
		top: 28%;
		left: 15%;
	}
	.mainvisual__illust-img.-return{
		top: 35%;
		right: auto;
		left: 2%;
		width: 45px;
	}
	.mainvisual__illust-img.-air{
		width: 100px;
		right: 18%;
	}
}
@media (max-width: 575.98px){
	.mainvisual__illust-img.-yamaguchi{
		width: 50px;
		top: 15%;
		right: 18%;
	}
	.mainvisual__illust-img.-wave{
		text-align: 14px;
	}
	.mainvisual__illust-img.-air{
		width: 75px;
		top: -1%;
	}
	.mainvisual__illust-img.-border{
		width: 130px;
	}
	.mainvisual__illust-img.-copenhagen{
		left: 13%;
		width: 52px;
	}
	.mainvisual__illust-img.-first{
		top: 4%;
		right: 22%;
		width: 60px;
	}
	.mainvisual__illust-img.-france{
		top: 8%;
		width: 40px;
		right: 9%;
	}
	.mainvisual__illust-img.-helsinki{
		display: none;
	}
	.mainvisual__illust-img.-los{
		width: 50px;
		top: 12%;
	}
	.mainvisual__illust-img.-mail{
		width: 60px;
		left: 16%;
		top: 25%;
	}
	.mainvisual__illust-img.-milan{
		display: none;
	}
	.mainvisual__illust-img.-return{
		top: 23%;
		width: 42px;
	}
	.mainvisual__illust-img.-received{
		left: 18%;
		width: 52px;
		top: 11%;
	}
}
/**** mainvisual__text ****/
.mainvisual__text{
	text-align: center;
	margin-bottom: 40px;
	position: relative;
	z-index: 2;
	transition-delay: 0.9s!important;
}
.mainvisual__text-main{
	font-weight: 900;
	position: relative;
	text-align: center;
	width: 70vw;
	min-width: 700px;
	max-width: 1060px;
	margin: 0 auto;
}
.mainvisual__text-main img{
	position: relative;
	z-index: 2;
}
.mainvisual__text-main:after{
	content: "";
	display: block;
	position: absolute;
	top: -70px;
	right: -40px;
	background-image: url("../img/top-mainvisual_circle.png");
	background-repeat: no-repeat;
	background-position: 50% 0%;
	background-size: 100% auto;
	z-index: 1;
	-webkit-animation: text-rotate 120s infinite linear;
	animation: text-rotate 30s infinite linear;
	width: 160px;
	aspect-ratio: 1 / 1;
}

@keyframes text-rotate {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(-360deg);
				        transform: rotate(-360deg);
		}
}
@media (max-width: 1199.98px) {
	.mainvisual__text-main:after{
		width: 140px;
		top: -60px;
		right: -70px;
	}
}
@media (max-width: 991.98px) {
	.mainvisual__text-main{
		min-width: 340px;
		width: 80vw;
	}
	.mainvisual__text-main:after{
		width: 130px;
		top: -50px;
		right: -50px;
	}
}
@media (max-width: 767.98px) {
	.mainvisual__text-main:after{
		width: 100px;
		top: -10px;
		right: -30px;
	}
}
@media (max-width: 575.98px){
	.mainvisual{
		overflow: hidden;
	}
	.mainvisual__text{
		margin-bottom: 15px;
	}
	.mainvisual__text-main:after{
		width: 80px;
		top: -44px;
		right: -30px;
	}
}
/**** mainvisual__hero ****/
.mainvisual__hero{
	margin-top: -87px;
	position: relative;
	z-index: 1;
}
.mainvisual__hero video{
	height: 100%;
	object-fit: cover;
	width: 100%;
	clip-path: ellipse(90% 50% at 50% 50%);
	min-height: 100vh;
	transition-delay: 1.0s!important;
}
@media (max-width: 991.98px) {
	.mainvisual__hero{
		margin-top: -130px;
	}
	.mainvisual__hero video{
		clip-path: ellipse(100% 50% at 50% 50%);
	}
}
@media (max-width: 575.98px){
	.mainvisual__hero {
		margin-top: -88px;
	}
	
	.mainvisual__hero video {
		clip-path: ellipse(130% 50% at 50% 50%);
		min-height: 70vh;
	}
}

/**** mainvisual__countries ****/
.mainvisual__countries{
	position: relative;
	z-index: 3;
}
.countries__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.countries__item.japan {transition-delay: 1.5s!important;}
.countries__item.southkorea {transition-delay: 1.6s!important;}
.countries__item.taiwan {transition-delay: 1.7s!important;}
.countries__item.china {transition-delay: 1.8s!important;}
.countries__item.usa {transition-delay: 1.9s!important;}

.countries__item a{
	font-family: var(--ff-crimson);
	position: relative;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--heading-color);
	text-decoration: none;
	color: var(--heading-color);
	border-radius: 30px;
	padding: 8px 30px 6px 20px;
	gap: 5px;
	line-height: 1;
	font-weight: 500;
	font-size: 3.0rem;
}
.countries__item.japan a{
	padding: 5px 30px 9px 20px;
	gap: 8px;
}
.countries__item a:after{
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px var(--heading-color);
	border-right: solid 1px var(--heading-color);
	top: 50%;
	right: 15px;
	transform: translateY(-50%) rotate(45deg);
	transition: all .15s ease;
}
.countries__item a:hover:after{
	right: 12px;
}
.countries__item img{
	width: 25px;
	display: inline-block;
}
.countries__item.japan img,
.countries__item.southkorea img{
	border: 0.5px solid #dcd8d8;
}
@media (min-width: 1400px) {
	.countries__item:not(.japan) img{
		margin-bottom: 2px;
	}
	.countries__item.japan img{
		margin-bottom: -2px;
	}
}
@media (max-width: 991.98px) {
	.mainvisual__countries{

		padding: 0 30px;
	}
}
@media (max-width: 767.98px) {
	
}
@media (max-width: 575.98px){
	.mainvisual__countries {
		padding: 0 15px;
	}
	.countries__list{
		gap: 5px;
	}
	.countries__item a{
		padding: 7px 25px 7px 15px;
		font-size: 1.8rem;
	}
	.countries__item.japan a{
		padding: 6px 25px 8px 15px;
	}
	.countries__item img{
		width: 20px;
	}
}

/*
 * top-content
 * -------------------------------------------------------------------
 */
.top-content{
	margin-top: 190px;
}
.page-heading{
	margin-bottom: 45px;
}
.page-heading__text-main{
	text-align: center;
	font-family: var(--ff-crimson);
	font-weight: 500;
	font-size: var(--fs-h1);
}
@media (max-width: 991.98px) {
	.page-heading__text-main{
		font-size: 5rem;
	}
}
@media (max-width: 575.98px){
	.page-heading{
		margin-bottom: 30px;
	}
	.page-heading__text-main{
		font-size: 3.7rem;
	}
}

/*
 * top-message
 * -------------------------------------------------------------------
 */



/*
 * top-message
 * -------------------------------------------------------------------
 */
#top-message{
	
}
#top-message .content__container{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: space-between;
	align-items: center;
}
.message__text-heading{
	margin-bottom: 30px;
}
.message__text{
	width: 45%;
}
.message__text-sub{
	color: #784E0A;
	font-size: 1.4rem;
	font-weight: 500;
	font-family: var(--ff-Roboto);
	margin-bottom: 15px;
}
.message__text-body{
	color: var(--font-color);
}
.message__text p{
	line-height: 1.9;
}
.message__text p:nth-of-type(n+2){
	margin-top: 1.2em;
}
.message__text-main{
	font-weight: 600;
	font-size: 3.5rem;
	font-family: var(--ff-notoSerif);
}
.message__image{
	width: 50%;
	position: relative;
}
.message__image.fadeInTop{
	transform: translateY(-40px);
}
.message__image.fadeInTop.is-animated{
	transform: rotate(5deg) translateY(0);
}
.message__image:before{
	position: absolute;
	content: '';
	background-image: url("../img/top-stamp_border.png");
	background-repeat: no-repeat;
	width: 200px;
	height: 100px;
	right: -30px;
	top: -40px;
	background-size: contain;
}
@media (max-width: 1199.98px) {
	#top-message{
		margin-top: 250px;
	}
	#top-message .content__container{
		/* justify-content: center; */
		/* flex-direction: column; */
		/* align-content: center; */
		/* align-items: end; */
	}
	.message__text{
		width: 70%;
		order: 2;
		margin: 0 0 0 auto;
	}
	.message__image{
		order: 1;
		width: 45%;
		transform: rotate(-5deg);
		/* margin: 0 70px 0 auto; */
	}
	.message__image.fadeInTop.is-animated{
		transform: rotate(-5deg) translateY(0);
	}
	.message__photo-image{
	}
}
@media (max-width: 991.98px) {
	#top-message .content__container{
		gap: 60px;
	}
	.message__image{
		width: 50%;
	}
}
@media (max-width: 767.98px) {
	.message__text{
		width: 90%;
	}
	.message__image {
		width: 70%;
	}
	.message__text-sub{
		font-size: 1.3rem;
	}
	.message__text-main{
		font-size: 3.0rem;
	}
}
@media (max-width: 575.98px){
	#top-message{
		margin-top: 150px;
		overflow: hidden;
	}
	#top-message .content__container{
		gap: 75px;
		align-items: center;
	}
	.message__text{
		width: 100%;
		order: 1;
	}
	.message__text-sub{
		font-size: 1.2rem;
	}
	.message__text-main {
		font-size: 2.3rem;
	}
	.message__image{
		width: 96%;
		order: 2;
	}
	.message__image.fadeInTop.is-animated{
		transform: rotate(2deg) translateY(0);
	}
	.message__image:before{
		width: 120px;
		top: -25px;
		transform: rotate(12deg);
	}
}