@charset "utf-8";
/*-----------------------------------------------------------------------------
basic
-----------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	list-style: none;
}

html {
	overflow-y: scroll;

}


body {
	color:#330000;
	font-size: 0.9em;
    line-height: 2em;
	font-family:"Font Awesome 5 Free", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background:#fff;
	z-index:0;
}


.wrap {
	overflow: hidden;

}

.serif {
	font-family: Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}


strong {
	font-weight: bold;
}
.x-small { font-size: 0.7em; line-height: 1.6; }
.small { font-size: 0.8em; line-height: 1.6;}
.middle { font-size: 1em; }
.large { font-size: 1.2em; }
.x-large { font-size: 1.4em; }
.xx-large { font-size: 1.6em; }
.x3-large { font-size: 1.8em; }
.x4-large { font-size: 2em; }
.x5-large { font-size: 2.1em; }
.italic {
	font-style: italic;
}
img {
	vertical-align: bottom;
	border: none;
}
img.frame {
	padding: 8px;
	background-color: #fff;
	border: 1px solid #eee;
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
}
.white { color: #ffffff; }
.red { color: #f8251f; }
.l-blue { color: #37b6d6; }
.blue { color: #0243a4; }
.d-blue { color: #3a4582; }
.pink{color:#ffa4a4;}

.orange { color: #fd8301; }
.l-green { color: #8cc63f; }
.green { color: #10c964; }
.yellow{color:#ac9f2d;}
.black{color:#000; !important}
.brown { color: #59493f; }
.gray { color: #a6a6a6; }



.bg_orange{
background:#fd8301;
box-sizing:border-box;
}

.bg_gray{
background:#eee;
box-sizing:border-box;
}
.bg_lb{
background:#daeff4;
box-sizing:border-box;
}

.bg_b{
background:#384381;
box-sizing:border-box;
vertical-align:middle !important;
}

.bg_lg{
background:#d3fbe5;
box-sizing:border-box;
}

.bg_green{
background:#10c964;
box-sizing:border-box;
}


.headline_bgclr{
padding:0.5em;
border-radius:15px;
}

.radius_5{
border-radius:15px;
}


.f-right {
	float: right;
	margin-left: 15px !important;
}
.f-left {
	float: left;
	margin-right: 15px !important;
}

.f-bold{
font-weight:700;
}


.img-responsive-center{
    margin: 0px auto;
	text-align:center;
}

.pointer {
	cursor: pointer;
}
.clear {
	clear: both;
}

.w20 { width: 20%; }
.w25 { width: 25%; }
.w33 { width: 33.33333333%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }
.w350 { width: 350px !important; }
a {
	font-size: 100%;
	vertical-align: baseline;
	
}

a.uline{
color:#37b6d6 !important;
text-decoration: underline;
}

a:link {
	color: #333;
	/*text-decoration: underline;*/
}
a:visited {
	color: #666;
	text-decoration: none;
}
a:hover {
	color:#666;
	text-decoration:underline;
}
a:active {
	color: #dedede;
	text-decoration:none;
}
.pc a.opacity {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.pc a.opacity:hover {
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6;
}
a.opacity img {
	box-shadow: #000 0 0 0;
}
.indent {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.indent-icon {
	position: relative;
	padding-left: 1.2em;
}
.indent-icon::after {
	position: absolute;
	font-family: FontAwesome;
	top: 0;
	left: 0;
	color: #bb2525;
}
.indent-icon.dot::after {
	content: "\f192";
}
.indent-icon.check::after {
	content: "\f046";
}
.indent-icon.color-2::after {
	color: #c00;
}
.bb {
	padding-bottom: 10px;
	border-bottom: 2px solid #ddd;
}



a.btn2, button.btn2, input.btn2, .btn2 {
	display:inline-block;
	max-width:100%;
	min-width:180px;
	/*height:auto;*/
	padding:0.8em 0.5em;
	margin:1em 0;
	line-height: 1;
	color:#ff9900 !important;
	border:3px solid #ff9900;
	border-radius:10px;
	background:#ffffff;
	text-decoration: none;	
	/*line-height:150%;*/
letter-spacing:0.06em;
z-index:999;
font-weight:400;
text-align:center;
box-shadow: 2px 3px 0 #bbbbbb;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

button.btn2,input.btn2{
cursor:pointer;

}


a.btn2:hover, .btn2:hover{
color:#fff !important;
background:#ff9900;
}

button.btn2:hover,input.btn2:hover{
background:#ff9900;
color:#fff;
}




.btn2 i{
margin:0 0 0 5px;
}



a.btn2_w,
button.btn2_w,input.btn2_w,
.btn2_w {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:1.5em 1em;
	margin:7px 0;
	line-height: 1;
	color:#ffa1a1 !important;
	background:#fff;
	border:1px solid #ffa1a1;
	border-radius:30px;
	border:0;
	text-decoration: none;	
	line-height:130%;
letter-spacing:0.06em;
z-index:999;
font-weight:400;
font-size:0.9em;
text-align:center;
cursor:pointer;

}



a.btn2_w:hover, .btn2_w:hover{
color:#ffa1a1;
background:#ffeaea;
}

button.btn2_w:hover,input.btn2_w:hover{
background:#ffeaea;
color:#ffa1a1;
}



.btn2_w i{
margin:0 5px;
}



a.btn2_h,
button.btn2_h,input.btn2_h,
.btn2_h {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:1.6em 0.5em;
	margin:1em 0;
	line-height: 1;
	color:#000000 !important;
	border:3px solid #10c964;
	border-radius:10px;
	text-decoration: none;	
	line-height:130%;
letter-spacing:0.06em;
z-index:999;
font-weight:400;
text-align:center;
cursor:pointer;
box-shadow: 2px 3px 0 #bbbbbb;
transition: all 0.5s;
}



a.btn2_h:hover, .btn2_h:hover{
color:#fff !important;
background:#10c964;
}

button.btn2_h:hover, input.btn2_h:hover{
background:#10c964;
color:#fff;
}


a.btn3,
button.btn3,input.btn3,
.btn3 {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:0.8em 0.5em;
	margin:0.5em 0;
	line-height: 1;
	color:#ffffff !important;
	border:3px solid #10c964;
	background:#10c964;
	border-radius:10px;
	text-decoration: none;	
	line-height:130%;
letter-spacing:0.06em;
z-index:999;
font-weight:400;
text-align:center;
cursor:pointer;
box-shadow: 2px 3px 0 #bbbbbb;
}



a.btn3:hover, .btn3:hover{
color:#10c964 !important;
background:#fff;
}

button.btn3:hover,input.btn3:hover{
color:#10c964 !important;
background:#fff;
}

.btn_arrow_r2{
background:#10c964 url(../images/btn_arrow_r_w.png) no-repeat 90% center !important;
transition: all 0.5s;
}

.btn_arrow_r2:hover{
background:#ffffff url(../images/btn_arrow_r.png) no-repeat 90% center !important;
}


.w250 { width: 250px !important; }

.pc a.btn:hover {
	-webkit-opacity: 0.7;
	-moz-opacity: 0.7;
	opacity: 0.7;
}


.btn_btm_l{
color:#333;
border-bottom:2px solid #333;
padding-bottom:5px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


.btn_btm_l:hover{
color:#999;
border-bottom:2px solid #999;
}


@media (max-width: 1140px) {
	img.frame {
		padding: 4px;
	}
	.indent {
		padding-left: 1em;
		text-indent: -1em;
	}
	.text-center.left-md {
		text-align: left;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 1.6;
	}
	.x-small { font-size: 10px; }
	.small { font-size: 12px; }
	.middle { font-size: 14px; }
	.large { font-size: 16px; }
	.x-large { font-size: 18px; }
	.xx-large { font-size: 20px; }
	.xxx-large { font-size: 22px; }
	.xxxx-large { font-size: 24px; }
	.text-center.left-xs {
		text-align: left;
	}
	.btn {
		padding: 5px;
	}
	.indent {
		padding-left: 1em;
		text-indent: -1em;
	}
	a.btn,
button.btn,input.btn,
.btn {
		max-width: 100%;
		font-size: 14px;
		
	}
	.text-center.left-xs {
		text-align: left;
	}
}


/*-----------------------------------------------------------------------------
header
-----------------------------------------------------------------------------*/
#header {
	width:100%;
	height:100px;
	padding:0 0 0;
	margin:0;
	line-height:1;
top:0;
left:0;
display:block;
position:fixed;
background:#ffffff;
z-index:999;
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
	}




@media (max-width: 991px) {

#header {
	width:100%;
	height:50px;
	padding:0 0 0;
	margin:0;
	line-height:1;
top:0;
left:0;
display:block;
position:fixed;
background:#ffffff;
z-index:999;
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
	}

}

.header{

}

.home .header.change-color{
background:rgba(255,255,255,0.8);
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
}

.content .header.change-color{
/*background:rgba(21,40,76,0.7);*/
}


.header_wrapper{
width:100%;
height:100px;
position:relative;
}


h1.logo{
width:35%;
height:100px;
max-width:345px;
max-height:56px;
overflow:hidden;
box-sizing:border-box;
position:absolute;
left:20px;
top:20px;
}

h1.logo a{
width:100%;
height:100%;
display:block;
position:relative;
z-index:30;
}

h1.logo img{
width:99%;
height:auto;
max-width:345px;
max-height:56px;
box-sizing:border-box;
margin:auto;
top:0;
bottom:0;
right:0;
position:absolute;
}

@media (max-width: 991px) {

.header_wrapper{
width:100%;
height:60px;
position:relative;
background:#ffffff;
}

h1.logo{
width:50%;
height:50px;
max-width:280px;
max-height:45px;
overflow:hidden;
box-sizing:border-box;
position:absolute;
left:0px;
top:10px;
}

}

@media (max-width: 767px) {

.header_wrapper{
width:100%;
height:60px;
position:relative;
}

h1.logo{
width:50%;
height:60px;
max-width:347px;
max-height:56px;
overflow:hidden;
box-sizing:border-box;
position:absolute;
left:0px;
top:5px;
}

h1.logo img{
width:99%;
height:auto;
max-width:347px;
max-height:56px;
box-sizing:border-box;
margin:auto;
top:0;
bottom:0;
right:0;
position:absolute;
}


}
/*-----------------------------------------------------------------------------
header_tel,mail
-----------------------------------------------------------------------------*/
.header_box{
position:absolute;
right:0;
top:0px;
width:70%;
height:45px;
display:flex;
justify-content:flex-end;
}

.tel_box{
box-sizing:border-box;
margin-right:0.3em;
}

.mail_box{
box-sizing:border-box;
}

.tel_box a, .mail_box a{
width:100%;
display:inline-block;
}

.tel_box i, .mail_box i{
display:none;
}

.mail_box:hover{
opacity:0.5;
}


@media (max-width: 991px) {
.header_box{
position:absolute;
right:54px;
top:5px;
width: calc( 70% - 54px );
height:45px;
display:flex;
justify-content:flex-end;
}


.tel_box{
background:#ff9900;
padding-top:0;
padding-left:0em;
padding-right:0em;
text-align:center;
border-radius: 5px;
height:49px !important;
width:49px !important;
margin-left:0px;
z-index:100;
}

.mail_box{
background:#ff9900;
padding-left:0em;
padding-right:0em;
text-align:center;
border-radius: 5px;
height:49px !important;
width:49px !important;
margin-right:2px;
z-index:999;
}

.tel_box img, .mail_box img{
display:none;
}
.tel_box i, .mail_box i{
display:inline-block;
color:#ffffff;
line-height:45px;
}
}


/*-----------------------------------------------------------------------------
nav
-----------------------------------------------------------------------------*/

#nav {
	padding: 0;
	margin:0;
	height:100%;
position:absolute;
top:50px;
right:0px;
width:70%;
	}


.navbar-nav{
position:absolute;
right:0;
}


.navbar-light{
background:none;
font-size:1em;
color:#ffffff;

}

.navbar-light .nav-item{
  position: relative;
  z-index: 1;
margin-right:1em;
}

.navbar-light .nav-item a.nav-link{
padding:0em 1em 0.5em 1em;
box-sizing:border-box;
transition: .2s;
color:#330000;
font-family:'Noto Sans JP', serif;
font-weight:700;
font-size:1em;
display:inline-block;
margin-left:0.7em;
text-align:center;
letter-spacing:0.09em;
font-family:'M PLUS Rounded 1c', sans-serif;
font-weight:700;
}

.navbar-light .nav-item a.nav-link i{
display:block;
margin:0.5em 0;
font-size:1em;
}


.navbar-light .nav-item a.nav-link i.green{
color:#82c91e;
}
.navbar-light .nav-item a.nav-link i.blue{
color:#15aabf;
}

.navbar-light .nav-item a.nav-link i.pink{
color:#f783ac;
}

.navbar-light .nav-item a.nav-link i.orange{
color:#ff8014;
}
.navbar-light .nav-item a.nav-link i.purple{
color:#ae96c6;
}


.navbar-light .nav-item a.nav-link:after{
  content: '';
  position: absolute;
  left: 1em;
  bottom: -1px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 2px;/*下線の高さ*/
  background: #ff9900;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}


.navbar-light .nav-item:hover a.nav-link:after, .navbar-light .active a.nav-link:after{
  width:calc( 100% - 1em );/*hover時に表示*/
}


@media (max-width: 991px) {
#nav {
	padding:0;
	margin:0;
	width:100%;
	height: 100%;
position:absolute;
top:5px;
right:0;
bottom:0;
	}
	
.navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  padding: 0px;
  width: 49px;
  height: 49px;
background:#ff9900;
  border-radius:5px;
  box-sizing: border-box;
  position: relative;
  right:3px;
  top:0px;
  outline:0;
  margin-bottom:10px;
}

.navbar-toggler:focus{
  outline: 0;
}

.navbar-light .navbar-toggler-icon {
  background-image:none; /* この行で背景画像を無効化 */
  background-color: #ffffff;
  width: 30px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease .5s;
}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {top:10px; left:8px;}
.navbar-toggler-icon:nth-of-type(2) {top:18px; left:8px;}
.navbar-toggler-icon:nth-of-type(3) {top:26px; left:8px;}

/* メニューが開いている時の　3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:18px;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:18px;
transform: rotate(-45deg);
}

.navbar-toggler .open{
font-family:'Lato';
display:block;
font-size:9px;
color: rgba(255, 255, 255, 1) !important;
position: absolute;
bottom:4px;
left:8px;
}

.navbar-toggler[aria-expanded="true"] .open{
display:none;
}

.navbar-toggler .close_menu{
display:none;
}

.navbar-toggler[aria-expanded="true"] .close_menu{
display:block;
font-size:9px;
font-family:'Lato';
color: rgba(255, 255, 255, 1) !important;
position: absolute;
bottom:4px;
left:8px;
font-weight:400;
}	
	


.navbar-nav{
position:absolute;
right:0;
background:rgba(250, 222, 181, 0.6);
/*height:100vh;*/
width:100%;
}


