@charset "utf-8";

/*===========================================================
オープニング
===========================================================*/

/* --- アニメーションのスタイル --- */

/* アニメーション全体を覆うコンテナ */
.splash-screen {
  /* 画面全体に固定表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 999999; /* 他の要素より手前に表示 */
  
  /* ロゴを中央に配置するための設定 */
  display: grid;
  place-items: center;
  
  /* パネルがはみ出てもスクロールバーが出ないようにする */
  overflow: hidden;

  /* アニメーションを適用: 2秒かけてhide-splashを実行し、最後の状態を維持 */
  animation: hide-splash 2s forwards;
}

/* ロゴのスタイル */
.splash-logo {
  width: 300px; /* ロゴのサイズを調整 */
  z-index: 2; /* パネルより手前に表示 */
  
  /* アニメーションを適用: 2秒かけてfade-outを実行し、最後の状態を維持 */
  animation: fade-out 2s forwards;
}

/* 3分割パネルの親要素 */
.panels {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;


  /* ★配置方法を grid に変更 */
  display: grid;
  /* 均等な3つの列を作成 */
  grid-template-columns: 1fr 1fr 1fr;
}

/* 各パネルの共通スタイル */
.panel {
  /* ★変形の基点を「左端」に固定 */
  transform-origin: left;
}

/* パネルごとのスタイル */
.panel-1 {
  background-color: var(--light-black);
  animation: shrink-in-place 2s 0.2s forwards;
}
.panel-2 {
  background-color: var(--light-black);
  animation: shrink-in-place 2s 0.1s forwards;
}
.panel-3 {
  background-color: var(--light-black);
  animation: shrink-in-place 2s forwards;
}



/* --- キーフレーム（アニメーションの動きを定義） --- */

/* スプラッシュスクリーン全体を最後に非表示にする */
@keyframes hide-splash {
  0%   { visibility: visible; }
  99%  { visibility: visible; }
  100% { visibility: hidden; } /* 最後に非表示にして、下のコンテンツをクリックできるようにする */
}

/* ロゴをフェードアウトさせる */
@keyframes fade-out {
  0%   { opacity: 1; transform: scale(1); }
  50%  { opacity: 1; transform: scale(1); } /* 50%地点まで変化なし */
  100% { opacity: 0; transform: scale(0.8); } /* 50%から100%にかけて消えていく */
}

@keyframes shrink-in-place {
  0% {
    transform: scaleX(1); /* 開始時: 横幅100% */
  }
  50% {
    transform: scaleX(1); /* 50%地点まで変化なし */
  }
  100% {
    transform: scaleX(0); /* 最終的に横幅を0にする */
  }
}

/*===========================================================
ヘッダー
===========================================================*/

.header-inner-logo {
	display: none;
}

.header-inner-logo.en {
	display: none;
}

/*===========================================================
カバー
===========================================================*/

.cover {
    max-width: 170rem;
    width: 100%;
    margin: 0 auto;
	position: relative;
}

.cover::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0, 0, 0),rgba(51, 51, 51, 0.1), rgba(51, 51, 51, 0));
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 2;
}

.cover-logo-box {
    max-width: 28rem;
    width: 16.6%;
    position: absolute;
    top: 0.5rem;
    left: 3rem;
    z-index: 3;
}

.cover-reserve-area {
	max-width: 22rem;
	width: 100%;
	position: absolute;
	left: 6rem;
    bottom: 9.8rem;
	z-index: 3;
}

.en-US .cover-reserve-area {
	max-width: 23rem;
}

.cover-reserve-text {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--white);
	text-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.3);
	text-align: center;
}

.cover-reserve-area .tel-btn02 {
	margin: 3.4rem 0 0;
}

.cover-reserve-area .web-btn02 {
	margin: 3rem 0 0;
}

.cover-text-area {
	max-width: 90.8rem;
	width: 54.4%;
    display: flex;
    position: absolute;
    right: 3rem;
    bottom: 14rem;
	z-index: 3;
}

