@charset "utf-8";

* {
	-webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*----------------------*/

.pc {
	display: none;
}

.tablet {
	display: none;
}

body {
	-webkit-text-size-adjust: 100%;
}

p, li, dt, dd {
	/*Androidブラウザフォントバグ対策*/
	 max-height: 999999px;
}

.inner{
	position: relative;
	width:100%;
	margin:0px auto;
	overflow:hidden;
}

.material-icons {
	-webkit-transition: all .3s;
	transition: all .3s;
}

#loading{
	position:fixed;
	width:100%;
	height:100%;
	background-color:#f1d5c7;
	text-align:center;
	z-index:99999;
}
#loading img{
	opacity: 0;
	margin:auto;
	height:240px;
	position:absolute;
	bottom:0;
	top:0;
	left:0;
	right:0;
}
#container{
	font-size: 15px;
	font-size: 1.5rem;
}


/* ===================================================
	共通
=================================================== */
.sub_main{
	width:100%;
	overflow:hidden;
	text-align:center;
	position:relative;
	height:200px;
}
.sub_main img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: center;
}

.sub_main_box{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	text-align:center;
	z-index:999;
	height:110px;
}
.sub_main_box p{
	color:#FFF;
	font-size:30px;
	font-size: 3.0rem;
	font-family: 'Spartan', sans-serif;
	letter-spacing: 3px;
}
.sub_main_box hr{
	height: 0;
	margin: 0;
	padding: 0;
	border:0;
	border-top:1px solid #FFF;
	width:140px;
	margin:0px auto;
}
.sub_main_box h1{
	color:#FFF;
	font-size:20px;
	font-size: 2.0rem;
	font-weight:bold;
	margin:10px 0 0 0;
}

.sub_main_line{
	display:none;
	position:absolute;
	bottom:5px;
	right:5px;
	margin:auto;
	text-align:center;
	z-index:999;
	width:70px;
	height:70px;
}
.sub_main_line img{
	width:100%;
	height:auto;
}
.sub_main_line_sdgs{
	display:none;
	position:absolute;
	bottom:5px;
	right:5px;
	margin:auto;
	text-align:center;
	z-index:999;
	width:70px;
	height:70px;
}
.sub_main_line_sdgs img{
	width:100%;
	height:auto;
}
.title_box{
	text-align:center;
	padding:0 0 20px 0;
}
.title_box h2{
	font-size:20px;
	font-size: 2.0rem;
	font-weight:bold;
}
.sub_title_box{
	text-align:center;
	padding:10px 0;
	font-size: 20px;
	font-size: 2.0rem;
	line-height:44px;
}
.sub_title_box:before{
	display:inline-block;
	content:"";
	width:30px;
	height:30px;
	background:url(../img/sub_title1.jpg) no-repeat;
	background-size:100% auto;
	vertical-align:middle;
	margin:0 10px 0 0;
}
.sub_title_box:after{
	display:inline-block;
	content:"";
	width:30px;
	height:30px;
	background:url(../img/sub_title2.jpg) no-repeat;
	background-size:100% auto;
	vertical-align:middle;
	margin:0 0 0 10px;
}
.sub_title_p{
	text-align:center;
	font-size: 14px;
	font-size: 1.4rem;
}
.half_box{
	width:50%;
	float:left;
}
@media(max-width: 1040px) {
	.half_box{
		width:48%;
		margin:0 1%;
	}
}
.half_box .img{
	text-align:center;
}
.half_box .img img{
	max-width:100%;
	height:auto;
}
.half_box .comment p{
	margin:0 0 20px 0;
	font-size: 15px;
	font-size: 1.5rem;
}
.half_box .comment{
	margin:0 0 40px 0;
}

.three_list{
}
.three_list ul{
}
.three_list ul li{
	float:left;
	width:31.3%;
	margin:0 1%;
}
.three_list ul li .img{
	text-align:center;
}
.three_list ul li .img img{
	max-width:100%;
	height:auto;
	margin:0 auto 10px auto;
}
.three_list ul li h3{
	font-weight:bold;
	font-size: 20px;
	font-size: 2.0rem;
	text-align:center;
	margin:20px 0;
}
.three_list ul li p{
	margin:0 0 20px 0;
	font-size: 16px;
	font-size: 1.6rem;
}

