@charset "utf-8";
/* CSS Document */

body {
  font-family: "heisei-maru-gothic-std", sans-serif;
  ffont-weight: 400;
  ffont-style: normal;
	font-size:16px;
	line-height: 1.6;
	color:#49290e;
}

.inner{
	max-width:1024px;
	width:100%;
	margin:0 auto;
}

a:hover{
	opacity:0.8;
}

section.content{
	padding:150px 0;
	box-sizing: border-box;
}


/*header*/
header{
	position:fixed;
	width:100%;
	z-index: 10;
	top:0;
	left:0;
	background-color:rgba(255, 255, 255, 0.8);
	padding:5px 10px;
	box-sizing: border-box;
}

header .flex_box{
	display:flex;
	justify-content: space-between;
	align-items: center;
}

header form{
	font-size:0.9rem;
}

header form label span{
	display:inline-block;
	padding:0 10px 0 25px;
	background-image: url("../img/common/icon_language.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px;
	box-sizing: border-box;
	color: #49290e;
}

header form select{
  font-size: 0.8rem;
  line-height: 1.6;
	background-color:#fff;
	border: solid 1px #d1d1d1;
}

header form select option{
	padding:5px 0;
	box-sizing: border-box;
}

/*言語設定*/
header ul li form{
	display:flex;
	align-items: center;
	margin-right: 20px;
}

header ul li form label span{
	display:inline-block;
	color: #fff;
	background-image: url("../img/common/icon_language.png");
	background-repeat: no-repeat;
	background-position: left 3px;
	background-size: 17px;
	padding-left: 20px;
	box-sizing: border-box;
	font-size:0.9rem;
	margin-right: 10px;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
}

header ul li form select,
header ul li form select option{
	background-color:#fff;
	font-size:0.8rem;
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/*header*/
header div.logo{
	width:15%;
}

header div.logo img{
	width:100%;
	height: auto;
}

header .lower_right{
	width:87%;
	display:flex;
	justify-content: flex-end;
	align-items: center;
}

header .lower_right .app_bnr{
	margin-right:0px;
}

header .lower_right .app_bnr ul{
	display:flex;
	justify-content: center;
	align-items: center;
}

header .lower_right .app_bnr ul li:first-child{
	margin-right:10px;
}

header .lower_right .app_bnr ul li img{
	height:45px;
	width:auto;
}


/*グロナビ*/
header nav ul{
	display:flex;
	justify-content: space-between;
	align-items: center;
}

header nav ul li a{
	text-align:center;
	padding:30px 25px 10px;
	box-sizing: border-box;
	background-image:url("../img/common/icon_home_off.png");
	background-repeat: no-repeat;
	background-size: auto 26px;
	background-position: center 4px;
	display: flex;
	align-items: center;
	font-size:0.9rem;
}

header nav ul li a span{
	display:block;
	width:100%;
	color: #49290e;
	/*font-weight:bold;*/
}

header nav ul li.nav01 a:hover,
header nav ul li.nav01.active a{
	background-image:url("../img/common/icon_home_active.png");
}

header nav ul li.nav01 a:hover span,
header nav ul li.nav01.active a span{
	color:#c1272d;
}

header nav ul li.nav02 a{
	background-image:url("../img/common/icon_play_off.png");
}

header nav ul li.nav02 a:hover,
header nav ul li.nav02.active a{
	background-image:url("../img/common/icon_play_active.png");
}

header nav ul li.nav02 a:hover span,
header nav ul li.nav02.active a span{
	color:#c1272d;
}

header nav ul li.nav03 a{
	background-image:url("../img/common/icon_partner_off.png");
}

header nav ul li.nav03 a:hover,
header nav ul li.nav03.active a{
	background-image:url("../img/common/icon_partner_active.png");
	background-size: auto 26px;
}

header nav ul li.nav03 a:hover span,
header nav ul li.nav03.active a span{
	color:#c1272d;
}

header nav ul li.nav04 a{
	background-image:url("../img/common/icon_contact_off.png");
	background-size:auto 20px;
	background-position: center 8px;
}

header nav ul li.nav04 a:hover,
header nav ul li.nav04.active a{
	background-image:url("../img/common/icon_contact_active.png");
	background-size:auto 20px;
	background-position: center 8px;
}

header nav ul li.nav04 a:hover span,
header nav ul li.nav04.active a span{
	color:#c1272d;
}

/*mv*/
img.mole{
  width: 115px;
  position: absolute;
  left: 15px;
  bottom: -3px;
}



/*コンテンツ*/
section.content{
	padding-bottom:100px;
	box-sizing: border-box;
	background-image:url("../img/top/content_bg.png");
	background-repeat: repeat;
	background-position: left top;
	background-size: auto;
}

section.content p{
	text-align:justify;
}

span.blue{
	color:#40b9ba;
}

div.bnr_area{
	background-color:lightgray;
	text-align:center;
	width:100%;
	height: 200px;
	margin-top:200px;
}

div.bnr_area p{
	line-height: 200px;
	font-size: 2.0rem;
	text-align:center;
}

.modoru_btn a{
	display:block;
	position:fixed;
	right:10px;
	bottom:100px;
}

.modoru_btn a img{
	height:110px;
	width:auto;
}

/*フッター*/
footer{
	background-image:url("../img/common/footer_bg.png");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center top;
	padding:300px 0 50px;
	box-sizing: border-box;
	position:relative;
}

footer img.mole2{
  width: 115px;
  position: absolute;
  left: 15px;
  top: -3px;
}

footer h2.footer_logo{
	width:53%;
	margin:0 auto 80px;
}

footer h2.footer_logo img{
	width:100%;
	height: auto;
}

footer div.app_bnr ul{
	display:flex;
	justify-content: center;
	align-items: center;
	margin-top:30px;
}

footer div.app_bnr ul li{
	display:flex;
	align-items: center;
	text-align:center;
}

footer div.app_bnr ul li img{
	height:80px;
	width:auto;
}

footer div.app_bnr ul li:first-child{
	margin-right:50px;
}

footer .footer_nav{
	margin-top:80px;
}

footer .footer_nav ul{
	display:flex;
	justify-content: center;
	margin-top:20px;
}

footer .footer_nav ul li{
	margin-right: 80px;
	text-align:center;
}

footer .footer_nav ul li:last-child{
	margin-right:0;
}

footer .footer_nav ul li a{
	color:#49290e;
	display:block;
}

footer .footer_nav ul li a:hover{
	text-decoration:underline;
}

p.copy_right{
	text-align:center;
	font-size:0.8rem;
	color:#fff;
	background-image:url("../img/common/copyright_bg.jpg");
	background-repeat: repeat;
	background-position: left top;
	background-size:auto;
	padding:5px 0;
	box-sizing: border-box;
}

/*molehole*/
.content{
    /*線の起点とするためrelativeを設定*/
    position: relative;
	padding:0 0 20px 0;
}

/*絶対配置で線を設定*/
.mole_hole {
  position: absolute;
  left: 15px;
  top: 0;
  width: 125px;
  height: 0;
  background-image: url("../img/common/mole_hole.png");
  background-repeat: repeat;
  background-position: top center;
  background-size: 100%;
}

/*appダウンロード*/
div.download{
	background-image:url("../img/common/download_bg.jpg");
	background-repeat: repeat;
	background-position: left top;
	background-size: auto;
	padding:50px;
	text-align:center;
	box-sizing: border-box;
	position: relative;
}

div.download h3{
	position:absolute;
	left: 0;
	top:-50px;
	width:100%;
	text-align:center;
}

div.download h3 span{
	display:inline-block;
	padding:10px 25px;
	border:solid 5px #fff;
	background-image: url("../img/common/download_title_bg.jpg");
	background-repeat: repeat;
	background-position: left top;
	background-size: auto;
	box-shadow: 10px 10px 7px -5px #5c5c5c;
}

div.download h3 span img{
	width:300px;
	height: auto;
}

div.download p{
	text-align:center;
	margin-top:30px;
	font-size:1.5rem;
}

div.download ul{
	display:flex;
	justify-content: center;
	align-items: center;
	margin-top:30px;
}

div.download ul li{
	display:flex;
	align-items: center;
	text-align:center;
}

div.download ul li img{
	height:100px;
	width:auto;
	transform: scale(1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

div.download ul li img:hover{
	transform: scale(1.1);/*拡大の値を変更したい場合はこの数値を変更*/
}

div.download ul li:first-child{
	margin-right:50px;
}



/*下層ページ共通*/
.page_header{
  padding: 8% 0;
  background-image: url("../img/common/page_header_bg.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  box-sizing: border-box;
	position: relative;
}

.page_header h2.page_title{
	text-align:center;
	font-size: 3.0rem;
	letter-spacing: 1rem;
}

.page_header h2.page_title small.en{
	font-family: "Kalam", cursive;
	font-weight: 400;
	font-style: normal;
	color:#b48a76;
	display: block;
	font-size: 2.0rem;
	letter-spacing: 0;
}

.breadcrum{
	background-image:url("../img/common/breadcrum_bg.jpg");
	background-repeat: repeat;
	background-size: auto;
}

.breadcrum ul{
	display:flex;
	align-items: center;
	padding:0 0 2px;
	box-sizing: border-box;
}

.breadcrum ul li{
	padding-left:5px;
	box-sizing: border-box;
	font-size: 0.9rem;
}

#howto .breadcrum ul li{
	font-family: "Kalam", cursive;
	font-weight: 400;
	font-style: normal;
}

.breadcrum ul li img{
	height:20px;
	width:auto;
}

.breadcrum ul li:nth-child(n+2){
	padding-top:7px;
	box-sizing: border-box;
}

.breadcrum ul li a{
	color: #49290e;
}

ol li{
	list-style:none;
}

.mt_0{
	margin-top:0 !important;
}



.is-pc{
	display:block;
}

.is-sp{
	display:none;
}	


@media only screen and (max-width: 1023px){	
section.content{
    position: relative;
    /*z-index: -2;*/
    padding-top: 120px;
  }
	
.content .inner {
    width: 95%;
    position: relative;
    z-index: 2;
  }
	
header.pc_header{
  display:none;
}
	
header.sp_header{
  display:block;
}
	
header{
	width:100%;
	position:fixed;
	height:auto;
	border-bottom:solid 2px #fff;
	z-index: 100;
	background-color: rgba(255, 255, 255, 0.8);
	top: 0;
	padding: 5px;
	border-bottom:solid 3px #49290e;
    box-sizing: border-box;
}
	
header .inner{
  max-width: 100%;
}
	
header .inner > ul > li{
  max-width: unset;
}
	
header .inner > ul > li:first-child{
  width: 30%;
}
	
header .inner > ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
	
header .inner > ul > li h1#logo img{
  width: 100%;
  height: auto;
}
	
header .inner > ul > li:last-child{
	display:flex;
	justify-content: space-between;
	align-items: center;
}
	
header .inner > ul > li:last-child .app_bnr{
  margin-right: 30px;
}
	
header .inner > ul > li:last-child .app_bnr ul{
  display:flex;
	align-items: center;
}
	
header .inner > ul > li:last-child .app_bnr ul li:first-child{
  margin-right: 10px;
}
	
header .inner > ul > li:last-child .app_bnr ul li img{
	height:35px;
	width:auto;
}
	
header .inner > ul > li:last-child .language{
  margin-right: 20px;
}
	
header .inner > ul > li:last-child .language form{
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
	
header .inner > ul > li:last-child .language form label span{
    color: #49290e;
    font-size: 0.8rem;
    display: inline-block;
    margin-right: 5px;
  }
	
header .inner > ul > li:last-child .language form select {
    font-size: 0.7rem;
    background-color: #fff;
    padding: 3px;
    box-sizing: border-box;
  }
	
header .inner > ul > li:last-child #nav_toggle{
  display: flex;
  align-items: center;
  width: 35px;
  margin-right: 0;
	height: 35px;
}
	
	/*開閉ボタン*/
	#nav_toggle div {
		position: relative;	}
	
	#nav_toggle span{
		display: block;
		height: 1px;
		background: #49290e;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
		width:18px;
		margin-left:5px;
		margin-right:5px;
		position:relative;
		box-sizing:border-box;
	}
	#nav_toggle span:nth-child(1){
		top:-6px;
	}
	#nav_toggle span:nth-child(2){
		top:1px;
		width: 13px;
	}
	#nav_toggle span:nth-child(3){
		top:8px;
		width: 10px;
	}
	
	#nav_toggle>div>p{
		padding-top:32px;
		font-size:83%;
		font-weight:bold;
		text-align:center;
		color:#fff;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 4px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
			width: 25px;
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 3px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
			width: 25px;
		}

