@charset "utf-8";
/* CSS Document */

/*メインビジュアル*/
#main_visual {
	width: 100vw;
	height: 368px;
	position: relative;
	top: 114px;
	z-index: 1;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	padding-bottom: 20px;
	overflow-x: hidden;
}
#main_visual img {
	pointer-events: none;	/*の画像ドラッグ禁止*/
}
#main_visual .fast-img{
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

/*メインの障子*/

#main_base{
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* mainの吹き出し */
/* posiで吹き出し位置調整 */
#main-balloon {
	float: right;
	position: absolute;
	right: 50%;
	margin-top: 10px;
	margin-right: 5px;
	width: 148px;
	height: 320px;
	background-color: #fff;
	border-radius: 74px;
	border: solid #7A7A7A 2px;
	z-index: 2;
}
#main-balloon p {
	position: absolute;
	font-size: 18px;
	right: 20px;
	top: 38px;
	width: 320px;
	padding: 0;
	margin: 0;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

.seem {
	width: 0;
	opacity: 0;
	-webkit-animation: main-balloon 1500ms ease-in-out 5550ms 1 normal forwards;
	-moz-animation: main-balloon 1500ms ease-in-out 5550ms 1 normal forwards;
	-ms-animation: main-balloon 1500ms ease-in-out 5550ms 1 normal forwards;
	-o-animation: main-balloon 1500ms ease-in-out 5550ms 1 normal forwards;
	animation: main-balloon 1500ms ease-in-out 5550ms 1 normal forwards;
}
.seem-text {
	opacity: 0;
	animation: main-balloon 1500ms ease-in-out 6550ms 1 normal forwards;
}
@-webkit-keyframes main-balloon {
	0% {
		width: 0;
		opacity: 0;
	}
	100% {
		width: 148px;
		opacity: 1;
	}
}
@keyframes main-balloon {
	0% {
		width: 0;
		opacity: 0;
	}
	100% {
		width: 148px;
		opacity: 1;
	}
}

@-webkit-keyframes main-balloon-close {
	0% {
		width: 148px;
		opacity: 1;
	}
	100% {
		width: 0px;
		opacity: 0;
	}
}
@keyframes main-balloon-close {
	0% {
		width: 148px;
		opacity: 1;
	}
	100% {
		width: 0px;
		opacity: 0;
	}
}

.text-sideways {
   -webkit-text-orientation: upright;
   -moz-text-orientation: upright;
   -o-text-orientation: upright;
    text-orientation: upright;
}
.ex-mk {
	text-combine-upright: all;
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
}
#main-balloon:before {
  content: "";
  position: absolute;
  top: 54%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #FFF;
  z-index: 2;
}

#main-balloon:after {
  content: "";
  position: absolute;
  top: 54%;
  right: -29px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #7A7A7A;
  z-index: 1;
}
.koniro {
	color: #113DC3;
	font-weight: 700;
}

/*初回のみ表示されるアニメ障子とロゴ全体*/
.main_side_l, .main_logo_l, .main_side_r, .main_logo_r {
	position: absolute;
	z-index: 11;
	top: 0;
	left: 50%;
}

/*初回のみ表示されるアニメの障子左側*/
.main_side_l, .main_logo_l{
	margin-left: -966px;
	-webkit-animation: side_l 1250ms ease-in-out 4000ms 1 normal forwards;
	-moz-animation: side_l 1250ms ease-in-out 4000ms 1 normal forwards;
	-ms-animation: side_l 1250ms ease-in-out 4000ms 1 normal forwards;
	-o-animation: side_l 1250ms ease-in-out 4000ms 1 normal forwards;
	animation: side_l 1250ms ease-in-out 4000ms 1 normal forwards;
}

/*初回のみ表示されるアニメの障子右側*/
.main_side_r, .main_logo_r {
	margin-left: -632px;
	-webkit-animation: side_r 1250ms ease-in-out 4000ms 1 normal forwards;
	-moz-animation: side_r 1250ms ease-in-out 4000ms 1 normal forwards;
	-ms-animation: side_r 1250ms ease-in-out 4000ms 1 normal forwards;
	-o-animation: side_r 1250ms ease-in-out 4000ms 1 normal forwards;
	animation: side_r 1250ms ease-in-out 4000ms 1 normal forwards;
}

