@charset "utf-8";

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

Style Name: style.css
Since:      2007-09-01
Modified:   2014-10-14
Version:    1.0
Auther:     algoRhythm graphics

------------------------------------------*/
/*@media all and (min-width: 1100px) {*/

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

browser style clear

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

* {
margin: 0;
padding: 0;
/*background: transparent;*/
}

html {
/*background-color: #fff;*/
width: 100%;
height: 100%;
font-size: 16px;
}

ul,li,dl,dt,dd{
list-style: none;
}

img{
vertical-align: top;
}

a img{
border: none;
}

a:hover,
a:hover img {
opacity:0.70;
filter:alpha( opacity=70 );
-ms-filter: alpha( opacity=70 );
-webkit-filter: alpha( opacity=70 );
-moz-filter: alpha( opacity=70 );
-o-filter: alpha( opacity=70 );

transition: opacity .20s ease-in-out;
-ms-transition: opacity .20s ease-in-out;
-webkit-transition: opacity .20s ease-in-out;
-moz-transition: opacity .20s ease-in-out;
-o-transition: opacity .20s ease-in-out;
}

a{
color: #000;
text-decoration: none;
}

a:link{
color: #000;
}

a:visited{
color: #000;
}

a:hover{
/*text-decoration: underline;*/
}

a:active{
}

body {
background-color: #fff;
font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color: #000;

font-style: normal;
line-height: 1.7;
-webkit-text-size-adjust: 100%;
/*-webkit-font-smoothing: antialiased;*/
/*letter-spacing: 0.1em;*/
}

h1,h2,h3,h4,h5,h6 {
font-size: 100%;
font-weight: normal;
margin: 0;
padding: 0;
clear: both;
}

p {
margin: 0 0 1em 0;
}

.color {
color: #029693 !important;
}

.red {
color: #dd0000 !important;
}

.orange {
color: #F15A24 !important;
}

.bold{
	font-weight: bold;
}



.mb10{
	margin-bottom:10px !important;
}

.mb13{
	margin-bottom:13px !important;
}

.mb20{
	margin-bottom:20px !important;
}

.mb3{
	margin-bottom:3em !important;
}

.mb4{
	margin-bottom:4em !important;
}
.mb5{
	margin-bottom:5em !important;
}
@media all and (max-width: 1099px) {
	.mb5{
		margin-bottom:4em !important;
	}
}
@media all and (max-width: 949px) {
	.mb5{
		margin-bottom:3em !important;
	}
}
@media all and (max-width: 699px) {
	.mb5{
		margin-bottom:2.6em !important;
	}
}
@media all and (max-width: 479px) {
	.mb5{
		margin-bottom:1.8em !important;
	}
}

.pb5{
	padding-bottom:5em !important;
}
@media all and (max-width: 949px) {
	.pb5{
		padding-bottom:3em !important;
	}
}




.mb60{
	margin-bottom:60px !important;
}

.mb70{
	margin-bottom:70px !important;
}

.mb80{
	margin-bottom:80px !important;
}

.mb100{
	margin-bottom:100px !important;
}

.nomb {
	margin-bottom:0px !important;
}

.nomt {
	margin-top:0px !important;
}

@media all and (max-width: 479px) {
	body {
		font-size: 15px;
	}
}


/*============================
#container
============================*/

body {
width: 100%;
height: 100%;
}

div#container {
width: 100%;
height: 100%;
}

.wrap {
	background-color: #bcbcbc;
	position: relative;
	z-index: 4000;	
}

.contents {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	
	position: relative;
	z-index: 4000;	
}
.contents-wide {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	background: #d1d1d1;
}
@media all and (min-width: 1050px) and (max-width: 1249px) {
	div.contents {
		width: 96%;
	}
	/*#others div.contents {
		margin: 30px auto 40px auto;
	}*/
}

@media all and (min-width: 949px) and (max-width: 1049px) {
	div.contents {
		width: 96%;
	}
	/*#others div.contents {
		margin: 30px auto 40px auto;
	}*/
}



@media all and (min-width: 480px) and (max-width: 1049px) {
	div.contents {
		width: 96%;
	}
	/*#others div.contents {
		margin: 30px auto 40px auto;
	}*/
}


@media all and (max-width: 479px) {
	div.contents {
		width: 94%;
	}
}





/*============================
common
============================*/
section {
width: 100%;
margin: 0 auto;
}

.sectionInner {
width: 950px;
margin: 0 auto;
}
.SEonly {
		display: none !important;
	}
.SPonly {
display: none !important;
}

.TBonly {
display: none !important;
}

.PConly {
display: block;
}

.p-top {
	margin-top: 55px;
}

@media all and (max-width: 479px) {
	.SPonly {
		display: block !important;
	}
	
}

.close_btn {
	visibility: hidden;
	display: none;
}

@media all and (max-width: 1249px) {
	.close_btn {
		display: block;
	}
	.PConly {
		display: none;
	}
}

.alignright {
float: right;
margin-left: 20px;
}

.alignleft {
float: left;
margin-right: 20px;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;	
}
.center {
	text-align: center;
}

.boxes {
	display: flex;
	justify-content: space-between;
}
.pagetop {
    background: rgba(0,0,0,.4);
    width: 60px;
    height: 60px;
    font-size: 1.3em;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 51px;
    right: 62px;
    z-index: 10000;
    color: white;
}
.pagetop:hover {
	opacity:0.70;
	cursor: pointer;
}
.contents a {
	text-decoration: underline;
}

