@charset "utf-8";

html {
	font-size:100%;
}
body {
	font-size:16px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	background:#fff;
	line-height:2;
	color:#000;
}
body * {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
body, h1, h2, h3, h4, h5, h6, p, dl, dd, ul, ol, li, form, fieldset, blockquote, table, thead, tbody, tfoot, tr, td, th {
	margin:0;
	padding:0;
}
table {
	width:100%;
	border-width:0;
	border-spacing:0;
	border-collapse:collapse;
}
h1, h2, h3, h4, h5, h6, th, td, table, input, button, select, textarea, em {
	font-size:1rem;
	font-weight:bold;
	font-style:normal;
	padding:0;
	margin:0;
	line-height: 1.5;
}
img, input, button, select, textarea {
	vertical-align:middle;
}
ul, ol {
	list-style:none;
}
img {
	width:100%;
}
a {
	text-decoration:none;
	color:#000;
}
.al {
	text-align:left !important;
}
.ar {
	text-align:right !important;
}
.ac {
	text-align:center !important;
}
.al_sp {
	text-align:left !important;
}
.font_bold {
	font-weight:bold;
}
img {
	width: 100%;
}
/*margin padding*/

.mb_5 {
	margin-bottom:5px !important;
}
.mb_10 {
	margin-bottom:10px !important;
}
.mb_15 {
	margin-bottom:15px !important;
}
.mb_20 {
	margin-bottom:20px !important;
}
.mb_30 {
	margin-bottom:20px !important;
}
.mb_35 {
	margin-bottom:25px !important;
}
.mb_40 {
	margin-bottom:25px !important;
}
.mb_50 {
	margin-bottom:30px !important;
}
.mb_60 {
	margin-bottom:30px !important;
}
.mb_70 {
	margin-bottom:40px !important;
}
.mb_80 {
	margin-bottom:40px !important;
}
.mb_90 {
	margin-bottom:50px !important;
}
.mb_100 {
	margin-bottom:50px !important;
}
.mb10sp {
	margin-bottom:10px!important;
}
.mb20sp {
	margin-bottom:20px!important;
}
.mb30sp {
	margin-bottom:30px!important;
}
.mb40sp {
	margin-bottom:40px!important;
}
.mb50sp {
	margin-bottom:50px!important;
}
.mb60sp {
	margin-bottom:60px!important;
}
.mb70sp {
	margin-bottom:70px!important;
}
.mb80sp {
	margin-bottom:80px!important;
}
.spNone {
	display:none!important;
}
.flex01_sp {
	display:flex;
	justify-content:space-between;
}
.flex02_sp {
	display:flex;
	justify-content:center;
}
.flex03_sp {
	display:flex;
	justify-content: flex-start;
}
.flex_stretch {
	align-items:stretch;
}
.flex_center {
	align-items:center;
}
.flex_wrap {
	flex-wrap: wrap;
}

/*layout*/
.ui_screen{
	display: inline;
}
.content_width{
	width: 100%;
	margin: 0 auto;
}
.slick_slider{
	position: relative;
	display: block;
	z-index: 2;
}
.main-visual {
    left: 0;
    top: 0;
    height: 100vh;
}
.main-visual-logo {
    position: absolute;
    left: 8%;
    top: 46%;
	text-align: center;
	width: 84%;
}
.main-visual-scroll {
	animation: mainVisualFadeIn 1.5s ease-out 1s both;
    animation-delay: 3.3s;
    bottom: 15px;
    color: #FFF;
    left: 0;
    padding-top: 70px;
    position: absolute;
    text-align: center;
    width: 100%;
    z-index: 10;
    font-size: 1.15rem;
	font-family: '游ゴシック','Yu Gothic','ヒラギノ角ゴ Std','Hiragino Kaku Gothic Std','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
}
.main-visual-scroll span {
    background: rgba(255, 255, 255, 0.6);
    height: 56px;
    position: absolute;
    top: 0;
    left: 50%;
    animation: sdb 2s infinite;
    width: 1px;
}
@keyframes sdb {
  0% {
    height: 0;
    opacity: 0;
  }
  50% {
    height: 56px;
    opacity: 1;
  }
  100% {
    height: 56px;
    opacity: 0;
  }
}
.con_inner{
	margin: 0 10vw;
}
.con_inner p{
	line-height: 2.2rem;
}
.tac{
	text-align: center;
}

.footer{
	margin-top: 50px;
}
.footer .con_inner{
}
.foot_box{
	border-top: 1px #000 solid;
	border-bottom: 1px #000 solid;
	padding: 40px 0;
}
.foot_l{
}
.foot_l img{
	width: auto;
}
.foot_r{
}
.foot_r img{
	margin-bottom: 5px;
}
.foot_logo{
	margin-bottom: 30px;
}
.foot_logo img{
	max-width: 269px;
}
.foot_tit{
	font-size: 0.83rem;
	color: #314a35;
	margin-bottom: 10px;
}
.foot_l dl{
	font-size: 0.83rem;
	color: #314a35;
	margin-bottom: 20px;
	line-height: 1.5rem;
}
.foot_l dl dt{
	float: left;
	display: inline-block;
	margin-right: 20px;
}
.foot_l dl dd{
	display: inline-block;
}
.foot_l dl dd span{
	width: 100%;
	line-height: 1.3rem!important;
	display: inline-block;
	}
}
.foot_l dl a{
	color: #314a35;
}
.foot_r p{
	line-height: 1.4rem;
	color: #314a35;
}
.foot_r p span{
	color: #ea000a;
}
.foot_l dl dd .noteS{
	padding-top: 3px;
	font-size: 0.65rem;
	line-height: 1.4!important;
}
.copyright{
	font-size: 0.75rem;
}
.back_top{
	display: block;
	padding-top: 80px;
	height: 60px;
	text-align: center;
	background:url(../img/back_top.png) no-repeat center 5px;
	background-size: 60px;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1;
	letter-spacing: 2px;
}
.back_top span{
	display: inline-block;
	padding-left: 1px;
	transform:scale(0.75);
	opacity:0.7;
}
.btm_back_top{
	position: fixed;
	right: 5px;
	bottom: 10px;
	width: 60px;
	height: 60px;
	transition: all 0.3s;
    opacity: 0;
}
.btn_top_show{
	opacity:1;
    transition: all 0.3s;
}

