@charset "UTF-8";

/* Not Firefox (others) */
/* 1000px 以上（978px） */
html
{
	height: 100%;
}

.fixed
{
	position: fixed;
	z-index: 1;
}

/* body */
body
{
	color: rgb(60,60,60);
	background-color: rgb(255,255,255);
	height: 100%;
}

/* ヘッダーナビゲーション */
header
{
	width: 100%;
	padding: 0;
	font-size: 14px;
	background-color: rgb(255,255,255);
	box-shadow: 0 8px 6px rgba(120,120,120,0.4);
	position: fixed;
	top: 0;
	z-index: 99999;
}

.header-navigation
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 66px 0 24px;
	margin: 0 auto;
}

.logomark
{
	display: block;
	width: 150px;
	margin: 0 0;
}

.logomark a
{
	display: block;
	width: 100%;
	height: 28px;
	padding: 5px 0 5px 0;
	background-image: url(/Images/point_circle_10.svg);
	background-repeat: no-repeat;
	background-position: 100% 0;
	transition: 0.7s;
}

.logomark a img
{
	display: block;
	height: 28px;
}

.logomark a:hover
{
	background-position: 100% -52px;
	transition: 0.7s;
}

.sns_account
{
}

.sns_account ul
{
	display: flex;
	padding: 5px 0;
}

.sns_account ul li
{
	padding: 0 8px;
}

.sns_account ul li a,
.sns_account ul li a img
{
	display : block ;
	width: 28px;
	height: 28px;
}

ul.navigation
{
	display: flex;
	justify-content: space-between;
	width: auto;
	height: auto;
	padding: 0;
	margin-left: 0;
	text-align: left;
	background-color: transparent;
	overflow: hidden;
}

ul.navigation li
{
	flex-basis: 1;
	height: auto;
	padding: 0 0;
	margin: 0 0.5em;
	text-align: center;
}

ul.navigation li a
{
	display: flex;
	align-items: center;
	height: 16px;
	padding: 4px 16px 4px 16px;
	color: rgb(100,100,101);
	font-size: 12px;
	text-decoration: none;
	text-align: center;
	background-color: transparent;
	border: 1px solid rgb(120,120,120);
	border-radius: 13px;
	overflow: hidden;
	transition: 0.7s;
}

ul.navigation li a:hover
{
	color: rgb(240,240,241);
	background-color: rgb(120,120,120);
	border: 1px solid rgb(120,120,120);
	border-radius: 4px;
	transition: 0.7s;
}

.relation
{
	width: 45px;
	height: 48px;
	padding: 0 0 0 calc(100px - 45px);
}

.relation a
{
	display: block;
	width: 28px;
	height: 28px;
	padding: 10px 0 10px calc(45px - 28px);
	background-image: url(/Images/point_circle_45_10.svg);
	background-repeat: no-repeat;
	background-position: 0 -48px;
	transition: 0.7s;
}

.relation a img
{
	display: block;
	height: 28px;
}

.relation a:hover
{
	background-position: 0 0;
	transition: 0.7s;
}

/* 言語選択 */
#custom_trans_bar
{
	padding: 0 1em;
}

#custom_trans_bar li
{
	margin: 1em auto;
	max-width: 640px;
}

#custom_trans_bar li a
{
	display: block;
	height: 32px;
	padding: 4px 16px 4px 16px;
	color: rgb(100,100,101);
	font-size: 21px;
	text-decoration: none;
	text-align: center;
	background-color: transparent;
	border: 1px solid rgb(120,120,120);
	border-radius: 21px;
	overflow: hidden;
	transition: 0.7s;
}

#custom_trans_bar li a[data-stt-active]
{
	font-weight: bold;
	background-color: rgb(240,240,240);
	transition: 0.7s;
}

#custom_trans_bar li a:hover,
#custom_trans_bar li a[data-stt-active]:hover
{
	color: rgb(240,240,241);
	background-color: rgb(120,120,120);
	border: 1px solid rgb(120,120,120);
	border-radius: 4px;
	transition: 0.7s;
}

/* body 直下の表示範囲 */
div.scroll
{
	display: flex;
	height: 100%;
/*	overflow: auto;*/
	flex-direction: column;
	scroll-behavior: smooth;
}

/* スクロールスナップする全画面遷移 */
div.scroll.snap
{
/*	scroll-snap-type: y mandatory;
	scroll-snap-type: y proximity;*/
}

div.scroll.snap article
{
/*	display: block;
	padding-top: 0;*/
}

div.scroll.snap section
{
/*	scroll-snap-align: start end;*/
}

div.scroll.snap section.auto
{
/*	scroll-snap-align: none;*/
}

div.scroll.snap footer
{
/*	scroll-snap-align: end;*/
}

/* ページ・メイン（main） */
main
{
	display: flex;
	align-items: stretch;
	width: 100%;
	padding: 0 0;
	margin: 0 auto;
}

/* 本文・アーティクル（article） */
article
{
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0;
	position: relative;
	background-color: transparent;
}

/* 本文・セクション（section） */
section
{
	padding: 48px 0;
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	width: 100%;
	background-color: transparent;
	position: relative;
}

body.supporter section#h201,
body.contact section#h201,
body.privacy_policy section#h201
{
	padding: 48px 0 0 0;
}

body.home section#h201
{
	background-color: rgb(18,85,163);
}

section.whitebase
{
	background-color: rgb(255,255,255);
}

section.coat
{
	padding: 24px 0;
	background-color: rgb(240,240,242);
	flex-basis: 0;
}

section#contact
{
	padding: 24px 0 0 0;
	color: rgb(255,255,255);
	background-color: rgb(18,85,163);
	flex-basis: 0;
}

section#contact a
{
	color : rgb(255,255,255) ;
}

section.hangar
{
	background-color: rgb(240,240,242);
}

section.over_layer,
section#h100
{
	padding: 0 !important;
}

section#map
{
	background-color: rgb(230,240,242);
	padding-bottom: calc(48px - 2.5em);
}

section.underzero
{
	padding-bottom: 0;
}

section#h2_support
{
	padding-top: calc(48px - 1.5em - 1px);
	padding-bottom: calc(48px - 1.5em - 1px);
/*	border-top: 1px solid rgb(18,85,163);*/
	border-bottom: 1px solid rgb(18,85,163);
}

