@charset "utf-8";


/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*CSSカスタムプロパティ（サイト全体を一括管理する為の設定）
---------------------------------------------------------------------------*/
:root {
	--primary-color: #77BEF0;		/*テンプレートのメインまたはアクセントカラー*/
	--primary-inverse-color: #fff;	/*上のprimary-colorの対となる色*/
	--text-color: black;
	--space-large: 8vw;			/*主に余白の一括管理用。画面幅100%＝100vwです。*/
	--space-small: 2vw;			/*主に余白の一括管理用。画面幅100%＝100vwです。*/
}


/*opa1のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

body {
	margin: 0;padding:0;
	font-family: "Zen Maru Gothic", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: var(--primary-color);	/*背景色*/
	color: var(--text-color);		/*文字色*/
	line-height: 2;		/*行間*/
}

/*リセット他*/
figure {margin: 0;}
dd {margin: 0;}
nav ul {list-style: none;}
nav,ul,li,ol {margin: 0;padding: 0;}
section li {margin-left: 1rem;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none; width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*input*/
input {font-size: 1rem;}

/*section*/
section {
	overflow-x: hidden;
	padding: var(--space-large);	
}

/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: inherit;
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/*マウスオン時*/
a:hover {
	text-decoration: none;	/*下線を消す*/
	opacity: 0.9;			/*色を90%だけ出す*/
}


/*container（サイト全体を囲むボックス）
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	flex-shrink: 0;
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	justify-content: space-between;
	height: 60px;					/*ヘッダーの高さ*/
	transition: box-shadow 0.3s ease, background 0.3s ease;
}

header.scrolled {
  position: sticky;
  top: 0;
  background: var(--primary-color);
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  z-index: 1000;
}

body:not(.home) header {
	margin-bottom: var(--space-large);
}

/*ロゴ画像*/
#logo img {display: block;}
#logo {
	margin: 0;padding: 0;
	width: 20vw;	/*ロゴの幅*/
	position: relative;z-index: 1;
	left: 2vw;	/*左からの配置場所*/
	top: 9vw;	/*上からの配置場所*/
}

	/*画面幅500px以下の追加指定*/
	@media screen and (max-width:500px) {
	
	#logo {
		top: 0;			/*上からの配置場所*/
		width: 60px;	/*ロゴの幅*/
	}

	}/*追加設定ここまで*/


/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	flex-shrink: 0;
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	justify-content: space-between;
	height: 60px;					/*ヘッダーの高さ*/
	transition: box-shadow 0.3s ease, background 0.3s ease;
}

header.scrolled {
  position: sticky;
  top: 0;
  background: var(--primary-color);
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  z-index: 1000;
}

body:not(.home) header {
	margin-bottom: var(--space-large);
}

/*ロゴ画像*/
#logo img {display: block;}
#logo {
	margin: 0;padding: 0;
	width: 15vw;	/*ロゴの幅*/
	position: relative;z-index: 1;
	left: 2vw;	/*左からの配置場所*/
	top: 6vw;	/*上からの配置場所*/
}

	/*画面幅500px以下の追加指定*/
	@media screen and (max-width:500px) {
	
	#logo {
		top: 0;			/*上からの配置場所*/
		width: 60px;	/*ロゴの幅*/
	}

	}/*追加設定ここまで*/


/*ヘッダー内メニュー
---------------------------------------------------------------------------*/
/*900px未満では非表示*/
header nav ul {display: none;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {
		
	/*メニューブロック全体の設定*/
	header > nav > ul {
		margin-right: 10vw;	/*ハンバーガーアイコンに重ならないように余白*/
		display: flex;		/*横並びにする*/
	}

	/*メニュー１個あたりの設定*/
	header nav li a {
		display: block;text-decoration: none;
		font-size: 0.9rem;		/*文字サイズ90%*/
		padding: 0.5rem 1rem;	/*メニュー内の余白。上下、左右へ。*/
	}
	
	/*ドロップダウンメニュー冒頭の矢印アイコン*/
	header nav i {
		padding-right: 0.5rem;	/*右に空ける余白*/
	}

	}/*追加設定ここまで*/


/*ヘッダー内メニュー、開閉メニュー、共通のドロップダウン設定
---------------------------------------------------------------------------*/
header nav ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}


