/* ----------------------------------------------------------------header*/
header {
	position: relative;
	text-align: left;
	z-index: 1;
}
#header p.logo {
	display: none;
}
#header .header_right {
	display: flex;
	justify-content: space-between;
	color:#fff;
}
#header .header_right ul {
	display: flex;
	justify-content: space-between;
	margin-top: 5px;
}
#header .header_right ul li {
	margin-left: 8px;
	font-size:12px;
	line-height: 1.3;
}
#header .header_right ul li span {
	display: block;
	font-size:10px;
}
#header .header_right ul li a {
	text-decoration: none;
	color:#fff;
}
#header .header_right div a {
	display: block;
	padding: 8px;
	align-items: center;
	text-decoration: none;
	font-size:0;
	color:#fff;
	line-height: 16px;
	background: rgba(0,0,0,0.5);
}
#header .header_right div a img {
	display: inline-block;
	width:auto;
	height: 16px;
	margin-right: 5px;
	vertical-align: middle;
}
#header .header_right div a p {
	display: inline-block;
	vertical-align: middle;
	font-size:12px;
}
#header .header_right div a p span {
	display: none;
}
@media print, screen and (min-width:375px) {
#header .header_right ul li {
	margin-left: 10px;
	font-size:14px;
}
#header .header_right div a {
	padding: 8px 10px;
	line-height: 20px;
}
#header .header_right div a img {
	width:auto;
	height: 20px;
}
#header .header_right div a p {
	font-size:14px;
}
}
@media print, screen and (min-width:480px) {
#header {
	display: flex;
	justify-content: space-between;
}
#header p.logo {
	display: block;
	margin: 5px 0 0 10px;
}
#header p.logo img {
	width: auto;
	height: 50px;
}
#header .header_right {
	display: flex;
	justify-content: flex-end;
}
#header .header_right ul li {
	margin-left: 0;
	margin-right: 10px;
}
}
@media print, screen and (min-width:768px) {
#header p.logo {
	display: block;
	margin: 20px 0 0 20px;
}
#header p.logo img {
	width: auto;
	height: auto;
}
#header .header_right ul {
	margin-top: 10px;
}
#header .header_right ul li {
	margin-left: 0;
	margin-right: 15px;
	font-size:14px;
}
#header .header_right ul li span {
	font-size:16px;
}
#header .header_right div a {
	padding: 10px 15px;
	line-height: 21px;
}
#header .header_right div a img {
	width:auto;
	height: 21px;
	margin-right: 10px;
}
#header .header_right div a p {
	font-size:18px;
}
}
@media print, screen and (min-width:992px) {
#header p.logo {
	margin: 30px 0 0 30px;
}
#header .header_right ul {
	margin-top: 10px;
}
#header .header_right ul li {
	margin-left: 0;
	margin-right: 15px;
	font-size:16px;
}
#header .header_right ul li span {
	font-size:22px;
}
#header .header_right div a {
	padding: 15px 30px;
	line-height: 21px;
	transition: all 0.5s;
}
#header .header_right div a:hover {
	background: rgba(0,0,0,1);
}
#header .header_right div a img {
	width:auto;
	height: 21px;
	margin-right: 10px;
}
#header .header_right div a p {
	font-size:18px;
}
#header .header_right div a p span {
	display: inline;
}
}

header h1 {
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	text-align: center;
	color:#fff;
	z-index: 100;
}
header h1 .tx01 {
	display: block;
	margin-bottom:10px;
	line-height: 1.1;
	font-size: 24px;
	color:#fff;
}
header h1 .tx02 {
	display: block;
	margin-bottom:20px;
	line-height: 1.1;
	font-size: 22px;
	color:#fff;
}
header h1 .logo img {
	width: 250px;
	height: auto;
}
@media print, screen and (min-width:768px) {
header h1 .tx01 {
	display: block;
	margin-bottom:10px;
	line-height: 1.1;
	font-size: 36px;
	color:#fff;
}
header h1 .tx02 {
	display: block;
	margin-bottom:20px;
	line-height: 1.1;
	font-size: 32px;
	color:#fff;
}
header h1 .logo img {
	width: auto;
	height: auto;
}
}

