@import 'https://fonts.googleapis.com/css?family=Montserrat:700,regular,italic,700italic&display=swap';
@import 'https://fonts.googleapis.com/css?family=Noto+Sans+JP:regular,700&display=swap';
@import 'https://fonts.googleapis.com/css?family=Roboto+Condensed:700,regular,italic,700italic&display=swap';

@media only screen and (min-width: 1025px) {
#pc { display: block !important; }
#tb { display: none !important; }
#sp { display: none !important; }
}
@media only screen and (max-width: 1024px) and (min-width: 481px) {
#pc { display: none !important; }
#tb { display: block !important; }
#sp { display: none !important; }
}
@media only screen and (max-width: 480px) {
#pc { display: none !important; }
#tb { display: none !important; }
#sp { display: block !important; }
}

body {
	background-color: #FFFFFF;
	margin: 0;
	padding: 0;
	color: #000;
    xbackground: linear-gradient(-45deg, #bbae88, #e5ddca, #ffffff, #F2EFE5);
    xbackground-size: 400% 400%;
    xanimation: gradient 15s ease infinite;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3x, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
	padding-right: 15px;
	padding-left: 15px; /* div 自体ではなく div 内でエレメントの両側に余白を追加すると、ボックスモデル計算が不要になります。代わりに、両側に余白を指定した div をネストして使用することもできます。 */
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}

/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color:#414958;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #000000;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	cursor: hand;
	text-decoration: underline;
	color: #960;
}
.bigttext {
	font-family: "Klee One", cursive;
	font-size: 200%;
	font-weight: 500;
	color: #333;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
	display: block;
}

/* ~~ このコンテナが他のすべての div を囲み、パーセンテージに基づいた幅を指定します。~~ */

html {
    scroll-behavior: smooth;
	/* 下２つの数字は環境似合わせて変えてね */
  /* 95px：変数が取得できなかった場合の初期値 */
  /* 20px：スクロール時の上部のゆとり */
    scroll-padding-top: calc((var(--headerHeight, 95px)) + 20px); 
}
section {
  position: relative;
}
.anchor-offset {
  position: absolute;
  height: 80px;
  top: -80px;
  visibility: hidden;
}
.pagetop {
	height: 50px;
	width: 50px;
	position: fixed;
	right: 30px;
	bottom: 30px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	background-color: #bbae88;
}

.pagetop__arrow {
	height: 10px;
	width: 10px;
	transform: translateY(20%) rotate(-45deg);
	border-top-width: 3px;
	border-right-width: 3px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #FFF;
	border-right-color: #FFF;
}

/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

.container {
	width: 100%;
	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。.container の幅を 100% に設定した場合、これは必要ありません。 */
}

.x-navibar {
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: fixed;
	topx: 0px;/*自分が固定したい位置(例は上から0pxの位置)*/
	height: 160px;
	background-color: rgb(255,255,255,1);
	color: #000;
	z-index: 999;
}
.navibar {
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: fixed;
	topx: 0px;/*自分が固定したい位置(例は上から0pxの位置)*/
	height: 160px;
	background-color: #FFFFFF;
	opacity: 0.8;
	color: #000;
	z-index: 1;
}
.logo {
	margin-top: 30px;
	margin-left: 30px;
}
.menu {
	font-family: "Klee One", cursive;
	font-size: 120%;
	color: #000;
	text-align: right;
	margin-top: 30px;
	margin-right: 30px;
	word-spacing: 1em;
}
.menu a{
	text-decoration: none;
}
.nav_right{
	display: flex;
	justify-content: space-between;
}


/* ハンバーガーメニューのスタイル */
.hamburger {
	position: fixed;
	top: 30px;
	right: 30px;
	width: 50px;
	cursor: pointer;
	z-index: 10; /* メニューより前に表示 */
}

.hamburger span {
	display: block;
	height: 2px;
	width: 100%;
	background-color: #bbae88;
	transition: 0.4s;
	margin-top: 15px;
	margin-right: 0;
	margin-bottom: 15px;
	margin-left: 0;
}

/* メニューのスタイル */
.hammenu {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	background-color: #FFFFFF;
	opacity: 0; /* 初期状態は透明 */
	pointer-events: none; /* クリック不可 */
	transition: opacity 1.5s ease;
	box-sizing: border-box;
	z-index: 5;
	margin: 0px;
	padding-top: 80px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 20px;
	width: 400px;
}
.hammenu ul {
	margin-left: 15px;
	margin-top: 50px;
	list-style-type: none;
}
.hammenu li {
	font-family: "Klee One", cursive;
	font-size: 130%;
	line-height: 20px;
	color: #333;
	text-align: left;
	margin-top: 20px;
	margin-bottom: 0px;
	letter-spacing: 0.3em;
}
.hammenu li a {
	text-decoration: none;
}
.hammenu_title {
	font-family: "Times New Roman", Times, serif;
	color: #bbae88;
	text-align: center;
	margin: 0px;
	padding: 0px;
}

/* メニューが開いたとき */
.hammenu.open {
  opacity: 1; /* 不透明にする */
  pointer-events: auto; /* クリック可能にする */
}

/* バツ印に変わるハンバーガーボタン */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(18px, 18px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0; /* 真ん中の線を透明にする */
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

.header {
	height: 100vh;
	color: white;
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	background-size: cover;
	background-image: url(../images/top_main_01_aiarty_D20251205223624.jpeg);
	background-repeat: no-repeat;
	background-position: center center;
	justify-content: center;
	flex: 1;
	margin-right: auto;
	margin-left: auto;
}
.header::after{
	content: "";
	background-image: url(../images/wave.svg);
	background-repeat: repeat;
	width: 100%;
	height: 300px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.header__title {
	width: 1260px;
	max-width: 1260px;
	min-width: 780px;
	margin-right: auto;
	margin-left: auto;
	font-family: "Klee One", cursive;
	font-size: 500%;
	font-weight: normal;
	color: #FFF;
	text-align: center;
	line-height: 40px;
}
.header__title_tb {
	width: 100%;
	max-width-x: 780px;
	min-width-x: 480px;
	margin-right: auto;
	margin-left: auto;
	font-family: "Klee One", cursive;
	font-size: 200%;
	font-weight: normal;
	color: #FFF;
	text-align: center;
	line-height: 40px;
}
.header__title_sp {
	width: 100%;
	max-width-x: 780px;
	min-width-x: 480px;
	margin-right: auto;
	margin-left: auto;
	font-family: "Klee One", cursive;
	font-size: 200%;
	font-weight: normal;
	color: #FFF;
	text-align: center;
	line-height: 40px;
}
.headunder {
	width: 1260px;
	max-width: 1260px;
	min-width: 780px;
	margin-right: auto;
	margin-left: auto;
	background-color: #0FF;
}
.headunder_tb {
	width: 100%;
	max-width-x: 780px;
	min-width-x: 480px;
	margin-right: auto;
	margin-left: auto;
	background-color: #0FF;
}
.headunder_sp {
	width: 100%;
	max-width-x: 780px;
	min-width-x: 480px;
	margin-right: auto;
	margin-left: auto;
	background-color: #0FF;
}