@media all and (max-width: 1099px) {
	.pagetop {
	    background: rgba(0,0,0,.4);
	    width: 48px;
	    height: 48px;
	    font-size: 1em;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    position: fixed;
	    bottom: 1.5em;
	    right: 1.5em;
	    z-index: 10000;
	    color: white;
	}
}

/*============================
header / nav
============================*/
header {
	/*background: url(../images/whole_bg.png) repeat-x top;*/
	text-align: center;
	position: -webkit-sticky;
    position: -ms-sticky;
    position: -moz-sticky;
    position: -o-sticky;
	position: sticky;
	top: 0;
	z-index: 50000;
	width: 100%;
	margin-top: -55px;
}

header .nav-top {
	background: black;
	border: 1px solid d1d1d1;
	/*position: relative;*/
}

header .nav-top img {
	margin: 11px 0 15px 0;
}

header .nav-bottom {
	background: rgba(20,20,20,.8);
	padding: 1.5em 0;
}

header .nav-bottom ul {
	display: flex;
	justify-content: center;
}

header .nav-bottom ul a {
	color: #d1d1d1;
	margin: 0 1em;
}

header .nav-bottom ul li {
}

header .nav-inner {
	position: relative;
}
@media all and (max-width: 480px) {

}


@media all and (max-width: 600px) {

}

@media all and (max-width: 1099px) {
	header {
position: -webkit-sticky;
    position: -ms-sticky;
    position: -moz-sticky;
    position: -o-sticky;
	position: sticky;
	top: 0;
	z-index: 5000;
	}		
}

/*============================
footer
============================*/

footer {
	width: 100%;
	margin: 0 auto;
	margin-top: 8em;
	background: #333333;
	color: white;
}

footer a {
	color: white !important;
}

footer .top-half,
 footer .bottom-half {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 2em;
	box-sizing: border-box;
}
footer .top-half {
	font-size: 0.8em;
	display: flex;
	align-items: flex-end;
	line-height: 1;
	border-bottom: 1px solid #3f3f3f;
}
footer .top-half span {
	margin-left: 1em;
}
footer .top-half span:first-of-type {
	margin-left: 4em;
}

footer ul li {
	font-size: 0.9rem;
	margin-bottom: 0.85em;
}
footer li > ul {
	display: flex;
}
footer li > ul li {
	margin-right: 2em;
	margin-bottom: 0;
}
copy {
	font-size: 0.6em;
	text-align: center;
	margin-top: 4em;
	display: block;
}

@media all and (max-width: 1249px) {
	footer {
		margin-top: 5em;
	}
}
@media all and  (max-width: 999px) {
	footer {
		margin-top: 2em;
	}
	footer .top-half {
		display: block;
		text-align: center;
	}
	footer .top-half div {
		margin-top: 2em;
	}
	footer .top-half span {
		display: inline-flex;
		margin-bottom: 0.7em;
	}
	footer .top-half span:first-of-type {
		margin-left: 0;
	}
}

@media all and  (max-width: 900px) {
	footer ul,
	footer li > ul {
		display: block;
		text-align: center;
	}
	footer li > ul li {
		margin-right: 0.5em;
		margin-left: 0.5em;
		margin-bottom: 0;
		display: inline-block;
	}
	footer li {
		margin-bottom: 0.85em !important;
		/*display: inline-block;*/
	}
	footer .bottom-half + ul li:first-child {
		display: block;
	}
}

@media all and (max-width: 480px) {
	footer li > ul li {
		display: block;
	}
	footer li {
	    margin-bottom: 1em !important;
	    border-bottom: 1px solid #555;
	}
	footer .bottom-half {
		padding: 1em 0;
	}
	footer li {
		margin: 0 !important;
		padding: 1em 0;
	}
	footer li > ul li:first-child {
		padding-top: 0;
	}
	footer li > ul li:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}
}




/*============================
#index
============================*/

/*スライドショー*/
div#container div#home {
width: 100vw;
height: 100vh;
position: fixed;
}


div#container div#home .table {
width: 80%;
height: 100%;
display: table;
margin: 0 auto;
}

div#container div#home .open {
width: 80%;
height: 100%;
display: table-cell;
vertical-align: middle;
text-align: center;
}
@media all and (max-width: 600px) {
	div#container div#home .open img {
	width: 90px;
	height: auto;
	}
}


/*メインコンテンツ*/

.page-title {
	background: #8f3634;
	text-align: center;
	padding: 1.85em 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.8;
}

.page-title span {
	position: absolute;
	z-index: 4001;
	color: white;
	font-size: 1.5em;
}


@media all and (max-width: 1249px) {
	.page-title img {
		width: 89%;
		height: auto;
	}
}
@media all and (max-width: 799px) {
	.page-title {
		padding: 1.25em 0;
	}
	.page-title span {
		font-size: 1.2em;
	}
}
@media all and (max-width: 629px) {
	.page-title span {
		font-size: 1em;
	}
}
@media all and (max-width: 479px) {
	.page-title {
		padding: 0.8em 0;
	}
	.page-title img {
		width: 92%;
		height: auto;
	}
}



.three {
	padding: 4em 0;
	display: flex;
	justify-content: space-between;	
}