section#h2_support div.spread
{
	display: none;
}

/* 全画面背景イメージ （section full_height） */
section.full_height
{
	position: relative;
	min-height: calc(100vh - 48px - 48px);
	height: auto;
}

section.full_height.auto
{
	position: relative;
	min-height: auto;
	height: auto;
}

/* 本文・フルサイズ */
section.full_width
{
	width: 100%;
	padding: 0 0;
}

/* 本文・最下部 */
section.bottom_anchor
{
	align-self: flex-end;
	background-color: transparent;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
	background-color: rgb(255,255,255);
}

/* 全画面カバーイメージ */
.cover_screen,
.cover_screen ul
{
	padding: 0;
	width: 100%;
	height: calc(100vw * 0.325);
	margin-bottom: 0;
	overflow: hidden;
}

.cover_screen.jx320
{
	display: none;
}

.cover_screen li
{
	height: 100%;
	overflow: hidden;
}

.cover_screen img,
.cover_screen video
{
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	object-fit: cover;
}

/* 全画面背景イメージ（spread） */
div.spreader
{
	height: 100%;
}

div.spread,
div.spread_fix
{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
/*	z-index: -1;*/
	background-color: rgb(255,255,255);
}

div.spread_fix
{
	position: fixed;
	top: 0;
	left: 0;
}

div.spread_fix.solid_color
{
	background-color: rgb(87,129,193);
}

div.spread.solid_color
{
	background-color: rgb(87,129,193);
}

div.spread.solid_color.dark
{
	background-color: rgb(18,85,163);
}

div.spread_fix::before,
div.spread_fix::after
{
	content: '';
	display: table;
}

div.spreader img,
div.spread img,
div.spread_fix img,
div.spread video,
div.spread_fix video
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
/*	background-color: rgb(255,255,255);*/
}

div.spread_fix.fit_contain img
{
	object-fit: contain;
}

div.spread:empty
{
	height: 100%;
	background-color: rgb(255,255,255);
}

div.spread.noimage
{
	height: 100%;
	background-color: rgb(255,252,200);
}

/* 背景画像の大きさ制限 tiny */
div.spread.tiny
{
	display: block;
	width: calc(100% - 40vw - 48px);
	height: calc(100vh - 15vh - 15vh);
	padding: 15vh 40vw 15vh 48px;
}

div.spread.tiny img
{
/*	object-fit: contain;*/
}

div.spread.half img
{
	height: 50vh;
}

div.hang_on
{
	padding: calc(50vh - 48px) 0 24px 0;
}

.fit_bottom img
{
	object-position: center bottom;
}

.fit_top img
{
	object-position: center top;
}

.fit_top-left img
{
	object-position: left top !important;
}

.fit_top-20p img
{
	object-position: 25% top !important;
}

.fit_bottom-right img
{
	object-position: right bottom;
}

/* 記事シート（seat_base seat） */
div.seat_base
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	bottom: 0;
	right: 0;
	width: calc(50% - 48px);
	height: calc(100% - 128px);
	padding: 64px 48px 64px 0;
}

div.seat_base.byside
{
	width: calc(100% - 48px - 48px);
/*	height: calc(100% - 164px - 64px);*/
	height: auto;
	flex-direction: row;
	justify-content: space-between;
/*	align-items: stretch;*/
	align-items: center;
	padding: 164px 48px 64px 0;
	top: 0;
}

div.seat_base.bottom
{
	justify-content: flex-end;
	height: calc(100% - 64px);
	padding: 64px 48px 0 0;
}

div.seat_base.top
{
	justify-content: flex-start;
	height: calc(100% - 64px);
	padding: 0 48px 64px 0;
}

div.seat_base.full
{
	width: calc(100% - 96px);
	padding: 64px 48px 64px 48px;
}

div.seat_base.f_block
{
	display : block ;
	width: calc(100% - 96px);
	height : auto ;
	padding: 64px 48px 64px 48px;
	top: 18svh;
}

div.seat_base.short
{
}

section.full_height.auto div.seat_base
{
	position: static;
	padding: calc(72px + 3.2em) 48px 64px 48px;
}

div.seat
{
	max-height: 100%;
	padding: 0;
	background-color: rgb(255,255,255);
	overflow: auto;
}

div.seat_base.byside div.seat
{
	width: 48%;
	height: 32em;
}

div.seat_base.top div.seat
{
	padding-top: calc(64px - 0.8em);
}

div.seat div.seat_contet,
div.seat div.seat_content
{
	padding: 0.6em 1.6em;
}

div.seat div.seat_content p:first-child
{
	margin-top: 0.2em;
}

div.seat div.seat_content p:last-child
{
	margin-bottom: 0.4em;
}

div.behind_seat
{
	position: absolute;
	width: 70%;
	height: 70%;
	top: 15%;
	left: 48px;
}

div.behind_seat p
{
	margin: 0;
	width: 100%;
	height: 100%;
}

div.behind_seat p img
{
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* home ホーム アイキャッチ */
div.ab_point
{
	position : absolute ;
	top: 10vh;
	left: 0;
	z-index: -1;
}

div.ab_point img
{
	width: 50vw;
	max-width: 768px;
	height: auto;
}

@media screen and (max-height: 885px) {
@media screen and (min-width: 960px) {
	div.ab_point img
	{
		width: 40vw;
		max-width: 768px;
		height: auto;
	}
}
}

/* 誘導アンカー */
.cover_screen ul
{
	position: relative;
}

.cover_screen ul li.induction
{
	width: 36px;
	height: 36px;
	position: absolute;
	left: calc(50% - 18px);
	bottom: 12px;
}

.cover_screen ul li.induction a
{
	display: block;
	width: 24px;
	height: 24px;
	padding: 6px;
	background-color: rgba(80,80,80,0);
/*	border: 2px solid rgb(255,255,255);*/
	border-radius: 9999px;
	transition: 0.7s;
}

.cover_screen ul li.induction a img
{
/*	display: block;
	width: 32px;
	height: 32px;*/
}

.cover_screen ul li.induction a:hover
{
	background-color: rgba(80,80,80,1.0);
	transition: 0.7s;
}

.return
{
	width: 25%;
	height: auto;
	position: absolute;
	left: 24px;
	top: 24px;
}

.return a
{
	display: block;
	width: calc(100% - 20px);
	height: auto;
	padding: 8px;
	border: 2px solid rgb(143,175,41);
	border-radius: 8px;
	background-color: rgba(255,255,255,0.7);
	transition: 0.7s;
}

.return a img
{
	display: block;
	width: 100%;
	height: auto;
}

.return a:hover
{
	background-color: rgba(255,255,255,1.0);
	transition: 0.7s;
}

/* HatenaXfade */
.fadeins ul
{
	position: relative;
}

.fadeins ul li
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}