.navbar-light{
background:none;
font-size:1em;
color:#ffffff;

}

.navbar-light .nav-item{
  position: relative;
  z-index: 1;
margin-right:0em;

}

.navbar-light .nav-item a.nav-link{
padding:0.8em 0.2em 0.2em 0.2em;
width:100%;
height:100%;
box-sizing:border-box;
transition: .2s;
color:#330000;
font-family:'M PLUS Rounded 1c', sans-serif;
font-weight:700;
font-size:1em;
display:inline-block;
margin-left:0.7em;
text-align:left;
letter-spacing:0.09em;
}

.navbar-light .nav-item a.nav-link i{
display:inline-block;
margin:0.5em 0;
font-size:1em;
}


.navbar-light .nav-item a.nav-link:after{
  content: '';
  position: absolute;
  left: 0.3em;
  bottom: -5px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 1px;/*下線の高さ*/
  background: #330000;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}


.navbar-light .nav-item:hover a.nav-link:after, .navbar-light .active a.nav-link:after{
  width:100%;/*hover時に表示*/
}

.navbar-light .active a.nav-link{
color:#330000 !important;
}

.navbar-nav .nav-item a.nav-link:hover{
color:#330000 !important;
}



}






/*-----------------------------------------------------------------------------
common
-----------------------------------------------------------------------------*/
.headline01 {
	font-size:2.1em;
	line-height: 1.3;	
	letter-spacing:0.04em;
	box-sizing:border-box;

}




