@charset "UTF-8";
/*
Theme Name: 基本テンプレート
Description: bassテンプレート
*/


/* -------------------------- */
/* 基本設定 */
/* -------------------------- */

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	height: 100%;	
	overflow-x: hidden;/*余計な余白が出た場合隠してしまう*/
	font-family :"ヒラギノ角ゴ ProN",sans-serif; 
}



header,
footer {
	width: 100%;
}

a {
	text-decoration: none;
}

li {
	list-style: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0;
}

p {
	font-size:16px;	
	text-align: justify;
	text-justify: inter-ideograph;
	line-height:25px;
}

/* -------------------------- */
/* 画像透過 */
/* -------------------------- */
a img:hover {
	transition: 1.0s;
	opacity: 0.5;
}

/* -------------------------- */
/* レスポンシブ対応 */
/* -------------------------- */
.sp {
	display: none;
}
@media screen and (max-width: 1024px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
}

/* telリンク（PC無効） */
a[href^="tel:"] {
	pointer-events: none;
}
@media screen and (max-width: 1024px) {
	a[href^="tel:"] {
		pointer-events: auto;
	}
}

/* -------------------------- */
/* copy rights */
/* -------------------------- */
.copy {
	font-size: 80%;
	text-align: center;
	padding: 20px 0 0px 0;
	background-color: #e4e3e1;
	height:10px;
	color:#333;
}


@media screen and (max-width: 768px) {
.copy {

	padding: 10px 0 0px 0;
	background-color: #e4e3e1;
}
}
/* -------------------------- */
/* 余白排除 */
/* -------------------------- */
#wrap {
	width: 100%;
	overflow: hidden;
}


/* -------------------------- */
/* page-top */
/* -------------------------- */
#page-top {
	display: none;
	position: fixed;
	bottom: 50px;
	right: 30px;
	width: 50px;
	height: auto;
	z-index: 99;
	cursor: pointer;
}


/* -------------------------- */
/* efect */
/* -------------------------- */
.
.fadein
{
	opacity: 0;
	transform : translate(0, 50px);
	transition : all 1500ms;
}

.fadein.scrollin{
	opacity: 1;
	transform: translate(0, 0);
}

/*動きのきっかけの起点となるクラス名 はじめは非表示に*/
.fadeInUpTrigger,
.fadeInDownTrigger,
.fadeInUpTriggerOnce{
	opacity: 1;
	transition : all 1500ms;
}



/*////////////////////
共通レイアウト
///////////////////*/
._flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	/*justify-content: space-between;*/

}

/* スペース */
._space {
	justify-content: space-between;
}

/* 左右センター */
._center_center {
	justify-content: center;
}

/* 上下センター */
._center{
	align-items: center;
}

/* 行送り */
._wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

/*　中央寄せ */
._flex_center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/*　上下左右中央寄せ */
._flex_center_center {
	align-content:center;
}

/*　上下中央寄せ */
._flex_row_center {
	align-content:center;
}

/* 逆配置 */
._row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

@media screen and (max-width: 768px) {
	._flex, ._row {
		display: block;
		width: 100%;
	}

	._wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
	}
}


/* テキスト中央 */
._center {
	text-align: center!important;
}


/* テキスト中揃え解除 */
._justify {
	text-align: justify!important;
	text-justify: inter-ideograph!important;
}


/* -------------------------- */
/* 投稿ページ */
/* -------------------------- */
.article img {
	width: auto;
	height: auto;
}


/* -------------------------- */
/* map */
/* -------------------------- */
.map {
	position: relative;
	width: 100%;
	height: 500px;
	margin: 0;
	overflow: hidden;
}
.map iframe,
.map object,
.map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* -------------------------- */
/* コンテンツ */
/* -------------------------- */
.content_box {
	width: 1024px;
	margin: auto;
	display:block;
}

@media screen and (max-width: 1024px){
	.content_box {
		width: 100%;
		margin: 0;
		padding: 5%;
	}
}
@media screen and (max-width: 768px){
	.content_box {
		width: 100%;
		margin: 0;
		padding: 5%;
	}
}

/* -------------------------- */
/* clearfix */
/* -------------------------- */
.clear{
	zoom: 1;
}
.clear:after {
	content: "";
	display: block;
	clear: both;
}

/* -------------------------- */
/* page-top */
/* -------------------------- */

#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
	font-size: 77%;
	z-index: 1;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}