/* 記事レイアウト（single_issue） */
.single_issue,
.single_issue_notitle
{
/*	width: calc(85% - 48px);*/
	max-width: 1440px;
	padding: 0 5% 0 5%;
	margin-left: auto;
	margin-right: auto;
}

.single_issue_notitle
{
	padding-bottom: 0;
}

.non_issue
{
	padding: 0 20%;
	margin-bottom: 2em;
}

/* 記事（passage） */
.passage
{
	padding: 0.6em 1.6em;
	background-color: rgb(255,255,255);
}

.passage.trans,
.passage:empty
{
	background-color: transparent;
}

.passage_narrow
{
	padding: 1em 12.5%;
}

.pair .passage
{
	margin-bottom: 1em;
}

/* 記事3個並び（triple_block） */
.triple_block
{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
/*	justify-content: flex-start;*/
/*	justify-content: space-between;*/
	justify-content: center;
	margin-bottom: 2.5vh;
}

.triple_block.no_bottom
{
	margin-bottom: 0;
}

.triple_block p
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 30%;
	padding: 0;
	margin-top: 0 !important;
	margin-right: 5%;
	margin-bottom: 1.5em;
}

.triple_block p:nth-of-type(3n),
.triple_block p:last-child
{
	margin-right: 0;
}

.triple_block p:nth-of-type(n+4)
{
/*	display: none;*/
}

.triple_block p a
{
	display: block;
	width: 100%;
	height: 100%;
}

.triple_block p.lnkbtn a
{
	display: inline-block;
	width: auto;
	height: auto;
}

.triple_block p img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 記事2個並び（double_block） */
.double_block
{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-bottom: 2.5vh;
}

.double_block.no_bottom
{
	margin-bottom: 0;
}

.double_block > p
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 30%;
	padding: 0;
	margin-top: 0 !important;
	margin-right: 0;
	margin-bottom: 0;
}

.double_block > div
{
	flex-basis: 50%;
}

.double_block > p:nth-of-type(2n),
.double_block > p::last-child
{
	margin-right: 0;
}

.double_block > p:nth-of-type(n+4)
{
/*	display: none;*/
}

.double_block > p a
{
	display: block;
	width: 100%;
	height: 100%;
}

.double_block > p.lnkbtn a
{
	display: inline-block;
	width: auto;
	height: auto;
}

.double_block > p img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 記事4個並び（quad_block） */
.quad_block
{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: start;
}

.quad_block.no_bottom
{
	margin-bottom: 0;
}

.quad_block > *
{
	flex-basis: 25%;
	padding: 0;
	margin: 0 !important;
}

.double_block p:nth-of-type(4n),
.double_block p::last-child
{
}

/* 横並び スクロール */
ul.para4
{
	width: auto;
	height: 40svh;
	margin : 8px 0 8px 0 ;
	overflow-x : scroll ;
	white-space: nowrap;
}

ul.para4 li
{
	display : inline-block ;
	height: 100%;
	width: auto;
}

ul.para4 li img
{
	display : block ;
	height: 100%;
	width: auto;
}

/* 1枚こっきり（single_pane） */
.single_pane > .passage
{
	width: auto;
}

/* よこ2枚並び 等分（double_pane） */
.double_pane
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
/*	align-items: center;*/
	padding: 0 0;
	min-height: auto;
	height: auto;
	background-color: transparent;
}

.double_pane.reverse
{
	flex-direction: row-reverse;
}

.double_pane .passage
{
	flex-basis: calc(49% - 3.2em);
	width: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.double_pane .passage.start
{
	justify-content: start;
}

.modal-wrapper .double_pane .passage
{
	position: relative;
}

.double_pane .passage p
{
	margin-bottom: 0.6em;
}

.double_pane .passage p img
{
	display: block;
}

/*.double_pane .passage:nth-of-type(2n)
{
	margin-right: 0;
}

.double_pane .passage:nth-of-type(2n-1)
{
	margin-right: 8%;
}*/

/* ボトムナビゲーション（section #Contact） */
#contact .double_pane .passage
{
	padding: 0.6em 1.6em 0 1.6em;
	background-color: transparent;
}

#contact .double_pane .passage:nth-of-type(2n-1)
{
	flex-basis: calc(50% - 3.2em);
	margin-right: 5%;
}

#contact .double_pane .passage:nth-of-type(2n)
{
	flex-basis: calc(45% - 3.2em);
}

#contact nav
{
	display: flex;
/*	column-count: 2;*/
}

#contact nav ul:nth-of-type(2n-1)
{
	flex-basis: calc(50%);
}

#contact nav ul:nth-of-type(2n)
{
	flex-basis: calc(50%);
}

#contact nav ul li
{
	height: 28px;
	font-size: 100%;
	margin-bottom: 0.6em;
}

#contact nav ul li:last-child
{
	margin-bottom: 0;
}

#contact nav ul li a
{
	display: inline-block;
	color: rgb(245,245,245);
	text-decoration: none;
	transition: 0.7s;
}

#contact nav ul li a img
{
	display: inline-block;
	vertical-align: middle;
}

#contact nav ul li a:hover
{
	color: rgb(251,198,0);
	transition: 0.7s;
}

#contact nav ul li a span.ninja
{
	display: none;
}

#contact h2
{
	padding: 0;
	margin: 0;
}
/* 特長ページ */
.feature_box
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0.8em;
}

.feature_box h5
{
	width: calc(30% - 1.6em);
	padding: 0.8em;
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
	background-image: url(/Images/feature_h5_background);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100% auto;
}

