@charset "utf-8";


/*mainimg.cssの読み込み*/
@import url(mainimg.css);


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

/*全体の設定
---------------------------------------------------------------------------*/
body,html,#mainimg {width: 100%;height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #000;	/*全体の文字色*/
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 18px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #eee;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,input,textarea {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #5874dc;		/*リンクテキストの色*/
	transition: 0.4s;	/*マウスオン時の移り変わるまでの時間設定。0.4秒。*/
}
a:hover {
	color: #9db2ff;			/*マウスオン時の文字色*/
	text-decoration: underline;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*header
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	overflow: hidden;z-index: 1;
	position: fixed;	/*スクロールしても固定表示させる指定*/
	top: 0px;			/*上からの配置場所*/
	left: 0px;			/*左からの配置場所*/
	width: 100%;		/*幅*/
	margin: 0;
	padding: 0;	/*上下、左右へのブロック内の余白*/
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.9);	/*背景色。0,0,0は黒の事で、0.8は色が80%出た状態の事。*/
}
/*トップページでのheaderブロックの追加設定*/
.home header {
	background: transparent;
	border: none;
}
/*ロゴ画像*/
header #logo {
	width: 200px;	/*幅*/
	float: left;	/*左に回り込み*/
	margin-left: 10px;	/*左側に空けるスペース*/
	margin-right: 50px;	/*右側に空けるスペース*/
}
/*トップページで表示させている「お知らせ」の１行。*/
header #news {
	float: left;	/*左に回り込み*/
/*	text-shadow: 1px 1px 2px rgba(0,0,0,0.7), -1px -1px 2px rgba(0,0,0,0.7);	*//*テキストの影*/
}
header #news .newicon {text-shadow: none;}

.header_top {
	margin: 0;
	padding: 0 10%;
	width: 100%;
	}
.header_bottom {
	margin: 0;
	padding: 0 10%;
	width: 100%;
	height: 30px;
	}
.header_top_L {
	margin: 0;
	padding: 0;
	width: 30%;
	}
.header_top_R {
	margin: 0;
	padding: 0;
	height: 70px;
	width: 70%;
	}

.bgc_header_top {
	color: #000;
	background: #fff;
	height: 70px;
	}
.bgc_header_top.sub{
	display: flex;
	color: #fff;
	background: #5874dc;
	height: 70px;
}
.bgc_header_bottom {
	color: #000;
	background: #e6e6e6;
	}
.header_icon {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 120px;
	box-sizing: border-box;
	}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	overflow: hidden;
	float: left;
	width: auto;
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;		/*左に回り込み*/
	text-align: center;	/*文字をセンタリング*/
}
#menubar li a {
	display: block;text-decoration: none;
	padding: 0 10px;	/*上下、左右へのメニュー内余白*/
	color: #fff;
}

#menubar li a:hover {
    color: #9db2ff;
    transition: 0.4s;
}


/*現在表示中(current)のメニュー設定*/
#menubar li.current a {
	color: #ffcc00;	/*文字色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*headerアイコン（facebookやtwitterなどのアイコンブロック）
---------------------------------------------------------------------------*/
/*アイコンを囲むブロック全体の設定*/
header .icon {
	float: right;		/*右側に回り込み*/
	margin-right: 10px;	/*右側に空けるスペース*/
}
/*アイコン１個あたりの設定*/
header .icon li {
	display: inline;	/*横並びにさせる指定*/
}
/*アイコン画像の設定*/
header .icon img {
	width: 30px;		/*画像の幅*/
	margin-left: 5px;	/*画像同士の余白*/
}
/*マウスオン時*/
header .icon a:hover {
	opacity: 0.7;		/*色が70%だけついた状態にする*/
}

/*contents（headerとfooter以外のメインとなるブロック。）
---------------------------------------------------------------------------*/
/*contentsブロック*/
#contents {
	clear: both;margin: 0 auto;
	padding: 170px 10%;	/*上下、左右へのブロック内の余白*/
	max-width: 1500px;	/*最大幅。これ以上広がらない。*/
}
/*見出し(h1)タグ*/
#contents h1 {
	font-size: 2.1em;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.2em;
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
}
.catchphrase {
	padding: 30px 10%;	/*上下、左右へのブロック内の余白*/
}
/*見出し(h2)タグ*/
#contents h2 {
/*	border: 1px solid #fff;	*//*枠線の幅、線種、色*/
	font-size: 38px;	/*文字サイズ*/
	font-weight: bold;
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
}
#contents h2::before {
	margin-right: 10px;
	content: 'ー';
	font-size: 20px;	/*文字サイズ*/
	vertical-align: text-bottom;
}
#contents h2::after {
	margin-left: 10px;
	content: 'ー';
	font-size: 20px;	/*文字サイズ*/
	vertical-align: text-bottom;
}
/*見出し(h5)タグ内のspanタグ。小文字の設定。*/
#contents h5 span {
	display: block;
	margin-top: -20px;		/*大きな文字との余白が広すぎるので、ちょっと詰める。*/
	margin-bottom: 10px;
	font-size: 12px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.5em;	/*文字間隔を少しだけ広くとる設定*/
}
.frame_subtitle {
	margin-bottom: 10px;
	padding: 0;
	font-size: 24px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}