div.btn_arrow {
	position: absolute;
	bottom:15px;
	left:50%;
	width:40px;
	height: 50px;
	margin-left:-20px;
	z-index: 9999;
}
div.btn_arrow a {
	position: relative;
	display: block;
	width:100%;
	height: 50px;
	z-index: 9999;
}
div.btn_arrow a span {
	position: absolute;
	left:50%;
	width:20px;
	height:20px;
	margin-left:-10px;
	content:"";
	border-left:1px solid #fff;
	border-bottom:1px solid #fff;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	-webkit-animation:sdb 2s infinite;
	animation:sdb 2s infinite;
	opacity:0;
	box-sizing:border-box;
}
div.btn_arrow a span:nth-of-type(1){-webkit-animation-delay: 0s; animation-delay: 0s;}
div.btn_arrow a span:nth-of-type(2){top: 15px; -webkit-animation-delay: .15s; animation-delay: .15s;}
div.btn_arrow a span:nth-of-type(3){top: 30px; -webkit-animation-delay: .3s; animation-delay: .3s;}
@-webkit-keyframes sdb {
	0%{opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}
@keyframes sdb {
	0%{opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}
@media print, screen and (min-width:768px) {
div.btn_arrow {
	bottom:20px;
	left:50%;
	width:60px;
	height: 90px;
	margin-left:-30px;
}
div.btn_arrow a {
	height: 90px;
}
div.btn_arrow a span {
	left:50%;
	width:30px;
	height:30px;
	margin-left:-15px;
	content:"";
	border-left:1px solid #fff;
	border-bottom:1px solid #fff;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	-webkit-animation:sdb 2s infinite;
	animation:sdb 2s infinite;
	opacity:0;
	box-sizing:border-box;
}
div.btn_arrow a span:nth-of-type(1){-webkit-animation-delay: 0s; animation-delay: 0s;}
div.btn_arrow a span:nth-of-type(2){top: 20px; -webkit-animation-delay: .15s; animation-delay: .15s;}
div.btn_arrow a span:nth-of-type(3){top: 40px; -webkit-animation-delay: .3s; animation-delay: .3s;}
}

section {
	position: relative;
	z-index: 1;
	background: #fff;
}

/*------------------------------------------------------------mainphoto*/
#mainimage {
	position: fixed;
	width:100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: 0;
	background: url(../img/mainimg_shadow.png) center top repeat-x, url(../img/mainimg.jpg) center bottom no-repeat;
	background-size: auto auto, cover;
}

/*------------------------------------------------------------sec01*/
#sec01 {
	padding:30px 0;
	background: url(../img/bg_bottom.png) bottom center no-repeat #fff;
	background-size: 100% auto;
}
#sec01 > div {
	margin:0 15px;
	text-align: left;
}
#sec01 > div p {
	margin-bottom:15px;
}
#sec01 figure {
	margin-top:20px;
}
#sec01 figure img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width:480px) {
#sec01 figure {
	padding-right: 10%;
}
}
@media print, screen and (min-width:768px) {
#sec01 {
	position: relative;
	display: flex;
	flex-direction:row-reverse;
	align-items: center;
	padding:70px 0 0;
	background: url(../img/bg_bottom.png) bottom center no-repeat #fff;
	background-size: 100% auto;
}
#sec01 > div {
	margin:0 20px;
}
#sec01 figure {
	width: 50%;
	margin-top:0;
	padding-right: 0;
}
#sec01 figure img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	object-position: 85% 50%;
}
#sec01 div {
	width: 50%;
}
}
@media print, screen and (min-width:992px) {
#sec01 {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding:100px 0 0;
}
#sec01 > div {
	margin:0 30px 0 50px;
}
#sec01 figure {
	width: auto;
	text-align: left;
}
#sec01 figure img {
	width: 100%;
	height: 740px;
	object-fit: cover;
	object-position: 100% 50%;
}
#sec01 div {
	width: auto;
	padding: 0 0 80px;
}
#sec01 div .title01 {
	white-space: nowrap;
}
}