/*ヘッダー内メニューのドロップダウン
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
header nav ul ul {
	position: absolute;z-index: 100;
}

/*メニュー１個あたりの設定*/
header nav ul ul a {
	background: #fff;	/*背景色*/
	padding: 0.3em 1em;				/*上下、左右へのメニュー内の余白*/
	margin-top: 4px;				/*上に空けるスペース。ドロップダウン同士の隙間。*/
	border: 2px solid var(--primary-color);	/*枠線の幅、線種、varは色の指定で冒頭のparimary-colorを読み込みます。*/
	border-radius: 100px;	/*角丸の指定。この場合は大きめであれば適当でOK*/
	color: var(--primary-color);	/*文字色。冒頭のparimary-colorを読み込みます。*/
}


/*無料体験btn*/
.contact_menu {
	align-content: space-around;
	margin-right: 20px;
	border-radius: 50px;
	width: 8.4rem;
    height: 3rem;
	font-size: calc(12 / 1440 * 100vw);
	text-align: center;
	background-color: #f6c1d1;
}
.contact_menu a{
	text-decoration: none;
	color: #fff;
}

.contact_menu:hover {
	background-color: lightblue;
}

/*フェード--------------------------*/

.logo_fadein{
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}
.logo_fadein p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}

/*スタイル*/
.Style_Container {
	display: flex;
	align-items: center;
}

/*btn1
---------------------------------------------------------------------------*/
/*btn1共通*/
a.btn1 {
	text-decoration: none;display: inline-block;
	background: #DC679A url(../images/arrow1.webp) no-repeat 15px center;	/*古いブラウザ用*/
	background: #DC679A url(../images/arrow1.webp) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	color: #FFF !important;
	border: 1px solid #C674A5;	/*枠線の幅、線種、色*/
	border-radius: 2px;			/*角丸のサイズ。ほんの少しだけ角を丸くしています。*/
}
/*マウスオン時*/
a.btn1:hover{
	background: #E14C2A url(../images/arrow1.webp) no-repeat 15px center / 6px;
}
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 35px 0px 50px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: 0.2em;		/*文字間隔を広くとる設定*/
}


/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;position: relative;z-index: 1;
	margin-left: 5%;	/*左に空けるスペース*/
	margin-top: 15%;		/*上に空けるスペース。この部分にイメージ画像が表示されます。*/
	padding: 0 var(--content-space);
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 15%;		/*メニュー幅*/
	margin: 0 0.4%;	/*0.4%はメニュー同士の左右間の余白。*/
	font-size: clamp(6px, 1.2vw, 30px);　/*レスポンシブ文字可変*/
}
@media screen and (max-width: 500px) {
	#menubar li {
	font-size: clamp(5px, 1.2vw, 30px);　/*レスポンシブ文字可変*/
}
}

#menubar li a {
	display:  block;text-decoration: none;position: relative;
	text-align: center;	/*内容をセンタリング*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.85);	/*背景色。255,255,255は白の事で0.85は85%色がついた状態の事。*/
}
/*飾り文字*/
#menubar li span {
	display: block;
	font-size: 60%;		/*文字サイズ*/
	color: #58BBD8;		/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}
/*飾り文字のマウスオン時、現在表示中(current)時*/
#menubar li a:hover span,
#menubar li.current a span {
	color: #fff;		/*文字色*/
}
/*メニュー下の「▼」マーク。吹き出し風に。*/
#menubar li.current a span::after {
	content: "▼";	/*このテキストを表示します。他の文字に変えてもらっても構いませんが機種依存文字は化ける場合があるので使わない。*/
	color: #DC679A;	/*色*/
	font-size: 20px;	/*サイズ*/
	position: absolute;
	bottom: -22px;	/*下側に22px下げる*/
	left: 45%;		/*左から45%の場所に配置*/
}
/*マウスオン時と、現在表示中(c)メニューの設定*/
#menubar li a:hover,
#menubar li.current a {
	background: #DC679A;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