#page-top a {
	background:#888 ;
	text-decoration: none;
	color: #fff;
	width: 75px;
	padding: 25px 0;
	font-size: 2.0em;
	text-align: center;
	display: block;
	border-radius: 300px;
	text-decoration: none;
}
#page-top a:hover {
	text-decoration: none;
	background: #888;
}
/* -------------------------- */
/* 寄せ・フロート */
/* -------------------------- */
.center{
	text-align: center;
}

.center2{
	margin-left:auto;
	margin-right:auto;
}

.left{
	text-align: left;
}

.right{
	text-align: right;
}


.f-left{
	float: left;
}

.f-right{
	float: right;
}

/* -------------------------- */
/* margin・padding */
/* -------------------------- */


.top10{
	margin-top:10px;
}

.top10p{
	padding-top:10px;
}

.top20{
	margin-top:20px;
}

.top20p{
	padding-top:20px;
}

.top30{
	margin-top:30px;
}

.top30p{
	padding-top:30px;
}

.top40{
	margin-top:40px;
}

.top40p{
	padding-top:40px;
}

.top50{
	margin-top:50px;
}

.top50p{
	padding-top:50px;
}

.top60{
	margin-top:60px;
}

.top60p{
	padding-top:60px;
}

.top70{
	margin-top:70px;
}

.top70p{
	padding-top:70px;
}

.top80{
	margin-top:80px;
}

.top80p{
	padding-top:80px;
}

.top90{
	margin-top:90px;
}

.top90p{
	padding-top:90px;
}
.top100{
	margin-top:100px;
}

.top100p{
	padding-top:100px;
}

/*margin-bottom*/

.bottom10{
	margin-bottom:10px;
}
.bottom10p{
	padding-bottom:10px;
}

.bottom20{
	margin-bottom:20px;
}
.bottom20p{
	padding-bottom:20px;
}

.bottom30{
	margin-bottom:30px;
}
.bottom30p{
	padding-bottom:30px;
}

.bottom40{
	margin-bottom:40px;
}
.bottom40p{
	padding-bottom:40px;
}

.bottom50{
	margin-bottom:50px;
}
.bottom50p{
	padding-bottom:50px;
}

.bottom60{
	margin-bottom:60px;
}
.bottom60p{
	padding-bottom:60px;
}

.bottom70{
	margin-bottom:70px;
}
.bottom70p{
	padding-bottom:70px;
}

.bottom80{
	margin-bottom:80px;
}
.bottom80p{
	padding-bottom:80px;
}

.bottom90{
	margin-bottom:90px;
}
.bottom90p{
	padding-bottom:90px;
}

.bottom100{
	margin-bottom:100px;
}
.bottom100p{
	padding-bottom:100px;
}

/*right*/
.right10{
	margin-right:10px;
}
.right10p{
	padding-right:10px;
}

.right20{
	margin-right:20px;
}
.right20p{
	padding-right:20px;
}

.right30{
	margin-right:30px;
}
.right30p{
	padding-right:30px;
}

.right40{
	margin-right:40px;
}
.right40p{
	padding-right:40px;
}

.right50{
	margin-right:50px;
}
.right50p{
	padding-right:50px;
}

.right60{
	margin-right:60px;
}
.right60p{
	padding-right:60px;
}

.right70{
	margin-right:70px;
}
.right70p{
	padding-right:70px;
}

.right80{
	margin-right:80px;
}
.right80p{
	padding-right:80px;
}

.right90{
	margin-right:90px;
}
.right90p{
	padding-right:90px;
}

.right100{
	margin-right:100px;
}
.right100p{
	padding-right:100px;
}

/*left*/
.left10{
	margin-left:10px;
}
.left10p{
	padding-left:10px;
}

.left20{
	margin-left:20px;
}
.left20p{
	padding-left:20px;
}

.left30{
	margin-left:30px;
}
.left30p{
	padding-left:30px;
}

.left40{
	margin-left:40px;
}
.left40p{
	padding-left:40px;
}

.left50{
	margin-left:50px;
}
.left50p{
	padding-left:50px;
}

.left60{
	margin-left:60px;
}
.left60p{
	padding-left:60px;
}

.left70{
	margin-left:70px;
}
.left70p{
	padding-left:70px;
}

.left80{
	margin-left:80px;
}
.left80p{
	padding-left:80px;
}

.left90{
	margin-left:90px;
}
.left90p{
	padding-left:90px;
}