/*------------------------------------------------------------sec02*/
#sec02 {
	padding:30px 0 0;
	background: url(../img/bg_top.png) top center no-repeat #fff;
	background-size: 100% auto;
}
#sec02 > div {
	margin:0 15px;
	text-align: left;
}
#sec02 > div p {
	margin-bottom:15px;
}
#sec02 figure {
	margin-top:15px;
	padding-left:5%;
}
#sec02 figure img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width:480px) {
#sec02 figure {
	padding-left: 10%;
}
#sec02 > div {
	margin:0 15px;
	text-align: right;
}
}
@media print, screen and (min-width:768px) {
#sec02 {
	position: relative;
	display: flex;
	align-items: flex-end;
	padding:30px 0 0;
}
#sec02 > div {
	margin:0 20px 40px;
}
#sec02 figure {
	width: 50%;
	padding-left: 0;
}
#sec02 figure img {
	width: 100%;
	height: 600px;
	object-fit: cover;
	object-position: 0 0;
}
#sec02 div {
	width: 50%;
}
}
@media print, screen and (min-width:992px) {
#sec02 {
	justify-content: flex-end;
	align-items: center;
	padding-top:0;
}
#sec02 figure {
	width: auto;
}
#sec02 figure img {
	width: 100%;
	height: 886px;
	margin-top: -80px;
	object-fit: cover;
	object-position: 0 0;
}
#sec02 > div {
	width: auto;
	margin:0 50px 0 20px;
}
#sec02 .title01 {
	white-space: nowrap;
}
}

/*------------------------------------------------------------bn*/
#bn ul li:first-child {
	text-align: left;
}
#bn ul li:first-child a {
	display: block;
	padding:30px 15px;
	text-decoration: none;
	color:#fff;
	background: #400;
}
#bn ul li:first-child a .wrapper {
	position: relative;
}
#bn ul li:first-child a .wrapper .title {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
#bn ul li:first-child a .wrapper .title h2 {
	margin-right: 15px;
	padding-right: 30px;
	padding-bottom: 10px;
	line-height: 1.4;
	font-size:25px;
	white-space: nowrap;
	background: url(../img/arrow01.png) right bottom no-repeat;
	background-size: auto 20px;
}
#bn ul li:first-child a .wrapper .title h2 span {
	display: block;
	font-size:16px;
	color:#f4d9a9;
}
#bn ul li:first-child a .wrapper .title figure img {
	width: 100%;
	height: 107px;
	margin-top:-40px; 
	object-fit: cover;
	object-position: 50% 50%;
}
#bn ul li:first-child a .wrapper p {
	line-height: 1.5;
}
#bn ul li:first-child a .wrapper p.last {
	margin-top: 10px;
}
#bn ul li:first-child a .wrapper .point {
	margin: 15px 0;
	padding:7px 0 8px;
	line-height: 1.1;
	text-align: center;
	font-size:18px;
	font-family: "NotoSerifBold", serif;
	color:#900;
	background: #e7c296;
}
#bn ul li:first-child a .wrapper .point span {
	font-size:22px;
}