.en-US .cover-text-area {
	flex-direction: column;
}

.cover-text01 {
	font-size: 6.2rem;
    font-weight: 500;
	letter-spacing: 0.1em;
}

.cover-text02 {
	font-size: 4.3rem;
    font-weight: 500;
	letter-spacing: 0.1em;
}

.cover-illust-box01 {
	max-width: 43.4rem;
	width: 48%;
	position: absolute;
	right: 0;
	bottom: -2rem;
}

.cover-text-margin01 {
    margin: 0 1rem 0 0.1rem;
}

.cover-text-margin02 {
    position: relative;
    bottom: 2.5rem;
    margin: 0 0.6rem 0 1.4rem;
}

.cover-text-margin03 {
    margin: 0 0 0 0.8rem;
}

/*===========================================================
top01
===========================================================*/

.top01 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 10rem 0 0;
}

.top01-container {
    max-width: 158rem;
    width: 100%;
    margin: 0 auto 0 0;
}

.top01-area {
    max-width: 154rem;
    width: 100%;
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}

.top01-left {
    max-width: 99.6rem;
    width: 100%;
    margin: 0 -8rem 0 0;
    z-index: 1;
}

.top01-text-area {
    max-width: 67.8rem;
    width: 100%;
    margin: 0 0 0 auto;
}

.en-US .top01-text-area {
    max-width: 88.8rem;
}

.top01-text-box02 {
    margin: 3.2rem 0 0;
}

.top01-text-box02 .title01 strong:first-child {
	margin-left: 0;
}

.top01-illust-box01 {
    max-width: 50.1rem;
    width: 49.8%;
    margin: 5.3rem 0 0;
}

.top01-img-box {
    max-width: 62rem;
    width: 40.3%;
}

/*===========================================================
top02
===========================================================*/

.top02 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 9rem 0 0;
}

.top02-container {
    max-width: 165.7rem;
    width: 100%;
    margin: 0 auto 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top02-left {
    max-width: 110.8rem;
    width: 67%;
}

.top02-img-box01 {
    max-width: 96rem;
    width: 86.7%;
}

.top02-text-container01 {
	margin: -12.3rem 0 0 auto;
    padding: 7rem 2.5rem;
    max-width: 75.8rem;
    width: 93%;
    background: var(--light-black);
    position: relative;
    z-index: 1;
}

.top02-text-area01 {
    max-width: 61rem;
    width: 100%;
    margin: 0 auto;
}

.top02-text-box01 {
    margin: 3rem 0 0;
}

.top02-btn-area {
    margin: 6rem 0 0;
	width: 100%;
}

.top02-btn-area01  {
	width: 100%;
}

.top02-right {
    max-width: 35.2rem;
    width: 21.3%;
}

/*===========================================================
top03
===========================================================*/

.top03 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
	padding: 21.2rem 0 0;
}

.top03-container01 {
    max-width: 170.1rem;
    width: 100%;
    margin: 0 0 0 auto;
    position: relative;
}

.top03-img-box01 {
	max-width: 159.1rem;
    width: 100%;
    position: relative;
}

.top03-img-box01::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(51, 51, 51, 0.86) 10%, rgba(51, 51, 51, 0) 60%);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
	z-index: 1;
}

.top03-vertical-area {
    writing-mode: vertical-rl;
    text-orientation: upright;
	position: absolute;
	top: -4.9rem;
	left: 21%;
	z-index: 1;
	white-space: nowrap;   /* ← 自動改行を禁止（縦方向に1列で流れる） */
	height: auto;          /* 念のため */
	max-height: none;      /* 念のため */
	overflow: visible;     /* はみ出しても見えるように（必要なら） */
	z-index: 2;
}

.top03-vertical-area .title01 {
    letter-spacing: 0.4em;
}

.top03-vertical-area .title01 strong {
    letter-spacing: 0.4em;
}

.top03-vertical-box02 {
    margin: 0 3.6rem 0 3.3rem;
}