.left100{
	margin-left:100px;
}
.left100p{
	padding-left:100px;
}




/* -------------------------- */
/* font-style */
/* -------------------------- */
.bold {
	font-weight: bold;
}

.mincho{
	font-family:A1 Mincho;
}

/*color*/

.kuro{
	color: #000;
}

.white{
	color: #fff;
}

.orange{
	color: #cc5a24;
	font-weight: bold;
}

.red{
	color: #FF0000;
}

.gray{
	color: #efefef;
}

.small {
	font-size:0.9em;
}

/*font size*/
.f-2{
	font-size:2em;
	line-height:2em;
}

.f-15{
	font-size:1.5em;
	line-height:1.5em;
}

.f-13{
	font-size:1.3em;
	line-height:1.3em;
}

@media screen and (max-width:768px){
	
.f-13{
	font-size:1em;
	line-height:1.5em;
}
	
	
}


/* -------------------------- */
/* background-color */
/* -------------------------- */
.bg_white{
	background: #fff;
}

.bg_navy{
	background: #273944;
}

.bg_1{
	background: #f8f4ed;
}
	
.bg_pic{
	background: url("../image/bg_1.png")no-repeat;
	background-size: 800px auto;
	background-position:top right;
}


@media screen and (max-width: 768px) {	
	.bg_pic{
	background: url("../image/bg_1.png")no-repeat;
	background-size: 400px auto;
	background-position:top right;
}	
}

.bg_pic2{
	background: url("../image/bg_2.png")no-repeat;
	background-size: 800px auto;
	background-position:bottom left;
	
}


@media screen and (max-width: 768px) {	
	.bg_pic2{
	background: url("../image/bg_2.png")no-repeat;
	background-size: 400px auto;
	background-position:bottom left;

}	
}

/* -------------------------- */
/* border-box */
/* -------------------------- */
.borderbox {
	border: 3px solid #841318;
	background: #fff;
	padding: 40px;
}

.borderbox2 {
	background: #fff;
	padding: 30px;
}


/*ボタン*/

.button {
	display: inline-block;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	font-size:1em;
	padding:0 10px;
	/*border-radius: 5px;*/
	margin-right:10px;
	margin-top:10px;
	max-width: 320px;
	min-width:200px;	
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button {
	background-color: #000;
	color: #fff;
	border:2px solid #273944;
}
.button a{
	background-color: #ff0;
	color: #fff;
}

.button a:hover  {
	background-color: #888;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.button {
		min-width:150px;	
		float:right;
	}
}





.button_s {
	display: inline-block;
	height: 40px;
	text-align: right;
	text-decoration: none;
	line-height: 40px;
	outline: none;
	font-size:1em;
	padding:0 20px;
	margin-right:10px;
	border:1px solid #841318;
    color:#841318;
}



@media screen and (max-width: 768px) {
	.button_s {
		display: inline-block;
		height: 40px;
		text-align: left;
		text-decoration: none;
		line-height: 40px;
		outline: none;
		font-size:1em;
		padding:0 10px;
		margin-top:10px;

		
	}
}


.button_s::before,
.button_s::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button_s,
.button_s::before,
.button_s::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}



.button_s:hover {
	background-color: #841318;;
	color: #fff;
}


.button_maru a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 1em 2em;
	width: 100%;
	min-width:150px;	
	max-width:320px;	
	font-size: 14px;
	font-weight: 700;
	background-color: #841318;
	color:#fff;	
	border-radius: 50vh;
}

.button_maru a::after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

.button_maru a:hover {
	text-decoration: none;
	opacity:0.5;
		background-color: #841318;
}

/* -------------------------- */
/* table */
/* -------------------------- */

table{
	width: 100%;
	border-collapse: collapse; 
	text-align: left;
}


tr{
	padding:10px 20px;
	vertical-align: top;
	background-color: #fff;
	border:1px solid #E0E1E1; 
}



td{
	padding:10px 20px;
	background-color: #fff;
	border:1px solid #E0E1E1;
	min-width: 80px;
}



/* -------------------------- */
/* line*/
/* -------------------------- */

.line1{
	width:100%;
	display:block;
	border-top:1px solid #ccc;
}

.line2{
	width:100%;
	height:3px;
	background: url(../image/line2.png) repeat-x;
}



/* -------------------------- */
/* main-image*/
/* -------------------------- */

.banner img {
	width:100%;
	max-width: 100%;
	height:auto;
	min-height: 100px;
}