.feature_box dl
{
	width: calc(69% - 2em);
	padding: 0 0 0 2em;
/*	display: flex;
	flex-wrap: wrap;*/
}

.feature_box dl dt
{
	width: auto;
}

.feature_box dl dd
{
	width: 100%;
}

.feature_box h5,
.feature_box dl dd p
{
	margin-bottom: 0;
	text-align: justify;
}

dl.solution
{
	margin: 0 0 0.8em 1.5em;
}

dl.solution dt
{
	margin: 0 auto 1.8em auto;
	font-weight: bold;
	color: rgb(0,66,120);
}

dl.solution dt img
{
	display: block;
	margin: 0 auto 0 auto;
}

dl.solution dd
{
	position: relative;
	padding: 1.2em 2em 0.1em 2em;
	margin: 0 0 0.8em 10%;
	background-color: rgb(240,250,200);
	border: 2px solid rgb(0,66,120);
	border-radius: 8px;
}

dl.solution dd::after
{
	content: "";
	position: absolute;
	top: -28px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-bottom: 14px solid rgb(240,250,200);
	z-index: 1;
}


dl.solution dd::before
{
	content: "";
	position: absolute;
	top: -34px;
	left: 50%;
	margin-left: -20px;
	border: 17px solid transparent;
	border-bottom: 17px solid rgb(0,66,120);
}

dl.solution dd p
{
	font-size: 120%;
}

/* 横2枚並び　おおむね画像 */
.parallel_twin
{
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.8em;
}

.parallel_twin p
{
	width: 49%;
	margin-bottom: 0;
}

.parallel_twin p img
{
	display: block;
	max-width: 100%;
	height: auto;
}

/* 記事画像フルサイズ */
img.fullwidth
{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

/* 動画・YouTube */
.youtube
{
	margin-bottom: 0.8em;
}

.youtube iframe
{
	display: block;
	width: 100%;
	max-width: 1440px;
	height: auto;
	max-height: 810px;
	aspect-ratio: 16/9;
}

/* 画像クエリ・スマホ・PC切り替え */
@media screen and (min-width:480px)
{
	.img_900
	{
		display: block;
	}

	.img_479
	{
		display: none;
	}
}

@media screen and (max-width:479px)
{
	.img_900
	{
		display: none;
	}

	.img_479
	{
		display: block;
	}
}

/* デモ画面 */
.demoplay
{
	width: 100%;
	height: calc((75vw - 48px) * 0.667);
}

.demoplay iframe
{
	display: block;
	width: 100%;
	height: 100%;
}

/* デモ画面アコーディオン */
.acd-check
{
	display: none;
}

.acd-label
{
/*	height: 32px;*/
	cursor: pointer;
	text-align: center;
	font-weight: bold;
	background: #0068b7;
	color: #fff;
	display: block;
	padding: 10px;
	position: relative;
	border-radius: 8px 8px 8px 8px;
	transition: .5s;
}

.acd-label:hover
{
	background-color: rgb(143,175,41);
	transition: .5s;
}

.acd-label:before
{
	background-color: rgb(0,66,120);
	content: '▶︎';
	display: block;
/*	height: 32px;*/
	padding: 10px 20px;
	position: absolute;
	left: 0;
	top: 0px;
	border-radius: 8px 0 0 8px;
}

.acd-content
{
	display: block;
	height: 0;
	opacity: 0;
	padding: 0;
	transition: .5s;
	visibility: hidden;
}

.acd-check:checked + .acd-label
{
	border-radius: 8px 8px 0 0;
}

.acd-check:checked + .acd-label:before
{
	content: '▼';
	border-radius: 8px 0 0 0;
}

.acd-check:checked + .acd-label + .acd-content
{
	height: calc((75vw - 48px) * 0.667);
	opacity: 1;
	padding: 0;
	visibility: visible;
}

/* たて並び */
.vertical_pane
{
	padding: 0 0;
}

/* レシピ用 */
.center_pane
{
	text-align: center;
}

.recipe
{
	display: inline-block;
	width: auto;
	padding-left: 96px;
	margin: 0 auto 0.8em auto;
	background-image: url(/Images/recipe.svg);
	background-repeat: no-repeat;
	background-position: top left;
}

/* ブログ本文 */
.contents
{
	margin-bottom: 3em;
}

.contents_page p img
{
	display: block;
}

/* 本文可変文字サイズ */
@media screen and (min-width:1400px)
{
	main
	{
/*	font-size: 1.2vw;*/
	}
	.mailform
	{
	font-size: 16px;
	}
}

/* ページダウン */
div.page_center,
div.page_bottom
{
	display: block;
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 10px;
	left: 0;
}

div.page_under
{
	display: block;
	width: 100%;
	height: auto;
	margin-top: 1em;
}

div.page_under
{
	display: none;
}

p.pagedown
{
	margin-bottom: 0;
}

p.pagedown a
{
	display: block;
	width: 16px;
	height: 16px;
	padding: 12px 6px 10px 6px;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(255,255,255,0.5);
	border: 2px solid rgba(80,80,80,0.5);
	border-radius: 9999px;
	transition: 0.7s;
}

p.pagedown a:hover
{
	background-color: rgba(255,255,255,1);
	transition: 0.7s;
}

/* 上下するアニメーション */
@keyframes fuwafuwa
{
	0%,
	100% {
		transform: translateY(3px);
	}
	50% {
		transform: translateY(-3px);
	}
}

/* 無限に繰り返し */
.cover_screen ul li.induction a img,
p.pagedown a img
{
	animation: 1.6s fuwafuwa infinite;
	display: block;
	width: 16px;
	height: 16px;
}

.cover_screen ul li.induction a:hover img,
p.pagedown a:hover img
{
/*	animation-play-state: paused;*/
	animation: 0.6s fuwafuwa infinite;
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6
{
	/*	font-family: 'Roboto', sans-serif;
	font-family: 'Poppins', sans-serif;*/
}

h2,
h3,
h4,
h5
{
	color: rgb(80,80,80);
	line-height: 1.4;
	text-align: center;
	font-weight: bold;
	margin: 1.5em 0 0.5em 0;
	padding: 0 0 0 0;
}

/* 見出し h1 */
h1
{
	display: block;
	font-size: calc(100vw / 8);
	line-height: 1;
	font-weight: bold;
	color: rgb(255,255,255);
	text-shadow: 1px 1px 1px black;
	position: absolute;
	top: 72px;
	left: 24px;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.8));
}