.headline02{
	font-size:1.9em;
	line-height: 1.3em;	
	letter-spacing:0.04em;
box-sizing:border-box;

}


.headline03{
	font-size:1.6em;
	line-height: 1.3;	
	letter-spacing:0.04em;
box-sizing:border-box;

}

.headline04{
	font-size:1.3em;
	line-height: 1.3;
	letter-spacing:0.04em;
}

.headline05{
	font-size:1.1em;
	line-height: 1.3;
	letter-spacing:0.04em;
}

.notoS{
font-family: 'Noto Sans JP', sans-serif;
}

.Mpr{
font-family:'M PLUS Rounded 1c', sans-serif;
}


.headline01_top{
	font-size:1.9em;
	line-height: 1.3;	
	letter-spacing:0.06em;
	box-sizing:border-box;
color:#330000;
font-family:'M PLUS Rounded 1c', sans-serif;
font-weight:700;
}
.headline01_top span{
	font-size:0.5em;
	line-height: 1.3;	
	letter-spacing:0.04em;
	box-sizing:border-box;
display:block;
margin-bottom:0.1em;
}


.h_top_bg1{
height:100px;
background:url(../images/headline_bg1.jpg) no-repeat left top;
background-size:auto 100%;
padding:1em;
}
.h_top_bg2{
height:100px;
background:url(../images/headline_bg2.jpg) no-repeat left top;
background-size:auto 100%;
padding:1em;
}