.three .three-child {
	background: white;
	/*display: table-cell;*/
	width: 100%;
	max-width: 386px;
	position: relative;
}
.three .three-child a {
	background: black;
	display: block;
}
.three .photo {
	background: black;
	opacity: 0.5;
	display: block;
	width: 100%;
	-webkit-transition: .7s;
  transition: .7s;
}
.three .photo:hover,
.three .photo img:hover {
	background: black;
	opacity: 1;
	display: block;
	-webkit-transition: .7s;
  transition: .7s;
}
.three .bottom {
	background: white;
	width: 100%;
	padding: 1.2em;
	box-sizing: border-box;
}
.three .bottom span {
	padding-bottom: 2em;
	display: inline-block;
}
.three .bottom .wrap-for-num {
	width: 100%;
	position: relative;
}
.three .num {
	position: absolute;
	top: -1.35em;
	right: 10px;
	font-size: 3.2em;
	font-weight: bold;
	color: #999999;
}
.three h2 {
	color: #8f3634;
	font-size: 1.15em;
	margin-bottom: 0.6em;
}

@media all and (max-width: 1249px) {
	.three .three-child {
		background: white;
		/*display: table-cell;*/
		width: 32.5%;
		max-width: 32.5%;
	}
	.three .three-child img {
		width: 100%;
		height: auto;
	}
}
@media all and (max-width: 949px) {
	.three {
		padding: 2em 0;
	}
}
@media all and  (max-width: 749px) {
	.three .num {
		font-size: 2.5em;
	}
	.three {
		padding: 1em 0;
	}
}
@media all and  (max-width: 479px) {
	.three {
		display: block;
	}
	.three .three-child {
		width: 100%;
		max-width: 100%;
	}
	.three .num {
		font-size: 3.2em;
	}
	.three .photo {
		width: 100%;
	  height: 160px;
	}
	.three .photo img {
		width: 100%;
	  height: 160px;
	  object-fit: cover;
	}
}

.button a {
	display: inline-block;
	background: black;
	color: white;
	font-size: 0.65em;
	padding: 0.4em 2.5em;
	text-decoration: none;
}
.on-bottom {
	position: absolute;
	bottom: 1em;
	right: 1em;
}

.news_achive {
	display: flex;
	justify-content: center;
	color: white;
	background: #9b9b9b;
}
.news_achive a:not(.no-line) {
	color: white;
	text-decoration: underline;
}
.news_achive > div {
	width: 50%;	
	position: relative;
}
.news_achive > div:first-child {
	background: #777777;
}
.news_achive > div:last-child {
	background: #9b9b9b;
}
.news_achive .content {
	width: 100%;
	max-width: 600px;
	position: relative;
	height: 100%;
	padding-bottom: 4em;
	box-sizing: border-box;
}
.news_achive > div:first-child .content {
	margin-right: 0;
	margin-left: auto;	
}
.news_achive > div:last-child .border {
	width: 100%;
	max-width: 600px;
	position: relative;	
}
.news_achive > div h2 {
	padding: 1.5em 0 0 1em;
}
.news_achive > div:first-child h2 {
	background: #8f3634;
}
.news_achive > div:last-child h2 {
	background: #333333;
}
.news_achive > div h2 {
	font-size: 1.15em;
	margin-bottom: 1.5em;
}
.news_achive dl {
	display: flex;
	margin-left: 2em;
	margin-bottom: 1.3em;
	margin-right: 1.5em;
}
.news_achive dl dt {
	margin-right: 1.5em;
	width: 6.5em;
}
/*.news_achive > div:first-child dl dt {*/
.news_achive > div dl dt {
	width: 6.5em;
}
.news_achive > div:first-child dl dt {
	width: 9em;
}
.news_achive > div:last-child .arch-block {
	display: flex;
	align-items: flex-end;
	margin-left: 2em;
	margin-bottom: 1.3em;
}
.news_achive > div:last-child .arch-block div {
	margin-left: 1em;
	margin-right: 1.5em;
}
@media all and (max-width: 949px) {
	.news_achive {
	    display: block;
	}
	.news_achive > div,
	.news_achive > div .content,
	.news_achive > div:last-child .content,
	.news_achive > div:last-child .border {
	    width: 100%;
	    max-width: 100%;
	}
	.news_achive > div h2 {
	    text-align: center;
	}
	.news_achive dl {
	    display: flex;
	    margin: 0 auto;
	    width: 85%;
	    margin-bottom: 1.1em;
	}
	.news_achive > div:last-child .arch-block {
	    display: flex;
	    align-items: flex-end;
	     margin: 0 auto;
	    width: 85%;
	    margin-bottom: 1.3em;
	}
}
@media all and (max-width: 600px) {
	.news_achive dl {
	    display: block;
	}
}

.road-race {
	margin: 4em auto;
	margin-bottom: 0;
}
.road-race img {
	width: 100%;
	max-width: 627px;
	height: auto;
}
.road-race > div {
	display: flex;
	justify-content: start;
	align-items: center;
}

.road-race > div > div:nth-of-type(2) {
 padding-left: 3em;
}

@media all and (max-width: 949px) {
	.road-race > div {
		display: block;
		text-align: center;
	}
	.road-race > div:first-child {
		position: relative;
	}
	.road-race {
		margin: 2em auto;
		margin-bottom: 0;
	}
	.road-race img {
		width: 100%;
		max-width: 627px;
		height: auto;
		margin-bottom: 1.5em;
	}
	.road-race .text {
		padding-bottom: 3em;
	}
	.road-race > div > div:nth-of-type(2) {
	 padding-left: 0;
	}
}


@media all and (max-width: 479px)  {

}
@media all and (max-width: 420px)  {

}

@media all and (max-width: 320px)  {
}