.top03-container02 {
    max-width: 151rem;
    width: 100%;
    margin: -9.5rem 0 0 auto;
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    z-index: 1;
}

.top03-img-box02 {
    max-width: 55.9rem;
    width: 37%;
}

.top03-illust-box01 {
    max-width: 26.2rem;
    width: 100%;
    margin: 0 3rem 0 auto;
}

.top03-text-area {
    max-width: 54.9rem;
    width: 45%;
    margin: 8.2rem -9.6rem 0 0;
    z-index: 1;
}

.top03-text-area .text01 {
    text-shadow: none;
}

.top03-text-box01 {
	margin: 3.6rem 0 0;
}

.top03-btn-area {
	margin: 7rem 0 0;
}

.top03-img-box03 {
    max-width: 35.5rem;
    width: 23%;
    margin: 24% auto 0 0;
}

/*===========================================================
top03 bogo
===========================================================*/

.en-US .top03-vertical-area {
	writing-mode: unset;
    text-orientation: unset;
	white-space: unset;
}

.en-US .top03-vertical-box02 {
	margin: 0;
}

.en-US .top03-vertical-box02 .title01 strong {
	margin: 0;
}

/*===========================================================
top04
===========================================================*/

.top04 {
    max-width: 192rem;
    width: 100%;
    margin: 15rem auto 0;
    padding: 0 1.8rem;
	background: url(../../../../uploads/top07.jpg)center / cover no-repeat;
}

.top04-container {
    max-width: 105rem;
    width: 100%;
    margin: 0 auto;
    padding: 9rem 1.5rem;
}

.top04-area {
    max-width: 69.9rem;
    width: 100%;
    margin: 0 auto;
}

.en-US .top04-area {
    max-width: 70.4rem;
}

.top04-title-area {
    max-width: 48.3rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
}

.top04-title-box02 {
    margin: 3rem 0 0;
	position: relative;
	z-index: 1;
}

.top04-illust-box {
    max-width: 48.3rem;
    width: 100%;
    position: absolute;
    top: 3rem;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.top04-text-area {
    margin: 7rem 0 0;
    text-align: center;
}

.top04-text-box02 {
	margin: 3.5rem 0 0;
}

.top04-text-box03 {
	margin: 3rem 0 0;
}

.top04-text-item01 {
	display: flex;
	align-items: center;
	justify-content: center;
}

/*===========================================================
top05
===========================================================*/

.top05 {
    max-width: 192rem;
    width: 100%;
    margin: -3rem auto 0;
}

.top05-btn-area {
    margin: 7rem 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

/*===========================================================
top06
===========================================================*/

.top06 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 15rem 0 13rem;
}

.top06-container01 {
    max-width: 168.7rem;
    width: 100%;
    margin: 0 0 0 auto;
}

.top06-area01 {
    max-width: 134.7rem;
    width: 100%;
    display: flex;
    align-items: center;
}

.top06-img-box01 {
    max-width: 92.3rem;
    width: 100%;
    position: relative;
}

.top06-img-box01::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.86)14%, rgba(51, 51, 51, 0)60%);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.top06-title-area {
    max-width: 73.3rem;
    width: 100%;
    margin: 0 0 -9rem -29.6rem;
    position: relative;
    z-index: 1;
}

.top06-title-set {
    max-width: 55.4rem;
    width: 84%;
    margin: 0 0 0 auto;
}

.en-US .top06-title-set {
    max-width: 64.4rem;
}

.top06-title-box01 .title01 strong {
	margin-left: 0;
}

.top06-title-box02 {
	margin: 3rem 0 0;
}

.top06-illust-box01 {
    margin: 1.2rem 0 0;
    max-width: 31rem;
    width: 100%;
}

.top06-title-box02 .title01 br {
	display: none;
}

.top06-container02 {
    max-width: 172.7rem;
    width: 100%;
    margin: 0 auto 0 0;
}

