@charset "utf-8";
/* CSS Document */

/* 20200605 18:10 */

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	padding: 0;
	margin: 0;
	border: none;
	outline: none;
}
body{
	font-family: "Lato", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	min-width: 1200px;
}
@media (max-width:768px){
	body{
		min-width: 0;
	}
}

/* mincho */
header,
.footer_logo,
.footer_menu,
h1,
h2,
h3,
.cta .cta_heading,
.cta .btn_cta,
.member_lead,
.mainvisual_text,
.home_menus{
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

p{
	margin-bottom: 10px;
	line-height: 1.6;
}
ul{
	list-style: none;
}
a{
	color: #000;
	text-decoration: none;
}
a:hover{
	opacity: 0.7;
}
table{
	table-layout: fixed;
}
img{
	max-width: 100%;
	height: auto;
}
input, textarea, select, button {
    /* text-rendering: auto; */
    color: initial;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
}

.tar {
	text-align: right;
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}

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

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

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

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

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

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

.mb90 {
	margin-bottom: 90px !important;
}

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

.cols {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
}
.cols .col2{
	width: calc(50% - 40px);
	margin: 20px;
}
.wrapper{
	width: 1100px;
	padding: 0 60px;
	margin: 0 auto;
}
@media (max-width:768px){
	.wrapper{
		width: 100%;
		padding: 0 20px;
	}
}

@media (min-width:769px){
	.visible-sp{
        display: none !important;
 }
}
@media (max-width:768px){
	.visible-pc{
        display: none !important;
	}
}

/* Header */
header .wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0;
    line-height: 1;
    font-weight: bold;
}
header .logo{
	font-size: 32px;
	letter-spacing: 4px;
}

.header_menu ul{
	display: flex;
	justify-content: flex-end;
}
.header_menu ul li{
	display: block;
	font-size: 20px;
	letter-spacing: 0.04em;
}
.header_menu ul li+li{
	margin-left: 30px;
}
.header_menu ul li.current{
	border-bottom: solid 2px #000;
}
@media (max-width:768px){
	header .wrapper{
		padding: 20px 20px;
	}
	header .logo{
		font-size: 20px;
		letter-spacing: 2px;
	}
	.menu_btn{
		width: 25px;
		margin-left: auto;
		position: relative;
		cursor: pointer;
		height: 20px;
		margin: -15px 0 -15px -15px;
		padding: 15px;
	}
	.menu_btn span{
		position: absolute;
		top: 50%;
		left: 0;
        display: block;
        background: #000;
        width: 100%;
        height: 2px;
        transform: translateY(-50%);
	}
	.menu_btn span::before,
	.menu_btn span::after{
		content: "";
		display: block;
        background: #000;
        width: 100%;
        height: 2px;
		position: absolute;
	}
	.menu_btn span::before{
		top: -7px;
	}
	.menu_btn span::after{
		top: 7px;
	}
	.open.menu_btn span{
		background: transparent;
	}
	.open.menu_btn span::before{
		transform: rotate(45deg);
		top: 0;
	}
	.open.menu_btn span::after{
		transform: rotate(-45deg);
		top: 0;
	}

	.header_menu{
		display: none;
		position: absolute;
		width: 100%;
		background: #fff;
		top: 60px;
		left: 0;
		z-index: 9999;
		padding: 1px 0 0;
		overflow: hidden;
		height: 0;
	}
	.open + .header_menu{
		display: block;
		height: 100vh;
		border-top: solid 1px;
	}
	.header_menu ul{
		display: block;
	}
	.header_menu ul li{
		font-family: "Lato", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-weight: normal;
		font-size: 16px;
		letter-spacing: 2px;
		padding: 0;
		border-bottom: solid 1px #000;
	}
	.header_menu ul li a{
		display: block;
		padding: 15px 20px;
	}
	.header_menu ul li + li{
		margin-left: 0;
	}
	.header_menu ul li.current {
		border-bottom: solid 1px #000;
	}	
}


/* Footer */
footer{
    padding: 70px 0 20px;
}
footer.fixed_closed{
	padding-bottom: 10px;
}

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

footer .wrapper{
    text-align: center;
}
.footer_logo{
	font-size: 34px;
	margin-bottom: 30px;
	font-weight: bold;
	letter-spacing: 3px;
}
.footer_info {
	margin-bottom: 40px;
}
.footer_info p{
	line-height: 2;
}
.footer_menu{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
	font-weight: bold;
}
.footer_menu li{
	display: block;
	font-size: 20px;
}
.footer_menu li+li{
	margin-left: 50px;
}