/*初回のみ表示されるアニメのロゴ左側*/
.main_logo_l,.main_logo_r {
	z-index: 12;
}
/*初回のみ表示される障子のアニメ*/
@-webkit-keyframes side_l {
	0% {margin-left: -966px}
	100% {margin-left: -1290px}
}
@keyframes side_l {
	0% {margin-left: -966px}
	100% {margin-left: -1290px}
}
.fade-in {
	opacity: 0;
	-webkit-animation: fade-in 1000ms ease-in-out 800ms 1 normal forwards;
	-moz-animation: fade-in 1000ms ease-in-out 800ms 1 normal forwards;
	-ms-animation: fade-in 1000ms ease-in-out 800ms 1 normal forwards;
	-o-animation: fade-in 1000ms ease-in-out 800ms 1 normal forwards;
	animation: fade-in 1000ms ease-in-out 800ms 1 normal forwards;
}

/*初回のみ表示される障子のアニメ*/
@-webkit-keyframes side_r {
	0% {
		margin-left: -632px;
	}
	100% {
		margin-left: -308px;
	}
}
@keyframes side_r {
	0% {
		margin-left: -632px;
	}
	100% {
		margin-left: -308px;
	}
}

/*初回のみ表示されるロゴのアニメ*/
@-webkit-keyframes fade-in {
	0% {opacity: 0}
	60%{opacity: 1}
	100% {opacity: 1}
}
@keyframes fade-in {
	0% {opacity: 0}
	60%{opacity: 1}
	100% {opacity: 1}
}

/*初回のみ表示されるイラスト用*/
/*1920px用*/
#main-fast {
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-left: 630px;
	z-index: 2;
}
/*500px用*/
.slider2 {
	display: none;
}

/*スライドショーに関するCSSの記述開始*/
.slider1 {
	width: 100vw;
	height: 368px;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}
.slider1 .slider-inner1 li {
    position: absolute;
    top: 0;
	left: 50%;
	margin-left: -325px;
    width: 100vw;
    height: 100%;
    opacity: 0;
    filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: all 600ms;
    -webkit-transition: all 600ms;
    -moz-transition: all 600ms;
    -ms-transition: all 600ms;
    -o-transition: all 600ms;
    pointer-events: none
}

.slider1 .slider-inner1 li.show {
    opacity: 1;
    filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 1;
    pointer-events: auto
}
.slider1 .dot-nav1{
	position: absolute;
	top: 350px;
	z-index: 4;
    width: 100%;
    text-align: center;
    font-size: 0;
}

.slider1 .dot-nav1 li {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 10px;
    border-radius: 15px;
	background: #fff;
    cursor: pointer;
    -webkit-transition: background 400ms;
    -moz-transition: background 400ms;
    -ms-transition: background 400ms;
    -o-transition: background 400ms;
    transition: background 400ms
}
.slider1 .dot-nav1 li:hover{
	background: #0005FF;
}


.slider1 .dot-nav1 li.current {
    background: #00bfcb;
}
/*スライドショーに関するCSSの記述終了*/


/*wrapperのCSS開始*/
#wrapper {
	width: 640px;
	height: auto;
	margin-top: 114px;
	margin-bottom: 40px;
}
/*セクション：リンクコンテンツの設定*/
section {
	width: 320px;
	float: left;
}
/*サイトマップリンク開始*/
#site_map_link {
	font-weight: bold;
	width: 320px;
	height: 160px;
	position: relative;
	cursor: pointer;
}
#site_map_link_balloon {
	width: 200px;
	height: 140px;
	background-color: #FFFFFF;
	border-radius: 20px;
	box-shadow: 4px 4px 2px #474747;
	position: absolute;
	z-index: 2;
}
#site_map_link_balloon:before {
  content: "";
  position: absolute;
  top: 80%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 32px solid #FFF;
  z-index: 2;
}
#site_map_link img {
	position: absolute;
	top: 0%;
	left: 0%;
	z-index: 1;
}
#site_map_link h1 {
	margin-top: 15px;
	text-align: center;
	color: #0D6400;
	font-size: 18px;
}
#site_map_link p {
	margin-top: 12px;
	text-align: center;
	font-size: 16px;

}