.frame_caption {
	margin: 10px;
	margin-top: 20px;
	padding: 5px;
	border: 1px solid #ddd;
}
.frame_caption span {
	font-size: 17px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}

/*見出し(h3)タグ*/
.frame_section_description_B h3,
.frame_section_description_C h3,
.frame_section_description_D h3 {
/*	margin-bottom: 1em;	*/
	padding: 0.4em 0;
	font-size: 20px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}
.frame_section_description_B h3 {
	padding-left: 30px;	/*上下、左右への余白*/
	background: url(../images/icon_square.png) no-repeat left 16px top 12px;	/*背景画像の読み込み。*/
	background-size: 12px;
}
.frame_section_description_C h3 {
	padding-left: 30px;	/*上下、左右への余白*/
	background: url(../images/icon_circle.png) no-repeat left 10px top 10px;	/*背景画像の読み込み。*/
	background-size: 16px;
}
.frame_section_description_D h3 {
	padding-left: 30px;	/*上下、左右への余白*/
	background: url(../images/icon_circle.png) no-repeat left 10px top 10px;	/*背景画像の読み込み。*/
	background-size: 16px;
}

/*段落(p)タグ*/
.frame_section_description_A p {
	padding: 1em 0;	/*上、左右、下への余白*/
/*	padding-left: 30px;	*//*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_B p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 30px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_C p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 30px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_D p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 30px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
/*他。微調整。*/
.frame_section_description_A p + p,
.frame_section_description_B p + p,
.frame_section_description_C p + p,
.frame_section_description_D p + p {
	margin-top: -5px;
}
/* #contents h2 + p,
#contents h3 + p {
	margin-top: -10px;
} */
#contents section + section {
	clear: both;
/*	padding-top: 40px;	*/
}

.fb {
	display: -webkit-box;		/* Androidブラウザ用	*/
	display: -ms-flexbox;		/* IE10 */
	display: -webkit-flex;		/* safari（PC iOS）用 */
	display: flex;
	-ms-flex-wrap: wrap;		/* 折返し */
	-webkit-flex-wrap: wrap;		/* 折返し */
	flex-wrap: wrap;			/* 折返し */
}
.fbd_row {
	-ms-flex-direction: row;		/* ヨコ向き */
	-webkit-flex-direction: row;	/* ヨコ向き */
	flex-direction: row;		/* ヨコ向き */
}
.fbd_row_rvs {
	-ms-flex-direction: row-reverse;	/* ヨコ向き・逆 */
	-webkit-flex-direction: row-reverse;	/* ヨコ向き・逆 */
	flex-direction: row-reverse;		/* ヨコ向き・逆 */
}

.fba_TL {
	-webkit-box-align: start;			 /*タテ位置揃え*/
	-ms-flex-align: start;			 /*タテ位置揃え*/
	-webkit-align-items: flex-start;		/*タテ位置揃え*/
	align-items: flex-start;			 /*タテ位置揃え*/
	-webkit-box-pack: start;			 /*ヨコ位置揃え*/
	-ms-flex-pack: start;			 /*ヨコ位置揃え*/
	-webkit-justify-content: flex-start;	/*ヨコ位置揃え*/
	justify-content: flex-start;		 /*ヨコ位置揃え*/
	}
.fba_TC {
	-webkit-box-align: start;			 /*タテ位置揃え*/
	-ms-flex-align: start;			 /*タテ位置揃え*/
	-webkit-align-items: flex-start;		/*タテ位置揃え*/
	align-items: flex-start;			 /*タテ位置揃え*/
	-webkit-box-pack: center;		 /*ヨコ位置揃え*/
	-ms-flex-pack: center;			/*ヨコ位置揃え*/
	-webkit-justify-content: center;		/*ヨコ位置揃え*/
	justify-content: center;			 /*ヨコ位置揃え*/
	}