@media (max-width:768px){
    footer{
    	padding-top: 50px;
    	background-size: auto 20px;
    }
    footer .wrapper{
    	display: block;
    	text-align: center;
    }
	.footer_logo{
		font-size: 24px;
		letter-spacing: 2px;
	}
	.footer_info p{
		line-height: 1.8;
	}
	.footer_menu{
		display: none;
	}
	.copy_wrapper{
		font-size: 12px;
	}
}

.slick-slider *{
	transition: none;
}

/*home*/
#home_mainvisual{
	background: url(../img/main_bg.png) center no-repeat;
	background-size: cover;
	position: relative;
	height: 500px;
}
#home_mainvisual .wrapper{
	height: 100%;
	display: flex;
	justify-content: flex-start;
    align-items: center;
}
@media (max-width:768px){
	#home_mainvisual{
		height: 270px;
		background-size: auto 100%;
		background-position: bottom left 75%;
	}
    #home_mainvisual .wrapper{
    	padding: 30px 20px;
    }
}
.mainvisual_text{
	background: rgba(255,255,255,0.95);
	padding: 40px 40px;
	font-size: 27px;
	letter-spacing: 0;
	margin-bottom: 0;
	line-height: 1.8;
	font-weight: bold;
}
@media (max-width:768px){
	.mainvisual_text{
		font-size: 18px;
		padding: 20px 30px;
		line-height: 1.6;
	}
}
@media (max-width:320px){
    #home_mainvisual .wrapper{
    	align-items: center;
    }
	.mainvisual_text{
		font-size: 16px;
		padding: 20px 20px;
	}
}
.home_menus .home_menu_item{
	height: 280px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	background-size: cover;
	background-position: center;
}
.home_menus .home_menu_item:nth-child(1){
	background-image: url(../img/home_menu1.png);
}
.home_menus .home_menu_item:nth-child(2){
	background-image: url(../img/home_menu2.png);
}
.home_menus .home_menu_item:nth-child(3){
	background-image: url(../img/home_menu3.png);
}
.home_menus .home_menu_item:nth-child(4){
	background-image: url(../img/home_menu4.png);
}
.home_menus .home_menu_item a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-weight: bold;
	transition: all .25s;
}
.home_menus .home_menu_item a:hover{
	background: rgba(255,255,255,.2);
}
.home_menus .home_menu_item a span{
	background: rgba(255,255,255,.9);
	font-weight: 900;
	line-height: 1;
	padding: 10px;
	width: 260px;
	text-align: center;
	font-size: 20px;
	letter-spacing: 2px;
	/* text-shadow: 5px 5px 2px rgba(0,0,0,0.3); */
}
#home_news{
	padding: 80px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

#home_news ul{
	padding: 30px 40px;
	display: block;
	margin: 0 auto;
	line-height: 1.6;
	border-top: solid 1px;
	border-bottom: solid 1px;
	max-height: 300px;
	overflow-y: scroll;
}
@media (max-width:768px){
    #home_news{
	    padding: 40px 0;
    }
	#home_news ul{
		width: 100%;
		padding: 20px 0;
		max-height: 400px;
	}
}
#home_news ul li{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#home_news ul li+li{
	margin-top: 1em;
}
#home_news ul li span{
	width: 100px;
	margin-right: 30px;
}
@media (max-width:768px){
	#home_news ul li{
		display: block;
	}	
    #home_news ul li+li{
    	border-top: solid 1px;
    	margin-top: 10px;
    	padding-top: 10px;
    }
    #home_news ul li span{
    	display: block;
    	margin-bottom: 5px;
    	font-size: 14px;
    }
}

#home_menu{
	padding-bottom: 80px
}
@media (max-width:768px){
	#home_menu{
		padding-bottom: 40px;
	}
	.home_menus .home_menu_item{
		width: 100%;
		height: 50vw;
		margin: 0 0 20px;
	}
}

@media (max-width:768px){
	#home_map iframe{
        height: 300px;
	}
}