.h_top_bg3{
height:100px;
background:url(../images/headline_bg3.png) no-repeat left top;
background-size:auto 100%;
padding:1em;
}

.h_top_bg4{
height:100px;
background:url(../images/headline_bg4.jpg) no-repeat left top;
background-size:auto 100%;
padding:1em;
}

.h_top_bg5{
height:100px;
background:url(../images/headline_bg5.png) no-repeat left top;
background-size:auto 100%;
padding:1em;
}


.headline_uline{
  position: relative;
  display:block;
  /*margin-bottom: 1em;*/
text-align:center ;
line-height:1.2em;
}

.headline_uline:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 80px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background:#10c964;
  border-radius:5px;
}



.headline_uline_left{
  position: relative;
  display:block;
  /*margin-bottom: 1em;*/
text-align:left;
line-height:1.2em;
width:100%;
}

.headline_uline_left:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 80px;
  height: 2px;
  left: 40px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background:#15284c;
  border-radius: 0px;
}





.headline_a_uline{
border-bottom:2px solid #10c964;
padding:0 0px 0px 7px;
box-sizing:border-box;
}

.headline_circle{
min-height:80px;
width:100%;
position:relative;
}

.headline_circle .circle_green{
position:absolute;
width:80px;
height:80px;
background:#10c964;
border-radius:50%;
z-index:1;
}

