@charset "utf-8";

/*** 共通設定 ***/

html　{
	font-size: 100%;
}

body {
	font-family:"Zen Maru Gothic", "游ゴシック Demibold", "Yu gothic Demibold";
	color: #fef7ed;
	background-color: #79a7d9;
	line-height: 1.7;
	font-size: ;
}

img {
	max-width:100%;
	}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/*ローディング　設定*/
.loader {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 999;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.loading_logo {
  width: 300px;
}

.fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
}
  
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*ローディング設定　ここまで*/


/*スマホ版　設定*/
/* CSSコード */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  background: #fef7ed;
}

.logo {
  font-size: 16px;
  padding-top:10px;
}

.logo img {
	width: 120px;
　　height: auto;
	}

/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #79a7d9 ;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

 
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  transition: .5s;
  padding-top: 50px
}

/*menu link　設定*/

.nav_item {
	margin-left: 50px;
	line-height: 3.0;
	}

/*中央から下線*/
.nav_item a {
	text-decoration: none; /* リンクの下線を消す */
	position: relative; /* 擬似要素の基準位置 */
	color:#79a7d9;
	padding-bottom:10px;
}

.nav_item a::before {
	content: "";
	position: absolute;
	left: 50%; /* 中央から開始 */
	bottom: 0; /* リンクテキストの下に表示 */
	width: 0;
	height: 2px; /* 下線の太さ */
	background-color: #79a7d9; /* 下線の色 */
	transition: all 0.4s ease; /* アニメーション効果 */
}

.nav_item a:hover::before {
	width: 100%; /* 下線を全体に広げる */
	left: 0; /* 左端から始まるように設定 */
}

/*menu linkここまで　設定*/

/*snsアイコン*/
.sns {
	margin-left: 50px;
	margin-top: 20px;
	}

.sns img {
	width: 25px;
	height: auto;
	margin-right: 5px;
	}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}

/* メニューここまで */

/* 追従ボタン */
.fixed_btn
{
  position: fixed;
  bottom: 10px; 
  right: 10px;
  padding: 6px 10px;
}

.fixed_btn img {
	width: 80px;
}

html { scroll-behavior: smooth;}


/*メニュー リンクここまで　スマホ版*/

/* タイトル スマホ版*/
#title  {
	padding-top:100px;
	text-align:center;
	width: px;
	}
	
#title img {
	padding-top: ;
	padding-bottom: 20px;
	width: 190px;
	}

/* top画 スマホ版*/

#top_e {
	text-align: center;
	}
	
#top_e img{
	padding-bottom: 4rem;
	padding-top: 4rem;
	width: 400px;
	}
	
	
#news {
	text-align: center;
	padding-bottom: 180px;
	color:#fef7ed;
	}	
	
.news_link {
	margin-top: 20px;
	margin-bottom: 20px;
	}		

.main2_box {
	padding-top: 50px;
	padding-bottom: 50px;
	color: #fef7ed;
}

.main2_box {
	text-align: center;
	padding-bottom :50px;
}
	
.main2_box img {
	padding-top: 50px;
	padding-bottom :10px;
	
}
/*メインリンク用　矢印（右に移動して背景がつく）スマホ版*/
.link a{
	--arrow-color: #fef7ed;
	position: relative;
	border: 1px solid var(--arrow-color);
	color: var(--arrow-color);
	text-decoration: none;
	padding: 8px 30px;
	display: inline-block;
	text-align: center;
	transition: all .2s linear;
}

.link a:hover{
	background:#fef7ed;
	color:#79a7d9;
}

.link a::before {
	border-bottom: 1px solid var(--arrow-color);
	border-right: 1px solid var(--arrow-color);
	content: '';
	height: 10px;
	position: absolute;
	top:calc(50% - 10px);
	right:-20px;
	transform: skewX(50deg);
	width:40px;
	transition: all .3s; /*なめらかな動き*/
}

/*hoverした際の移動*/

.link a:hover::before {
	right:-25px;
}

/*メインリンク用　矢印ここまで（右に移動して背景がつく）スマホ版*/


/*　BOX　絵 左  スマホ版 */
.images_left {
	padding-top: 150px;
	}

.images_left img {
	width: 200px;
	}
	
/*　BOX　絵 右  スマホ版 */
.images_right {
		padding-top: 150px;
	}


.images_right img {
	width: 200px;
	}