.fba_TR {
	-webkit-box-align: start;			 /*タテ位置揃え*/
	-ms-flex-align: start;			 /*タテ位置揃え*/
	-webkit-align-items: flex-start;		/*タテ位置揃え*/
	align-items: flex-start;			 /*タテ位置揃え*/
	-webkit-box-pack: end;			 /*ヨコ位置揃え*/
	-ms-flex-pack: end;			/*ヨコ位置揃え*/
	-webkit-justify-content: flex-end;	/*ヨコ位置揃え*/
	justify-content: flex-end;		 	/*ヨコ位置揃え*/
	}
.fba_TC2 {
	-webkit-box-align: start;				/*タテ位置揃え*/
	-ms-flex-align: start;				/*タテ位置揃え*/
	-webkit-align-items: flex-start;			/*タテ位置揃え*/
	align-items: flex-start;				/*タテ位置揃え*/
	-webkit-box-pack: space-between;		/*ヨコ位置揃え*/
	-ms-flex-pack: space-between;		/*ヨコ位置揃え*/
	-webkit-justify-content: space-between;	/*ヨコ位置揃え*/
	justify-content: space-between;		/*ヨコ位置揃え*/
	}
.fba_ML {
	-webkit-box-align: center;		 /*タテ位置揃え*/
	-ms-flex-align: center;			/*タテ位置揃え*/
	-webkit-align-items: center;		 /*タテ位置揃え*/
	align-items: center;			 /*タテ位置揃え*/
	-webkit-box-pack: start;		 /*ヨコ位置揃え*/
	-ms-flex-pack: start;			 /*ヨコ位置揃え*/
	-webkit-justify-content: flex-start;	/*ヨコ位置揃え*/
	justify-content: flex-start;		 /*ヨコ位置揃え*/
	}
.fba_MC {
	-webkit-box-align: center;		 /*タテ位置揃え*/
	-ms-flex-align: center;			/*タテ位置揃え*/
	-webkit-align-items: center;		 /*タテ位置揃え*/
	align-items: center;			 /*タテ位置揃え*/
	-webkit-box-pack: center;		 /*ヨコ位置揃え*/
	-ms-flex-pack: center;			/*ヨコ位置揃え*/
	-webkit-justify-content: center;	/*ヨコ位置揃え*/
	justify-content: center;			 /*ヨコ位置揃え*/
	}
.fba_MR {
	-webkit-box-align: center;		 /*タテ位置揃え*/
	-ms-flex-align: center;			/*タテ位置揃え*/
	-webkit-align-items: center;		 /*タテ位置揃え*/
	align-items: center;			 /*タテ位置揃え*/
	-webkit-box-pack: end;			 /*ヨコ位置揃え*/
	-ms-flex-pack: end;				/*ヨコ位置揃え*/
	-webkit-justify-content: flex-end;	/*ヨコ位置揃え*/
	justify-content: flex-end;		/*ヨコ位置揃え*/
	}


.frame_section {
	margin: 0;
	padding: 6% 4%;
	width: 100%;
	background: #fff;	/*背景色*/
	border-radius: 20px;
	-moz-border-radius: 20;
	-webkit-border-radius: 20;
	border: 1px solid #ddd;
	box-sizing: border-box;
}
.frame_section_img {
	margin: 0;
	padding: 0;
	width: 45%;
/*	border: 1px solid #0af;	*/
	box-sizing: border-box;
}
.frame_section_description_A,
.frame_section_description_C {
	margin: 0;
	padding: 0;
	width: 51%;
/*	border: 1px solid #fa0;	*/
	box-sizing: border-box;
}
.frame_section_description_B {
	margin: 0;
	padding: 0;
	width: 52%;
/*	border: 1px solid #fa0;	*/
	box-sizing: border-box;
}
.frame_section_description_D {
	margin: 0;
	padding: 0;
	width: 100%;
/*	border: 1px solid #fa0;	*/
	box-sizing: border-box;
}