.ulli_center{
	position: relative;
	overflow: hidden;
}

.ulli_center ul {
	position: relative;
	left: 50%;
	float: left;
}

.ulli_center ul li {
	position: relative;
	left: -50%;
	float: left;
}

.link_btn{
	width:90%;
	height:60px;
	margin:20px auto;
}
.link_btn a{
	display:block;
	width:100%;
	height:60px;
	line-height:60px;
	text-align:center;
	font-size: 20px;
	font-size: 2.0rem;
	background:#fbb4ae;
	color:#FFF;
	font-weight:bold;
}

.access_btn{
	margin: 10px 0 10px;
}
.access_btn02{
	margin: 10px 0 20px;
}
.access_btn a{
	display:block;
	width:100%;
	max-width: 310px;
	height:34px;
	border-radius: 1.5em;
	line-height:34px;
	text-align:center;
	font-size: 1.4rem;
	background:#222;
	color:#FFF;
}
.shinsaibashi .access_btn a{
	margin: 0 auto;
}

/*
	tel
========================== */
.tel {
	position: relative;
	line-height: 1;
}
.tel .material-icons {
	position: absolute;
	top: 10%;
	left: 0;
	font-size: 2.4rem;
}
.tel_number {
	font-family: 'Neuton', serif;
	font-size: 2.4rem;
	padding-left: 1.25em;
}


/* ===================================================
	header
=================================================== */
header{
	background:#818c98;
	width:100%;
	z-index:9996;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin:0;
	overflow:hidden;
	height:50px;
	position:fixed;
}

header *,
header ::after,
header ::before{
	box-sizing: content-box;
}
.header_inner{
	position:relative;
}
.header_logo{
	text-align:left;
	margin:0 0 0 5px;
}
.header_logo img{
	height:40px;
	width:auto;
	margin:4px auto;
  image-rendering: -webkit-optimize-contrast;
}

.header_logo a{
  position: relative;
  display: block;
}
.header_logo img.header_logo_l{
	display:none;
}
.header_logo img.header_logo_l_hover,
.header_logo img.header_logo_s_hover{
  opacity: 0;
  position: absolute !important;
  top: 0;
  left: 0;
  display: block;
  margin: 0 !important;
}
.header_logo a:hover img.header_logo_l,
.header_logo a:hover img.header_logo_s{
  opacity: 0;
}
.header_logo a:hover img.header_logo_l_hover,
.header_logo a:hover img.header_logo_s_hover{
  opacity: 1;
}
.header_logo img.header_logo_l_hover{
  display: none;
}

.header_logo img.header_logo_s{
	display:block;
	margin:5px auto 0 0;
}

.header_sdgs_btn{
	position:absolute;
	right:50px;
	top:8px;
	width:120px;
}
.header_sdgs_btn img{
	width:100%;
	height:auto;
}
.header_menu_btn{
	display:block;
	position:absolute;
	top:10px;
	right:0px;
	z-index:9999;
	width:50px;
}