h1 span.show_off
{
	display: block;
	padding-bottom: 0;
	border-bottom: 2px solid white;
}

h1 span.jpn_jan
{
	display: block;
	padding-top: 0.2em;
	font-size: 75%;
}

body.error h1
{
	display: none;
}

h1.pos_bottom
{
	top: auto;
	bottom: 10%;
}

h1.pos_bottom img
{
	width: 80vw;
	max-width: 1280px;
	height: auto;
}

@media screen and (max-height: 885px) {
@media screen and (min-width: 960px) {
	h1.pos_bottom img
	{
		width: 60vw;
		max-width: 1280px;
		height: auto;
	}
}
}

/* 見出し h2 */
h2
{
	padding: 48px 0 0 0;
	margin: 1em 0 0 0;
	color: rgb(0,80,153);
	font-size: 240%;
	line-height: 1.2;
	}

h2.directly_under
{
	margin-top: 3.6em;
}

h2 img
{
	display: inline-block;
	width: 25%;
/*	min-width: 240px;*/
	height: auto;
}

#contact h2 img
{
	width: 440px;
	height: 128px;
}

h2.title_call
{
	margin: 0 0 0 0;
	position: relative;
	padding-top: 0;
	text-align: left;
}

h2.title_call.position_one
{
	z-index: 2;
}

h2 em
{
	font-size: 75%;
	font-weight: bold;
}

section#h2_support h2
{
	color: rgb(237,119,0);
	text-align: center;
}

/* 見出し h3 */
h3
{
	font-size: 160%;
	color: rgb(60,60,60);
	margin: 1.0em 0 0.8em 0;
}

h3.title_call.position_one
{
	margin: 4px 0 0 0;
	position: relative;
	text-align: left;
	font-size: 120%;
	color: rgb(255,255,255);
	text-shadow: 1px 1px 2px black;
	z-index: 2;
}

h3.title_call.position_one.black
{
	color: rgb(80,80,80);
	text-shadow: none;
}

h3.direct
{
	margin: 0.2em 48px 1.2em 48px;
}

h3+p
{
	margin-top: 0.8em;
}

p+h3
{
	margin-top: 2em;
}

section#h2_support h3
{
	text-align: center;
}

/* \わ〜い/ */
.heading
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.heading::before,
.heading::after
{
	background-color: rgb(80,80,80);
	border-radius: 3px;
	content: "";
	height: 3px;
	width: 1.4em;
}
.heading::before
{
	margin-right: 0.1em;
	transform: rotate(60deg);
}
.heading::after
{
	margin-left: 0.1em;
	transform: rotate(-60deg);
}

/* 見出し h4 */
h4
{
	font-size: 140%;
	padding-bottom: 0.2em;
	margin-top: 0.8em;
	margin-bottom: 0.8em;
	color: rgb(60,60,60);
	border-bottom: 1px solid rgb(100,100,100);
}

h4 span.circle::before
{
	content: " ";
	display: inline-block;
	vertical-align: -10%;
	width: 1em;
	height: 1em;
	margin-right: 0.25em;
	background-color: rgb(0,159,232);
	border-radius: 0.5em;
}

h4.shorttop
{
	margin-top: 0;
	text-align: center;
}

h4.column {
	padding: 0.2em 0 0.2em 0;
	margin-bottom: 0;
	text-align: center;
	background-color: rgb(194,216,78);
	background-image: none;
	border-radius: 8px 8px 0 0;
}

.single_issue h4.box_title
{
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0.85em auto 0 auto;
	text-align: center;
	background-image: none;
	z-index: 3;
}

.single_issue h4.box_title+*
{
	margin-top: -12px;
}

.single_issue h4.box_title img
{
	display: block;
	margin: 0 auto 0 auto;
}

section.full_height div.seat h4
{
	margin: 0;
	padding: 0.4em 1.2em;
	position: sticky;
	top: 0;
	text-align: left;
	line-height: 1.4;
	color: rgb(255,255,255);
	background-color: rgb(18,85,163);
/*	border: 1px solid rgb(0,80,154);*/
}

section.full_height div.seat h4.dark
{
	background-color: rgb(87,129,193);
}

section.full_height div.seat h4.index_link
{
	padding: 0;
}

section.full_height div.seat h4.index_link a
{
	display: block;
	padding: 0.4em 1.2em;
	color: rgb(255,255,255);
	background-color: transparent;
	background-image: url(/Images/arrow_right.svg);
	background-repeat: no-repeat;
	background-position: center right 12px;
	background-size: auto 1em;
	transition: 0.7s;
}

section.full_height div.seat h4.index_link a:hover
{
	background-color: rgb(237,119,0);
	background-position: center right 36px;
	transition: 0.5s;
}

/* 見出し h5 */
h5
{
	font-size: 125%;
	text-align: left;
	margin-top: 0.8em;
	margin-bottom: 0.5em;
}

h5.balloon
{
	display: inline-block;
	position: relative;
	margin: 0 0 1.25em 1.25em;
	padding: 1em 1.5em 1em 1.5em;
	text-align: justify;
	background: #FFF;
	border: solid 2px rgb(0,66,120);
	border-radius: 8px;
}

h5.balloon::before
{
	content: "";
	position: absolute;
	bottom: -26px;
	left: 50%;
	margin-left: -16px;
	border: 13px solid transparent;
	border-top: 13px solid #FFF;
	z-index: 2;
}

h5.balloon::after
{
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid rgb(0,66,120);
	z-index: 1;
}

h5.blue
{
	color: rgb(18,85,163);
}

/* 見出し h6 */
h6
{
	margin: 0.8em 0 0.8em 0;
	font-weight: bold;
}

/* リード文 */
.lead
{
	text-align: center;
	font-weight: bold;
}

/* カタログセクション */
ul.ImgThumbs
{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 0.5em;
}

ul.ImgThumbs li
{
	width: 24%;
	height: 100px;
	padding: 0;
	margin-bottom: 6px;
	margin-right: calc(4% / 3);
	overflow: hidden;
}

ul.ImgThumbs li:nth-of-type(4n)
{
	margin-right: 0;
}