/*listブロック（works.htmlで使用）
---------------------------------------------------------------------------*/
/*各ボックスの指定*/
.list {
	position: relative;
	float: left;	/*左に回り込み*/
	width: 30%;			/*幅*/
	margin-left: 2.5%;	/*左に空けるスペース*/
	margin-bottom: 20px;	/*下に空けるスペース*/
}
.list a {
	display: block;
	text-decoration: none;
}
/*マウスオン時*/
.list a:hover {
	color: #fff;	/*文字色*/
}
/*リンクを指定した際に右上に出る「→」*/
.list a::after {
	content: "→";	/*この文字を出力します。変更してもかまいませんが機種依存文字は使わないで下さい。*/
	position: absolute;
	right: 10px;	/*右からの配置場所指定*/
	top: 10px;		/*上からの配置場所指定*/
	font-size: 12px;	/*文字サイズ*/
	line-height: 30px;	/*行間。下のwidthと揃えて下さい。*/
	width: 30px;		/*幅。上のline-heightと揃えて下さい。*/
	border-radius: 50%;	/*角丸の指定。円形になります。*/
	background: #ccc;	/*背景色*/
	color: #000;		/*文字色*/
	text-align: center;
} */
/*figure画像*/
.list a figure {
	opacity: 0.6;	/*リンクを指定した際は60%だけ色を出す。*/
}
/*マウスオン時のfigure画像*/
.list a:hover figure {
	opacity: 1;		/*リンクを指定した際のマウスオン時に色を100%出す。*/
}
/*h4タグ*/
.list h4 {
	position: absolute;
	bottom: 0px;	/*下からの配置場所指定。*/
	left: 0px;		/*左からの配置場所指定。*/
	width: 100%;
	color: #fff;
/*	background: #fff;	*//*背景色（古いブラウザ用）*/
/*	background: rgb(255 255 255 / 50%);	*//*背景色。0,0,0は黒の事で0.5は色が50%出た状態。*/
	text-align: center;	/*内容をセンタリング*/
	padding: 60px 0;	/*上下、左右への余白*/
}

/*空白行 20rem*/
.blank-block20 {
	padding: 20rem 0;
}

/*空白行 5rem*/
.blank-block5 {
	padding: 5rem 0;
}

/*空白行 2rem*/
.blank-block2 {
	padding: 2rem 0;
}

.btn_main {
	position: relative;
	margin: 0.5em 0;
	padding: 2% 4%;
	width: 70%;
	color: #fff;
	background: #5874dc;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	text-decoration: none;
	border-radius: 60px;
	-moz-border-radius: 60;
	-webkit-border-radius: 60;
}
.btn_main::after {
	content: "▶︎";	/*この文字を出力します。変更してもかまいませんが機種依存文字は使わないで下さい。*/
	position: absolute;
	right: 0.5em;		/*右からの配置場所指定*/
	color: #fff;	/*文字色*/
	}

.btn_main:hover,
.btn_main:focus {
	color: #fff;
	background: #9db2ff;
	text-decoration: none;
}



/*footerブロック
---------------------------------------------------------------------------*/
/*footerブロック*/
footer {
	clear: both;
	text-align: right;
	top: 0px;			/*上からの配置場所*/
	left: 0px;			/*左からの配置場所*/
	margin: 0;
	padding: 10px 10%;
	width: 80%;
}
footer a {text-decoration: none;}
footer .pr {display: block;}

.footer_wrap {
	margin: 0;
	padding: 0;
	width: 100%;
	}

.footer_icon {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 115px;
	box-sizing: border-box;
	}


/*news.html
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding: 0px 30px;		/*上下、左右へのブロック内の余白*/
}
/*日付設定*/
#new dt {
	float: left;	/*左に回り込み*/
	width: 16em;	/*dtの幅*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
}
/*日付の右側に出る「お知らせ」などのアイコン。※共通設定。*/
#new dt span {
	letter-spacing: normal;display: inline-block;
	line-height: 1.5;
	margin-left: 1.2em;
	background: #666;	/*背景色*/
	color: #fff;		/*文字色*/
	width: 7em;			/*幅*/
	text-align: center;	/*文字をセンタリング*/
	border-radius: 3px;	/*角丸の指定。この１行を削除すれば、角がとがった通常の四角形になります。*/
}
/*日付の右側に出る「お知らせ」などのアイコン。※bg1*/
#new dt .bg1 {
	background: #e6004c;
}
/*日付の右側に出る「お知らせ」などのアイコン。※bg2*/
#new dt .bg2 {
	background: #0098e6;
}
/*記事設定*/
#new dd {
	padding-left: 17em;	/*左側に空ける余白*/
	border-bottom: 1px solid #333;	/*下線の幅、線種、色*/
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブルの見出し（※caption）*/
.ta1 caption {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	font-weight: bold;		/*太字に*/
	padding: 10px;			/*ボックス内の余白*/
}
/*テーブルの見出し（※tamidashi）*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
}
/*ta1設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 30px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;		/*幅*/
	text-align: center;	/*センタリング*/
}