.headline_circle span.sub_t{
position:absolute;
height:22px;
left:20px;
top:15px;
z-index:2;
font-size:1.2em;
background:linear-gradient(180deg, transparent 0%, transparent 70%, #ecfff5 70%, #ecfff5 100%); 
padding:0 0.3em;
}

.headline_circle span.main_t{
position:absolute;
min-height:50px;
left:50px;
top:45px;
z-index:2;
}










.line-left_g {
	padding-left: 0.5em;
	border-left: 0.3em solid #333;
}

.line-left_p {
	padding-left: 0.4em;
	border-left: 0.3em solid #ffa1a1;
}

.line-bottom {
	padding-bottom:5px;
	border-bottom:1px solid #ccc;
}

.line-bottom_d {
	padding-bottom:5px;
	border-bottom:1px dashed #ccc;
}


.line-top {
	border-top:1px solid #dcdcdc;
}

.line-top i{
margin-right:5px;
}


.line_btm_cc{
  border-bottom: solid 2px #ffe1e1;
  position: relative;
  padding-bottom:0.5em;
}

.line_btm_cc:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #ffa1a1;
  bottom: -2px;
  width: 20%;
}
	



@media (max-width: 767px) {
.headline01 {
	font-size:1.8em;
	line-height: 1.2;

	/*text-align:center;*/
}
.headline02{
	font-size:1.5em;
	line-height: 1.2;

}

.headline03{
	font-size:1.3em;
	line-height: 1.2;

}

.headline04{
	font-size:1.2em;
	line-height: 1.2;

}

.headline05{
	font-size:1.1em;
	line-height: 1.2;

}
	
}



/*-----------------------------------------------------------------------------
top
-----------------------------------------------------------------------------*/


.mt-8{
margin-top: 4rem !important;
}
.mt-10{
margin-top: 6rem !important;
}
.mt-15{
margin-top: 9rem !important;
}

.mb-10{
margin-bottom: 6rem !important;
}

.top_main_wrapper{
background:url(../images/top_main_wrap.jpg) repeat-x center top;
background-size:cover;
margin-top:100px;
}

@media (max-width: 991px) {

.top_main_wrapper{
margin-top:60px;
}


}


.greeting_wrap{
padding-bottom:1em;
background:url(../images/border1.png) repeat-x center bottom;
}


.news_table{
width:98%;
margin-left:auto;
margin-right:auto;
}

.news_table > thead > tr > th,
.news_table > tbody > tr > th,
.news_table > tfoot > tr > th,
.news_table > thead > tr > td,
.news_table > tbody > tr > td,
.news_table > tfoot > tr > td {
padding:1em 0.5em;
line-height: 1.62857143;
font-weight:normal;
border-top:0;
border-bottom:1px dotted #ff6905;
}

.news_table > thead > tr > th,
.news_table > tbody > tr > th,
.news_table > tfoot > tr > th{
white-space:nowrap;
border-bottom:1px dotted #ff6905;
}


@media (max-width: 767px) {
.news_table > thead > tr > th,
.news_table > tbody > tr > th,
.news_table > tfoot > tr > th{
white-space:nowrap;
border-bottom:0px solid #ccc;
}
}


/*__ service __________________________________________*/

/*.top_wrap1{
background: linear-gradient(90deg, #ffefef 0%, #ffefef 90%, #fff 90%, #fff 100%)
}*/

.top_wrap1{
padding:3em 0;
background:url(../images/top_wrap1_bg.jpg);
}

.top_wrap1_inner{
background:url(../images/top_wrap1_inner_bg.jpg) no-repeat left top;
}

.bg_bdr1{
padding-bottom:1em;
background:url(../images/border2.png) no-repeat center bottom;
background-size:50% auto;
}

@media (max-width: 767px) {
.bg_bdr1{
padding-bottom:1em;
background:url(../images/border2.png) no-repeat center bottom;
background-size:50% auto;
}


}

