@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%;
}

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;

}


header,
footer {
	width: 100%;
}

a {
	text-decoration: none;
}

li {
	list-style: none;
	padding:5px 0;
	line-height:1.3em;
}

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

p {
	text-align: justify;
	text-justify: inter-ideograph;
	line-height:1.8em;
	margin:20px 0;
}

caption{
	font-size:0.8em;
	margin:10px 0;	
}
/* -------------------------- */
/* 画像透過 */
/* -------------------------- */
a img:hover {
	transition: 1.0s;
	opacity: 0.5;
}

/* -------------------------- */
/* レスポンシブ対応 */
/* -------------------------- */
.sp {
	display: none!important;
}


@media screen and (max-width: 1024px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
}

/* telリンク（PC無効） */
a[href^="tel:"] {
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	a[href^="tel:"] {
		pointer-events: auto;
	}
}
/* -------------------------- */
/* copy rights */
/* -------------------------- */
.copy {
	font-size: 80%;
	text-align: center;
	padding: 10px 0 0px 0;
	background-color: #fff;
	height:40px;
	display:block;
	color:#333;
}



/* -------------------------- */
/* 余白排除 */
/* -------------------------- */
#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;
	/*align-items:stretch;*/
}

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


/* 行送り */
._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_center2{
	align-items: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:1080px){
	.content_box {
		width: 100%;
		margin: 0;
		padding: 0 20px;
	}
}

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

.content_box2 {
	width: 1024px;
	margin: auto;
	display:block;
	border-radius:20px;
	background:#fff;
	padding:0 40px;
}

@media screen and (max-width:1080px){
	.content_box2 {
		width: 100%;
		margin: 0;
		padding: 0 20px;
	}
}

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

.content_box3 {
	width: 900px;
	margin: auto;
	display:block;
	border-radius:20px;
	background:#fff;
	padding:0 40px;
}

@media screen and (max-width:1080px){
	.content_box3 {
		width: 100%;
		margin: 0;
		padding: 0 20px;
	}
}

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

.content_box4 {
	width: 500px;
	margin: auto;
	display:block;
}

@media screen and (max-width:1080px){
	.content_box4 {
		width: 100%;
		margin: 0;
		padding: 0 20px;
	}
}

@media screen and (max-width: 768px){
	.content_box4 {
		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;
}
.left{
	text-align: left;
}

.right{
	text-align: right;
}

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

.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;
}

/*color*/

.kuro{
	color: #000;
}

.white{
	color: #fff;
}

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

.red{
	color: #FF0000;
}

.gray{
	color: #efefef;
}

.small {
	font-size:0.9em;
}

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

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

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


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

.bg_navy{
	background: #273944;
}

/* -------------------------- */
/* border */
/* -------------------------- */
.border1 {
	border-top: 1px solid #666;	
}


/* -------------------------- */
/* border-box */
/* -------------------------- */
.borderbox {
	display:block;
	border: 5px solid #bedc9a;
	background-color:#bedc9a;
	padding: 30px;

}

.borderbox2 {
	background: #fff;
	padding: 20px;
	border: 2px solid #bedc9a;
}


/*ボタン*/

.button {
	display: inline-block;
	width: 350px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #6ab82d;
	background-color: #fff;
	position: relative;
	border: 1px solid #6ab82d;
	transition: color 0.5s ease;
}
.button:hover {
	color: #fff;
}
.button:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
.button::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #6ab82d;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.5s ease;
	transition-property: transform;
}
.text {
	position: relative;
}


@media screen and (max-width: 768px){
.button {
	
	width: 300px;
}
}


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

}
.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 {
	background-color: #273944;
	color: #fff;
	font-family:"A1 Mincho";
}

.button_s a {
	background-color: #273944;
	color: #fff;
}

.button_s a:hover {
	opacity:0.5;

}

.button_s:visited {
	color: #fff;
}

.button_maru a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 2em;
	width:200px;
	min-width:150px;	
	max-width:320px;	
	color: #333;
	font-size: 14px;
	font-weight: 700;
	background-color: #ffaf49;
	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;
}


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



.button_maru2 a:hover {
	text-decoration: none;
	opacity:0.5;
}


.button_s2 {
	display: inline-block;
	height: 40px;
	text-align: left;
	text-decoration: none;
	line-height:40px;
	outline: none;
	font-size:1em;
	padding:0 40px;
	border:1px solid;


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

.button_s2 {
	background-color: #2060ad;
	color: #fff;

}

.button_s2 a {
	background-color: #2060ad;
	color: #fff;
}

.button_s2 a:hover {
	opacity:0.5;

}

.button_s2:visited {
	color: #fff;
}

.button1 a {
	position: relative;
	top:0;
	overflow: hidden;
	text-decoration: none;
	display: block;
	max-width: 250px;
	background-color: #2060ad;
	margin: 0 auto;
	padding: 10px 60px;
	font-family: "Noto Sans Japanese";
	font-weight: 500;
	text-align: center;
	line-height: 1.8;
	text-decoration: none;
	outline: none;
	transition: ease .2s;
	margin-top:-20px

}

.button1 a span {
	position: relative;
	z-index: 3;
	color:#fff;
}

.button1 a:hover span{
	color:#fff;

}

.bgleft:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background-color: #008fca;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}

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

table{
	width: 100%;
	border-collapse: collapse; 
	text-align: left;
	font-size:18px;
	line-height:1.5em;	
}

@media screen and (max-width: 768px){
	table{
		font-size:16px;
	}
}


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

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

}

.td_midashi{
	font-family:A1 Mincho;
	background:#f5f2e7;	
	padding:10px 20px;
	border:1px solid #273944;
	min-width:100px;
}

@media screen and (max-width: 768px){
	.td_midashi{
		font-family:A1 Mincho;
		background:#f5f2e7;	
		padding:10px;
		border:1px solid #273944;
		min-width:150px;

	}
}

.td_midashi_enkaku{
	font-family:A1 Mincho;
	background:#f5f2e7;	
	padding:10px 20px;
	border:1px solid #273944;
	width:20%;
}


/* -------------------------- */
/* 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;
}