/*フォーム関連
---------------------------------------------------------------------------*/
/*ボタン（btn）*/
input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
	outline: none;
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 5px 20px;		/*上下、左右へのボックス内の余白*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #111;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#222, #000);/*背景グラデーション*/
	color: #ccc;	/*文字色*/
}
/*マウスオン時のボタン（btn）設定*/
input[type="submit"].btn:hover,
input[type="button"].btn:hover,
input[type="reset"].btn:hover {
	background: #000;	/*背景色*/
	color: #fff;		/*文字色*/
}

/*checkブロック。赤い注意書きブロックです。
---------------------------------------------------------------------------*/
p.check {
	background: #e8da00;
	color:#000;
	padding: 10px 25px !important;
	margin-bottom: 20px;
}
p.check a {color: #000;}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {
	display: none;
}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;/*z-index: 100;*/position: fixed;animation-name: scroll;animation-duration: 1s;animation-fill-mode: forwards;
	width: 40px;		/*ボタンの幅*/
	font-weight: bold;
	line-height: 40px;	/*ボタンの高さ*/
	bottom: 20px;		/*ウィンドウの下から20pxの場所に配置*/
	right: 3%;			/*ウィンドウの右から3%の場所に配置*/
	color:#fff;
	background: #5874dc;	/*背景色*/
	border-radius: 50%;	/*円形にする指定。この１行を削除すれば正方形になります。*/
}
/*マウスオン時の背景色*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	color:#fff;
	background: #9db2ff;
}

/*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;
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 20px 20px 45px;
}
ol {
	padding: 0 20px 20px 45px;
}

/*price_list.png用
---------------------------------------------------------------------------*/
price_list {
	width: 100%;
/*	max-width: 1500px;	*/
}
.price_img {
	text-align: center;
}

/*punch.png用
---------------------------------------------------------------------------*/
punch {
	width: 100%;
/*	max-width: 1500px;	*/
}
.punch_img {
	text-align: center;
}