/*お知らせ*/


#index .contents div.news {
	width: 100% !important;
}
#index .contents div.news .news-title {
	background: linear-gradient(to right, #eaeaea 70%, transparent);
	width: 100% !important;
	border-left: 5px solid #45bdcf;
	height: 37px;
	line-height: 37px;
	
	font-size: 18px;
	margin-bottom: 0;
}
div.news-title span a {
	margin-left: 15px;
	letter-spacing: 0.1em;
	color: #45bdcf;
}

div.news-list {
	padding-top: 15px;
	box-sizing: border-box;
	margin-bottom: 0px;
	margin-left: 5px;
}

div.news dl {
	margin: 0;
	padding: 0;
	/*line-height: 1;*/
	font-size: 13px;
	display: flex;
}

div.news dl a {
	margin-bottom: 4px !important;
	/*line-height: 1;*/
}

div.news dt {
	display: flex;
	white-space: nowrap;
}

div.news dt span a {
	margin: 0 15px;
	background: #45bdcf;
	border-radius: 5px; 
	height: 18px;
	line-height: 18px;
	color: white;
	padding: 2px;
	width: 90px;
	text-align: center;
	letter-spacing: 0.1em;
}

div.news dd {
	/*margin-left: 60px;
	margin-bottom: 25px;*/
}

div.news dl:last-of-type dd {
	/*margin-bottom: 0px;*/
}

#index .contents div.panorama {
	margin-top: 10px;
}


@media all and (max-width: 1040px) {

}
@media all and (max-width: 479px) {
	div.news dl {
		display: block;
	}
	div.news dd {
		margin-top: 6px;
		margin-bottom: 20px;
	}

}

/*google map*/
.googlemap-top {
	width: 94%;
	height: 20vh;
	margin: 0 auto;
	margin-bottom: 30px;
}

.googlemap-top iframe {
	border: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}


/*============================
lower common
============================*/

#others .page-title h1 {
	position: absolute;
	z-index: 4001;
	color: white;
	font-size: 2.3em;
}
@media all and (max-width: 1199px)  {
	#others .page-title h1 {
		font-size: 1.3em;
	}
}
#others h2 {
	background: #d1d1d1;
	width: 97%;
	font-size: 1.3em;
	padding: 1em 0 1em 1.5em;
	box-sizing: border-box;
	line-height: 1;
	margin-bottom: 2em;
}
#others h3 {
	width: 97%;
	font-size: 1.2em;
	padding: 0 0 0.5em 1.5em;
	box-sizing: border-box;
	border-bottom: 1px solid white;
	margin-bottom: 1.5em;
}
@media all and (max-width: 999px)  {
	#others h2 {
		font-size: 1.2em;
	}
	#others h3 {
		font-size: 1.1em;
	}
}
@media all and (max-width: 859px)  {
	#others h2 {
		font-size: 1.1em;
	}
	#others h3 {
		font-size: 1.07em;
	}
}
@media all and (max-width: 619px)  {
	#others h2 {
		padding: 0.85em 0 0.85em 0.8em;
	}
	#others h3 {
		padding: 0 0 0.5em 0.8em;
	}
}
@media all and (max-width: 479px)  {
	#others h2 {
		font-size: 1.06em;
		padding: 0.85em 0 0.85em 0.6em;
	}
	#others h3 {
		font-size: 1.02em;
		padding: 0 0 0.5em 0.6em;
		margin-bottom: 1.1em;
	}
}
.page-copy {
	background: #777;
}
.page-copy span {
	width: 90%;
	max-width: 890px;
	display: block;
	margin: 0 auto;
	color: white;
	font-size: 1.4em;
	padding: 2em 0;
}
@media all and (max-width: 999px)  {
	.page-copy span {
		font-size: 1.3em;
	}
}
@media all and (max-width: 859px)  {
	.page-copy span {
		font-size: 1.15em;
		padding: 1.8em 0;
	}
}
@media all and (max-width: 479px)  {
	.page-copy span {
		font-size: 1.08em;
		padding: 1.5em 0;
	}
}
#others .contents-wide {
	background: #d1d1d1;
}
#others .contents {
	background: #aaa;
	width: 100%;
	max-width: 1200px;
}
@media all and (max-width: 1249px)  {
	#others .contents {
		background: #aaa;
		width: 96%;
		max-width: 96%;
	}
}
#others .contents.contents-top {
	padding-top: 4em;
}
@media all and (max-width: 859px)  {
	#others .contents.contents-top {
		padding-top: 3em;
	}
}
@media all and (max-width: 659px)  {
	#others .contents.contents-top {
		padding-top: 2.4em;
	}
}
@media all and (max-width: 479px)  {
	#others .contents.contents-top {
		padding-top: 1.8em;
	}
}
.txt-area {
	width: 97%;
	padding-left: 3.5em;
	box-sizing: border-box;
	padding-bottom: 3em;
	font-size: 1rem;
}
@media all and (max-width: 869px)  {
	.txt-area,
	.boxes.spec {
		padding-left: 2.5em;
		padding-bottom: 2.3em;
	}
}
@media all and (max-width: 479px)  {
	.txt-area,
	.boxes.spec {
		padding-left: 1.8em;
		padding-bottom: 1.7em;
	}
}
.wide-photo img {
	width: 100%;
	height: auto;
}
.btn-inquiry a {
	display: block;
	color: white;
	margin: 0 auto;
	background: black;
	width: 300px;
	text-align: center;
	padding: 1em 0;
}