.kv_img{
	overflow: hidden;
}
.kv_img img{
    width: 100%;
    height: 100vh;
	font-family: 'object-fit: cover;';
    object-fit: cover;
}
.kv_img img{
	transition: transform 10s 0s ease-in-out;
    transform: scale(1);
    will-change: animate;	
}
.sp-selected .kv_img img{
	transform: scale(1.1);
    will-change: animate;
}
.anim_left{
	opacity: 0;	
	transform: scale(1.05) translate(-30px,0);
	transition: opacity 1.5s, transform 1.2s;
}
.anim_left_fadein{
	opacity: 1;
	transform: scale(1) translate(0,0);
	transition: opacity 1.5s, transform 1.2s;
}
.anim{
	transition: opacity 1.2s, transform 1.2s;
	transform:translate3d(0,40px,0);
	opacity: 0;
}
.anim_fadein{
	opacity: 1;
	transform:translate3d(0,0,0);
	transition: opacity 1.2s, transform 1.2s;
}
.foot_map{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 52%;
	margin-bottom: 8px;
}
.foot_map iframe{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.ui_container{
	padding: 0 10vw;
}
.ui_title{
	margin-bottom: 60px;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #314a35;
	position: relative;
	text-align: center;
}
.ui_title span{
	position: absolute;
	left: calc((100% - 35px)/2);;
	width: 35px;
	border-bottom: 3px #314a35 solid;
	display: block;
	margin-top: 25px;
}
.ui_title_L,.ui_article .ui_title_L{
	margin-top: 0;
	margin-bottom: 70px;
	font-size: 2.2rem;
}
.ui_title_S{
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 40px;
	color: #314a35;
}

/* == menu == */

.ui_menu_wp{
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	background: #314a35;
	color: #fff;
}

.ui_menu{
	transition: 0.6s cubic-bezier(0.25,0.1,0.25,1);	
	margin: 0!important;
	width: 100vw!important;
	max-height: 100vh;
	overflow: auto;
	padding: 70px 10vw 50px;
	position: fixed;
	left: 0;
	top: 0;		
	opacity: 0;
	z-index: -1;
	background: #314a35 url(../img/bg_nav.png) no-repeat right 7vw bottom 6vw;
	background-size: 96px auto;
}
.ui_menu_list{
	display: flex;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 1px;
}
.ui_menu_list>li{
	position: relative;
}
.ui_menu_list>li>a{
	position: relative;
	display: block;
	padding: 12px 0;
	color: #fff;
	text-decoration: none;
}
.ui_menu_down ul{
	position: absolute;
	padding: 0 20px;
	z-index: 9;
	background: #666;
	max-height:0;
	overflow: hidden;
	transition: 0.1s;
}
.ui_menu_down ul li:first-child{
	padding-top: 10px;
}
.ui_menu_down ul li:last-child{
	padding-bottom: 10px;
}
.ui_menu_down ul a{
	display: block;
	padding: 5px 0;
	color: #fff;
	text-decoration: none;
}
.ui_menu_down ul.is_on{
	max-height:400px;
	transition: 0.3s ease;
}
.ui_menu_btn{
	display: none;
	position: fixed;
	right: 10vw;
	top: 6px;
	z-index: 99;
	width: 2.5em;
	height: 2.5em;	
	cursor: pointer;
	border-radius: 3px;
}
.ui_menu_btn span{
	width: 1.5em;
    height: 0.08em;
    background-color: #fff;
    position: absolute;
    left: calc(50% - 0.7em);
    transition: all 0.3s ease;
    opacity: 1;
}
.ui_menu_btn span:nth-child(1){
	top: 0.8em;
}
.ui_menu_btn span:nth-child(2){
	top: 1.2em;
}
.ui_menu_btn span:nth-child(3){
	top: 1.6em;
}
.is_open.ui_menu_wp .ui_menu{
	z-index: 98;
	opacity: 1;
	top: 0;
	right: 0;
	transition: 0.6s cubic-bezier(0.25,0.1,0.25,1);
}
.is_open .ui_menu_btn span:nth-child(1) {
	top: 1.2em;
	transform: rotate(45deg);
}
.is_open .ui_menu_btn span:nth-child(2) {
	opacity: 0;
}
.is_open .ui_menu_btn span:nth-child(3) {
	top: 1.2em;
	transform: rotate(-45deg);
}
.menu_top .ui_menu{
	top: -100vh;
}
.menu_right .ui_menu{
		opacity:0.5;
		left: auto;
		right: -150vw;
	}
.ui_menu_btn{
	display: block;
}

.ui_menu_list{
	display: block;
}
.ui_menu_down ul{
	position: static;
}

.menu_top .ui_menu{
	top: -100vh;
}
/* == / menu == */
.slide_scroll{
	max-width: 44px;
}
.head_logo{
	position: relative;
	z-index: 100;
	display: block;
	padding: 10px 0;
	width: 140px;
}

/*content*/
.ui_sec{
	padding-top: 70px;
}
.notice_list{
	margin-top: -10px;
}
.notice_list li{
	padding: 15px 0;
	position: relative;
	border-bottom: 1px solid #b3b3b3;
}
.notice_new>div::before{
	content: 'NEW';
	display: inline-block;
	vertical-align: middle;
	padding: 1px 7px 0;
	margin-right: 10px;
	margin-top: -3px;
	text-align: center;
	font-size: 0.65rem;
	line-height: 1.6;
	color: #fff;
	background: #314a35;
}
.notice_list li>div{
	padding-top: 1px;
	color: #8b8b8b;
	font-size: 0.93rem;
	line-height: 1.7;
}
.notice_list li>p{
	font-size: 1.06rem;
}
.notice_list li>p a{
	display: block;
	position: relative;
}
.notice_list li>p a:after{
	content: '';
	position: absolute;
	right: 0;
	bottom: 14px;
	width: 44px;
	height: 5px;
	background: url(../img/tip_more_sp.png) no-repeat right center;
	background-size: 100%;
}
.info_list{
	display: flex;
	flex-wrap: wrap;
}
.info_list li{
	margin-right: 20px;
	margin-bottom: 40px;
	width: calc((100% - 60px)/4.001);
}
.info_list li:nth-child(4n){
	margin-right: 0;
}
.info_list li a{
	display: block;
}
.info_list li a>div:nth-child(1){
	position: relative;
	height: 0;
	padding-top: 78%;
	background: #f7f7f7;
	text-align: center;
}
.info_list li a img{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.info_time{
	padding: 18px 0 10px;
	color: #8b8b8b;
	font-size: 0.93rem;
}
.info_tags{
	padding: 0 8px;
	margin-right: 10px;
	margin-top: -2px;
	display: inline-block;
	vertical-align: middle;
	background: #314a35;
	color: #fff;
	font-size: 0.65rem;
}
.info_more a{
	display: block;
	padding: 7px 30px 7px 5px;
	text-align: center;
	background: #314a35 url(../img/info_more_sp.png) no-repeat right 10px center;
	background-size: 24px auto;
	color: #fff;
}
.mbtn_list01{
	padding-top: 20px;
	margin-bottom: 50px;
}
.mbtn_list01 li{
	margin-bottom: 25px;
}
.mbtn_list02{
	padding-bottom: 1px;
}
.mbtn_list02 li{
	margin-bottom: 30px;
}
#sli_info{
	margin-bottom: 30px;
}
#sli_info .sp-mask{
	width: 100vw !important;
	margin: 0 -10vw;
}
#sli_info .sp-buttons{
	bottom: 0;
}
#sli_info .sp-button {
	margin: 5px;
	border: 0px solid #c0c0c0;
	background-color: #c0c0c0;
}
#sli_info .sp-selected-button {
  background-color: #314a35;
}
/*subpage*/
.info_pages_box{
	text-align: center;
}
.info_pages_box span,.info_pages_box a{
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	overflow: hidden;	
	color: #fff;	
	background: #314a35;
	font-size: 0.93rem;
}
.info_pages_box .info_pages_on,.info_pages_box a,.info_pages_box span.dots{
	border: 1px solid #314a35;
	background: #fff;
	color: #314a35;
}
.info_list_spage li{
	margin-bottom: 80px;
}
.info_pages_box{
	padding: 10px 0 50px;
}
.info_list_spage li{
	width: 100%;
	margin-right: 0;
	margin-bottom: 60px;
}