/*video
---------------------------------------------------------------------------*/
video {
	width: 100%;
/*	max-width: 1500px;	*/
}
.header_movie {
	text-align: center;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #222;padding: 5px 10px;border-radius: 4px;border: 1px solid #333;color: #fff;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.clear {clear: both;}
.color1, .color1 a {color: #ffcc00 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.dn {display: none;}
.sh {display: none;}

/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px){
	.header_top_R{
		width: 100%;
		/* justify-content: flex-start; */
	}
}
/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

	/*全体の設定
	---------------------------------------------------------------------------*/
	body {
		font-size: 12px;
		font-size: 2.93vw;
	}

	.header_top{
		/* padding: 0 2%; */
	}
	/*contents（headerとfooter以外のメインとなるブロック。）
	---------------------------------------------------------------------------*/
	/*見出し(h1)タグ*/
	#contents h1 {
		font-size: 2.1em;	/*文字サイズ*/
		font-weight: bold;
		line-height: 1.2em;
		letter-spacing: normal;
	}
	.catchphrase {
		padding: 20px 10%;	/*上下、左右へのブロック内の余白*/
	}
	/*見出し(h2)タグ*/
	#contents h2 {
		font-size: 22px;	/*文字サイズ*/
		font-weight: bold;
		letter-spacing: normal;
	}
	#contents h2::before {
		margin-right: 5px;
		content: 'ー';
		font-size: 10px;	/*文字サイズ*/
		vertical-align: text-bottom;
	}
	#contents h2::after {
		margin-left: 5px;
		content: 'ー';
		font-size: 10px;	/*文字サイズ*/
		vertical-align: text-bottom;
	}
	/*見出し(h5)タグ内のspanタグ。小文字の設定。*/
	#contents h5 span {
		display: block;
		margin-top: -10px;		/*大きな文字との余白が広すぎるので、ちょっと詰める。*/
		margin-bottom: 5px;
		font-size: 10px;		/*文字サイズ*/
		text-align: center;		/*文字をセンタリング*/
		letter-spacing: 0.2em;	/*文字間隔を少しだけ広くとる設定*/
	}
	.frame_subtitle {
		margin-bottom: 10px;
		padding: 0;
		font-size: 24px;	/*文字サイズ*/
		font-weight: bold;
		line-height: 1.3em;
	}
	.frame_caption {
		margin: 10px;
		margin-top: 20px;
		padding: 5px;
		border: 1px solid #ddd;
	}
	.frame_caption span {
		font-size: 17px;	/*文字サイズ*/
		font-weight: bold;
		line-height: 1.3em;
	}
	
	/*見出し(h3)タグ*/
	.frame_section_description_B h3,
	.frame_section_description_C h3,
	.frame_section_description_D h3 {
	/*	margin-bottom: 1em;	*/
		padding: 0.38em 0;
		padding-left: 25px;	/*上下、左右への余白*/
		background: url(../images/icon_circle.png) no-repeat left 6px top 10px;	/*背景画像の読み込み。*/
		background-size: 16px;
		font-size: 17px;	/*文字サイズ*/
		font-weight: bold;
		line-height: 1.3em;
	}
	.frame_section_description_B h3 {
		padding-left: 25px;	/*上下、左右への余白*/
		background: url(../images/icon_square.png) no-repeat left 14px top 12px;	/*背景画像の読み込み。*/
		background-size: 12px;
	}
	.frame_section_description_C h3 {
		padding-left: 25px;	/*上下、左右への余白*/
		background: url(../images/icon_circle.png) no-repeat left 8px top 10px;	/*背景画像の読み込み。*/
		background-size: 16px;
	}
	.frame_section_description_D h3 {
		padding-left: 25px;	/*上下、左右への余白*/
		background: url(../images/icon_circle.png) no-repeat left 8px top 10px;	/*背景画像の読み込み。*/
		background-size: 16px;
	}
	
	/*段落(p)タグ*/
	.frame_section_description_A p {
		padding: 1em 0;	/*上、左右、下への余白*/
	/*	padding-left: 25px;	*//*上下、左右への余白*/
		padding-top: 0;	/*上下、左右への余白*/
		line-height: 1.7em;
	}
	.frame_section_description_B p {
		padding: 1em;	/*上、左右、下への余白*/
		padding-left: 25px;	/*上下、左右への余白*/
		padding-top: 0;	/*上下、左右への余白*/
		line-height: 1.7em;
	}
	.frame_section_description_C p {
		padding: 1em;	/*上、左右、下への余白*/
		padding-left: 25px;	/*上下、左右への余白*/
		padding-top: 0;	/*上下、左右への余白*/
		line-height: 1.7em;
	}
	.frame_section_description_D p {
		padding: 1em;	/*上、左右、下への余白*/
		padding-left: 25px;	/*上下、左右への余白*/
		padding-top: 0;	/*上下、左右への余白*/
		line-height: 1.7em;
	}
	#contents section + section {
	/*	padding-top: 20px;	*/
	}
	
	.fbd_row {
		-ms-flex-direction: column;		/* タテ向き */
		-webkit-flex-direction: column;		/* タテ向き */
		flex-direction: column;			/* タテ向き */
	}
	.fbd_row_rvs {
		-ms-flex-direction: column;		/* タテ向き */
		-webkit-flex-direction: column;		/* タテ向き */
		flex-direction: column;			/* タテ向き */
	}
	
	.frame_section {
		margin: 0;
		padding: 6% 4%;
		width: 100%;
		background: #fff;	/*背景色*/
		border-radius: 20px;
		-moz-border-radius: 20;
		-webkit-border-radius: 20;
		border: 1px solid #ddd;
		box-sizing: border-box;
	}
	.frame_section_img {
		margin: 0;
		padding: 0;
		width: 100%;
	}
	.frame_section_description_A,
	.frame_section_description_B,
	.frame_section_description_C,
	.frame_section_description_D {
		margin: 0;
		padding: 0;
		width: 100%;
	}
	
	
	
	/*listブロック（works.htmlで使用）
	---------------------------------------------------------------------------*/
	/*リンクを指定した際に右上に出る「→」*/
	.list a::after {
		right: 2px;			/*右からの配置場所指定*/
		top: 2px;			/*上からの配置場所指定*/
		line-height: 20px;	/*行間。下のwidthと揃えて下さい。*/
		width: 20px;		/*幅。上のline-heightと揃えて下さい。*/
	} */
	/*h4タグ*/
	.list h4 {
		padding: 0;
	}
	
	/*テーブル（ta1）
	---------------------------------------------------------------------------*/
	/*テーブル１行目の見出し（※caption）*/
	.ta1 caption {
		padding: 5px;	/*ボックス内の余白*/
	}
	/*ta1設定*/
	.ta1, .ta1 td, .ta1 th {
		padding: 5px;	/*ボックス内の余白*/
	}
	/*ta1の左側ボックス*/
	.ta1 th {
		width: 100px;
	}
	
	/*ul.disc,olタグ
	---------------------------------------------------------------------------*/
	ul.disc {
		list-style: disc;
		padding: 0 10px 20px 30px;
	}
	ol {
		padding: 0 10px 20px 30px;
	}
	
	/*price_list.png用
	---------------------------------------------------------------------------*/
	price_list {
		width: 100%;
	/*	max-width: 1500px;	*/
	}
	.price_img {
		text-align: center;
		margin-bottom: 30px;
	}
	
	/*punch.png用
	---------------------------------------------------------------------------*/
	punch {
		width: 100%;
	/*	max-width: 1500px;	*/
	}
	.punch_img {
		text-align: center;
		margin-bottom: 30px;
	}
	
	/*video
	---------------------------------------------------------------------------*/
	video {
		width: 100%;
	/*	max-width: 380px;	*/
		
	}
	
	/*その他
	---------------------------------------------------------------------------*/
	.ws,.wl {width: 94%;}
	.big1 {font-size: 20px;}
	
	}