@media all and (max-width: 480px)  {
	#others section {
		margin-bottom: 0px;
	}
	.btn-inquiry a {
	    display: block;
	    color: white;
	    margin: 0 auto;
	    background: black;
	    width: 100%;
	    max-width: 250px;
	    text-align: center;
	    padding: 1em 0;
	}
}

.english {
	font-size: 0.85em;
	line-height: 2;
}
.txt-area p {
	margin-bottom: 2em;
}
.txt-area p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}


/*テーブル*/
table {
	/*width: 100%;
	margin: 0 auto;*/
	border-collapse: collapse;
	/*margin-top: 30px;*/
}

table tr {
}
table tr:first-child {
	/*border-top: 1px solid #45bdcf;*/
}

table th {
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	position: relative;
}

table th,
table td {
	padding: 0.5em 1em;
}
table caption {
	text-align: left;
	font-size: 18px;
	margin-bottom: 8px;
}

@media all and (max-width: 700px)  {

table {
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
}

table tr:last-child td {
}

table th {
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	list-style-type: none;
	border-bottom: 1px solid #777;
	padding: 0.5em 1em;
}

table th,
table td {
	/*padding: 8px 0px;*/
	box-sizing: border-box;
	display: list-item;
list-style: none;
}
table td {
border-top: none;
border-bottom: none;
padding: 8px 1em;
}
form th {
    width: 100%;
    box-sizing: border-box;
}
form td {
    margin-bottom: 1em;
}

}
/*テーブル終わり*/

/*スライドショー*/
.sp-slide img {
	opacity: 0.3;
}
.sp-slide.sp-selected img {
	opacity: 1;
}
.sp-caption-container {
    text-align: center;
    margin-top: 1.4em !important;
    font-size: 0.92em;
}
.sp-buttons {
    padding-top: 2em;
}


/*============================
とは
============================*/
.about_us .boxes {
	padding-bottom: 5em;
}
@media all and (max-width: 1099px)  {
	.about_us .boxes {
		padding-bottom: 3.5em;
	}
}
@media all and (max-width: 859px)  {
	.about_us .boxes {
		padding-bottom: 2.5em;
	}
}
@media all and (max-width: 599px)  {
	.about_us .boxes {
		padding-bottom: 1.8em;
	}
}
@media all and (max-width: 479px)  {
	.about_us .boxes {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}
.about_us .boxes div {
	margin: 0 0.5em;
}
.boxes div:first-child {
	margin-left: 0;
}
.boxes div:last-child {
	margin-right: 0;
}
.boxes div img {
	width: 100%;
	height: auto;
}
.about_us.test .boxes div {
	width: 100%;
	max-width: 590px;
	height: auto;
}
@media all and (max-width: 479px)  {
	.about_us .boxes div {
		width: 50%;
		margin: 0;
	}
	.about_us.test .boxes div {
		margin-bottom: 1rem;
	}
}
.google-map {
	width: 100%;
	height: 600px;
	padding: 0;
	margin: 0;
}
.google-map iframe {
	width: 100%;
	height: 100%;
}

@media all and (max-width: 999px)  {
	.google-map {
		height: 400px;
	}
}
@media all and (max-width: 749px)  {
	.google-map {
		height: 300px;
	}
}

@media all and (max-width: 700px)  {

table tr:last-child td {
    border: none;
}
.hall table th, table td {
    border: none;
}
.hall table th {
    font-weight: bold;
}
}

@media all and (max-width: 480px)  {
	.hall table {
		font-size: 15px;
	}
	.hall .gaiyo p {
		font-size: 19px;
	}
	.hall .gaiyo {
		padding: 15px;
	}
	#others .page-title-lower .ttl_down {
	    height: 9vh;
	}
}
@media all and (max-width: 380px)  {
	#others.hall .page-title-lower .ttl_down {
	    height: 12vh;
	}
}

@media all and (max-width: 320px)  {
	#others.hall .page-title-lower .ttl_down {
	    height: 14vh;
	}	
	
}


/*============================
理念
============================*/
.philosophy .contents .boxes {
	display: flex;
	justify-content: flex-start;
}
.philosophy .contents .boxes .txt-area {
	display: inline-block;
	width: auto;
	margin-right: 4em;
}

@media all and (max-width: 1159px)  {
	.philosophy .contents .boxes {
		display: block;
	}
	.philosophy .contents .boxes .pb-switch {
		padding-bottom: 3em !important;
	}
}


/*============================
強み
============================*/