/*サイトマップリンク終了*/

/*サイトマップ開始*/
#site-map-section {
	width: 640px;
	position: relative;
	top: 5%;
	margin-bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
}
#site-map-section section {
	width: 300px;
	float: left;
	margin: 0 5px;
}
#site-map-section h2 {
	text-align: center;
}
table {	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 300px;
	margin: 10px 5px;
	text-align: center;
    border-spacing: 0px 10px;
}
th, td {
	box-shadow: 4px 4px 2px rgba(0,0,0,0.3);

}
th {
	width: 300px;
	padding: 10px 0;
	border: #00570C solid;
	border-width: 10px 8px;
	background-color: #FFFEEA;
	font-size: 18px;
}
td {
	font-weight: bold;
	font-size: 16px;
}
.td-01 {
	background-color: #fff;
	border: #AB0002 solid 3px;
	border-radius: 10px;
}
.td-01 a {
	color: #0005FF;
}
.no-hover {
	background-color: #fff;
	border: #AB0002 solid 3px;
	border-radius: 10px;
}

.td-02 {
	background-color: #fff;
	border: #000 solid 1px;
	border-radius: 10px;
	text-align: left;
	padding-left: 4px;
}
td.td-01:hover {
	-webkit-transform: translateY(-5px);
    -moz-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    -o-transform: translateY(-5px);
    transform: translateY(-5px);
	-webkit-transition: all 300ms ease-in;
	-moz-transition: all 300ms ease-in;
	-ms-transition: all 300ms ease-in;
	-o-transition: all 300ms ease-in;
	transition: all 300ms ease-in;
}
.td-01 a, .td-02:hover {
	-webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
	-webkit-transition: all 0ms ease;
	-moz-transition: all 0ms ease;
	-ms-transition: all 0ms ease;
	-o-transition: all 0ms ease;
	transition: all 0ms ease;
}
/*サイトマップ終了*/


/*サイドナビ開始*/
#side_navi {
	width: 320px;
	height: 240px;
	margin: 20px 0;
}
#side_navi ul li {
	width: 160px;
	float: left;
}
/*サイドナビ終了*/

/*お知らせの開始*/
#info {
	width: 320px;
	height: 420px;
	margin: 20px 0 10px 0;
	padding: 0;
	float: right;
	background-repeat: no-repeat;
	position: relative;
	/*background-image: url(../images/info.png);*/
}
/*お知らせの背景画像出しわけ記述*/
.no-webp #info {background-image: url(../images/info.png)}
.webp #info {background-image: url(../images/info.webp)}

#info h2 {
	width: 320px;
	font-size: 19px;
	text-align: center;
	position: absolute;
	top: 100px;
}

#info_contents {
    width: 170px;
    height: 220px;
    margin-top: 30px;
    position: absolute;
    top: 52%;
    left: 53.5%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    overflow-x: hidden;
}


/*お知らせのスクロールバー設定*/
/*スクロールバー全体*/
#info_contents::-webkit-scrollbar {
	width: 10px;
}
/*スクロールバーのつまみ部分*/
#info_contents::-webkit-scrollbar-track {
	background-color: rgb(220, 220, 220);
	border-radius: 5px;
}
/*スクロールバーの背景部分*/
#info_contents::-webkit-scrollbar-thumb {
	height: 30px;
	background-color: rgb(80, 80, 80);
	border-radius: 5px;
}
/*FireFox用スクロールバー設定*/
@-moz-document url-prefix() {
#info_contents {
	scrollbar-color: rgb(80, 80, 80) rgb(220, 220, 220);
}
  }