#menubar li.c a:hover {
	background: #E14C2A;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}

#menubar li.a a:hover {
	background: #EDA430;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}

#menubar li.d a:hover {
	background: #C1CE42;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
#menubar li.e a:hover {
	background: #43AC5E;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
#menubar li.m a:hover {
	background: #58BBD8;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
#menubar li.y a:hover {
	background: #C674A5;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}

/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

	
/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#contents {
	clear: both;overflow: hidden;position: relative;
	background: #fff;	/*背景色*/
	padding: 1% 3%;		/*上下、左右へのボックス内の余白*/
	border-radius: 3% 3% 0 0;
	background-color: #FBF7E9;
}
/*h2タグ*/
#contents h2 {
	clear: both;
	margin-bottom: 40px;	/*下に空けるボックスの外側への余白*/
	font-size: 250%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.5;		/*行間を基準より少し狭くする*/
}
/*h2タグ内のspanタグ（英語の飾り文字）*/
#contents h2 span {
	display: block;
	font-size: 40%;	/*文字サイズ*/
	color: #58BBD8;	/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}
/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるボックスの外側への余白*/
	text-align: center;		/*文字を中央に*/
	font-size: 130%;		/*文字サイズ*/
	border-radius: 50px;	/*角丸のサイズ。この行を削除すれば通常の長方形になります。*/
	border: 1px solid #666;	/*枠線の幅、線種、色*/
	padding: 0 50px;	/*上下、左右へのボックス内の余白*/
}
/*段落タグ*/
#contents p {
	padding: 0 20px 40px;
}
#contents p + p {
	margin-top: -10px;
}
/*section同士の余白*/
#contents section + section {
	margin-top: 100px;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツ*/
#contents .main {
	float: left;	/*左に回り込み*/
	width: 70%;		/*コンテンツ幅*/
}

/*サブコンテンツ
---------------------------------------------------------------------------*/
/*サブコンテンツ*/
#contents .sub {
	float: right;	/*右に回り込み*/
	width: 25%;		/*コンテンツ幅*/
}
/*サブコンテンツのh2タグ*/
#contents .h2 {
	font-size: 120%;	/*文字サイズ*/
	margin-bottom: 10px;
	text-align: left;
}
/*サブコンテンツのh2タグの１文字目への設定*/
#contents .sub h2::first-letter {
	padding-left: 15px;				/*アクセントラインとテキストとの余白*/
	border-left: 3px solid #58BBD8;	/*左のアクセントラインの幅、線種、色*/
}
/*サブコンテンツの段落タグ設定*/
#contents .sub p {
	padding: 0;
	font-size: 90%;
}
/*section同士の余白*/
#contents .sub section + section {
	margin-top: 0px;
}

/*サービス詳細*/
.group {
	display: flex;
    justify-content: center;
    align-items: center;
}

.animation_box {
  padding: 10px;
  animation: fadeup 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  width: 50%;
  margin: 0 auto;	
}
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.table-info{
	width: 50%;
	margin: 0 auto;
}


/*img fuwafuwaの設定*/
.g_img {
	position: absolute;
	left: 10%;
	top: 4%;
	width: 100px;
	z-index: 2;
	animation: fuwa 3s ease-in-out infinite alternate;
	transition: 1.5s ease-in-out;
}

.e_img{
	position: absolute;
	right: 10%;
	top: 5%;
	width: 120px;
	z-index: 2;
	animation: fuwa 3s ease-in-out infinite alternate;
	transition: 1.5s ease-in-out;
}
 
@keyframes fuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}