#bn ul li:last-child a {
	display: block;
	padding:40px 15px;
	text-decoration: none;
	color:#fff;
	background: url(../img/manga_bg.jpg) center center no-repeat;
	background-size: cover;
}
#bn ul li:last-child a h2 {
	display: inline-block;
	padding: 15px 20px 40px;
	line-height: 1.4;
	font-size:25px;
	background: url(../img/arrow01.png) center bottom 15px no-repeat rgba(68,0,0,0.9);
	background-size: auto 20px;
}
#bn ul li:last-child a h2 span {
	display: block;
	font-size:18px;
}
@media print, screen and (min-width:480px) {
#bn ul li:first-child a .wrapper .title h2 {
	padding-right: 110px;
	padding-bottom: 0;
	background: url(../img/arrow01.png) right bottom 4px no-repeat;
	background-size: auto 20px;
}
#bn ul li:first-child a .wrapper .title figure img {
	width: 100%;
	height: 110px;
	margin-top: -55px;
	object-fit: cover;
	object-position: 50% 50%;
}
#bn ul li:first-child a div .point br {
	display: none;
}
}
@media print, screen and (min-width:768px) {
#bn ul li:first-child a .wrapper .title h2 {
	padding-right: 110px;
	padding-bottom: 0;
	font-size:34px;
	background: url(../img/arrow01.png) right bottom 4px no-repeat;
	background-size: auto auto;
}
#bn ul li:first-child a .wrapper .title figure img {
	width: 100%;
	height: 130px;
	margin-top: -60px;
	object-fit: cover;
	object-position: 50% 50%;
}
#bn ul li:first-child a .wrapper .point {
	padding:8px 0;
	font-size:22px;
}
#bn ul li:first-child a .wrapper .point span {
	font-size:24px;
}
#bn ul li:last-child a .wrapper .title h2 span {
	font-size:20px;
}
#bn ul li:last-child a {
	padding:60px 15px;
}
#bn ul li:last-child a h2 {
	padding: 15px 40px 50px;
	font-size:34px;
	background: url(../img/arrow01.png) center bottom 15px no-repeat rgba(68,0,0,0.9);
	background-size: auto auto;
}
#bn ul li:last-child a h2 span {
	font-size:20px;
}
}
@media print, screen and (min-width:992px) {
#bn ul {
	display: flex;
}
#bn ul li {
	width: 50%;
}
#bn ul li a {
	transition: all 0.5s;
}
#bn ul li a:hover {
	opacity:0.6;
	filter:alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}
#bn ul li:first-child a {
	padding:40px 20px 50px;
	position: relative;
	text-decoration: none;
	color:#fff;
	background: rgba(68,0,0,1);
}
#bn ul li:first-child a .wrapper {
	max-width: 760px;
	margin: 0 auto;
}
#bn ul li:first-child a .wrapper .title h2 {
	padding-right: 20px;
	font-size:56px;
}
#bn ul li:first-child a .wrapper .title h2 span {
	font-size:20px;
}
#bn ul li:first-child a .wrapper .title figure img {
	width: 100%;
	height: 175px;
	margin-top: -73px;
}
#bn ul li:first-child a .wrapper .point {
	padding:8px 0;
	font-size:30px;
}
#bn ul li:first-child a .wrapper .point span {
	font-size:40px;
}
#bn ul li:first-child a div .point br {
	display: inline;
}
#bn ul li:last-child a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding:0;
}
#bn ul li:last-child a h2 {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);	padding: 25px 40px 72px;
	line-height: 1.2;
	font-size:56px;
	white-space: nowrap;
	background: url(../img/arrow01.png) center bottom 30px no-repeat rgba(68,0,0,0.9);
	background-size: auto auto;
}
#bn ul li:last-child a h2 span {
	font-size:30px;
}
}
@media print, screen and (min-width:1200px) {
#bn ul li:first-child a .wrapper .title h2 {
	padding-right: 96px;
}
}
@media print, screen and (min-width:1400px) {
#bn ul li:first-child a div .point br {
	display: none;
}
}