.strength .contents .narrow-boxes {
	width: 80%;
	margin: 0 auto;
	margin-top: 2em;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.strength .circle {
	width: 114px !important;
	height: 114px;
	background: #8f3634;
	border-radius:50%;
	display:  inline-block;
	color: white;
	font-size: 4em;
	font-weight: bold;
	line-height: 114px;
	margin: 0;
	text-align: center;
}
.strength .m-text {
	width: calc(100% - 140px);
	margin: 0;
	vertical-align: middle;
}
.strength table {
	width: 100%;
}
.strength table th {
	background: #969696;
	width: 16.67%;
}
.strength .contents .boxes {
	display: flex;
    justify-content: flex-start;
    width: 97%;
}
.strength .contents .boxes .txt-area {
	display: inline-block;
	width: auto;
	margin-right: 0em;
}
.strength .contents .boxes.spec .txt-area {
	display: inline-block;
	width: 100%;
	margin-right: 0em;
}
.strength .contents .boxes.spec {
	padding-left: 3.5em;
	box-sizing: border-box;
}
.strength table.equipment {
	font-size: 0.95em;
	width: 100%;
	box-sizing: border-box;
}
.strength .scroll-table {
	width: 50%;
}
.strength .scroll-table:first-child table.equipment {
	border-right: 1px solid #969696;
}
.strength .scroll-table:first-child table.equipment th:last-child {
	border-right: 1px solid white;
}
.strength table.equipment th {
	width: auto;
}
.strength table.equipment td {
	border-bottom: 1px solid white;
}
.strength table.equipment tr:last-of-type td {
	border-bottom: 0;
}
.strength .contents .boxes.hor3 {
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 97%;
}

@media all and (max-width: 1150px)  {
.strength .contents .boxes.spec {
	display: block;
}
.strength .scroll-table {
	width: 100%;
}

.strength table.equipment,
.strength table.grade {
	width: 100%;
	border-collapse: collapse;
}
.strength table.grade {
		width: 1000px;
	}
.scroll-table-grade {
    overflow-x: scroll;
    white-space: nowrap;
    width: 100% !important;
    }
.scroll-table::-webkit-scrollbar,
.scroll-table-grade::-webkit-scrollbar {
    height: 5px;
}
    .scroll-table::-webkit-scrollbar-thumb,
    .scroll-table-grade::-webkit-scrollbar-thumb {
	    border-radius: 6px;
	    background: #ffffff;
	}
.scroll-table::-webkit-scrollbar-track,
.scroll-table-grade::-webkit-scrollbar-track {
    background: #333;
}
    
table.equipment:first-child,
table.grade {
	margin-bottom: 1em;
}

table.equipment,
table.grade  {
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	list-style-type: none;
}

table.equipment  th,
table.equipment  td,
table.grade  th,
table.grade  td {
	/*padding: 8px 0px;*/
	box-sizing: border-box;
	display: table-cell;
list-style: none;
}
table.equipment  td {
border-top: none;
border-bottom: none;
padding: 8px 1em;
}
.strength table.equipment:first-child {
	border-right: 0;
}
.strength table.equipment:first-child th:last-child {
	border-right: 0;
}

}
@media all and (max-width: 869px)  {
.strength .contents .boxes.spec {
		padding-left: 2.5em;
		padding-bottom: 2.3em;
	}
}
@media all and (max-width: 800px)  {
	.strength table.equipment {
		width: 800px;
	}
	.scroll-table {
    overflow-x: scroll;
    white-space: nowrap;
    width: 100% !important;
    margin-bottom: 2em;
    }
}
@media all and (max-width: 479px)  {
.strength .contents .boxes.spec {
		padding-left: 1.8em;
		padding-bottom: 1.7em;
	}
	.strength .contents .narrow-boxes {
	width: 100%;
	margin: 0 auto;
	margin-top: 2em;
	display: block;
}
.strength .m-text {
    width: 100%;
    margin: 0;
}
.strength .circle {
    width: 114px !important;
    height: 114px;
    background: #8f3634;
    border-radius: 50%;
    display: block;
    color: white;
    font-size: 4em;
    font-weight: bold;
    line-height: 114px;
    margin: 0 auto 1.5rem auto;
    text-align: center;
}
}




/*============================
お問い合わせ
============================*/
form table th {
	vertical-align: middle;
}

@media all and (max-width: 580px)  {
	.tel-box p {
		font-size: 40px;
		font-weight: bold;
		text-align: center;
		line-height: 1;
		padding-left: 15px;
		margin-bottom: 0;
		margin-top: 35px;
	}
}

@media all and (max-width: 480px)  {
	.tel-box p {
		font-size: 33px;
		font-weight: bold;
		text-align: center;
		line-height: 1;
		padding-left: 15px;
		margin-bottom: 0;
		margin-top: 15px;
	}
	.tel-box p:before {
		content: "";
		/*display: inline-block;*/
		background: url(../inquiry/images/img_free_dial.png) no-repeat 0 top;
		width: 40px;
		height: 26px;
		background-size:contain;
		vertical-align:middle;
		margin-right: 10px;
		margin-top: -5px;
	}
	.tel-box {
		margin-bottom: 30px;
	}
}

/*============================
実績
============================*/

.achievement table {
	font-size: 0.95em;
	width: 100%;
	border-collapse: collapse;
}
.achievement table th {
	background: #969696;
}
.achievement table th:first-child {
	width: 7em;
}
.achievement table td {
	border-bottom: 1px solid white;
}
.achievement table td:nth-of-type(2) {
	padding: 0.5em;
}
.achievement table td:nth-of-type(3) {
	white-space: nowrap;
}
.achievement table tr:last-of-type td {
	border-bottom: 0;
}
@media all and (max-width: 1200px) {
	.achievement table.grade {
		width: 100%;
	}
	.achievement table td:nth-of-type(2) {
		/*width: 100%;
		max-width: 100%;*/
		padding: 0 2em;
		font-size: 1em;
	}
	.achievement table td:nth-of-type(4) {
		padding-left: 2em;
	}
}

/*============================
お知らせ
============================*/

.newsList dl {
	display: flex;
	margin-bottom: 1.5em;
}
.newsList dl dt {
    width: 10em;
}
.newsList dl dd {
    width: calc(100% - 10em);
}
.newsList dl dd a {
	text-decoration: underline;
}
@media all and (max-width: 649px) {
	.newsList dl {
	display: block;
	margin-bottom: 2em;
}
.newsList dl dd {
    width: 100%;
}
}






.news-index .newsList.child dl dt {
	vertical-align: top;
    width: 180px;
    /*text-align: center;*/
}

.news-index .newsList dl dd {
	width: calc(100% - 320px);
    max-width: 830px;
}


.news-index .newsList dl dt span a {
    background: #9c763a;
    display: inline-block;
    color: white;
    width: 110px;
    padding: 6px 0;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    border-radius: 3px;
    margin-left: 25px;
}

.pagenation {
	/*text-align: center;*/
	display: flex;
	justify-content: center;
	padding: 30px 0;
}

.pagenation a {
	margin: 0 10px;
	padding: 3px 8px;
	border: 1px solid #141414;
	/*color: #0080d3;*/
	text-align: center;
}
.news-index .no-link,
.news-others .no-link {
	margin: 0 10px;
	padding: 3px 8px;
	border: 1px solid #ccc;
	/*color: #0080d3;*/
	text-align: center;
	color: #ccc;
}

.pagenation a.current {
	background: #141414;
	color: white;
}



/*下層ページ*/

.news-others .section-title-large {
    margin-top: 0px;
    font-size: 20px;
    border-bottom: 1px solid #47372c;
    display: block;
}

.news-others .news-date {
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 20px;
	color: #141414;
}

.news-others .links {
	text-align: center;
	margin-top: 50px;
}

.news-others .links a {
	margin: 0px 20px;
}
.news-others .newsList-archive.boxes div:last-child {
    width: auto;
}
.news-others .newsList-archive.boxes div.entry {
    width: calc(100% - 250px);
}
.news-others .prev-archive {
    width: 230px !important;
}

@media all and (max-width: 900px) {
	.news-index .newsList-archive.boxes {
		display: block;
	}
	.news-index .newsList-archive.boxes div:last-child {
		width: 100%;
		margin-top: 35px;
	}
	.news-index .newsList,
	.news-index .newsList dl dd,
	.news-others .newsList-archive.boxes div.entry,
	.news-others .prev-archive {
		width: 100% !important;
	}

	.news-index .newsList dl:first-child {
		border-top: 1px solid #47372c;
	}
	.news-index .brownbar {
		margin-bottom: 0px;
	}
}
@media all and (max-width: 480px) {
	.news-index .newsList dl {
		display: block;
		border-bottom: 1px solid #47372c;
	}
	.news-index .newsList dl dt {
		vertical-align: top;
	    width: auto;
	    text-align: left;
	}
	.news-index .newsList dl dt {
	    padding: 8px 15px;
	    box-sizing: border-box;
	}
	.news-index .newsList dl dd {
	    padding: 0px 15px 15px 15px;
	    box-sizing: border-box;
	}
	#others .page-title-lower .ttl_up h2 {
		font-size: 25px;
	}
	.all-pages {
		text-align: center;
		margin-top: 5px;
		font-size: 11px;
	}
	.entryTxt img {
		width: 100%;
		height: auto;
	}
}