ul.ImgThumbs li:last-child
{
}

ul.ImgThumbs li img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
	opacity: 1.0;
	transition: 0.7s;
}

ul.ImgThumbs li img:hover
{
	width: 120%;
	height: 120%;
	opacity: 0.6;
	transition: 0.7s;
}

/* ページ内インデックス */
div.page_index
{
	margin-bottom: 1em;
}

div.page_index ul
{
	text-align: center;
	letter-spacing: -0.4em;
}

div.page_index ul li
{
	display: inline-block;
	width: 80px;
	margin: 5px 5px;
	font-size: 14px;
	letter-spacing: normal;
}

div.page_index ul li a
{
	display: block;
	width: 78px;
	height: 64px;
	padding-top: 14px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	color: rgb(255,255,255);
	background-color: rgb(143,175,41);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url(/Images/bg_page_index.svg);
	border: 1px solid rgb(143,175,41);
	border-radius: 40px;
	overflow: hidden;
	transition: 0.7s;
}

div.page_index ul li a:hover
{
	text-decoration: none;
	color: rgb(240,240,240);
	background-color: rgb(84,131,87);
	transition: 0.7s;
}

div.page_index ul li a:active
{
	box-shadow: none;
}

/* ディレクトリ インデックス 丸くないリスト */
/* バラレル インデックス 画像リスト */
div.parallel_index,
div.directory_index
{
	margin-bottom: 1em;
	margin-left: auto;
	margin-right: auto;
}

div.parallel_index ul,
div.directory_index ul
{
	text-align: left;
	letter-spacing: -0.4em;
}

div.parallel_index ul li,
div.directory_index ul li
{
	vertical-align: top;
	display: inline-block;
	width: 48%;
	margin: 5px 4% 0.8em 0;
	font-size: 90%;
	line-height: 1.4;
	letter-spacing: normal;
}

div.parallel_index ul li:nth-of-type(2n),
div.directory_index ul li:nth-of-type(2n)
{
	margin: 5px 0 5px 0;
}

div.directory_index ul li a
{
	display: block;
	padding: 10px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	text-decoration: none !important;
	color: rgb(84,107,26) !important;
	background-color: rgb(255,249,232);
	border: 2px solid rgb(143,183,33);
	border-radius: 34px;
	overflow: hidden;
	transition: 0.7s;
}

div.parallel_index ul li a
{
	display: block;
	padding: 0;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	text-decoration: none !important;
	color: rgb(84,107,26) !important;
	overflow: hidden;
	border: 3px solid rgb(0,66,120);
	border-radius: 1em;
	background-color: rgb(255,250,225);
	transition: 0.7s;
}

div.directory_index ul li a:after
{
	content: " ➤"
}

div.directory_index ul li a:hover
{
	text-decoration: none !important;
	color: rgb(250,250,250) !important;
	background-color: rgb(143,183,33);
	box-shadow: 2px 2px 4px 2px rgba(0,0,0,0.3);
	transition: 0.7s;
}

div.parallel_index ul li a:hover
{
	background-color: rgb(240,250,200);
	transition: 0.7s;
}

div.directory_index ul li a:active
{
	box-shadow: none;
}

div.parallel_index ul li a img
{
	width: 100%;
	height: auto;
	display: block;
}

/* 体験版リンクボタン */
p.trial_button
{
	margin: 0;
}

p.trial_button a
{
	display: inline-block;
	margin: 0 auto;
}

p.trial_button a img
{
	display: block;
	margin: 0 auto;
}

/* つづきを読む */
p.more
{
	text-align: right;
	margin-bottom: 0;
}

p.more a
{
	display: inline-block;
	padding: 8px 20px 8px 20px;
	font-size: 16px;
	line-height: 1;
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
	border-radius: 16px;
	transition: 0.7s;
}

p.more a:hover
{
	background-color: rgb(143,175,41);
	transition: 0.7s;
}

/* インラインバナー 2連星 3連星 4連星 */
ul.twinstreamattack,
ul.jetstreamattack,
ul.fourstreamattack
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	margin-bottom: 0.5em;
}

ul.twinstreamattack li,
ul.jetstreamattack li,
ul.fourstreamattack li
{
	padding: 0;
	margin: 0 0 1em 0;
	overflow: hidden;
	display: flex;
	align-items: stretch;
}

ul.twinstreamattack li
{
	width: calc(100% / 2);
}

ul.jetstreamattack li
{
	width: calc(100% / 3);
}

ul.fourstreamattack li
{
	width: calc(100% / 4);
}

ul.twinstreamattack li img,
ul.jetstreamattack li img,
ul.fourstreamattack li img
{
	display: block;
	width: 100%;
	height: auto;
}

/* 日付 */
p.date
{
	text-align: right;
	font-size: 85%;
}

/* ページトップボタン（page-up） */
.page-up
{
	width: 32px;
	height: 32px;
	position: absolute;
	position: fixed;
	right: 8px;
	bottom: 6px;
	border-radius: 16px;
	overflow: hidden;
	z-index: 100;
}

.page_link ul li
{
	width: 32px;
	height: 32px;
	border-radius: 16px;
	overflow: hidden;
}

.page-up a,
.page-up img,
.page_link ul li a,
.page_link ul li img
{
	width: 32px;
	height: 32px;
	display: block;
}

.page-up a,
.page_link ul li a
{
	background-color: rgba(80,80,80,0.3);
	transition: 1.0s;
}

.page-up a:hover,
.page_link ul li a:hover
{
	background-color: rgba(80,80,80,1);
	transition: 1.0s;
}

/* 前のページに戻るボタン */
.page_link_previous img
{
	transform: rotate( -90deg );
}

.page_link_next img
{
	transform: rotate( 90deg );
}

/* ページ移動ボタン */
.page_link ul
{
	display: flex;
	justify-content: space-around;
	margin-top: 2em;
}

/* ブログリスト */
ul.blog-list
{
	margin: 0 0;
	padding: 0 0;
	background-image: url(/Images/bg_blog_list.svg);
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 100px;
}