/*------------------------------------------------------------info*/
.info {
	padding:30px 15px;
	text-align: left;
}
.info h2 {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	line-height: 1.1;
	font-size:25px;
}
.info h2 img {
	width: auto;
	height: 50px;
	margin-right: 10px;
}
.info table {
	width: 100%;
	margin: 15px 0;
	border-collapse: collapse;
}
.info table th {
	padding:5px 15px 5px 0;
	vertical-align: top;
	font-weight: normal;
	white-space: nowrap;
}
.info table td {
	padding:5px 0;
	vertical-align: top;
	font-weight: normal;
}
.info table td.w {
	white-space: nowrap;
}
.info table th span.sp_no, .info table td span.sp_no {
	display: none;
}
.info .gmap {
	width: 100%;
	height: 299px;
}
.info figure {
	margin-top: 20px;
}
.info figure img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width:480px) {
.info table th br {
	display: none;
}
.info table th span.sp_no, .info table td span.sp_no {
	display: inline;
}
.info table th .no_wrap, .info table td .no_wrap {
	display: none;
}
}
@media print, screen and (min-width:768px) {
.info {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding:100px 0 0;
	background: #fff;
	z-index: 100;
}
#jiyugaoka {
	flex-direction: row-reverse;
}
#fei {
	padding-bottom: 100px;
}
.info > div {
	position: relative;
	min-width: 500px;
	padding: 0 20px;
	text-align: left;
}
.info h2 {
	font-size:34px;
}
.info h2 img {
	width: auto;
	height: 60px;
	margin-right: 15px;
}
.info figure {
	margin-top: 0;
}
.info figure img {
	width: 100%;
	height: 800px;
	object-fit: cover;
	object-position: 50% 50%;
}
}
@media print, screen and (min-width:992px) {
.info h2 {
	margin-bottom: 30px;
	font-size:56px;
}
#fei.info h2 {
	letter-spacing: -0.2rem;
}
#fei.info h2 span span {
	letter-spacing: -2rem;
}
.info h2 img {
	width: auto;
	height: auto;
	margin-right: 15px;
}
.info figure {
	margin-top: 0;
}
.info figure img {
	width: 100%;
	height: 800px;
	object-fit: cover;
	object-position: 50% 50%;
}
.info > div {
	position: relative;
	min-width: 700px;
	padding: 0 40px;
	text-align: left;
}
.info > div .gmap {
	position: absolute;
	left:0;
	bottom:0;
	width:100%;
	padding:0 40px;
	height: 299px;
}
}

/*------------------------------------------------------------coupon*/
#coupon {
	padding:30px 0;
	text-align: left;
	font-family: "NotoSansRegular", sans-serif;
	color:#fff;
	background: rgba(0,0,0,0.5);
}
#coupon h2 {
	margin-bottom: 15px;
	line-height: 1.4;
	font-family: "NotoSansfBold", sans-serif;
	font-size:22px;
}
#coupon h2 strong {
	display: inline-block;
	background: rgba(0,0,0,0) linear-gradient(transparent 60%, #e00000 0%) repeat scroll 0 0;
}
#coupon .figbox {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	margin-bottom: 20px;
}
#coupon .figbox p {
	letter-spacing: -0.15rem;
}
#coupon .figbox figure {
	margin-right: 15px;
}
#coupon .figbox figure img {
	width: 120px;
	height: auto;
}
#coupon ul.sp {
	display: flex;
	justify-content: space-between
}
#coupon ul.sp li {
	width: 48%;
}
#coupon ul.sp li img {
	width: 100%;
	height: auto;
}
#coupon ul.pc {
	display: none;
}
@media print, screen and (min-width:375px) {
#coupon h2 {
	font-size:25px;
}
#coupon .figbox figure img {
	width: 136px;
	height: auto;
}
}
@media print, screen and (min-width:480px) {
#coupon .container {
	position: relative;
}
#coupon .figbox {
	margin-bottom: 0;
}
#coupon .figbox h2 strong {
	margin-right: 10px;
}
#coupon .figbox h2 .nowrap {
	display: none;
}
#coupon .figbox div {
	padding-bottom: 52px;
}
#coupon .figbox p {
	letter-spacing: 0;
}
#coupon .figbox figure img {
	width: auto;
	height: auto;
}
#coupon ul.sp {
	position: absolute;
	right: 15px;
	bottom: 0;
	width: 300px;
}
#coupon ul.sp li {
	width: 140px;
}
}
@media print, screen and (min-width:768px) {
#coupon {
	padding:60px 0 50px;
}
#coupon h2 {
	margin-bottom: 40px;
	font-size:34px;
}
#coupon .figbox figure {
	margin-right: 30px;
}
#coupon ul.sp {
	bottom: 10px;
}
}
@media print, screen and (min-width:992px) {
#coupon h2 {
	margin-bottom: 40px;
	line-height: 1.3;
	font-size:60px;
}
#coupon .figbox div {
	padding-bottom: 0;
}
#coupon .figbox div p {
	padding-right: 330px;
}
#coupon .figbox div p br.sp_nowrap {
	display: none;
}
#coupon .figbox figure {
	margin-right: 30px;
}
#coupon ul.sp {
	display: none;
}
#coupon ul.pc {
	position: absolute;
	width: 300px;
	right: 15px;
	bottom: 10px;
	display: flex;
	justify-content: space-between;
}
#coupon ul.pc li {
	width: 140px;
}
#coupon ul.pc li img {
	width: 100%;
	height: auto;
}
}
@media print, screen and (min-width:1200px) {
#coupon .figbox div p {
	padding-right: 390px;
}
#coupon .figbox div p br.sp_nowrap {
	display: inline;
}
#coupon .figbox figure {
	margin-right: 40px;
}
#coupon ul.pc {
	width: 350px;
}
#coupon ul.pc li {
	width: 160px;
}
}