/*============================
サイトマップ
============================*/
.sitemap .txt-area li {
	margin-bottom: 1em;
}


/*============================
form
============================*/

form select {
    -webkit-appearance: button;
    -moz-appearance: button;
    -ms-appearance: button;
    -o-appearance: button;
    appearance: button;
    text-indent: 1em;
    height: 35px;
    line-height: 34px;
    vertical-align: middle;
    border: 1px solid #999;
    color: #666;
    width: 195px;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    -o-border-radius: 0px;
    -ms-border-radius: 0px;
    background: url(../game/images/pulldown_down.jpg) no-repeat right top;
    
}


form th {
	width: 300px;
	box-sizing: border-box;
}
form td {
	padding: 12px 25px;
}



/*form*/

form textarea,
form input[type=number],
form input[type=password],
form input[type=text],
form input[type=email],
form input[type=tel] {
border:0;
padding:15px;
border: solid 1px #ccc;
font-size: 16px;
/*background: #D7E9F2;*/
/*border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-o-border-radius: 3px;
-ms-border-radius: 3px;
color: #666666;*/
}

form textarea {
width: 100%;
box-sizing: border-box;
}

form input[type=text],
form input[type=email] {
width: 100%;
box-sizing: border-box;
}
form input[name=zip] {
width: 10em;
box-sizing: border-box;
margin-bottom: 0.3em;
}

form input[name=order-zip] {
width: 50%;
box-sizing: border-box;
}

form input[name=zip1],
form input[name=zip2] {
width: auto;
}

form input[name=sei],
form input[name=mei],
form input[name=seiKana],
form input[name=meiKana],
form input[name=shainNum],
form input[name=notesID] {
width: 195px;
}

form input[name=sei],
form input[name=seiKana] {
float: left;
}

form input[name=mei],
form input[name=meiKana] {
float: right;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color:#ccc;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
color:#ccc;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
color:#ccc;
}


input:focus, select:focus, textarea:focus {
border: 1px solid #336699;
}

form select {
    -webkit-appearance: button;
    -moz-appearance: button;
	-ms-appearance: button;
	-o-appearance: button;
    appearance: button;
    text-indent: 1em;
    height: 35px;
    line-height: 34px;
    font-size: 14px;
    vertical-align: middle;
    border:1px solid #999;
    color: #666;
    width: 195px;
}