/*画面を横向きにした場合の高さが500px以下の場合の設定。
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (orientation: landscape) and (max-height:500px){

/*メインメニュー。小さな端末用メニューを２列に。
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar-s li a {
	float: left;
	width: 44%;
}


/*price_list.png用
---------------------------------------------------------------------------*/
price_list {
	width: 100%;
/*	max-width: 1500px;	*/
}
.price_img {
	text-align: center;
	margin-bottom: 30px;
}


/*punch.png用
---------------------------------------------------------------------------*/
punch {
	width: 100%;
/*	max-width: 1500px;	*/
}
.punch_img {
	text-align: center;
	margin-bottom: 30px;
}


/*video
---------------------------------------------------------------------------*/
video {
	width: 100%;
/*	max-width: 400px;	*/
	
}

}



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

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;
	font-size: 2.93vw;
}

/*contents（headerとfooter以外のメインとなるブロック。）
---------------------------------------------------------------------------*/
/*見出し(h1)タグ*/
#contents h1 {
	font-size: 2.1em;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.2em;
	letter-spacing: normal;
}
.catchphrase {
	padding: 20px 10%;	/*上下、左右へのブロック内の余白*/
}
/*見出し(h2)タグ*/
#contents h2 {
	font-size: 22px;	/*文字サイズ*/
	font-weight: bold;
	letter-spacing: normal;
}
#contents h2::before {
	margin-right: 5px;
	content: 'ー';
	font-size: 10px;	/*文字サイズ*/
	vertical-align: text-bottom;
}
#contents h2::after {
	margin-left: 5px;
	content: 'ー';
	font-size: 10px;	/*文字サイズ*/
	vertical-align: text-bottom;
}
/*見出し(h5)タグ内のspanタグ。小文字の設定。*/
#contents h5 span {
	display: block;
	margin-top: -10px;		/*大きな文字との余白が広すぎるので、ちょっと詰める。*/
	margin-bottom: 5px;
	font-size: 10px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を少しだけ広くとる設定*/
}
.frame_subtitle {
	margin-bottom: 10px;
	padding: 0;
	font-size: 24px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}
.frame_caption {
	margin: 10px;
	margin-top: 20px;
	padding: 5px;
	border: 1px solid #ddd;
}
.frame_caption span {
	font-size: 17px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}

/*見出し(h3)タグ*/
.frame_section_description_B h3,
.frame_section_description_C h3,
.frame_section_description_D h3 {
/*	margin-bottom: 1em;	*/
	padding: 0.38em 0;
	padding-left: 25px;	/*上下、左右への余白*/
	background: url(../images/icon_circle.png) no-repeat left 6px top 10px;	/*背景画像の読み込み。*/
	background-size: 16px;
	font-size: 17px;	/*文字サイズ*/
	font-weight: bold;
	line-height: 1.3em;
}
.frame_section_description_B h3 {
	padding-left: 25px;	/*上下、左右への余白*/
	background: url(../images/icon_square.png) no-repeat left 14px top 12px;	/*背景画像の読み込み。*/
	background-size: 12px;
}
.frame_section_description_C h3 {
	padding-left: 25px;	/*上下、左右への余白*/
	background: url(../images/icon_circle.png) no-repeat left 8px top 10px;	/*背景画像の読み込み。*/
	background-size: 16px;
}
.frame_section_description_D h3 {
	padding-left: 25px;	/*上下、左右への余白*/
	background: url(../images/icon_circle.png) no-repeat left 8px top 10px;	/*背景画像の読み込み。*/
	background-size: 16px;
}