/* ----------------------------------------------------------------footer*/
footer {
	position: relative;
	z-index: 1;
}
footer nav {
	text-align: center;
	padding: 30px 0;
	background: #fff;
}
footer nav ul {
	display: flex;
	flex-wrap: wrap;
}
footer nav ul li {
	width: 25%;
	background: #000;
}
footer nav ul li a {
	display: block;
	position: relative;
	text-decoration: none;
	color:#fff;
}
footer nav ul li a:hover {
	color:#fff;
}
footer nav ul li a:visited {
	color:#fff;
}
footer nav ul li a::after {
	display: block;
	position: absolute;
	top:0;
	width: 100%;
	height: 100%;
	content:"";
	background: rgba(0,0,0,0.5);
	transition: all 0.5s;
}
footer nav ul li a:hover::after {
	background: rgba(0,0,0,0.7);
}
footer nav ul li a p {
	position: absolute;
  top: 50%;
  left: 50%;
	width: 100%;
	line-height: 1.4;
	font-size:14px;
	letter-spacing: -0.1rem;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 1;
}
footer nav ul li a p span {
	display: block;
	font-size:9px;
}
footer nav ul li a img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
small {
	position: relative;
	display: block;
	margin: 0;
	padding:20px 0;
	text-align: center;
	line-height: 1.1;
	font-size:12px;
	color:#fff;
	background: rgba(0,0,0,0.5);
	z-index: 100;
}
@media print, screen and (min-width:375px) {
footer nav ul li a p {
	font-size:16px;
}
footer nav ul li a p span {
	font-size:9px;
}
}
@media print, screen and (min-width:480px) {
footer nav ul li {
	width: 12.5%;
}
footer nav ul li a p {
	font-size:15px;
}
footer nav ul li:nth-child(2) a p {
	letter-spacing: -0.15rem;
}
}
@media print, screen and (min-width:768px) {
footer nav {
	padding: 50px 0;
}
footer nav ul li a::after {
	background: rgba(0,0,0,0.4);
}
footer nav ul li a p {
	font-size:17px;
}
footer nav ul li a p span {
	font-size:10px;
}
}
@media print, screen and (min-width:992px) {
footer nav ul li a p {
	font-size:21px;
	letter-spacing: -0.05rem;
}
footer nav ul li:nth-child(2) a p {
	letter-spacing: -0.1rem;
}
footer nav ul li a p span {
	font-size:12px;
}
}
@media print, screen and (min-width:1200px) {
footer nav ul li a p {
	font-size:24px;
	letter-spacing: 0;
}
footer nav ul li:nth-child(2) a p {
	letter-spacing: 0;
}
footer nav ul li a p span {
	font-size:14px;
}
}