/*page*/
.page_header{
	background: url(../img/page_header.png) center no-repeat;
	background-size: cover !important;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.member .page_header {
	background: url(../img/h1_member.png) center no-repeat;	
}
.gaiyou .page_header {
	background: url(../img/h1_gaiyou.png) center no-repeat;	
}
.contact .page_header {
	background: url(../img/h1_contact.png) center no-repeat;	
}
.page_header h1{
	background: rgba(255,255,255,.9);
	display: block;
	padding: 30px 0 27px;
	width: 100%;
	text-align: center;
	max-width: 600px;
	line-height: 1;
	font-size: 28px;
	letter-spacing: 2px;
	text-indent: 2px;
}

@media (max-width:768px){
    .page_header{
    	height: 200px;
    }
    .page_header h1{
    	font-size: 20px;
    	padding: 20px 0;
    	width: calc(100% - 40px)
    }
}

:not(.home) main .wrapper{
	padding: 60px 180px;
}
@media (max-width:768px){
	:not(.home) main .wrapper{
		padding: 20px 20px 60px;
	}
}

.toc{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	line-height: 2;
}
.toc li{
	margin-bottom: 1em;
	margin-right: 1.5em;
}
.toc li:first-child{
	/* margin-left: 1.5em; */
}
.toc li:last-child{
	/* margin-right: 0; */
}
.toc li a{
	text-decoration: none;
	border-bottom: 1px solid #333;
	padding-bottom: 0px;
}
@media (max-width:768px){
    .toc{
    	margin-top: 20px;
    }
    .toc li{
    	font-size: 13px;
    }
}

:not(.home) h2{
	text-align: center;
	line-height: 1.4;
	margin: 80px auto 50px;
	color: #416c8a;
	padding: 20px 0;
	background: url(../img/h2_border.png) center bottom no-repeat;
}
@media (max-width:768px){
    :not(.home) h2{
    	font-size: 20px;
    }
}
:not(.home) .toc + h2,
:not(.home) h2:first-child{
	margin-top: 40px;
}
:not(.home) h3{
	border-bottom: dashed 1px #999;
	margin: 40px auto 30px;
	font-size: 19px;
}
@media (max-width:768px){
    :not(.home) h3{
    	font-size: 18px;
    }
}
:not(.home) main p{
	margin-bottom: 1.25em;
}

.cta{
	margin-top: 60px;
	background: url(../img/main_bg.png) center no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cta .cta_wrapper{
	background: rgba(255,255,255,.9);
	display: block;
	padding: 40px 20px;
	width: 100%;
	text-align: center;
	max-width: 650px;
	margin: 100px auto;
}
.cta .cta_heading{
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 30px;
}
.cta .cta_heading + p{
	margin-bottom: 30px;
}
.cta .btn_cta{
	color: #fff;
	background: #281604;
	padding: 11px 42px;
	font-size: 18px;
	display: inline-block;
}
@media (max-width:768px){
	.cta .cta_wrapper{
		background: rgba(255,255,255,.9);
		display: block;
		padding: 40px 20px;
		width: calc(100% - 40px);
		text-align: center;
		max-width: 650px;
		margin: 60px auto;
	}
	.cta .cta_heading{
		font-size: 18px;
	}
	.cta .cta_heading + p{
		font-size: 15px;
	}
    .cta .btn_cta{
		font-size: 16px;
    }
}
.access_map{
	margin: 60px -100px 0;
	width: calc(100% + 200px)
}
@media (max-width:768px){
	.access_map{
    	margin: 40px 0 -60px;
    	width: 100%;
    	height: 300px;
 }
}
.member_info{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.member_left{
    width: calc(100% - 165px);
}
.member_lead{
	font-size: 22px;
	font-weight: bold;
}
.member_right{
	width: 300px;
	margin-left: 40px;
}
@media (max-width:768px){
    .member_info{
    	display: block;
    }
	.member_left{
		width: 100%;
	}
	.member_right{
		text-align: center;
		margin: 0 auto;
		width: 200px;
	}
}
.profile_table th,
.profile_table td{
	font-weight: normal;
	padding: 15px 0;
	vertical-align: top;
}
.profile_table th{
	padding-right: 20px;
	text-align: left;
}
@media (max-width:768px){
    .profile_table th{
    	width: 100px;
    }
}

.button {
	padding: 10px;
	border: 1px solid #000;
	display: block;
	width: 250px;
	text-align: center;
	margin: 0 auto 20px;
}



/*eof*/