header.sp_header nav{
	clear:both;
	padding:10px 10px 0;
	box-sizing:border-box;
	background-color:rgba(255, 245, 230, 0.95);
	z-index:100;
	position:absolute;
	top:67px;
	width:100%;
	display:none;
	padding-top:0;
	left: 0;
}
	
	header.sp_header nav ul{
		display:block;
		margin-top: 0;
	}

header.sp_header nav > ul li{
	border-bottom:solid 1px #49290e;
	padding:0;
	width:100%;
	background-image: none !important;
}

header.sp_header nav ul li:last-child{
	border-bottom:none;
	padding-bottom:0;
}

header.sp_header nav>ul>li > a{
    color: #fff;
    text-decoration: none;
    font-size: 90%;
    border-bottom: none;
    padding: 15px 10px;
    box-sizing: border-box;
    display: block;
    width: 100%;
    text-align: left;
  }
	
header.sp_header nav>ul>li a:hover{
	color:#fff;
	text-decoration:none;
	border-bottom:none;
	opacity:1;
}

header.sp_header nav>ul>li>ul{
	margin-left:20px;
}

header.sp_header a{
	text-decoration:none;
}
	
header nav ul li.nav01 a:hover,
header nav ul li.nav01.active a{
	background-image:none;
}

header nav ul li.nav01 a:hover span,
header nav ul li.nav01.active a span{
	color:#49290e;
}