/*footer スマホ版*/	
#footer {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 ;
	
	color: #fef7ed;
}
	

/*罫線 スマホ版*/
.keisen {
	text-align:center;
}
	
.keisen img {
	width: 90%;
		padding-top: 100px;
}

/*　footer ロゴ  スマホ版 */	
.footer_logo1  {
	text-align:center;
	}	

.footer_logo1 img {
	padding-top: 20px;
	padding-bottom: 10px;
	width:150px;
	}	
				
/*　sns リンクBOX  スマホ版 */

.sns_box {
	max-width: 600px;
	margin-left: 35px;
	}
		
.sns {
	display: flex;
	}

.sns img {
	padding-top: 0px;
	padding-right: 15px;
	width: 30px;
	}

.copy {
	font-size: 12px;
	padding-top: 40px;
	padding-bottom: 30px;
	text-align: center;
}


/* デスクトップ版 (リンク消し用)--------------------------------*/


@media screen and (max-width: 800px)  {

/* 800pxまでの幅の場合に適応される */


.fixed_btn2 {
	display:none;
}

.fixed_btn2 img {
	display:none;
}

.footer_logo {
	display:none;
}

}

/* ipad mini版 (768)--------------------------------*/

@media screen and (min-width:768px) { 

/*　画面サイズが768pxからはここを読み込む　*/
	

/*footer　罫線 ipad mini版*/
.keisen {
	text-align:center;
}
	
.keisen img {
	width: 90%;
	padding-top: 100px;
}

/*　BOX  ipad mini版 */	
.footer_logo1  {
	text-align:center;
	}	

.footer_logo1 img {
	padding-top: 20px;
	padding-bottom: 10px;
	width:200px;
	}	
				
/*　sns リンクBOX  ipad mini版 */

.sns_box {
	max-width: 600px;
	margin-left: 222px;
	}
		
.sns {
	display: flex;
	}

.sns img {
	padding-top: 0px;
	padding-right: 15px;
	width: 30px;
	}

.copy {
	font-size: 12px;
	padding-top: 40px;
	padding-bottom: 30px;
	text-align: center;
}

}


/* ipad_pc版  (800)--------------------------------*/

@media screen and (min-width:800px) { 

    /*　画面サイズが800pxからはここを読み込む　*/
	
	
.header{
	display:none;
		}	
.fixed_btn {
	display:none;
}



.wrapper {
	max-width: 1000px;
	margin: auto;
	padding: 0 1.5rem;
}


/*メインリンク */	


.fixed_btn2 {
  position: fixed;
  bottom: 10px; 
  right: 10px;
  padding: 6px 30px;
}

.fixed_btn2 img {
	width: 120px;
}

.fixed_btn2　li{
  list-style:none;
}

html { scroll-behavior: smooth;}

/*ロゴ部分リンク設定*/

.nav_item21 {
	margin-left: 50px;
	line-height: 3.0;
	}


.nav_item21 a {
	text-align:left;
	text-decoration: none; /* リンクの下線を消す */
	position: relative; /* 擬似要素の基準位置 */
	color:#fef7ed;
	padding-bottom:10px;
}

/*文字のリンク設定*/

.nav_item2 {
	margin-left: 50px;
	line-height: 3.0;
	}

/*中央から下線*/
.nav_item2 a {
	text-align:left;
	text-decoration: none; /* リンクの下線を消す */
	position: relative; /* 擬似要素の基準位置 */
	color:#fef7ed;
	padding-bottom:10px;
}

.nav_item2 a::before {
	content: "";
	position: absolute;
	left: 50%; /* 中央から開始 */
	bottom: 0; /* リンクテキストの下に表示 */
	width: 0;
	height: 2px; /* 下線の太さ */
	background-color: #fef7ed; /* 下線の色 */
	transition: all 0.4s ease; /* アニメーション効果 */
}

.nav_item2 a:hover::before {
	width: 100%; /* 下線を全体に広げる */
	left: 0; /* 左端から始まるように設定 */
}

html { scroll-behavior: smooth;}

/*メニュー リンクここまで*/

.main1_box {
	max-width: 500px;
	margin: 0 auto;
	padding: 0 1.5rem;
	}


/* タイトル 　ipad_pc 版 */
#title  {
	padding-top:100px;
	text-align:center;
	width: px;
	}
	
#title img {
	padding-top: ;
	padding-bottom: 20px;
	width: 190px;
	}

/* top画 ipad_pc 版 */