ul.blog-list li
{
	margin: 0.75em 0 0.75em 0;
	list-style-type: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

ul.blog-list li:nth-of-type(n+11)
{
	display: none;
}

ul.blog-list li span.update
{
	padding-right: 1em;
}

/* はてなブログリスト */
ul.hatenablog-list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
/*	height: 70vh;*/
/*	overflow-y: scroll;*/
}

ul.hatenablog-list li
{
	display: block;
	width: 24%;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
	position: relative;
	font-weight: bold;
	list-style-type: none;
	overflow: hidden;
}

ul.hatenablog-list li a
{
	display: block;
}

ul.hatenablog-list li span.imgcard
{
	display: block;
	width: 100%;
	height: calc(100vw * 0.9 * 0.8 * 0.24 * 0.75);
}

ul.hatenablog-list li span.imgcard img
{
	display: block;
	width: calc(100% - 2px);
	height: calc(100% - 1px);
	border-left: 1px solid rgb(200,200,200);
	border-right: 1px solid rgb(200,200,200);
	border-top: 1px solid rgb(200,200,200);
	object-fit: cover;
}

ul.hatenablog-list li span.update
{
	display: block;
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 2px 8px;
	font-size: 12px;
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
	border-radius: 4px;
}

ul.hatenablog-list li span.releasetitle
{
	display: block;
	padding: 10px 8px 6px 8px;
	font-size: 16px;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
/*	border-radius: 0 0 4px 4px;*/
}

ul.hatenablog-list li a span.releasetitle
{
	color: rgb(0,66,120);
	background-color: rgba(255,250,225,1);
	border-left: 1px solid rgb(200,200,200);
	border-right: 1px solid rgb(200,200,200);
	border-bottom: 1px solid rgb(200,200,200);
	transition: 0.5s;
}

ul.hatenablog-list li a:hover span.releasetitle
{
	color: rgb(0,66,120);
	background-color: rgba(216,227,128,1);
	border-left: 1px solid rgb(200,200,200);
	border-right: 1px solid rgb(200,200,200);
	border-bottom: 1px solid rgb(200,200,200);
	transition: 0.5s;
}

/* ブログ目次 */
.passage img.pure-img
{
	max-width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* トップページ目次・table_of_contents */
.table_of_contents,
.table_of_contents_attend
{
	margin-bottom: 2em;
}

.table_of_contents ul,
.table_of_contents_attend ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	font-size: 15px;
}

.table_of_contents ul li
{
	width: calc(100% / 5 - 10px);
	margin: 0 calc(10px * 5 / 4) 24px 0;
	transition: 0.7s;
}

.table_of_contents ul li:nth-of-type(5n+1)
{
}

/* 現状5並びなので */
.table_of_contents ul li:nth-of-type(5n)
{
	margin-right: 0;
}

.table_of_contents ul li:last-child
{
	margin-right: 0 !important;
}

.table_of_contents ul li:hover
{
}

.table_of_contents ul li a
{
	display: block;
	text-align: center;
	transition: 0.7s;
}

.table_of_contents ul li a span.index_label
{
	display: block;
	margin: 0 auto;
	padding: 4px 1em;
	font-weight: bold;
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
	transition: 0.7s;
}

.table_of_contents ul li a img
{
	display: block;
	width: calc(100% - 4px);
	height: auto;
	border: 2px solid rgb(0,66,120);
	background-color: rgba(252,252,252,1);
	transition: 0.7s;
}

/* 説明付き目次 */
.table_of_contents_attend
{
	margin-bottom: 2em;
}

.table_of_contents_attend ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	font-size: 15px;
}

.table_of_contents_attend ul li
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 49%;
	margin: 0 2% 24px 0;
	transition: 0.7s;
}

.table_of_contents_attend ul li:nth-of-type(2n)
{
	margin: 0 0 24px 0;
}

.table_of_contents_attend ul li a.ateend_block
{
	display: block;
	width: 40%;
	text-align: center;
	transition: 0.7s;
}

.table_of_contents_attend ul li .supple
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(60% - 1.6em);
	padding: 0.8em;
	font-size: 100%;
	text-align: left;
	background-color: rgb(255,250,225);
	border-top: 2px solid rgb(0,66,120);
	border-bottom: 2px solid rgb(0,66,120);
	transition: 0.7s;
}

.table_of_contents_attend ul li .supple p
{
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0;
}

.table_of_contents_attend ul li .supple p.more a
{
	padding: 6px 18px 6px 18px;
	font-weight: normal;
	font-size: 15px;
}

@media screen and (max-width:1279px)
{
	.table_of_contents_attend ul li .supple p
		{
		max-height: 5.2em;
		overflow: hidden;
		text-overflow: ellipsis;
		}
}

.table_of_contents_attend ul li a.ateend_block span.index_label
{
	display: block;
	margin: 0 auto;
	padding: 4px 1em;
	font-weight: bold;
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: 0.7s;
}

.table_of_contents_attend ul li a.ateend_block img
{
	display: block;
	width: calc(100% - 4px);
	height: auto;
	border: 2px solid rgb(0,66,120);
	background-color: rgba(252,252,252,1);
	transition: 0.7s;
}

.table_of_contents ul li a:hover span.index_label,
.table_of_contents_attend ul li a.ateend_block:hover span.index_label
{
	color: rgb(252,252,252);
	background-color: rgb(0,66,120);
}

.table_of_contents ul li a:hover img,
.table_of_contents_attend ul li a.ateend_block:hover img
{
	border-color: rgb(0,66,120);
	background-color: rgba(216,227,128,1);
	transition: 0.7s;
}

/* 横並び リンク parallel_center */
ul.parallel_center
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

ul.parallel_center li
{
	margin: 0.5em;
}

ul.parallel_center li a
{
	display: block;
}

ul.parallel_center li a img
{
	display: block;
}

/* お役立ちリンク */
ul.parallel_center.h2_linkz
{
	align-items: stretch;
}

ul.parallel_center.h2_linkz li
{
	width: 30%;
}

ul.parallel_center.h2_linkz li a
{
	padding: 0.8em;
	height: calc(100% - 1.6em - 4px);
	text-decoration: none;
	border: 2px solid rgb(143,183,33);
	border-radius: 8px;
	background-color: rgb(255,255,255);
	transition: 0.7s;
}

ul.parallel_center.h2_linkz li a span.linkz_text
{
	display: block;
	margin-bottom: 0.8em;
}