/*タイプライター*/
.typwriter{
	width: 530px;
	margin: 0 auto;
	border-right: 1em solid #000000;
	overflow: hidden;
	white-space: nowrap;
	animation: typing 5.5s steps(40, end) infinite, blink .75s step-end;
}
@keyframes typing{
	from{width: 0;}
	to{width: 450px;}
}

@keyframes blink{
	from, to{border-color: transparent;}
	50%{border-color:#A06830;}
}

/*スライダー*/
.slider::-webkit-scrollbar{
	display: none;
}
.slider {
	margin: 0 auto;
	position: relative;
	width: 1200px;
	min-height: 200px;
	height: auto;
	display: flex;
	flex-wrap: nowrap;/*折り返しなし*/
	overflow-x: auto;/*スクロールではみ出した所表示*/
}
.slide-card {
	flex: 0 0 auto;
	max-width: 150px;
	height: 100%;
	margin-right: 20px;
}
.slide-img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	border-radius: 20px;
}



/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.submenu {
	margin-bottom: 20px;	/*メニューブロックの下に空けるスペース*/
	border-top: solid 1px #dcdcdc;	/*上の線の線種、幅、色*/
}
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	background: #fff;	/*背景色*/
	border-bottom: solid 1px #dcdcdc;	/*下の線の線種、幅、色*/
}
.sub ul.submenu li a {
	text-decoration: none;display: block;
	padding: 5px 10px;	/*メニュー内の余白。上下、左右への設定。*/
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: rgba(0,0,0,0.02);	/*背景色。rgbaは色設定で0,0,0は黒。0.02は2%だけ色がついた状態の事。*/
	border: solid 1px #dcdcdc;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}
/*box1内のメニューの設定*/
.sub .box1 ul.submenu {
	margin-bottom: 0px;
}

/*ページ内専用メニュー（service.htmlの見出しの下で使っています）
---------------------------------------------------------------------------*/
.nav {
	text-align: center;
	margin-bottom: 40px;
	background: #eee;
	padding: 10px;
}
.nav li {
	display: inline-block;
	padding: 0 10px;
}
.nav li::before {
	content: "> ";
	color: #FF6EAF;
}

/*list（info.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	overflow: hidden;
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
	padding: 30px;	/*ボックス内の余白*/
	text-align: center;
}
/*ボックス内のh4（見出し）タグ*/
.list h4 {
	font-size: 180%;	/*文字サイズ*/
	color: #EF78AD;	/*文字色*/
}
/*ボックス内のp（段落）タグ*/
.list p {
	padding: 0px 0px 20px !important;
}

/*list2（service.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list2 {
	position: relative;
	float: left;	/*左に回り込み*/
	width: 30%;		/*ボックス幅*/
	margin: 0 1.5% 40px;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
	text-align: center;		/*内容を中央よせ*/
}
/*ボックス内の画像*/
.list2 figure {
	margin-bottom: 20px;	/*画像の下に空けるスペース*/
}
.list2 figure a:hover{
	opacity: 0.8;	/*マウスオン時。透明度80%にする。*/
}

.sub-figure, .sub-group {
	width: 50%;
	
}