/*お知らせのスクロールバー設定終了*/

/*お知らせ内*/
#info_contents_internal {font-size: 14px}
dl {height: 220px}
dt {font-weight: 900}
dt,dd {
	display: inline-block;
	text-align: center;
 	width: 130px;
	margin-left: 10px;
}
#info_contents_internal a {
	color: #0005FF;
	font-weight: bold;
}
.kaijyo {clear: both}

/*/お知らせの終了*/


/*素材投稿リンク開始*/
#illustbox {
	width: 320px;
	height: 160px;
	position: relative;
}
#illustbox_balloon {
	position: relative;
	left: 125px;
	background: #FFFFFF;
	width: 190px;
	padding: 10px 0 20px 0;
	height: auto;
	border-radius: 20px;
	text-align: center;
	box-shadow: 4px 4px 2px #474747;
	z-index: 2;
}
#illustbox_fukikuti {
	position: absolute;
	top: 70px;
	left: 105px;
    content: "";
    border: 8px solid transparent;
    border-right: 30px solid #FFFFFF;
    -ms-transform: rotate(320deg);
    -webkit-transform: rotate(320deg);
    -moz-transform: rotate(320deg);
    -o-transform: rotate(320deg);
    transform: rotate(320deg);
	z-index: 2;
}
#illustbox img {
	position: absolute;
	top: 10px;
	left: 0;
}
#illustbox h2 {
	text-align: center;
	font-size: 16px;
	color: #0D6400;
	margin-top: 12px;
}
#illustbox p {
	text-align: center;
	font-size: 13px;
	margin-bottom: 0;
}
/*ホバー時の動きの設定*/
#illustbox:hover{
	opacity: 0.75;
	transition: all 300ms ease-in;
	-webkit-transform: translateY(-8px);
    -moz-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
    -o-transform: translateY(-8px);
    transform: translateY(-8px);
	color: #0005FF;
}
/*素材投稿リンク終了*/

/*SNSリンク開始*/
#sns_link {
	float: right;
	width: 320px;
	height: 160px;
	margin-top: -160px;
}
#sns_link ul {
	padding: 20px 60px;
}
#sns_link ul li {
	margin-bottom: 22px;
}
#sns_link img:hover{
	opacity: 0.75;
}
#sns_link ul li:hover {
	opacity: 0.75;
}
#sns_link :hover{
	transition: all 300ms ease-in;
	-webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
}
/*SNSリンク終了*/

/*/wrapperのCSS終了*/
/*モバイルフレンドリーの対応開始*/
#main_visual {width: 100vw}
.slider1{width: 100vw}
.slider1 .slider-inner1 li {width: 100vw}
/*#main-fast{display: none}*/
#main-fast{width: 100vw}
/*モバイルフレンドリーの対応終了*/

/*640px以下のレスポンシブのスライドショー設定*/
@media screen and (max-width : 800px){
	

	
	#site-map-section {width: 300px;}

	#site-map-section section {
		width: 300px;
		clear: both;
		margin: 0 auto;
	}
	table {
		width: 300px;
		margin: 10px auto;
		text-align: center;
	}
	th {width: 300px}
	

}
@media screen and (max-width : 640px){
	#wrapper {
		width: 320px;
		height: auto;
	}
	
	#site_map_link,#info,#illustbox,#sns_link{clear: both}
	#sns_link {margin: 20px 0 40px 0}

	
}



/*/吹出を閉じるjs用のcss*/
.seem-close {
	width: 148px;
	opacity: 1;
	-webkit-animation: main-balloon-close 1500ms ease-in-out 0ms 1 normal forwards;
	-moz-animation: main-balloon-close 1500ms ease-in-out 0ms 1 normal forwards;
	-ms-animation: main-balloon-close 1500ms ease-in-out 0ms 1 normal forwards;
	-o-animation: main-balloon-close 1500ms ease-in-out 0ms 1 normal forwards;
	animation: main-balloon-close 1500ms ease-in-out 0ms 1 normal forwards;
}