#top_e {
	text-align: center;
	}
	
#top_e img{
	padding-bottom: 4rem;
	padding-top: 4rem;
	width: 600px;
	}
	
/*ニュースリンク　ipad_pc 版 */	
.news_link {
	margin-top: 50px;
	margin-bottom: 50px;
	}	
	
/*　メイン */
	
/*BOX 版(幅)*/
.main2_box {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1.5rem;
	}

/*　BOX　絵 左  ipad_pc 版 */
.images_left {
	padding-top:2px;
	padding-left: 20px;
	}

.images_left img {
	float:left;
	width: 230px;
	}
	
/*　BOX　絵 右  ipad_pc 版  */
.images_right {
	padding-top: 2px;
	padding-right: 20px;
	}

.images_right img {
	float:right;
	padding-top: 50px;
	padding-right: 50px;

	width: 230px;
	}

/* リンク BOX 左  ipad_pc 版  */
.link_left　{
	padding-top: 0px;
	padding-right: 0px;
	}

/* リンク BOX 右  ipad_pc 版  */
.link_right　{
	margin-top: 0px;
	margin-bottom: 0px;
	}

/* about ipad_pc 版 */
.box_about{
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 10px;
	margin-bottom: 350px;

	width: 620px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

.about_t {
	padding-top: 0px;
	padding-bottom: 10px;
	}

/* about　説明box　親　右 ipad_pc 版 */	
.box_about2 {
    margin-left: 300px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px  #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
			
/*character  ipad_pc版*/	
.box_chara {	
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 0px;
	margin-bottom: 350px;
	
	width: 620px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/*character 説明　親　左 ipad_pc 版*/	
.box_chara2 {
    margin-left: 25px;
	margin-right: px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}	
	
/* works ipad air版*/
.box_work{
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 620px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* works　説明box　親　右 ipad_pc 版*/	
.box_work2 {
    margin-left: 300px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
		
/* shop ipad_pc版*/
.box_shop {
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 620px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* shop　説明box　親　右 ipad_pc版*/	
.box_shop2{
    margin-left: 25px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* contact ipad_pc 版*/	
.box_cont {
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 620px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* contact 説明　親　左 ipad_pc版 */	
.box_cont2  {
    margin-left: 300px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
		

	
/* footer  ipad_pc版*/	
#footer {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1.5rem;
	
	color: #fef7ed;
}
	
/*罫線 ipad_pc版*/
.keisen {
	text-align:left;
}
	
.keisen img {
	width: 80%;
	padding-bottom: 10px;
	padding-right: 20px;
}
		
			
/*　sns リンクBOX  ipad_pc版 */
.sns_box {
	max-width: 650px;
	}
		
.sns {
	display: flex;	
	padding-right: 50px;
	justify-content: center;
	}

.sns img {
	padding-top: 10px;
	padding-right: 20px;
	width:30px;
	}
	
.footer_logo1  {
		float: left;
}		
	
.footer_logo1 img {
	margin-top: 5px;
	margin-left: 50px;
	margin-right: 10px;
	width:180px;
}	
	

.copy {
	font-size: 12px;
	padding-top: 80px;
	padding-bottom: 30px;
	text-align: center;
}
	
	
}




/* デスクトップ版 (1000)--------------------------------*/

@media screen and (min-width:1000px) { 

    /*　画面サイズが1000pxからはここを読み込む　*/
	
	
.header{
	display:none;
		}	
.fixed_btn {
	display:none;
}


.wrapper {
	max-width: 1000px;
	margin: auto;
	padding: 0 1.5rem;
}


/*メインリンク */	

.fixed_btn2 {
  position: fixed;
  bottom: 10px; 
  right: 10px;
  padding: 6px 30px;
}

.fixed_btn2 img {
	width: 120px;
}

.fixed_btn2　li{
  list-style:none;
}

html { scroll-behavior: smooth;}

/*ロゴ部分リンク設定*/

.nav_item21 {
	margin-left: 50px;
	line-height: 3.0;
	}


.nav_item21 a {
	text-align:left;
	text-decoration: none; /* リンクの下線を消す */
	position: relative; /* 擬似要素の基準位置 */
	color:#fef7ed;
	padding-bottom:10px;
}

/*文字のリンク設定*/

.nav_item2 {
	margin-left: 50px;
	line-height: 3.0;
	}

/*中央から下線*/
.nav_item2 a {
	text-align:left;
	text-decoration: none; /* リンクの下線を消す */
	position: relative; /* 擬似要素の基準位置 */
	color:#fef7ed;
	padding-bottom:10px;
}

.nav_item2 a::before {
	content: "";
	position: absolute;
	left: 50%; /* 中央から開始 */
	bottom: 0; /* リンクテキストの下に表示 */
	width: 0;
	height: 2px; /* 下線の太さ */
	background-color: #fef7ed; /* 下線の色 */
	transition: all 0.4s ease; /* アニメーション効果 */
}

.nav_item2 a:hover::before {
	width: 100%; /* 下線を全体に広げる */
	left: 0; /* 左端から始まるように設定 */
}

html { scroll-behavior: smooth;}

/*メニュー リンクここまで*/

.main1_box {
	max-width: 500px;
	margin: 0 auto;
	padding: 0 1.5rem;
	}


/* タイトル 　PC版*/
#title  {
	padding-top:100px;
	text-align:center;
	width: px;
	}
	
#title img {
	padding-top: ;
	padding-bottom: 20px;
	width: 190px;
	}

/* top画 */

#top_e {
	text-align: center;
	}
	
#top_e img{
	padding-bottom: 4rem;
	padding-top: 4rem;
	width: 65%;
	}
	
/*ニュースリンク　PC版*/	
.news_link {
	margin-top: 50px;
	margin-bottom: 50px;
	}	
	
/*　メイン */
	
/*BOX PC版(幅)*/
.main2_box {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1.5rem;
	}
	
/*　BOX　絵 左  PC版 */
.images_left {
	padding-top:2px;
	padding-left: 80px;
	}

.images_left img {
	float:left;
	width: 230px;
	}
	
/*　BOX　絵 右 PC版 */
.images_right {
	padding-top: 2px;
	padding-right: 20px;
	}

.images_right img {
	float:right;
	width: 230px;
	}
	

/* リンク BOX 左  PC版 */
.link_left　{
	padding-top: 0px;
	padding-right: 0px;
	}

/* リンク BOX 右  PC版 */
.link_right　{
	margin-top: 0px;
	margin-bottom: 0px;
	}

/* about PC版*/
.box_about{
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 10px;
	margin-bottom: 350px;

	width: 750px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}


/* about　説明box　親　右 PC版*/	
.box_about2 {
    margin-left: 400px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px  #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
		
	
/*character PC版*/	
.box_chara {	
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 0px;
	margin-bottom: 350px;
	
	width: 750px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/*character 説明　親　左 PC版*/	
.box_chara2 {
    margin-left: 25px;
	margin-right: px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}

	
/* works PC版*/
.box_work{
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 750px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* works　説明box　親　右 PC版*/	
.box_work2 {
    margin-left: 390px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
				
	
/* shop PC版*/
.box_shop {
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 750px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* shop　説明box　親　右 PC版*/	
.box_shop2{
    margin-left: 25px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* contact PC版*/	
.box_cont{
    margin-left: 0px;
	margin-right: 0px;
	margin-top: 200px;
	margin-bottom: 350px;
	
	width: 750px;
	height: 350px;
    border: solid 3px #fef7ed;/*線*/
    border-radius: 10px;/*角の丸み*/
}

/* contact 説明　親　左 PC版*/	
.box_cont2 
 {
    margin-left: 390px;
	margin-right: 0px;
	margin-bottom: 0px;
	
	width: 295px;
	height: 345px;
    border: solid 1px #79a7d9;/*線*/
    border-radius: 10px;/*角の丸み*/
}
		



/* footer  PC版 */	
#footer {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1.5rem;
	
	color: #fef7ed;
}
	

/*罫線 PC版*/
.keisen {
	text-align:center;
}
	
.keisen img {
	width: 100%;
	padding-bottom: 10px;
}
		
			
/*　sns リンクBOX  PC版 */
.sns_box {
	max-width: 650px;
	}
		
.sns {
	display: flex;
	padding: 10px;
	justify-content: center;
	}

.sns img {
	padding-top: 10px;
	padding-right: 20px;
	width:30px;
	}
	
.footer_logo1  {
		float: left;
}		
	
.footer_logo1 img {
	margin-top: 10px;
	margin-left: 110px;
	margin-right: 10px;
	width:180px;
}	
	

.copy {
	font-size: 12px;
	padding-top: 80px;
	padding-bottom: 30px;
	text-align: center;
}
}