/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
	position: absolute;
	top: 0px;	/*list2ボックスの上から0pxの場所に配置*/
	width: 100%;	/*幅*/
	background: #000;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.7);	/*背景色。0,0,0は黒の事で0.7は70%色がついた状態。*/
	color: #fff;	/*文字色*/
}
/*ボックス内のp（段落）タグ*/
.list2 p {
	padding: 0px !important;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;		/*文字を中央に*/
	font-size: 70%;			/*文字サイズ*/
	background: #EF78AD;	/*背景色*/
}
/*リンクテキスト*/
footer a {color: #fff;}
footer a:hover {color: #fff;}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
.footermenu {
 color: #fff;
 background: #EF78AD;
 text-align: center;
 padding: 30px;
 opacity: 0.7;
}
.footermenu a {
 color: #fff;
 text-decoration: none;
}
.footermenu a:hover {
 text-decoration: underline;
}
.footermenu .menu {
 margin: 0 0 30px;
 padding: 0;
 list-style: none;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.footermenu .menu li {
 margin: 0;
 padding: 0 20px;
 border-right: 1px #808080 solid;
}
.footermenu .menu li:last-child {
 border: none;
}
.footermenu .copyright {
 margin: 0;
 padding: 20px 0 0 0;
}

@media only screen and (max-width: 599px) {
.footermenu .menu {
 justify-content: flex-start;
}

.footermenu .menu li {
 width: 50%;
 box-sizing: border-box;
 border: none;
}
.footermenu .menu li:nth-child(odd) {
 border-right: 1px #808080 solid;
}
}
/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#news dl {
	background: #FFFFFF;	/*背景色*/
	padding: 20px;		/*ブロック内の余白*/
	border-radius: 4px;	/*角丸のサイズ*/
	width: 1000px;
	margin: 0 auto;
}
/*日付設定*/
#news dt {
	float: left;
	width: 9em;		/*幅*/
	color: #EF78AD;	/*文字色*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#news dd {
	padding-left: 9em;
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
caption{
	padding: 10px;
}
table{
  border-collapse:separate;
  border-spacing: 5px;
  width: 100%;
}

table th,table td{
  border-radius: 5px;
  text-align: center;
  padding: 10px;
}

table th{
	width: 30%;
  background-color: #FF90BB;
  color: white;
  border:solid 1px #F8F8E1;
}

table td{
  background-color: #F49BAB;
  border:solid 1px #F8F8E1;
}


/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px 20px;	/*上下、左右への余白*/
}
/*質問の設定*/
.faq dt {
	color: #e5831f;	/*文字色*/
	padding-top: 15px;
	margin-bottom: 10px;
}
/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 15px;
}
/*「Q」と「A」のマーク共通設定*/
.faq dt::before,
.faq dd::before {
	margin-right: 5px;display: inline-block;text-align: center;
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
}
/*「Q」のマーク追加設定*/
.faq dt::before {
	content: "Q";			/*「Q」の文字を出力する設定*/
	background: #e5831f;	/*背景色*/
	color: #fff;			/*文字色*/
}
/*「A」のマーク追加設定*/
.faq dd::before {
	content: "A";		/*「A」の文字を出力する設定*/
	background: #999;	/*背景色*/
	color: #fff;		/*文字色*/
}

/*チャージ、時間割の設定*/
.timetable {
	margin-top: 80px;
	margin-bottom: 100px;
}
.timeschedule {
	text-align: center;
}
.times{
	margin-bottom: 50px;
}


/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	padding: 5px 10px;		/*上下、左右へのボックス内の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	font-size: 20px;		/*文字サイズ*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #eee;		/*背景色*/
}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	background: #fff;		/*背景色*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*ページの上部へボタン「↑」設定
---------------------------------------------------------------------------*/
@keyframes scroll {0% {opacity: 0;}100% {opacity: 1;}}
body .nav-fix-pos-pagetop a {display: none;}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 3;
	position: fixed;
	bottom: 20px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	background: #666;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事。0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	/*背景色*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 20px 40px 40px;list-style: disc;}
