@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}


@media screen and (max-width:840px){

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:3.7vw
}

body {
  font-size:3.7vw
}
	
.pc{display:none!important;}
.sp{display:block!important;}	


/*Contents layout
----------------------------------------------------*/
.contents{
	width: 90%;
	margin: 0 auto;
}


/*header
----------------------------------------------------*/
header{
	position: fixed;
	top:0;
	width: 100%;
	height:65px;
	display: block;
}

header h1{
	margin: 10px 0 0 5%;
	display: inline-block;
}

header h1 a img{
	width: auto;
	height: 45px;
}

header .box_right{
	position: absolute;
	top:0;
	right:15vw;
	width: 25vw;
	display: block;
}

.box_lang {
  padding-top: 0;
}

.box_lang ul li a{
	height:6vw;
	font-size: 3.0vw;
}

.box_font ul li a.btn_font_M,
.box_lang ul li a.btn_lang_jp.on,
.box_lang ul li a.btn_lang_jp{
	border-radius:4vw 0 0 4vw;
}

.box_font ul li a.btn_font_L{
	border-radius:0 4vw 4vw 0;
}

.box_lang ul li a.btn_lang_en.on,
.box_lang ul li a.btn_lang_en{
	border-radius:4vw;
}

header .box_search,
header .box_font,
header .box_member{
	display: none;
}


/*navigation
----------------------------------------------------*/
nav{
	height: 100%;
	padding: 0 0 6vw 0;
}

.megamenu ol {
	margin-bottom: 4vw;
	clear:both;
	display:block;
}

.megamenu ol li{
	margin: 0;
    border-bottom: 1px solid #D9D9D9;
}

.megamenu ol li:last-child{
    border-bottom: 0;
}

.megamenu ol li a{
	padding: 4vw 0;
	background: url(../img/icon_plus.png) no-repeat 97% center / 4vw;
	text-align: left;
	display: block;
}

.megamenu ol li a.open{
	background: url(../img/icon_minus.png) no-repeat 97% center / 4vw;
}

.megamenu .box_search{
	padding-top: 5vw;
	display:flex;
	justify-content: center;
	align-items: center;
}

.megamenu .box_search div{
	width: 100%;
}

.megamenu .box_search div input[type="text"]{
	width:80%;
	height:8vw;
	padding:0 1rem;
	border:0;
	border-radius:4vw 0 0 4vw;
	background:#E9EFF4;
	display: inline-block;
}

.megamenu .box_search input[type="submit"]{
	position: relative;
	top:-1px;
	width:20%;
	height:8vw;
	padding:0;
	border:0;
	border-radius:0 4vw 4vw 0;
	background:#1983DD url(../img/icon_search.png) no-repeat center / 4vw;
	text-indent:-9999px;
	cursor:pointer;
	display: inline-block;
}

.megamenu .box_member a{
	height: 16vw;
	padding-top: 4vw;
	border-radius:3vw;
	background: #FF9233 url("../img/icon_login.png") no-repeat center top 3vw / 4vw;
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
}


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 2vw;
    right: 2vw;
	width: 45px;
	height: 45px;
    z-index: 10001;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background-color: #324C9C;*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 13px;
    width: 20px;
    height: 2px;
    background-color: #324C9C;
}
.menu-trigger span:nth-of-type(1) {
    top: 13px;
}
.menu-trigger span:nth-of-type(2) {
	top: 20px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 16px;
}
.menu-trigger.active span:nth-of-type(1) {
    top: 15px;
	-webkit-transform: translateY(4px) rotate(-315deg);
	transform: translateY(4px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	bottom: 14px;
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	height:0;
	left: 0px;
	top: 65px;
	right: 0px;
	background:rgba(255,255,255,0.95);
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
    transition:height 0.3s ease;
}

#headIn.active {
	height:calc(100% - 65px);
}


/*TOP
----------------------------------------------------*/
.top_mv{
	top:65px;
	height: 80vw;
	background: url("../img/sllider01_pc.jpg") no-repeat left -26vw center / cover;
}

.top_mv h2{
	position: absolute;
	top:6vw;
	left:5vw;
	font-size: 8vw;
}

.top_news{
	margin-top: 2vw;
	padding-bottom: 10vw;
}

.top_news .contents{
	padding: 6vw 0;
	border-radius: 4vw;
	display: block;
}

.top_news .contents h2{
	padding: 0 6vw;
	font-size: 4.0vw;
}

.top_news .contents h2 span{
	margin: 2vw 0 0 0;
	font-size: 8vw;
}

.top_news .contents .btn{
	float: right;
	margin: 0 6vw 6vw 0;
}

.tab-item{
	width: 50%;
	padding: 2vw 0;
}

.tab-panel dl{
	padding: 5vw 0;
	display: block;
}

.tab-panel dl dt{
	margin-bottom: 1vw;	
}