.header_menu_line,
.header_menu_line span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.header_menu_line {
	display:block;
	margin:0px auto;
	position: relative;
	width: 30px;
	height: 26px;
}
.header_menu_line span {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 2px;
	background-color: #FFF;
	border-radius: 2px;
	margin:auto;
}
.header_menu_line span:nth-of-type(1) {
	top: 0;
}
.header_menu_line span:nth-of-type(2) {
	top: 12px;
}
.header_menu_line span:nth-of-type(3) {
	bottom: 0;
}
.header_menu_line.active{
	position:fixed;
	right:10px;
}
.header_menu_line.active span:nth-of-type(1) {
	-webkit-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
.header_menu_line.active span:nth-of-type(2) {
	opacity: 0;
}
.header_menu_line.active span:nth-of-type(3) {
	-webkit-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

.header_menu{
	display:none;
	position:fixed;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background-color:rgba(163,170,177,0.86);
	overflow:scroll;
	padding:50px 0 20px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
	z-index:9998;
}
.header_menu_inner{
	position:relative;
	width:100%;
	height:100%;
	z-index:9998;
	text-align:center;
}
.header_navi{
	margin:0;
}
.header_navi li a{
	display:block;
/* 	margin:0 30px 10px 30px; */
	margin:0 30px 5px 30px;
	color:#FFF;
	font-size: 18px;
	font-size: 1.8rem;
	text-align:left;
}
.header_navi li ul li a{
	margin:0 30px 5px 30px;
	padding:0 0 0 20px;
	font-size: 16px;
	font-size: 1.6rem;
}
.header_navi li ul li a:before{
	content:"－";
	margin:0 5px 0 0;
}
.header_btn{
	margin:10px 0 0 0;
}
.header_btn img{
	width:29%;
	height:auto;
	margin:0 1%;
}
.header_menu_logo{
	width:65%;
	margin:0px auto;
	padding:10px 0;
}
.header_menu_logo img{
	width:100%;
	height:auto;
  image-rendering: -webkit-optimize-contrast;
}


/* ===================================================
	footer
=================================================== */
#footer{
	margin:50px 0 0 0;
	width:100%;
	background:#71706f;
	position:relative;
	z-index:9;
	padding:20px 0 0 0;
	color:#FFF;
}
.footer_logo{
	width:200px;
/* 	width:130px; */
	margin:0 auto;
	text-align:center;
}
.footer_logo img{
	width:100%;
	height:auto;
}
.footer_logo h2{
	margin:5px 0 0 0;
	color:#FFF;
	text-align:center;
	font-size: 10px;
	font-size: 1.0rem;
}
.footer_menu{
}
.footer_menu ul{
	margin:20px 0;
	float:left;
	width:50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding:0 10px 0 20px;
	/* padding:0 10px 0 20px; */
}
.footer_menu ul:last-child{
	padding:0 15px 0 0px;
	/* padding:0 20px 0 10px; */
}
.footer_menu ul li{
	padding:5px 0;
	font-size: 12px;
	font-size: 1.2rem;
}
.footer_menu ul li.small:before{
	content:"－";
	color:#FFF;
}
.footer_menu ul li a{
	color:#FFF;
}
.footer_menu .btn{
	width:90%;
  max-width: 386px;
	margin:0px auto;
}
.footer_menu .btn a{
	display:block;
	background:#FFF;
	text-align:center;
  padding: 5.4px 60px;
	color:#71706f;
	font-weight:bold;
  background: #fbb4ae;
  border-top: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  border-left: 3px solid #FFF;
  border-right: 3px solid #FFF;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-height: 72px;
}
.footer_menu .btn a img{
  width: 100%;
  height: auto;
}

.sns_item_x {
    position: relative;
    top: 3px;
}
.sns_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 10px;
}
.sns_item {
	width: 32px;
	height: 32px;
}
.sns_item + .sns_item {
	margin-left: 2.3em;
}
.sns_sup {
	margin-top: 20px;
	font-size: 10px;
	text-align: center;
}
.sns_sup span {
	display: inline-block;
}

.footer_copy{
	padding:0 0 65px 0;
	text-align:center;
	font-size: 12px;
	font-size: 1.2rem;
	margin:25px 0 0 0;
	color:#FFF;
	font-family: 'Spartan', sans-serif;
}
.footer_copy a{
	color:#FFF;
}
.footer_copy a:hover{
	text-decoration:underline;
}

.page_top{
	display:none;
	position:fixed;
	right:5px;
	bottom:65px;
}
.contact .page_top{
	bottom:5px;
}
.page_top img{
	width:40px;
	height:auto;
}

.sp-ch{
	z-index: -1;
}