header nav ul li.nav02 a{
	background-image:none;
}

header nav ul li.nav02 a:hover,
header nav ul li.nav02.active a{
	background-image:none;
}

header nav ul li.nav02 a:hover span,
header nav ul li.nav02.active a span{
	color:#49290e;
}

header nav ul li.nav03 a{
	background-image:none;
}

header nav ul li.nav03 a:hover,
header nav ul li.nav03.active{
	background-image:none;
	background-size: auto 26px;
}

header nav ul li.nav03 a:hover span,
header nav ul li.nav03.active a span{
	color:#49290e;
}

header nav ul li.nav04 a{
	background-image:none;
	background-size:auto 20px;
	background-position: center 8px;
}

header nav ul li.nav04 a:hover,
header nav ul li.nav04.active{
	background-image:none;
	background-size:auto 20px;
	background-position: center 8px;
}

header nav ul li.nav04 a:hover span,
header nav ul li.nav04.active a span{
	color:#49290e;
}
	
header.sp_header nav div.app_bnr{
	display:none;
}
	
footer {
  padding: 18% 0 50px;
}
	
.mole_hole {
  z-index: 1;
}
	
.modoru_btn a {
  bottom: 200px;
  z-index: 1;
}
	
.page_header {
  padding: 12% 0 1%;
}
	