/*------------------------------------------------------------Decoration*/
/*Line*/
hr.line_01 {
	height: 1px;
	clear: both;
	margin: 20px 0px;
	border-top: 1px dotted #CCC;
	border-right: 0 dotted #CCC;
	border-bottom: 0 dotted #CCC;
	border-left: 0 dotted #CCC;
}
.space_10 {
	height: 10px;
	clear: both;
}
.space_20 {
	height: 20px;
	clear: both;
}
.space_30 {
	height: 30px;
	clear: both;
}
.space_10 hr, .space_20 hr, .space_30 hr {
	display: none;
}
/*------------------------------------------------------------Text*/
/*title*/
.title01 {
	margin-bottom: 20px;
	font-size: 26px;
	line-height: 1.3;
}
.title01 span {
	font-size: 22px;
}
@media print, screen and (min-width:768px) {
.title01 {
	margin-bottom: 30px;
	font-size: 34px;
}
.title01 span {
	font-size: 28px;
}
}
@media print, screen and (min-width:992px) {
.title01 {
	margin-bottom: 40px;
	font-size: 56px;
}
.title01 span {
	font-size: 40px;
}
}
/*TextRight*/
.tx_right {
	text-align: right;
}
/*TextLeft*/
.tx_left {
	text-align: left;
}
/*TextCenter*/
.tx_cent {
	text-align: center;
}
/*bold*/
.tx_bold {
	font-style: normal;
	font-weight: bold;
}
/*TextRed*/
.tx_red {
	color: #C33;
}
/*attention*/
.attention {
	font-size: 10px;
	line-height: 130%;
	margin: 5px 0;
}
/*------------------------------------------------------------Float*/
/*FloatLeft*/
.float_left {
	float: left;
}
/*FloatRight*/
.float_right {
	float: right;
}
/*ClearBoth*/
.clearboth {
	clear: both;
}
/*phbox*/
.phbox_right {
	text-align: center;
	margin-bottom: 10px;
}
.phbox_right img {
	max-width: 100%;
	height: auto; 
}
.phbox_left {
	text-align: center;
	margin-bottom: 10px;
}
.phbox_left img {
	max-width: 100%;
	height: auto; 
}
.ov_hidden {
	overflow: hidden;
}
@media print, screen and (min-width:768px) {
.phbox_right {
	float: right;
	margin-left: 10px;
	margin-bottom: 0px;
}
.phbox_left {
	float: left;
	margin-right: 10px;
	margin-bottom: 0px;
}
}
/*------------------------------------------------------------Margin*/
/*MarginTop*/
.margin_t05 {
	margin-top: 5px;
}
.margin_t10 {
	margin-top: 10px;
}
.margin_t20 {
	margin-top: 20px;
}
.margin_t30 {
	margin-top: 30px;
}
.margin_t40 {
	margin-top: 40px;
}
.margin_t50 {
	margin-top: 50px;
}
/*MarginBottom*/
.margin_b05 {
	margin-bottom: 5px;
}
.margin_b10 {
	margin-bottom: 10px;
}
.margin_b20 {
	margin-bottom: 20px;
}
.margin_b30 {
	margin-bottom: 30px;
}
.margin_b40 {
	margin-bottom: 40px;
}
.margin_b50 {
	margin-bottom: 50px;
}
/*MarginRight*/
.margin_r05 {
	margin-right: 5px;
}
.margin_r10 {
	margin-right: 10px;
}
.margin_r15 {
	margin-right: 15px;
}
.margin_r20 {
	margin-right: 20px;
}
/*MarginLeft*/
.margin_l05 {
	margin-left: 50px;
}
.margin_l10 {
	margin-left: 10px;
}
.margin_l15 {
	margin-left: 15px;
}
.margin_l20 {
	margin-left: 20px;
}
/*Margin_device*/
.margin-xs-b10 {
	margin-bottom: 10px;
}
@media print, screen and (min-width:768px) {
.margin-xs-b10 {
	margin-bottom: 0px;
}
}
/*------------------------------------------------------------ClearFix*/
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*------------------------------------------------------------Hoverimg*/
a:hover img.hoverimg {
	opacity:0.6;
	filter:alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}
/*------------------------------------------------------------other*/
/*Pagetop*/
#pagetop {
	position: fixed;
	bottom: 30px;
	right: 10px;
	z-index: 999;
}
#pagetop img {
	width: 40px;
	height: auto;
}
@media print, screen and (min-width:768px) {
#pagetop {
	bottom: 20px;
	right: 20px;
}
#pagetop img {
	width: auto;
	height: auto;
}
}


.sp_nowrap {
	display: none;
}
@media print, screen and (min-width:768px) {
.sp_nowrap {
	display: inline;
}
}