.top_wrap1_box{
background:linear-gradient(180deg , #ffffcc 0%, #ffebba 100%); 
border-radius:8px;
padding:0.5em 1em 0 0.5em;
}

.top_wrap1_box h4{
font-weight:bold;
font-size:1.3em;
padding-top:0.5em;
}

.top_wrap1_box span.number{
border-radius:25px;
height:50px !important;
width:50px !important;
background:#d0f4a9;
display:inline-block;
line-height:50px;
font-size:25px;
text-align:center;
margin-right:0.5em;
font-weight:bold;
}


.top_wrap1_box_inner1{
padding:1em;
background:url(../images/top_wrap1_box_bg1.png), url(../images/top_wrap1_box_p1.png);
background-repeat:no-repeat;
background-position:left bottom, right center;
background-size:30% auto, 40% auto;
min-height:280px;
height:100%;
width:100%;
}

.top_wrap1_box_inner2{
padding:1em;
background:url(../images/top_wrap1_box_bg2.png), url(../images/top_wrap1_box_p2.png);
background-repeat:no-repeat;
background-position:left bottom, right center;
background-size:30% auto, 35% auto;
min-height:280px;
height:100%;
width:100%;
}

.top_wrap1_box_inner3{
padding:1em;
background:url(../images/top_wrap1_box_bg3.png), url(../images/top_wrap1_box_p3.png);
background-repeat:no-repeat;
background-position:left bottom, right center;
background-size:30% auto, 35% auto;
min-height:280px;
height:100%;
width:100%;
}

.top_wrap1_box_inner4{
padding:1em;
background:url(../images/top_wrap1_box_bg4.png), url(../images/top_wrap1_box_p4.png);
background-repeat:no-repeat;
background-position:left bottom, right center;
background-size:30% auto, 40% auto;
min-height:280px;
height:100%;
width:100%;
}


.top_wrap1_box_txt{
width:65%;
float:left;
margin:1em 0 0 1.8em;
}


@media (max-width: 991px) {
.top_wrap1_box span.number{
border-radius:25px;
height:50px !important;
width:50px !important;
background:#d0f4a9;
display:block;
line-height:50px;
font-size:25px;
text-align:center;
margin-right:0.5em;
font-weight:bold;
}

.top_wrap1_box_inner1{
padding:1em;
background:url(../images/top_wrap1_box_bg1.png), url(../images/top_wrap1_box_p1.png);
background-repeat:no-repeat;
background-position:left bottom, right 70%;
background-size:30% auto, 40% auto;
min-height:250px;
height:100%;
width:100%;
}

.top_wrap1_box_inner2{
padding:1em;
background:url(../images/top_wrap1_box_bg2.png), url(../images/top_wrap1_box_p2.png);
background-repeat:no-repeat;
background-position:left bottom, right 70%;
background-size:30% auto, 35% auto;
min-height:250px;
height:100%;
width:100%;
}

.top_wrap1_box_inner3{
padding:1em;
background:url(../images/top_wrap1_box_bg3.png), url(../images/top_wrap1_box_p3.png);
background-repeat:no-repeat;
background-position:left bottom, right 70%;
background-size:30% auto, 35% auto;
min-height:310px;
height:100%;
width:100%;
}

.top_wrap1_box_inner4{
padding:1em;
background:url(../images/top_wrap1_box_bg4.png), url(../images/top_wrap1_box_p4.png);
background-repeat:no-repeat;
background-position:left bottom, right 70%;
background-size:30% auto, 40% auto;
min-height:250px;
height:100%;
width:100%;
}

.top_wrap1_box_txt{
width:70%;
float:left;
margin:1em 0 0 0em;
}

}

.bdr_brn{
border:2px dotted #330000;
}

.bdr_pnk{
border:2px dotted #e5afce;
}



.top_wrap1_list{

}

.top_wrap1_list li{
position:relative;
padding:0 0 0 2em;
margin:0 0 1em 0;
}

.top_wrap1_list li::before{
position: absolute;
  left: 0.5em;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f00c';
  color: #ff6600;
}




/*__ activities __________________________________________*/


.top_activ_box{
background:url(../images/top_wrap2_inner_bg.jpg) center center;
border-radius:10px;
padding:1em;
}

.top_activ_box .bdr_brn{
padding:1em 1.5em 1.5em 1.5em;
}


.top_activ_box .photo{
width:40%;
float:left;
}



@media (max-width: 991px) {

.top_activ_box .bdr_brn{
padding:1em;
}


.top_activ_box .photo{
width:60%;
float:none;
margin:1em auto;
}

}


@media (max-width: 767px) {

.top_activ_box .bdr_brn{
padding:1em;
}


.top_activ_box .photo{
width:50%;
float:none;
margin:1em auto;
}

}



/*__ staff __________________________________________*/

.top_wrap3{
padding:3em 0;
background:url(../images/top_wrap3_bg.jpg);
}

@media (max-width: 991px) {
.photo_face{
width:50%;
margin:1em auto;
}

}

/*__ about __________________________________________*/


.comp_table{
margin:1em auto ;
width:80%;
}


.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th,
.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {
padding:0.9em 0.5em;
line-height: 1.62857143;
font-weight:normal;
border-top:0;

}

.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th {
text-align:center;
border-bottom:3px solid #10c964;
vertical-align:middle;
white-space:nowrap;
box-sizing:border-box;
}

.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {
border-bottom:1px dotted #ccc;
padding-left:15px;
}




@media (max-width: 767px) {

.comp_table{
margin:1em auto ;
width:100%;
}

.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th{


}

.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {
border-top:0;
}
}


ol.about_list{

}

ol.about_list li{
list-style:none;
counter-increment: cnt;
position:relative;
display:block;
padding-left:1.7em;
}


ol.about_list li::before{
content: "(" counter(cnt) ")";
position:absolute;
left:0;
display: inline-block;
}



.top_wrap4{
background:url(../images/top_wrap4_bg1.jpg),url(../images/top_wrap4_bg2.jpg);
background-position:left top, right bottom;
background-size:20% auto, 15% auto;
background-repeat:no-repeat, no-repeat;
}

@media (max-width: 767px) {
.top_wrap4{
background-size:40% auto, 35% auto;
}
}

.top_wrap4_inner{
background:rgba(255,255,255,0.5);
border-radius:5px;
padding:1em;
width:90%;
margin:auto;
}






.table_float th {display: block;}
.table_float td {display: block;}

@media (min-width: 768px) {
  .table_float th {display: table-cell;}
  .table_float td {display: table-cell;}
}

.home .hgt250{
border:0;
}



/*-----------------------------------------------------------------------------
access
-----------------------------------------------------------------------------*/


.googlemap{
height:454px;
width:100%;
border:2px dotted #e5afce;
border-radius:10px;
}
.googlemap iframe{
border-radius:10px;
}


.anchor{
padding-top: 90px;
margin-top: -90px;
}




/*-----------------------------------------------------------------------------
contact 
-----------------------------------------------------------------------------*/

.top_wrap5{
padding:1em 0;
background:url(../images/top_wrap5_bg.jpg);
}

.contact_box{
padding:1em;
margin:1em auto 0.8em auto;
text-align:center;
line-height:1;
background:#fff;
border-radius:10px;
}


.contact_box span.tel{
/*background:#fff;*/
font-size:2.1em;
padding:0 0.5em;
font-family:'M PLUS Rounded 1c', sans-serif;
font-weight:700;
}

.contact_box span.num{
font-size:2.1em;
font-family:'M PLUS Rounded 1c', sans-serif;
font-weight:700;
}

.require{
background:#d9e7fd;
line-height:1.5em;
padding:0.2em 0.5em;
border-radius:5px;
}

.bg_white{
background:#fff;
}


.bdr_rb{
box-shadow: 5px 5px #10c964;
border:1px solid #efefef;
}

.contact_wrap{
background:#fff;
padding:1em auto;
box-sizing:border-box;
}

.contact_wrap table{
width:96%;
margin:1em auto;
}

.contact_wrap table th{
width:20% !important;
white-space:nowrap;
box-sizing:border-box !important;
font-weight:normal;
border-top:0;
border-bottom:3px solid #f6bf8c;
}

.contact_wrap table td{
width:80% !important;
box-sizing:border-box !important;
border-top:0;
border-bottom:1px solid #ccc;
}

@media (max-width: 767px) {
.contact_wrap table th{
width:100% !important;
white-space:nowrap;
box-sizing:border-box !important;
font-weight:bold;
}

.contact_wrap table td{
width:100% !important;
box-sizing:border-box !important;
text-align:left;
}
}

input,label{
font-weight:normal;
margin-bottom:10px;
text-align:left !important;
}

input[type="radio"], input[type="checkbox"]{
display: inline-block;
  margin: 0 5px 0 15px;
  padding: 0;
  vertical-align: middle;
  position: relative;
  top: -1px;
  cursor: pointer;
}

.form-control, .form-control-md, .form-control-sm{
padding-left:3px;
padding-right:3px;
box-sizing:border-box !important;
border:1px solid #ccc !important;
}


.form-control-md:focus, .form-control-sm:focus{
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

@media (max-width: 767px) {

.contact #main01 .row{
margin-top:10px;
}



input,label{
font-weight:normal;
margin-bottom:10px;
/*text-align:left;*/
box-sizing:border-box !important;
width:98% !important;
}

.form-control, .form-control-md, .form-control-sm{
box-sizing:border-box !important;
width:98% !important;
}

.control-label{
font-size:16px;
font-weight:normal;
text-align:left;
margin-bottom:0;
}

span.checkbox_cont{
/*padding:10px;*/
font-size:16px;
margin-right:10px;
display: inline-block;
top:-3px;
}

input[type="radio"], input[type="checkbox"]{
display: inline-block;
  margin: 0 2px;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
  width:15px !important;
  height:15px !important;

}


.contact_wrap{
margin:30px 0 50px 0;
}
.contact_wrap .table, .contact_wrap .table th, .contact_wrap .table td{
border-top:0;
}

.contact_wrap .table{
margin-bottom:20px;
box-sizing:border-box;
}

.contact_wrap .table th, .contact_wrap .table td{
padding:15px 0 0 0;
border-bottom:1px solid #dedede;
box-sizing:border-box !important;
}

.contact_wrap .form-group{
}

.contact_wrap .table th{
border-bottom:0 !important;
white-space:nowrap;
}

.contact_wrap .table td .w350{
width:98% !important;
}

}

  
.hgt250{
height:250px;
overflow:auto;
border:1px solid #dedede;
padding:1em;
font-size:0.9;
}


.contact_ol,
.contact_b{
	/*border-top:1px dotted #666;*/
	padding-top:10px;
	padding-left:0px;
	margin-bottom:2em;
}
.hgt250 ol li{ margin-left:1.5em; list-style:decimal}
	




.hgt250 ul{

}

.hgt250 ul li{
list-style:circle outside;
margin-left:1em;
margin-bottom:0.8em;
}




/*-----------------------------------------------------------------------------
footer 
-----------------------------------------------------------------------------*/

#footer {
	width:100%;
	padding:2em 0;
	margin:0 0 0 0;
	background:#fff4e9;
	font-size:1em;
}