.top06-area02 {
    max-width: 137.7rem;
    width: 100%;
    margin: 0 0 0 auto;
    padding: 10.4rem 0 0;
    display: flex;
    justify-content: space-between;
}

.top06-text-area {
	margin: 0 -6.2rem 0 0;
    max-width: 61rem;
    width: 46%;
}

.top06-text-area .text01 {
	text-shadow: none;
}

.top06-btn-area {
    margin: 7rem 0 0;
}

.top06-img-area {
	margin: 9% 0 0;
    max-width: 82.9rem;
    width: 60.2%;
}

.top06-img-box02 {
    max-width: 64rem;
    width: 77.2%;
    margin: 0 0 0 auto;
    position: relative;
    z-index: 1;
}

.top06-img-box03 {
    max-width: 27.9rem;
    width: 33.6%;
    margin: -20.1rem 0 0;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1920px) {


/*===========================================================

===========================================================*/



}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1550px) {


/*===========================================================
カバー
===========================================================*/

.cover-text01 {
	font-size: 5.9rem;
}

}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1024px) {

/*===========================================================
カバー
===========================================================*/

	.cover-text01 {
		font-size: 3.6rem;
	}

	.cover-text02 {
		font-size: 2.5rem;
	}

/*===========================================================
top01
===========================================================*/

	.en-US .top01-left {
		margin: 0 -28rem 0 0;
	}

/*===========================================================
top03
===========================================================*/

	.top03-text-area {
		margin: 27.2rem -9.6rem 0 0;
	}

	.top03-img-box03 {
		margin: 34% auto 0 0;
	}

/*===========================================================
top04
===========================================================*/

	.top04 {
		background: url(../../../../uploads/top07.jpg) center / 120rem 90rem no-repeat;
	}

/*===========================================================
top06
===========================================================*/


	.top06-container02 {
		padding: 0 2.5rem;
	}

	.top06-text-area .text01 br {
		display: none;
	}

	.top06-img-area {
		margin: 25% 0 0;
	}


	.en-US .top06-title-area {
		margin: 0 0 -9rem -40.6rem;
	}

} 


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 768px) {

	.header {
		padding: 1.6rem 1.5rem 1.6rem 0;
	}

	.header-area {
		padding: 0;
	}

	.header.clone .header-area {
		padding: 0 0 0 1.5rem;
	}

	.header.clone .header-inner-logo.en {
		display: none !important;
	}

	.en-US .header.clone .header-inner-logo {
		display: none !important;
	}

	.en-US .header.clone .header-inner-logo.en {
		display: block !important;
	}

/*===========================================================
カバー
===========================================================*/

	.cover-wrapper {
		height: 60rem;
	}

	.cover-logo-box {
		display: none;
	}

	.cover-reserve-area {
		display: none;
	}

	.main-visual-img-sp {
        position: relative;
        min-height: 60rem;
    }

	.main-visual-img-sp img {
		justify-content: center;
		align-items: center;
		position: absolute;
		display: flex;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		max-height: 100%;
		height: 100% !important;
		max-width: 100%;
		width: 100%;
		margin: auto;
		object-fit: cover;
	}

	.cover-text-area {
        max-width: 33.4rem;
        width: 100%;
        margin: auto;
        flex-direction: column;
		bottom: 5rem;
        right: 0;
        left: 0;
	}

	.en-US .cover-text-area {
        max-width: 47.4rem;
	}

	.cover-text-box02 {
		display: inline-block;
		margin: 0 0 0 2.8rem;
	}

	.cover-text-margin02 {
		bottom: 1rem;
	}

/*===========================================================
top01
===========================================================*/

	.top01 {
		padding: 6rem 0 0;
	}

	.top01-area {
		flex-direction: column;
	}

	.top01-left {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}

    .en-US .top01-left {
        margin: 0 auto;
    }

	.top01-text-area {
		margin: 0 auto;
	}

	.top06-title-set {
		max-width: 38.4rem;
	}

	.top01-text-box02 {
		margin: 1rem 0 0;
	}

	.top01-illust-box01 {
		margin: 3rem 0 0;
		max-width: 29.6rem;
		width: 100%;
	}

	.top01-img-box {
		margin: -2rem 0 0;
		max-width: 100%;
		width: 100%;
	}

/*===========================================================
top02
===========================================================*/

	.top02 {
		padding: 5rem 0 0;
	}

	.top02-container {
		flex-direction: column;
		justify-content: center;
	}

	.top02-left {
		max-width: 100%;
		width: 100%;
	}

	.top02-text-container01 {
		margin:  -2.5rem 0 0 auto;
		padding: 3rem 2.5rem;
		width: 78%;
	}

	.top02-text-area01 .text01 br {
		display: none;
	}

	.top02-right {
		margin: 4rem 0 0;
		max-width: 100%;
		width: 100%;
	}

	.top02-img-box02 {
		max-width: 35.2rem;
		width: 100%;
		margin: 0 0 0 auto;
	}

	.top02-text-container02 {
		margin: -22rem 0 0;
		padding: 3rem 2.5rem;
		width: 62%;
		background: var(--light-black);
		position: relative;
		z-index: 1;
	}

	.top02-btn-area01 {
		margin: 10rem 0 0;
		display: flex;
		justify-content: center;
	}

/*===========================================================
top03
===========================================================*/

	.top03 {
		padding: 13rem 0 0;
	}

	.top03-container02 {
		display: grid;
    	margin: -2.5rem 0 0 auto;
	}

	.top03-text-area {
		display: contents;
	}

	.top03-illust-box01 {
		order: 1;
	}

	.top03-img-box02 {
        margin: 1.7rem 0 0 auto;
        order: 2;
	}

	.top03-text-box01 {
		padding: 0 2.5rem;
		order: 3;
	}

	.top03-text-box02 {
		padding: 0 2.5rem;
		order: 4;
	}

	.top03-img-box03 {
		margin: 3rem 0 0;
		order: 5;
	}

	.top03-btn-area {
		display: flex;
		justify-content: center;
		order: 6;
	}

	.top03-vertical-area {
		top: -7.3rem;
		left: 17%;
	}

	.top03-vertical-box02 {
		margin: 0 1.5rem;
	}

/*===========================================================
top04
===========================================================*/

	.top04 {
		margin: 7rem 0 0;
	}


	.top04 {
		background: url(../../../../uploads/top07.jpg) center / 110rem 80rem no-repeat;
	}

/*===========================================================
top06
===========================================================*/

	.top06 {
		padding: 10rem 0 8rem;
	}

	.top06-container02 {
		padding: 0;
	}

	.top06-title-area { 
		margin: 0 0 -25rem -31.3rem;
	}

	.top06-title-area .title01 strong {
		margin-left: 0;
	}

	.top06-title-box02 {
		margin: 0;
	}

	.top06-title-box02 .title01 {
		margin: 1rem 0 0;
	}

	.top06-title-box02 .title01 strong {
		position: relative;
		top: 1rem;
	}

	.top06-title-box02 .title01 b {
		position: relative;
		top: 1rem;
	}

	.top06-title-box02 .title01 br {
		display: block;
	}

	.top06-area02 {
		flex-direction: column;
	}

	.top06-text-area {
		display: contents;
	}

	.top06-text-area .text01 {
		margin: 0.3rem 0 0;
		padding: 0 2.5rem;
		order: 1;
	}

	.top06-btn-area {
		margin: 4rem 0 0;
		display: flex;
		justify-content: center;
		order: 3;
	}

	.top06-img-area {
		margin: 3rem auto 0 0;
		width: 100%;
		order: 2;
	}

} 


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 576px) {

	.en-US .cover-text-area {
		max-width: 39.4rem;
	}

    .en-US .cover-text01 {
		font-size: 3rem;
	}

    .en-US .cover-text02 {
		font-size: 2.1rem;
	}

/*===========================================================
オープニング
===========================================================*/

/* ロゴのスタイル */
.splash-logo {
	width: 150px; /* ロゴのサイズを調整 */
}

/*===========================================================
top01
===========================================================*/

	.top01-left {
		max-width: 33rem;
	}

	.top01-text-box02 .title01 strong:first-child {
		margin-right: 0;
	}

	.top01-illust-box01 {
        margin: 3rem 0 0 -11rem;
    }

/*===========================================================
top02
===========================================================*/

	.top02-img-box01 {
		min-height: 18.6rem;
		position: relative;
	}

	.top02-img-box01 img {
		justify-content: center;
		align-items: center;
		position: absolute;
		display: flex;
		top: 0;
		right: 0;
		bottom: 0;
		max-height: 100%;
		height: 100% !important;
		max-width: 100%;
		width: 100%;
		margin: auto;
		object-fit: cover;
	}

	.top02-text-container02 {
		margin: -18rem 0 0;
	}

	.top02-img-box02 {
		max-width: 21.2rem;
	}

	.top02-btn-area01 {
		margin: 6rem 0 0;
	}

/*===========================================================
top03
===========================================================*/

	.top03-vertical-box01 .title01 {
		font-size: 2rem;
	}

	.top03-vertical-box02 .title01 strong,
	.top03-vertical-box03 .title01 strong {
		margin: 0;
	}

	.top03-img-box01 {
		min-height: 16.2rem;
		position: relative;
	}

	.top03-img-box01 img {
		justify-content: center;
		align-items: center;
		position: absolute;
		display: flex;
		top: 0;
		right: 0;
		bottom: 0;
		max-height: 100%;
		height: 100% !important;
		max-width: 100%;
		width: 100%;
		margin: auto;
		object-fit: cover;
	}

	.top03-illust-box01 {
		max-width: 16.7rem;
	}

	.top03-img-box02 {
		max-width: 22.8rem;
		width: 100%;
	}

	.top03-img-box03 {
		max-width: 18.8rem;
		width: 100%;
	}

	.top03-text-box02 .text01 br {
		display: none;
	}

/*===========================================================
top04
===========================================================*/

    /* .top04 {
        background: url(../../../../uploads/top07.jpg) center / 70rem 80rem no-repeat;
    } */

    .top04 {
        background: url(../../../../uploads/top07.jpg) center / 60rem 40rem no-repeat;
    }

	.en-US .top04-container {
		padding: 4rem 1.5rem;
	}

	.top04-text-area .text01 br {
		display: none;
	}

	.top04-illust-box {
		max-width: 24.5rem;
	}

	.top04-title-box02 {
		margin: 1rem 0 0;
	}

	.top04-text-item01 {
		flex-direction: column;
	}


/*===========================================================
top06
===========================================================*/

	.top06-img-box01 {
		max-width: 32rem;
	}

    .top06-title-area {
        margin: 0 0 -10.7rem -27.5rem;
        max-width: 33.3rem;
    }

	.en-US .top06-title-area {
		margin: 0 0 -17.7rem -26.5rem;
		max-width: 44rem;
	}

	.top06-title-set {
		max-width: 23.3rem;
	}

	.top06-illust-box01 {
		margin: 0;
		max-width: 20.5rem;
	}

	.top06-area02 {
		padding: 5.6rem 0 0;
	}

	.en-US .top06-area02 {
		padding: 9.6rem 0 0;
	}

	.top06-img-box03 {
		margin: -8.3rem 0 0;
	}

	.en-US .top06-title-set {
		width: 100%;
	}

    .en-US .top06-title-box02 .title01 {
        font-size: 1.9rem;
    }

    .en-US .top06-title-box02 .title01 strong {
        font-size: 2.2rem;
    }

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 414px) {


/*===========================================================

===========================================================*/

/*===========================================================
top02
===========================================================*/

	.top02-text-container02 {
		margin: -15rem 0 0;
	}

	.top02-img-box02 {
		max-width: 17.7rem;
	}

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */