@charset "UTF-8";

/*================================================
 *  indexページ用
 ================================================*/

/*******ローディングアニメーション*******/
#loading {
	background-color: #fff;
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 20000;
}

#loading .loading_circle {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
	font-size: 10px;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255,0,0, 0.2);
	border-right: 1.1em solid rgba(255,0,0, 0.2);
	border-bottom: 1.1em solid rgba(255,0,0, 0.2);
	border-left: 1.1em solid #ff0000;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}
#loading .loading_circle,
#loading .loading_circle:after {
	border-radius: 50%;
	width: 10em;
	height: 10em;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


/*******ローディングスライダー*******/
#loading_slider {
	text-align: center;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
#loading_slider .slide-logo {
	position: absolute;
	top: 50px;
	left: 30px;
	z-index: 10;
}
#loading_slider .slide-text {
	width: 100%;
	position: absolute;
	z-index: 10;
	height: 85vh;
}
#loading_slider .slide-text img {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
	width:450px;
	height:100px;
}
#loading_slider .slide-bg{
	overflow: hidden;
}
#loading_slider .slide-bg img {
	width: auto;
	min-width: 100%;
	min-height:100vh;
	position: relative;
	top: 0;
	left: 50%;
	margin-left: -50%;
}
#loading_slider .slide-bottom {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: auto;
	background-color: #fff;
	padding: 3vh 0;
}
#loading_slider .slide-bottom .skip {
	top: -100px;
	right: 0;
	cursor: pointer;
	display: block;
	padding: 40px;
	z-index: 100;
}
#loading_slider .slide-bottom small {
	font-size: 10px;
	margin-top: 2vh;
	display: inline-block;
}

/*******ローディング中のコンテンツ*******/
#loading_contents {
	display: none;
}

/*******お知らせ*******/
section.news_area .news_box {
	float: left;
	width: 230px;
	margin-right: 25px;
}
section.news_area .news_box:nth-of-type(3n) {
	margin-right: 0;
}
section.news_area .news_box:nth-of-type(n+4) {
	margin-top: 80px;
}
section.news_area .news_box a {
	display: block;
}
section.news_area .news_box .photo {
	position: relative;
	width: 100%;
	height: 140px;
	overflow: hidden;
	margin-bottom: 20px;
	text-align: center;
}
section.news_area .news_box .photo img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
}

section.news_area .news_box .date,
section.news_area .news_box .text {
	font-size: 14px;
	line-height: 1.5;
}
section.news_area .news_box .date {
	font-size: 17px;
	font-family: 'Work Sans', sans-serif;
	font-weight: 500;
	border-bottom: 1px solid #4d4d4d;
	margin-bottom: 0.5em;
	padding-bottom: 0.3em;
}
section.news_area .news_box .text {
	width: 100%;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	text-align: justify;
	text-justify: inter-ideograph;
}


/*================================================
 *  タブレット/スマートフォン向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:799px) {

/*******ローディングアニメーション*******/
#loading .loading_circle,
#loading .loading_circle:after {
	width: 25vw;
	height: 25vw;
}
#loading .loading_circle {
	font-size: 2vw;
}

#loading_slider {
	display: none;
}

/*******メインイメージ（SPのみ）*******/
#contents {
	padding: 16vw 0 0;
}

.sp_mainimg img {
	width: 100%;
}
.sp_mainimg .scroll {
	z-index: 100;
	bottom: 6vw;
	left: 0;
	text-align: center;
	width: 100%;
}
.sp_mainimg .scroll img {
	-webkit-animation: levitate 1s alternate ease-in-out infinite;
	-moz-animation: levitate 1s alternate ease-in-out infinite;
	-ms-animation: levitate 1s alternate ease-in-out infinite;
	animation: levitate 1s alternate ease-in-out infinite;
	width: 15vw;
}

@keyframes levitate {
    0% {
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(0, 2vw);
        -moz-transform: translate(0, 2vw);
        -ms-transform: translate(0, 2vw);
        -o-transform: translate(0, 2vw);
        transform: translate(0, 2vw)
    }
}

@-webkit-keyframes levitate {
    0% {
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(0, 2vw);
        -moz-transform: translate(0, 2vw);
        -ms-transform: translate(0, 2vw);
        -o-transform: translate(0, 2vw);
        transform: translate(0, 2vw)
    }
}

/*******メニューリスト*******/
#sp_menu_list {
	padding: 10vw 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#sp_menu_list li {
	width: 43.5vw;
}
#sp_menu_list li.block {
	width: 100%;
}
#sp_menu_list li:nth-child(n+3) {
	margin-top: 3vw;
}
#sp_menu_list li img {
	width: 100%;
}

/*******お知らせ*******/
section.news_area .news_box {
	width: 43.5vw;
	margin-right: 3vw;
}
section.news_area .news_box:nth-of-type(3n) {
	margin-right: 3vw;
}
section.news_area .news_box:nth-of-type(even) {
	margin-right: 0;
}
section.news_area .news_box:nth-of-type(n+3) {
	margin-top: 8vw;
}
section.news_area .news_box .photo {
	width: 100%;
	height: 26.5vw;
	margin-bottom: 3vw;
}
section.news_area .news_box .photo img {
	width: 100%;
}

section.news_area .news_box .date,
section.news_area .news_box .text {
	font-size: 3.6vw;
}

section.news_area .link_more {
	border: 1px solid #999;
	color: #999;
	font-size: 4vw;
	font-weight: bold;
	text-align: center;
	padding: 0.8em 0;
	width: 40vw;
	margin: 8vw auto 0;
}








	
}