#footer h3 {

}





#footer p{
letter-spacing:0.1em;
}

#footer a, #footer a:visited{
}


#footer a:hover, #footer a:visited:hover{
text-decoration:none;
}


.footer_menu {
display:flex;
flex-wrap: wrap;
justify-content:center;
margin:0 0 1em 0;
}


.footer_menu li{
letter-spacing: 0.01em;
line-height:1em;
text-align:left !important;
box-sizing:border-box;
margin:0.5em;
/*position:relative;
width:auto;*/
height:100%;
display:block;
}

 /*.footer_menu li + li{
 border-left:1px solid #fff;
 }*/

.footer_menu li a{
padding:0 0.5em;
display:block;
width:100%;
height:100%;
text-decoration:none !important;
}


/*.footer_menu li:before {
  content: '・';
  position: absolute;
  top:0px;
  display: inline-block;
  left:0;
}*/



.footer_menu li a, .footer_menu li a:visited{
box-sizing:border-box;
transition: all  0.5s ;
-webkit-transition:all  0.5s ;
-moz-transition:all  0.5s ;
-o-transition:all 0.5s ;
}

.footer_menu li a:hover {
text-decoration:underline !important;
}

.copyright{
text-align:center;
font-size:0.8em;
padding:0.5em 0;
}


@media (max-width: 991px) {
#footer {
padding-top:5em 0 0 0;
color:#330000 !important;
}

#footer span{
color:#330000 !important;
}

.footer_menu {
		/*background-color: #fff;*/
		display:block;
		position:static;
		margin:0 0 1em 0;
		display:block !important;
	}

 .footer_menu ul{
display: block;

}

	
 .footer_menu li{
 position:static;
padding:0px 0 0px 0px !important;
box-sizing:border-box;
width:100%;
border-bottom:#fff 1px solid;
	transition: all  0.5s ;
-webkit-transition:all  0.5s ;
-moz-transition:all  0.5s ;
-o-transition:all 0.5s ;
	}
	

.footer_menu li:before {
  content: '';
  position: absolute;
  top:0px;
  display: inline-block;
  left:0;
}
	
.footer_menu li.active, .footer_menu li:hover{
border-bottom:#ff9900 1px solid;
background:rgba(255,255,255,1);

 }
 
	
	
	
.footer_menu li a, .footer_menu li a:visited{
		display: block;
		padding:0.8em 0 0.8em 0.6em !important;
		box-sizing:border-box;
text-align:left !important;
	}

	
.footer_menu li:hover a{
color:#ff9900 !important;
}

 
.footer_menu li a:hover, .footer_menu li a:visited:hover{
text-decoration:none !important;
 }
 

.copyright{
text-align:center;
font-size:0.8em;
margin:0;
padding:1em;
}


}



#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 999;
    cursor: pointer;
}

#pagetop img:hover {
opacity:0.8;
}



@media (max-width: 767px) {

#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 999;
    cursor: pointer;
}
#pagetop img{

}
#pagetop img:hover {
opacity:0.8;
}

}