.footer_link_btn a{
	width: 90%;
	height:auto;
	margin: 0px auto;
	padding-top: 65px;
  padding-bottom: 5px;
	max-width: 386px;
}

.footer_link_btn img{
	width: 100%;
	height:auto;
	border-top: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  border-left: 3px solid #FFF;
  border-right: 3px solid #FFF;
}

.footer_link_btn {
	width: 100%!important;
	margin: 0px auto;
	padding-top: 30px;
	z-index: -1;
}

.footer_link_btn_small{
	padding-top:20px;
	width: 90%;
	height:auto;
  margin: 0 auto;
	max-width: 386px;
}

.footer_link_btn:before{
	content: " ";
	border-top: 1px solid #aaa;
	display: block;
	width: 90%;
	height: 1px;
	margin: 0 auto;
	position: relative;
	top: -3px;
}

/* ===================================================
	main
=================================================== */
#main_all{
	padding:50px 0 0 0;
	width:100%;
	overflow:hidden;
}

#main{
	width:100%;
	/* float:left; */
}

#side{
	width:100%;
	/* float:right; */
	padding:0 0 80px 0;
}


/* ===================================================
	パンくず
=================================================== */
.bread{
	margin:5px;
	color:#353535;
	overflow-x: scroll;
	word-break: keep-all;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	padding:0 0 5px 0;
}
.bread ul{
	margin:0;
}
.bread li{
	display: inline-block;
	font-size: 11px;
	font-size: 1.1rem;
	line-height:120%;
}
.bread li a{
}
.bread li a:hover{
	text-decoration:underline;
}
.bread li:after{
	display:inline-block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #b8b8b8;
	border-right: 1px solid #b8b8b8;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	margin:0 5px;
}
.bread li:last-child:after{
	content:none;
	margin:0;
}


/* ===================================================
	ページャー
=================================================== */
.pager_box{
	text-align: center;
	margin:50px 0;
}
.pager {
	display: inline-block;
/* 	display: inline; 
	zoom: 1;  */
	font-size: 14px;
	font-size: 1.4rem;
}

.pager .current{
	display: inline-block;
	height:30px;
	line-height:30px;
	padding: 0 10px;
	background: #c18681;
	color: #FFF;
	border:1px solid #c18681;
	margin-right: 5px;
}
.pager a {
	display: inline-block;
	border:1px solid #e5e5e5;
	padding: 0 10px;
	color: #000;
	background: #FFF;
	margin-right: 5px;
	height:30px;
	line-height:30px;
}
.pager a:hover {
	border:1px solid #c18681;
	background: #c18681;
	color:#FFF
}
.pager a.prev{
	width:36px;
	position:relative;
}
.pager a.prev:after{
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	right: 0px;
	left: 5px;
	top:0;
	bottom:0;
	margin:auto;
}

.pager a.next{
	width:36px;
	position:relative;
}
.pager a.next:after{
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 5px;
	left: 0px;
	top:0;
	bottom:0;
	margin:auto;
}

.pager a.next:hover:after,
.pager a.prev:hover:after{
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
}

.btn_area{
	margin:30px 0 0 0;
}
.prev_btn{
	float:left;
	width:40%;
}
.next_btn{
	float:right;
	width:40%;
	text-align:right;
}

/*----------*/
.special_pager{
	width:100%;
	text-align:center;
	margin:40px 0 20px 0;
}
.special_pager a{
	display: inline-block;
	border:1px solid #000;
	padding: 0 12px;
	color: #000;
	background: #FFF;
	margin-right: 5px;
	height:40px;
	line-height:40px;
}
.special_pager a:hover{
	border:1px solid #c18681;
	background: #c18681;
	color:#FFF
}

/* ===================================================
	header_sdgs
=================================================== */
.header_navi li.header_sdgs a{
  color:#fbb4ae;
  text-shadow: 0 0 14px rgb(0 0 0 / 50%);
}
/* ===================================================
	footer_sdgs
=================================================== */
.footer_menu ul li.footer_sdgs a{
  color:#fbb4ae;
}