ul.parallel_center.h2_linkz li a img
{
	margin-left: auto;
	margin-right: auto;
}

ul.parallel_center.h2_linkz li a:hover
{
	background-color: rgb(255,249,232);
	transition: 0.7s;
}

/* フッタ直前 */
.pre_footer
{
	padding-bottom: 12px;
	text-align: center;
}

/* シェアボタン */
/* シェアボタン関係 */
.appendix
{
	display: block;
	padding: 0;
	height: 24px;
	margin: 0 auto;
	background-color: transparent !important;
	border-style: none !important;
}

.appendix ul
{
	display: flex;
	justify-content: center;
	align-items: center;
}

.appendix ul li
{
	margin: 0 0 0 12px;
}

.appendix ul li:first-child
{
	margin: 0;
}

.appendix ul li a
{
	color: rgb(250,250,250);
	display: block;
}

.appendix ul li a img
{
	display: block;
	height: 24px;
	margin: 0 auto;
}

/* シェアボタン・トグル（share_box） */
.share_box
{
	display: flex;
	position: absolute;
	bottom: 6px;
	left: 8px;
	height: auto;
	margin-left: 0;
	line-height: 20px;
}

.acd-check2
{
	display: none;
}

.acd-label_share
{
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 0;
	margin-right: 0;
	padding: 6px;
	background: rgb(200,200,200);
	color: #0068b7;
	font-size: 16px;
	text-align: center;
	cursor: pointer;
	border: 1px solid rgb(200,200,200);
	border-radius: 9999px;
	transition: 0.5s;
}

.acd-content_share
{
	display: inline-block;
	height: 22px;
	width: 0;
	padding: 4px;
	margin-left: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: 0.5s;
}

.acd-check2:checked + .acd-label_share + .acd-content_share
{
	height: 22px;
	width: 132px;
	padding: 4px;
	background-color: rgb(200,200,200);
	border: 1px solid rgb(200,200,200);
	border-radius: 0 9999px 9999px 0;
	opacity: 1;
	visibility: visible;
	transition: 0.5s;
}

.acd-check2:checked + .acd-label_share
{
	background: rgb(200,200,200);
	color: #0068b7;
	border-radius:  9999px 0 0 9999px;
	transition: 0.5s;
}

.acd-content_share div.appendix
{
	position: static;
}

/* フッタ */
footer
{
	position: relative;
	padding: 0;
	display: flex;
	flex-direction: column;
	color: rgb(255,255,255);
	background-color: rgb(18,85,163);
/*	background-image: url(/Images/border_top.svg);
	background-position: top center;
	background-repeat: repeat-x;*/
}

footer a:link,
footer a:visited
{
	color: rgb(240,240,242);
	text-decoration: none;
	transition: 0.7s;
}

footer a:hover
{
	color: rgb(250,250,252);
	text-decoration: underline;
	transition: 0.7s;
}

/* 不使用　ボトムナビゲーション */
.bottom_navigation
{
	font-size: 15px;
	padding: 21px 24px;
	height: auto;
}

.bottom_navigation ul
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: stretch;
}

.bottom_navigation ul li
{
	padding: 0 1em;
	border-right: 1px solid rgb(248,248,248);
}

.bottom_navigation ul li:first-child
{
	border-left: 1px solid rgb(248,248,248);
}

.bottom_navigation ul li a
{
	display: block;
}

/* フロートメニュー */
.floatmenu
{
	position: absolute;
	position: fixed;
	display: block;
	padding: 0;
	top: 60px;
	right: 0;
	z-index: 205;
}

.floatmenu ul
{
	padding: 0 12px 10px 10px;
	background-color: rgba(255,255,255,0.5);
	border-top: 1px solid rgb(200,200,200);
	border-left: 1px solid rgb(200,200,200);
	border-bottom: 1px solid rgb(200,200,200);
	border-radius: 8px 0 0 8px;
	transition: 0.7s;
}

.floatmenu ul:hover
{
	padding: 0 22px 10px 10px;
	background-color: rgba(255,255,255,1);
	transition: 0.7s;
}

.floatmenu ul li
{
	margin: 10px 0 0 0;
}

.floatmenu ul li:nth-of-type(5),
.floatmenu ul li:nth-of-type(6)
{
	display: none;
}

.floatmenu ul li a
{
	display: block;
}

.floatmenu ul li a img
{
	display: block;
	height: 28px;
}

.floatmenu ul li a:hover img
{
	opacity: 1.0;
	transition: 0.7s;
}

/* エンドロール（endrole） */
div.endrole
{
	display: block;
	width: auto;
	padding: 0;
	font-size: 16px;
/*	background-image: url(/Images/2048w_MG_0607.jpg);
	background-repeat: repeat-x;
	background-position: center center;
	background-size: cover;
	overflow: hidden;*/
/* -webkit-animation: bgscroll 70s linear infinite;
 animation: bgscroll 70s linear infinite;*/
}

div.endrole address
{
	display: block;
	width: auto;
	height: 24px;
	padding: 4px 46px;
	text-align: center;
}

div.endrole address p
{
	margin: 0;
	text-align: right;
	font-size: 65%;
}

/* アニメーション関係 */
/* fadeUp */
.fadeUp
{
	animation-name:fadeUpAnime;
	animation-duration:0.7s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeUpAnime{
	from {
	opacity: 0;
	transform: translateY(20vh);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

/* fadeSlide */
.fadeSlide
{
	animation-name:fadeSlideAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeSlideAnime{
	from {
	opacity: 0;
	transform: translateX(-30vw);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}

/* fadeDrift */
.fadeDrift
{
	animation-name:fadeDriftAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeDriftAnime{
	from {
	opacity: 0;
	transform: translateX(30vw);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.fadeSlideTrigger,
.fadeDriftTrigger
{
	 opacity: 0;
}

.modal-wrapper .fadeUp,
.modal-wrapper .fadeSlide,
.modal-wrapper .fadeDrift
{
	animation: none;
	transform: none;
	transition: unset;
	opacity:1;
}

.modal-wrapper .fadeUpTrigger,
.modal-wrapper .fadeSlideTrigger,
.modal-wrapper .fadeSlideDrift
{
	 opacity: 1;
}