.page_header h2.page_title {
  font-size: 2.5rem;
}
	
.page_header h2.page_title small.en {
  font-size: 1.8rem;
}
	
}


@media only screen and (max-width: 768px){
header .inner > ul > li:last-child .language {
    margin-right: -10px;
  }
	
header .inner > ul > li h1#logo{
  width: 105px;
}
	
header .inner ul li h1#logo a {
  display: flex;
}
	
.open #nav_toggle span:nth-child(3) {
    top: 2px;
  }
	
header.sp_header nav {
    padding: 0 10px;
	box-sizing: border-box;
	top: 48px;
  }
	
header.sp_header nav div.app_bnr{
	display:block;
	margin:30px 0;
}
	
header.sp_header nav div.app_bnr ul li{
	text-align:center;
	margin-bottom: 10px;
}
	
header.sp_header nav div.app_bnr ul li a {
	padding-top:0;
	padding-bottom: 0;
	display:block;
	text-align:center;
}
	
header.sp_header nav div.app_bnr ul li img{
	width:50%;
	height: auto;
}
	
header .inner {
    width: 100%;
  }
	
img.mole {
  width: 85px;
  left: 5px;
}
	
.mole_hole {
  left: 10px;
  width: 50px;
}
	
.content .inner {
    width: 85%;
  }

.content .inner p {
    font-size:0.9rem;
  }
	
div.download {
  background-size: 28%;
  padding: 20px;
}
	
div.download h3 {
  top: -35px;
}
	
div.download h3 span {
    padding: 5px;
    background-size: 100% 100%;
    display: block;
    width: 80%;
    margin: 0 auto;
  }
	
div.download h3 span img {
  width: 70%;
}
	
div.download ul {
  margin-top: 15px;
  flex-wrap: wrap;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
	
div.download ul li:first-child {
  margin-right: 0;
  margin-bottom: 10px;
}
	
div.download ul li img{
    width:100%;
	height: auto;
  }
	
div.bnr_area {
  margin-top: 50px;
}
	
footer {
    padding: 25% 0 50px;
  }
	
footer img.mole2 {
  width: 85px;
  left: 5px;
}
	
footer h2.footer_logo {
  width: 85%;
  margin: 0 auto 30px;
}
	
footer div.app_bnr ul {
  flex-wrap: wrap;
}
	
footer div.app_bnr ul li img {
  height: auto;
  width: 60%;
}
	
footer div.app_bnr ul li:first-child {
  margin-right: 0;
  margin-bottom: 10px;
}
	
footer .footer_nav {
  margin-top: 50px;
}
	
footer .footer_nav ul {
  flex-wrap: wrap;
}
	
footer .footer_nav ul li {
  width: 100%;
  margin-top: 10px;
	margin-right: 0;
}
	
footer .footer_nav ul li a {
  font-size: 0.9rem;
}
	
footer .footer_nav ul:last-child {
  margin-top: 0;
}
	
 footer .footer_nav .app_bnr {
    flex-wrap: wrap;
  }
	
.page_header {
    padding: 20% 0 5%;
  }
	
.page_header h2.page_title {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
	
.page_header h2.page_title small.en {
    font-size: 1.2rem;
  }
	
.breadcrum ul li img {
  height: 15px;
}
	
.breadcrum ul li {
  font-size: 0.7rem;
}
	
section.content {
  padding-top: 50px;
}
	
header .inner > ul > li:last-child .app_bnr {
    display: none;
  }
	
.is-pc{
	display:none;
}

.is-sp{
	display:block;
}	



}