.ui_title_h1{
	margin-bottom: 50px;
	font-size: 1.5rem;
}
.ui_article{
	padding-bottom: 1px;
}
.ui_article h2{
	margin: 50px 0 0;
	font-size: 1.25rem;
}
.ui_article p{
	margin: 20px 0;
}
.ui_article_pic{
	width: 100vw;
	margin: 50px -10vw;
}
.ui_title_noBor{
	margin-bottom: 50px;
}
.ui_title_noBor span{
	display: none;
}
.tit_line{
	position: relative;
	text-align: center;
}
.tit_line span{
	position: absolute;
	left: calc((100% - 35px)/2);;
	width: 35px;
	border-bottom: 3px #314a35 solid;
	display: block;
	margin-top: 25px;
}
.tit_line_l span {
    left: 0;
}
.noteS{
	font-size: 0.7rem;
}

/*en*/

.lang_box{
	padding-top: 20px;
	font-size: 1.3rem;
}
.lang_box a,.lang_box span{
	display: inline-block;
	line-height: 1.2;
	color: #fff;
}
.lang_box .on{
	border-bottom: 1px solid #fff;
}
.ui_sup01{
	font-size: 0.75rem;
	vertical-align: 0.3em;
}
.about_note01{
	margin-top: 10px;
	line-height: 1.4rem!important;
}

@media only screen and (min-width: 0) and (max-width: 349px) {
	

}