.color1, .color1 a {color: #e5831f !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.w50 {overflow: hidden;width: 50%;}
.fl {float: left;}
img.fl {float: left;width:30%;margin-right: 20px;margin-bottom: 20px;}
.fr {float: right;}
img.fr {float: right;width:30%;margin-left: 20px;margin-bottom: 20px;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.ofh {overflow: hidden;}



.about_img{
	text-align: center;
	margin: 0 auto;
	width: 30%;
}

/*サブ画像*/

.subimg {
	height: 150px;
}


.header_1 {
	font-size: calc(12/1440*100vw);
	font-weight: 700;
	font-family:GeneralSans-Semibold;
}

.header_1 a{
	text-decoration: none;
}

.header_1 span {
	margin-right: 30px;
}

.header_1 {
    /* 3D変形させた際の、奥行きを指定 */
    perspective: 300px;
    text-decoration: none;
    display: inline-block;
}

.header_1>span {
    /* 背面の要素（2個目のspanタグ）を非表示にする */
    backface-visibility: hidden;
    /* アニメーション効果を0.5秒間で適用 */
    transition: transform .5s;
    display: block;
    height: 20px;
	color: #353535;
}

/* ホバー前 */
.header_1>span:first-child {
    /* 10px下に移動し縦中央に表示する */
    transform: translateY(10px) rotateX(0deg);
}

.header_1>span:last-child {
    /* 90度回転させ非表示にする */
    transform: rotateX(-90deg);
}

/* ホバー時 */
.header_1:hover>span:first-child {
    /* X軸周りに90度回転して非表示にする */
    transform: rotateX(90deg);
}

.header_1:hover>span:last-child {
    /* 10px上に移動し表示する */
    transform: translateY(-10px) rotateX(0deg);
}


.logo_block {
	align-content: space-around;
	margin-left: 20px;
}

.experience{
	width: 20rem;
    height: 4rem;
	margin: 0 auto;
	border-radius: 50px;
	align-content: center;
	line-height: 60px;
	text-align: center;
	text-decoration: none;
	background-color: #1B85FB;
	box-shadow: 0px 5px 0px #1567C3;
	transition: .3s;
}

.experience:hover {
  box-shadow: unset;
  transform: translateY(4px);
}

.experience a{
	text-decoration: none;
		color: #FFFFFF;
}


/*自動右スクロール*/
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);

}
.scroll-infinity__item>img {
  width: 100%;
	height: auto;
}
/*自動左スクロール*/
@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 80s infinite linear 0.5s both;
}


/*画面幅1040px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1040px){
	
/*スライダー*/
.slider {
	left: 0px;
	width: auto;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	font-size: 70%;	/*メニューのテキストが段落ちするので、文字サイズを縮小する。*/
}

}



/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*フェード--------------------------*/

.logo_fadein{
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}
.logo_fadein p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}
	
/*ヘッダー
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo img {
	top: 20px;	/*上から20pxの場所に配置*/
	width: 200px;;
}

/*ヘッダー*/
.Style_Container {
	display: none;
	}
	
/*無料体験btn*/
.contact_menu {
	margin-right: 20px;
	border-radius: 50px;
	width: 8.4rem;
    height: 3rem;
	font-size: calc(23 / 1440 * 100vw);
}
/*コンテンツimg*/
.e_img{
	right: 4%;
	width: 110px;
}
/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 20px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: normal;		/*文字間隔を初期設定に戻す*/
	background: #e5831f url(none);
}

/*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
/*ボタンブロック全体*/
#fsize {
	display: none;
}


/*main,subコンテンツ
---------------------------------------------------------------------------*/
#contents .main, #contents .sub {
	float: none;
	width: auto;
}

/*サービス詳細*/
.group {
	display: flex;
	flex-flow: column;
	padding-bottom: 70px;
}
	
.animation_box {
  width: 80%;
}

.table-info{
	width: 80%;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 20px;}
.w50 {overflow: hidden;width: auto;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}

}


/*画面幅700px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:700px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 15px;	/*文字サイズ*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*h3タグ*/
#contents h3 {
	padding: 0 20px;	/*上下、左右へのボックス内の余白*/
}
	
}

/* スマホ向け（画面幅が600px以下） */
@media (max-width: 600px) {

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;	/*文字サイズ*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: static;
	height: auto;
}
/*ロゴ画像*/
header #logo img {
	width: 120px;	/*画像幅*/
	position: static;
	padding: 10px 1%;
}
.logo_block{
		margin-left: 10px;
	}

/*無料体験btn*/
.contact_menu {
	margin-right: 5px;
	border-radius: 50px;
	width: 5rem;
    height: 2rem;
	font-size: calc(40 / 1440 * 70vw);

}
	