.top_events{
	padding: 16vw 0;
}

.top_events .contents h2{
	font-size: 4.0vw;
}

.top_events .contents h2 span{
	margin: 2vw 0 12vw 0;
	font-size: 8vw;
}

.box_events{
	display: block;
}

.box_events dl{
	margin-bottom: 10vw;
}

.box_events dl dt{
	padding: 4vw 4vw 20vw 4vw;
	border-radius: 4vw;
	font-size: 5vw;
}

.box_events dl dd{
	margin: -16vw 4vw 0 4vw;
	padding: 4vw;
	border-radius: 4vw;
}

.top_contents h2{
	padding: 2vw 0 0 0;
	background: url("../img/bg_ttl_contents.png") no-repeat center top / contain;
	font-size: 6vw;
}

.top_contents .contents{
	padding: 10vw 0 20vw 0;
}

.top_contents .contents ul{
	width: 90%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 4vw;
}

.top_contents .contents ul li{
	border-radius: 3vw;
}

.top_contents .contents ul li a{
	height: 34vw;
}

.top_contents .contents ul li a span{
	padding: 2vw;
	border-radius: 0 0 3vw 3vw;
	font-size: 3.0vw;
}


/*styleguide
----------------------------------------------------*/

/*mv
-------------------------------*/
.mv{
	padding-top: 65px;
}

.mv01 div{ background: url("../img/bg_mv01_sp.jpg") no-repeat center right / cover; }
.mv02 div{ background: url("../img/bg_mv02_sp.jpg") no-repeat center right / cover; }
.mv03 div{ background: url("../img/bg_mv03_sp.jpg") no-repeat top right -60vw / cover; }
.mv04 div{ background: url("../img/bg_mv04_sp.jpg") no-repeat center right / cover; }

.mv h1{
	width: 90%;
	height: 40vw;
	font-size: 7vw;
}


/*path
-------------------------------*/
.path .contents{
	padding:2rem 0 16vw 0;
}


/*article
-------------------------------*/
article{
	margin-bottom: 24vw;
	font-size: 3.7vw;
}

article .contents{
	width: 90%;
}

article .mb{
	margin-bottom: 12vw!important;
}

article h2{
	margin-bottom: 10vw;
	font-size:7vw;
}

article h3{
	margin-bottom: 5vw;
	padding-bottom: 2vw;
	font-size:5vw;
}

article h3.ttl_drip{
	margin-bottom: 5vw;
	font-size:5vw;
}

article h4,
article .ttl{
	margin-bottom: 2vw;
	font-size:4vw;
}

article img{
	width:100%;
	display:block;
}

article iframe{
	width:100%;
}

article #map iframe{
	width:100%;
}

article #contact iframe{
	height:2200px;
}

article ol li:before{
	font-size: 3.4vw;
	left: -4vw;
	width: 4vw;
	height: 4vw;
	line-height: 3.7vw;
}

article .box_2col{
	display: block;
}

article .box_link li{
	margin-bottom: 2vw;
	padding-bottom: 2vw;
}

article dl{
	margin-bottom: 2vw;
	display: block;
}

article .js-scroll{
	width: 100%;
	min-height:140px;
	overflow: scroll;
}

article .js-scroll table{
	width: 1000px;
}

article .f_left,
article .f_right{
	float:none;
	margin: 0;
}

article .kakomi,
article .kakomi2{
	padding: 6vw;
}

article hr{
	margin: 5vw 0;
}

/* お知らせ */
.news{
	padding-bottom: 10vw;
}

.news .contents{
	padding: 0 0 6vw 0;
	border-radius: 4vw;
	display: block;
}

.news .contents h2{
	padding: 0 6vw;
	font-size: 4.0vw;
}

.news .contents h2 span{
	margin: 2vw 0 0 0;
	font-size: 8vw;
}

.news .contents .btn{
	float: right;
	margin: 0 6vw 6vw 0;
}

/* イベントカレンダー */
article.calendar table th,
article.calendar table td{
	font-size: 3.7vw;
}







/*footer
----------------------------------------------------*/
footer{
	padding: 10vw 0;
}

.box_footer_info{
	margin-bottom: 0;
	display: block;
}

.box_footer_info h2{
	width: 60vw;
	margin: 0 auto 6vw auto;
}

.box_footer_nav{
	margin-bottom: 6vw;
	display: block;
}

.box_footer_nav h3{
	display: none;
}

.box_footer_nav ul{
	display: none;
}

.box_footer_nav ul.icon{
	display: block;
}

.box_footer_nav ul li a{
	font-size: 3.4vw;
}

.copyright{
	font-size: 3.0vw;
}


/*page top
--------------------------------------------*/
#page-top a{
	width:8vw;
	height:8vw;
}





.btn_blue {
	font-size: 3.8vw;
}

}