/*段落(p)タグ*/
.frame_section_description_A p {
	padding: 1em 0;	/*上、左右、下への余白*/
/*	padding-left: 25px;	*//*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_B p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 25px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_C p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 25px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
.frame_section_description_D p {
	padding: 1em;	/*上、左右、下への余白*/
	padding-left: 25px;	/*上下、左右への余白*/
	padding-top: 0;	/*上下、左右への余白*/
	line-height: 1.7em;
}
#contents section + section {
/*	padding-top: 20px;	*/
}

.fbd_row {
	-ms-flex-direction: column;		/* タテ向き */
	-webkit-flex-direction: column;		/* タテ向き */
	flex-direction: column;			/* タテ向き */
}
.fbd_row_rvs {
	-ms-flex-direction: column;		/* タテ向き */
	-webkit-flex-direction: column;		/* タテ向き */
	flex-direction: column;			/* タテ向き */
}

.frame_section {
	margin: 0;
	padding: 6% 4%;
	width: 100%;
	background: #fff;	/*背景色*/
	border-radius: 20px;
	-moz-border-radius: 20;
	-webkit-border-radius: 20;
	border: 1px solid #ddd;
	box-sizing: border-box;
}
.frame_section_img {
	margin: 0;
	padding: 0;
	width: 100%;
}
.frame_section_description_A,
.frame_section_description_B,
.frame_section_description_C,
.frame_section_description_D {
	margin: 0;
	padding: 0;
	width: 100%;
}



/*listブロック（works.htmlで使用）
---------------------------------------------------------------------------*/
/*リンクを指定した際に右上に出る「→」*/
.list a::after {
	right: 2px;			/*右からの配置場所指定*/
	top: 2px;			/*上からの配置場所指定*/
	line-height: 20px;	/*行間。下のwidthと揃えて下さい。*/
	width: 20px;		/*幅。上のline-heightと揃えて下さい。*/
} */
/*h4タグ*/
.list h4 {
	padding: 0;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目の見出し（※caption）*/
.ta1 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 10px 20px 30px;
}
ol {
	padding: 0 10px 20px 30px;
}

/*price_list.png用
---------------------------------------------------------------------------*/
price_list {
	width: 100%;
/*	max-width: 1500px;	*/
}
.price_img {
	text-align: center;
	margin-bottom: 30px;
}

/*punch.png用
---------------------------------------------------------------------------*/
punch {
	width: 100%;
/*	max-width: 1500px;	*/
}
.punch_img {
	text-align: center;
	margin-bottom: 30px;
}

/*video
---------------------------------------------------------------------------*/
video {
	width: 100%;
/*	max-width: 380px;	*/
	
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 20px;}

}

/*	調整・確認系
================================ */
.txt_L {
	text-align: start !important;
	}
.txt_C {
	text-align: center !important;
	}
.txt_R {
	text-align: end !important;
	}

.txt_B {
	font-weight: bold !important;
	}
.txt_UL {
	text-decoration: underline;
	}

.txt_P {
	font-feature-settings: "palt";
	}

.txt_omit_L1 {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	}
.txt_omit_L2 {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	}
.txt_omit_L3 {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	}

.spacer {
	width: 100%;
	height: 10px;
	}
.spacer20 {
	width: 100%;
	height: 20px;
	}
.spacer30 {
	width: 100%;
	height: 30px;
	}
.spacer40 {
	width: 100%;
	height: 40px;
	}
.spacer50 {
	width: 100%;
	height: 50px;
	}
.spacer60 {
	width: 100%;
	height: 60px;
	}
.spacer70 {
	width: 100%;
	height: 70px;
	}
.spacer80 {
	width: 100%;
	height: 80px;
	}
.spacer90 {
	width: 100%;
	height: 90px;
	}
.spacer100 {
	width: 100%;
	height: 100px;
	}
.spacer_x {
	width: 100%;
	height: 10%;
	}

.text_break {
	display: -webkit-box;	/* Androidブラウザ用 */
	display: -ms-flexbox;	/* IE10 */
	display: -webkit-flex;	/* safari（PC iOS）用 */
	display: flex;
	-webkit-box-pack: center;		/*ヨコ位置揃え*/
	-ms-flex-pack: center;			/*ヨコ位置揃え*/
	-webkit-justify-content: center;	/*ヨコ位置揃え*/
	justify-content: center;			/*ヨコ位置揃え*/
	margin: 0;
	padding: 0;
	}

.vvv {
	border: 1px solid #aaa;
	}
.www {
	border: 1px dashed #aaa;
	}
.xxx {
	border: 1px solid #fa0;
	}
.yyy {
	border: 1px solid #0af;
	}
.zzz {
	border: 1px solid #f0a;
	}

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


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