form select {
    -webkit-appearance: button;
    -moz-appearance: button;
    -ms-appearance: button;
    -o-appearance: button;
    appearance: button;
    text-indent: 1em;
    height: 35px;
    line-height: 34px;
    font-size: 14px;
    vertical-align: middle;
    border: 1px solid #999;
    color: #666;
    width: 195px;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    -o-border-radius: 0px;
    -ms-border-radius: 0px;
    background: url(../game/images/pulldown_down.jpg) no-repeat right top;
    
}

@-moz-document url-prefix() { /* for firefox */
    form select {
        background:none;
        background-color: #FFF;
    }
}

form input[type=radio],
form input[type=checkbox] {
display: inline-block;
margin-right: 6px;
}

form input[type=radio] + label,
form input[type=checkbox] + label {
position: relative;     
display: inline-block;
margin-right: 12px;     
cursor: pointer;
}
 
/*@media (min-width: 1px) {
    form input[type=radio],
    form input[type=checkbox] {
        display: none;
        margin: 0;
    }
    form input[type=radio] + label,
    form input[type=checkbox] + label {
        padding: 0 0 0 24px;
    }
    form input[type=radio] + label::before,
    form input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;         
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -10px;         
    }
    form input[type=radio] + label::before {
        border-radius: 30px;
        background: #ebebeb;
    }
    form input[type=checkbox] + label::before {
        border: 1px solid #999;
    }
    form input[type=radio]:checked + label::after,
    form input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;        
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    form input[type=radio]:checked + label::after {
        left: 5px;
         
        width: 8px;
        height: 8px;
        margin-top: -5px;
         
        background: #4F98BB;
        border-radius: 8px;
    }
    form input[type=checkbox]:checked + label::after {
        left: 3px;
         
        width: 16px;
        height: 8px;
        margin-top: -8px;
         
        border-left: 3px solid #4F98BB;
        border-bottom: 3px solid #4F98BB;
         
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}*/

form .submit {
width: 250px;
margin: 0 auto;
/*margin-top: 30px;*/
text-align: center;
}

form input[type=submit] {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
        display: block;
    color: white;
    margin: 0 auto;
    background: black;
    width: 300px;
    text-align: center;
    padding: 1em 0;
    font-size: 1rem;
    border: 0;
}
@media (max-width: 480px) {
	form input[type=submit] {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
        display: block;
    color: white;
    margin: 0 auto;
    background: black;
    width: 100%;
    max-width: 250px;
    text-align: center;
    padding: 1em 0;
    font-size: 1rem;
    border: 0;
}
}
/*form input[type=submit]:before {
    content: "555";
    padding-right: 16px;
}*/

form input[type=submit]:hover,
form input[type=button]:hover {
    cursor: pointer;
}

input[type=button],
.go-back-button a {
    display: block;
	text-align: center;
	background: #daa73d;
	color: white;
	width: 250px;
	padding: 12px 0;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto;
	margin-top: 80px;
	border: 0;
	border-radius: 5px;
}

.news-index .go-back-button {
	text-align: center;
}
.news-index .go-back-button a {
    display: inline-block;
	text-align: center;
	background: #9c763a;
	color: white;
	width: 220px;
	padding: 12px 0;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto;
	margin-top: 80px;
	border: 0;
	border-radius: 5px;
}

#others table .must {
    font-size: 14px;
    color: white;
    background: #f15a22;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    padding: 0 8px;
    margin-top: 2px;
    display: inline-block;
    position: relative;
    margin-left: 1em;
}

#others table .agree {
color: #000;
text-align: center;
/*padding-top: 30px;*/
}

#others table input.entryButton {
padding: 0;
/*color: #fff;
height: 64px;
line-height: 64px;
width: 248px;
text-align: center;
margin: 0 auto;
background: #4F98BB url(../supporter/images/arrow_button.png) no-repeat 70px 22px;
border-radius: 32px;
-moz-border-radius: 32px;
-webkit-border-radius: 32px;
-o-border-radius: 32px;
-ms-border-radius: 32px;
font-size: 14px;
padding-left: 12px;*/
}


form ul.buttons {
	display: flex;
	width: 100%;
	justify-content: center;
}

/*form ul.buttons li:first-child {
    margin-right: 20px;
}
*/
form ul.buttons li {
    margin: 0 20px;
}

form td p {
	font-size: 0.85em;
	margin-top: 0.8em;
	margin-bottom: 0;
}
@media all and (max-width: 700px)  {

form th {
    width: 100%;
    box-sizing: border-box;
}
form tr {
    border: 0;
}
form td {
    border: 0;
    border-bottom: 0;
    border-top: 0;
}
form table tr:last-child td {
    border: 0;
    border-top: 0;
}

form table td.agree {
    border-top: 1px solid #45bdcf !important;
}

form table.privacy tr:last-child td {
    border: 1px solid #45bdcf;
}


}
@media all and (max-width: 580px)  {
	form ul.buttons {
		display: block;
	}
	form ul.buttons li {
	    margin: 0;
	}
	input[type=submit],
	input[type=button],
	.go-back-button a {
		margin-top: 30px !important;
		font-size: 16px !important;
	}

}

/*============================
pagetop
============================*/





/*============================
clearfix
============================*/
.clearfix:after {
 content:".";
 height:0px;
 clear:both;
 display: block;
 visibility:hidden;
 overflow:hidden;
font-size:0.1em;
line-height:0;
 /*
 font-size: 0.1em;
 line-height: 0;
 */
}

.clearfix {
	zoom : 1; 
}

.clearfix {
 display: inline-block;
}

/* Hide from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display:block;}
/* End hide from IE-mac */

/*}*/