/*ヘッダー内メニュー（「資料請求・お問い合わせ」と「見学のお申し込み」ボタン）
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#headermenu {
	position: static;
	overflow: hidden;
	padding-bottom: 10px;
}
/*メニュー１個あたり*/
#headermenu li a.btn1 {
	display: block;
	margin-bottom: 5px;
}
	

/*コンテンツ
---------------------------------------------------------------------------*/
	
/*h2タグ*/
	
#contents h2 {
	font-size: 150%;	/*文字サイズ*/
	margin-bottom: 20px;	/*下に空けるボックスの外側への余白*/
}
/*h3タグ*/
#contents h3 {
	font-size: 100%;	/*文字サイズ*/
	margin-bottom: 20px;/*下に空けるボックスの外側への余白*/
	line-height: 1.5;	/*行間を少し狭くする*/
}
/*段落タグ*/
#contents p {
	padding: 0px 0px 20px;	/*上、左右、下への段落タグ内の余白*/
	line-height: 1.5;		/*行間を少し狭くする*/
}
/*section同士の余白*/
#contents section + section {
	margin-top: 50px;
}


/*サービス詳細
--------------------------------------------------------------------------*/
/*img fuwafuwaの設定*/
.g_img {
	position: absolute;
	left: 10%;
	top: 1.5%;
	width: 50px;
	z-index: 2;
	animation: fuwa 3s ease-in-out infinite alternate;
	transition: 1.5s ease-in-out;
}
	
/*コンテンツimg*/
.e_img{
	top:2%;
	right: 8%;
	width: 60px;
}
	
/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 10px;	/*上、右、下、左へのボックス内の余白*/
}

/*list（info.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	padding: 10px;	/*ボックス内の余白*/
}

/*list2（service.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
	display: none;	/*スペースが狭くなって見出しの下に画像が隠れてしまうので、見出しを非表示にする。*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption, .ta2 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1,ta2共通設定*/
.ta1,
.ta2 {
	width: 100%;
	margin: 0 0 30px;
}
.ta1, .ta1 td, .ta1 th,
.ta2, .ta2 td, .ta2 th {
	padding: 3px;	/*ボックス内の余白*/
	font-size: smaller;
	width: -webkit-fill-available;
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 50px;
}
	
	

	
/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	font-size: 12px;		/*文字サイズ*/
}

/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px;	/*余白*/
}
/*「Q」と「A」のマーク共通設定*/
.faq dt::before,
.faq dd::before {
	width: 20px;		/*幅*/
	line-height: 20px;	/*高さ*/
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
img.fl {margin-right: 5px;margin-bottom: 5px;}
img.fr {margin-left: 5px;margin-bottom: 5px;}
ul.disc {padding: 0em 0px 20px 18px;}

}

/*SNSアイコン
---------------------------------------------------------------------------*/
.icons {
	list-style: none;
	margin: 0;padding: 0;
	line-height: 2;
	display: flex;
	flex-direction: column;  /*縦並び*/
	text-align: center;
	position: fixed;  /*アイコンを固定*/
	gap: 10px;
	right: 23px;  /*右からの配置場所*/
	top: 100px;  /*上からの配置場所*/
}
.icons i {
	font-size: 20px;	/*アイコンサイズ*/
}

/* =========================
画像ポップアップ
========================= */

.popup-target{
  cursor:pointer;
  transition:.25s;
}

/* 背景 */
.img-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:9999;
  padding:40px;
}

/* 表示中 */
.img-popup.show{
  display:flex;
}

/* 拡大画像 */
.img-popup img{
  max-width:90vw;
  max-height:85vh;
  width: auto;
  height: auto;
  border-radius:12px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}

/* 閉じるボタン */
.popup-close{
  position:absolute;
  top:20px;
  right:30px;
  font-size:42px;
  color:#fff;
  cursor:pointer;
}
