@charset "UTF-8";

/*-----------------------------------

	body

-----------------------------------*/
@media screen and (max-width: 640px) {
	body {
		letter-spacing: 0.03rem;
		line-height: 1.6;
	}
}
/*-----------------------------------

	news

-----------------------------------*/
#news {
	padding: 70px 0;
}
#news article {
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	gap: 15px;
}
#news article .date {
	display: block;
	width: 100px;
	line-height: 1;
}
#news article a {
	display: block;
	width: calc(100% - 115px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.2;
}
@media screen and (max-width: 1080px){
	#news {
		padding: 40px 0;
	}
}
@media screen and (max-width: 640px) {
	#news article {
		gap: 10px;
	}
	#news article .date {
		width: 80px;
		line-height: 1;
	}
	#news article a {
		width: calc(100% - 90px);
	}	
}
/*-----------------------------------

	mission

-----------------------------------*/
#mission {
	padding: 70px 0;
}
#mission #mission_img{
	width: 235px;
	float: right;
}
#mission #mission_img img {
	margin-top: 75px;
}
#mission #mission_text{
	width: 755px;
	float: left;
}
#mission #mission_text p{
	line-height: 3.0rem;
}

.fontL #mission #mission_text p{
	line-height: 3.6rem;
}

@media screen and (max-width: 1080px){
	#mission {
		padding: 40px 0;
	}
	#mission #mission_img{
		width: 30%;
	}
    #mission #mission_img img {
		margin-top: 180px;
	}
	#mission #mission_text{
		width: 68%;
	}
	#mission #mission_text p{
		line-height: 2.8rem;
	}
}
@media screen and (max-width: 640px){
	#mission #mission_img{
		width: 60%;
		max-width:235px;
		float: none;
		margin: 0 auto 20px;
	}
    #mission #mission_img img {
    	margin-top: 0;
    }
	#mission #mission_text{
		width: 100%;
		float: none;
	}
}
/*-----------------------------------

	organization

-----------------------------------*/
#organization{
	padding: 70px 0;
}
#organization section{
	margin-top: 40px;
}
#organization_top li{
	width: 240px;
	height: 110px;
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing:0.1rem;
	line-height:2.1rem;
	text-align:center;
	float: left;
	margin-right: 20px;
	padding: 35px 5px 0;
	border:solid 1px #a0a0a0;
	box-sizing:border-box;
}

.fontL #organization_top li{
	height: 150px;
	font-size: 22px;
	font-size: 2.2rem;
	line-height:2.4rem;
}

#organization_top li:nth-child(3){
	color:#ae8a46;
	position:relative;
	padding-top: 12px;
	border:solid 2px #ae8a46;
}

.colorB #organization_top li:nth-child(3){
	color:#ffffff;
	border:solid 2px #ffffff;
}

#organization_top li:nth-child(3):after{
	content:"";
	width: 2px;
	height: 45px;
	background:#ae8a46;
	position: absolute;
	bottom:-45px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.colorB #organization_top li:nth-child(3):after{
	background:#ffffff;
}

#organization_top li:last-child{
	margin-right: 0;
	padding-top: 25px;
}
#organization_bottom{
	margin-top: 43px;
	padding-top: 25px;
	border-top:solid 2px #ae8a46;
}

.colorB #organization_bottom{
	border-top:solid 2px #ffffff;
}

#organization_bottom h5{
	width: 123px;
    height: 123px;
    color: #ae8a46;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    text-align: center;
    background: url(../img/outline/organization_img_01.png);
    background-repeat: no-repeat;
    background-position: center;
	float: left;
    padding-top: 51px;
    box-sizing: border-box;
}

.fontL #organization_bottom h5{
    font-size: 15px;
    font-size: 1.5rem;
	padding-top: 44px;
	margin-left: 60px;
}

.colorB #organization_bottom h5{
    color: #ffffff;
    background: url(../img/outline/organization_img_01_b.png);
    background-repeat: no-repeat;
    background-position: center;
}

#organization_bottom .list_wrap{
	width: 860px;
	float: right;
}

#organization_bottom .list_wrap ul{
	float:left;
	width:49%;
}

.fontL #organization_bottom ul{
	width: 760px;
	float: right;
}

#organization_bottom ul li{
    width: 410px;
    line-height: 1.6rem;
    height: 20px;
    background: url(../img/lower/icon_octagon.png);
    background-repeat: no-repeat;
    background-position: left 2px;
    margin-bottom: 20px;
    margin-bottom: 10px;
    padding-left: 20px;
}

.fontL #organization_bottom ul li{
    width: 520px;
    line-height: 2.0rem;
    background: url(../img/lower/icon_octagon.png);
    background-repeat: no-repeat;
    background-position: left 6px;
	margin-bottom: 15px;
	padding-left: 25px;
}

.fontL #organization_bottom .list_wrap {
	width: 710px;
	margin-right: 60px;	
}

.colorB #organization_bottom ul li{
    background: url(../img/lower/icon_octagon_b.png);
    background-repeat: no-repeat;
    background-position: left 2px;
}
@media screen and (max-width: 1080px){
	#organization {
		padding: 40px 0;
	}
	#organization section{
		margin-top: 20px;
	}
	#organization_top li{
		width: 49%;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2.1rem;
		letter-spacing: 0.1rem;
		margin-right: 1%;
		padding-top: 35px;
	}

	.fontL #organization_top li{
		font-size: 20px;
		font-size: 2.0rem;
	}

	#organization_top li:nth-child(2n){
		margin-right: 0;
	}
	#organization_top li:nth-child(3){
		margin-top: 10px;
	}
	#organization_top li:last-child{
		margin-top: 10px;
	}	
	#organization_bottom h5 {
		width: 100%;
		height: auto;
		text-align: left;
		background: none;
		float: none;
		margin: 0 0 5px 0;
		padding-top: 0;
	}

	.fontL #organization_bottom h5{
		padding-top: 0;
		margin-left: 0;
	}

	.colorB #organization_bottom h5 {
		background: none;
	}

	#organization_bottom .list_wrap{
		width: 100%;
		float: none;
		margin-right: 0;
	}

	.fontL #organization_bottom ul{
		width: 100%;
		float: none;
	}

	#organization_bottom .list_wrap li {
		width: 90%;
		height: auto;
	}

	.fontL #organization_bottom ul li{
		width: 90%;
		height: auto;
		line-height: 2.6rem;
	}

}
@media screen and (max-width: 640px){
	#organization_top li {
		height: 85px;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.6rem;
		letter-spacing: 0rem;
		padding-top: 25px;
	}

	#organization_bottom .list_wrap ul {
		width:100%;
		float:none;
	}
	
	.fontL #organization_top li {
		height: auto;
		font-size: 18px;
		font-size: 1.8rem;
	}

	#organization_top li:nth-child(3){
		padding-top: 10px;
	}
	#organization_top li:nth-child(3):after{
		height: 30px;
		bottom:-30px;
	}
	#organization_top li:last-child{
		padding-top: 20px;
	}
	#organization_bottom {
		margin-top: 28px;
		padding-top: 15px;
	}
}
/*-----------------------------------

	about

-----------------------------------*/
#about {
	padding: 70px 0;
}
#about .person_box {
	display: block;
	padding: 20px;
	border: solid 1px #a0a0a0;
}
#about .person_box:not(:first-of-type) {
	margin-top: 30px;
}
#about .person_box .position {
	margin-bottom: 0.5em;
	font-weight: 600;
	color: #ae8a46;
	font-size: 1.2em;
}
#about .person_box .name {
	font-weight: 600;
}
#about .person_box .name.mt {
	margin-top: 20px;
}
#about .box:not(:first-of-type) {
	margin-top: 40px;
}
#about .box .date {
	margin-top: 20px;
	display: block;
	text-align: right;
}
.colorB #about .person_box .position {
	color: #fff;
}
#about .explanation {
	display: block;
	text-align: right;
	padding-right: 75px;
}
#about .explanation .inner {
	display: inline-block;
	text-align: left;
}
#about .explanation .inner ul li span {
	width: 85px;
	display: inline-block;
}
@media screen and (max-width: 640px) {
	#about {
		padding: 40px 0;
	}
	#about .person_box {
		padding: 20px 10px;
	}
	#about .explanation {
		padding: 0;
		text-align: left;
		font-size: 10px;
	}
	#about .explanation .inner ul li {
		line-height: 1.5;
	}
	#about .explanation .inner ul li:not(:first-of-type) {
		margin-top: 1em;
	}
	#about .explanation .inner ul li span {
		width: 65px;		
	}
}
/*-----------------------------------

	access

-----------------------------------*/
#access{
	padding: 70px 0;
}
#access h4{
	margin-bottom: 10px;
}
#access_left{
	width: 50%;
	float: left;
}
#access a{
    color: #ae8a46;
}

.colorB #access a{
    color: #ffffff;
	text-decoration: underline;
}

#access a:hover{
    color: #d2ae6b;
}

.colorB #access a:hover{
    color: #ffffff;
	text-decoration: none;
}

#access_right{
	width: 50%;
	float: right;
}
#access_right_tel{
	font-size: 21px;
    font-size: 2.1rem;
	margin-bottom: 10px;
}

.fontL #access_right_tel{
	font-size: 27px;
    font-size: 2.7rem;
}

#access .access_email {
	font-size: 13px;
    font-size: 1.3rem;
}

.fontL #access .access_email {
	font-size: 19px;
    font-size: 1.9rem;
}
@media screen and (max-width: 1080px){
	#access{
		padding: 40px 0;
	}
	#access_left,
	#access_right{
		width: 100%;
		float: none;
	}
	#access_left{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 640px){
	#access_right_tel span {
		display: none;
	}
	#access_right_tel a{
	    font-size: 18px;
		font-size: 1.8rem;
	}

	.fontL #access_right_tel a{
	    font-size: 24px;
		font-size: 2.4rem;
	}

	#access_right_tel span.access_email {
		display: block;
	}
}


/*-----------------------------------

	greeting_top

-----------------------------------*/
#greeting_top {
	padding: 70px 0;
}
#greeting_top #greeting_right{
	width: 500px;
	float: right;
}
#greeting_top #greeting_left{
	width: 500px;
    float: left;
	padding-top: 100px;
}
#greeting_img{
	width: 158px;
	float: left;
}
#greeting_text{
    width: 315px;
    float: right;
	padding-top: 30px;
}

.fontL #greeting_text{
    width: 320px;
}

#greeting_top h3{
    background: none;
    padding: 0;
    margin-bottom: 10px;
    box-sizing: border-box;
}
#greeting_top p{
	font-size: 2.4rem;
	font-size: 24px;
	font-weight: bold;
}

.fontL #greeting_top p{
	font-size: 3.0rem;
	font-size: 30px;
}

#greeting_top p span{
	font-size: 1.8rem;
	font-size: 18px;	
}

.fontL #greeting_top p span{
	font-size: 2.4rem;
	font-size: 24px;	
}

@media screen and (max-width: 1080px){
	#greeting_top {
		padding: 40px 0;
	}
	#greeting_top #greeting_right{
		width: 45%;
	}

	.fontL #greeting_top #greeting_right{
		width: 40%;
	}

	#greeting_top #greeting_left{
		width: 54%;
		padding-top: 10%;
	}

	.fontL #greeting_top #greeting_left{
		width: 59%;
		padding-top: 5%;
	}

	#greeting_img{
		width: 18%;
		max-width: 158px;
	}
	#greeting_text{
		width: 78%;
		padding-top: 0;
		margin-left: 2%;
	}

	.fontL #greeting_text{
		width: 78%;
	}

	#greeting_top h3{
		font-size: 18px;
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.fontL #greeting_top h3{
		font-size: 24px;
		font-size: 2.4rem;
	}

	#greeting_top p{
		font-size: 2.1rem;
		font-size: 21px;
	}

	.fontL #greeting_top p{
		font-size: 2.7rem;
		font-size: 27px;
	}

	#greeting_top p span{
		font-size: 1.6rem;
		font-size: 16px;	
	}

	.fontL #greeting_top p span{
		font-size: 2.2rem;
		font-size: 22px;	
	}

}
@media screen and (max-width: 640px){
	#greeting_top #greeting_right{
		width: 70%;
		float: none;
		margin: 10px auto 0;
	}

	.fontL #greeting_top #greeting_right{
		width: 100%;
	}

	#greeting_top #greeting_left{
		width: 100%;
		float: none;
		padding-top: 0;
	}

	.fontL #greeting_top #greeting_left{
		width: 100%;
		padding-top: 0;
	}

	#greeting_img{
	    width: 30%;
		max-width: 158px;
		margin: 0 auto 10px;
		float: none;
	}
	#greeting_text{
		width: 90%;
		text-align: center;
	}

	.fontL #greeting_text{
		width: 100%;
	}

	#greeting_top h3{
		margin-bottom: 0;
	}
	#greeting_top p{
		font-size: 1.8rem;
		font-size: 18px;
	}

	.fontL #greeting_top p{
		font-size: 2.4rem;
		font-size: 24px;
	}

	#greeting_top p span {
		font-size: 1.4rem;
		font-size: 14px;
	}

	.fontL #greeting_top p span {
		font-size: 2.0rem;
		font-size: 20px;
	}
}
/*-----------------------------------

	greeting_bottom

-----------------------------------*/
#greeting_bottom{
	padding: 70px 0;
}
#greeting_bottom p {
    line-height: 3.0rem;
	text-align: justify;
}

.fontL #greeting_bottom p{
	line-height: 3.6rem;
}

#greeting_bottom .date{
	text-align:right;
}
.name_fb {
	font-size:16px;
	font-weight:bold;	
}
@media screen and (max-width: 1080px){
	#greeting_bottom{
		padding: 40px 0;
	}
	#greeting_bottom p{
		line-height: 2.8rem;
	}
}
@media screen and (max-width: 640px){
	#greeting_bottom p {
		text-align: left;
	}
}
/*-----------------------------------

	footer

-----------------------------------*/
#footer_link_list.en #footer_fz li:nth-child(2) a {
	width: 110px;
}
#footer_link_list.en #footer_fz li:last-child a {
	width: 80px;
}
@media screen and (max-width: 640px){
	#footer_link_list #footer_fz a {
		font-size: 12px;
	}
	#footer_link_list.en #footer_fz li:nth-child(2) a {
		width: 65px;
	}
	#footer_link_list.en #footer_fz li:last-child a {
		width: 40px;
	}
	.fontL #footer_link_list #footer_c, .fontL #footer_link_list #footer_fz, .fontL #footer_link_list #footer_sns {
		margin-right: 2px;
	}
}
/*-----------------------------------

	news_details

-----------------------------------*/
.news{
	padding: 70px 0;
}
.news #article_wrap{
	width: 720px;
    float: left;
    background: #fff;
    padding: 30px 25px;
    box-sizing: border-box;
}

.colorB .news #article_wrap{
    background: #000000;
}

.news article h3.h3_title{
    background-position: left top;
    padding: 0 0 15px 35px;
    border-bottom: solid 1px #a0a0a0;
}

.fontL .news article h3.h3_title{
    background-position: left 6px;
}

#news_top {
	margin-bottom: 25px;
}
#news_top .cate{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.8rem;
    text-align: center;
    display: inline-block;
    color: #ae8a46;
    margin-left: 10px;
    padding: 1px 8px;
    border: solid 2px #ae8a46;
    box-sizing: border-box;
}

.fontL #news_top .cate{
    font-size: 18px;
    font-size: 1.8rem;
    padding: 3px 8px;
}

.colorB #news_top .cate{
    color: #ffffff;
    border: solid 2px #ffffff;
}

#news_contents h4.h4_title{
	margin-bottom: 10px;
}
#news_contents p{
    line-height: 3.0rem;
    /* margin-bottom: 10px; */
}

.fontL #news_contents p{
    line-height: 3.6rem;
}

#news_contents a{
    color: #ae8a46;
}
#news_contents a:hover {
    color: #d2ae6b;
}

.colorB #news_contents a {
    color: #ffffff;
	text-decoration: underline;
}
.colorB #news_contents a:hover {
	text-decoration: none;
}

#news_contents img{
	max-width: 100%;
}
#news_contents h1 {
	font-size: 28px;
	font-size: 2.8rem;
    line-height: 3.8rem;
	margin-bottom: 10px;
}

.fontL #news_contents h1 {
	font-size: 34px;
	font-size: 3.4rem;
}

#news_contents h2 {
	font-size: 22px;
	font-size: 2.2rem;
	padding: 8px 0;
	border-top: solid 2px #ae8a46;
	border-bottom: solid 2px #ae8a46;
	margin-bottom: 10px;
}

.fontL #news_contents h2 {
	font-size: 28px;
	font-size: 2.8rem;
}

#news_contents h3 {
	font-size: 18px;
	font-size: 1.8rem;
    padding: 5px 10px;
    background: #fcf9ee;
    border-left: solid 5px #ae8a46;
	margin-bottom: 10px;
}

.fontL #news_contents h3 {
	font-size: 24px;
	font-size: 2.4rem;
}

.colorB #news_contents h3 {
    background: #333333;
    border-left: solid 5px #ffffff;
}

#news_contents h4 {
	font-size: 16px;
	font-size: 1.6rem;
	background:url(../img/lower/icon_octagon.png);
	background-repeat:no-repeat;
	background-position:left center;
	margin-bottom: 10px;
	padding-left: 20px;
}

.fontL #news_contents h4 {
	font-size: 22px;
	font-size: 2.2rem;
}

.colorB #news_contents h4 {
	background:url(../img/lower/icon_octagon_b.png);
	background-repeat:no-repeat;
	background-position:left center;
}
#news_contents h5 {
	font-size: 15px;
	font-size: 1.5rem;
}
.fontL #news_contents h5 {
	font-size: 20px;
	font-size: 2.0rem;
}
#news_contents ul {
	list-style-type: disc;
}
#news_contents ol {
	list-style-type: decimal;
}
#news_contents ul li,
#news_contents ol li {
	list-style: inherit;
	margin-left: 15px;
}
#news_contents table,
#news_contents caption,
#news_contents tbody,
#news_contents tfoot,
#news_contents thead,
#news_contents tr,
#news_contents th,
#news_contents td {
	border: 1px solid;
}
#sns {
	margin-top: 20px;
}
#sns_fb_btn {
	background: #3b5998;
	color: #fff;
	padding: 5px 10px;
	-webkit-border-radius: 5px;/* for Safari and Chrome */
	-moz-border-radius: 5px; /* for Firefox */
	-o-border-radius: 5px; /* for opera */
	border-radius: 5px;
	margin-right: 10px;
}
#sns_tw_btn {
	background: #1DA1F2;
	color: #fff;
	padding: 5px 10px;
	-webkit-border-radius: 5px;/* for Safari and Chrome */
	-moz-border-radius: 5px; /* for Firefox */
	-o-border-radius: 5px; /* for opera */
	border-radius: 5px;
}
#sns_x_tw_btn {
	background: #000000;
	color: #fff;
	padding: 5px 10px;
	-webkit-border-radius: 5px;/* for Safari and Chrome */
	-moz-border-radius: 5px; /* for Firefox */
	-o-border-radius: 5px; /* for opera */
	border-radius: 5px;
}
@media screen and (max-width: 640px){
	#sns_fb_btn {
		font-size: 12px;
		font-size: 1.2rem;
		margin-right: 5px;
		padding: 5px;
	}

	.fontL #sns_fb_btn {
		font-size: 18px;
		font-size: 1.8rem;
	}

	#sns_tw_btn {
		font-size: 12px;
		font-size: 1.2rem;
		padding: 5px;
	}

	.fontL #sns_tw_btn {
		font-size: 18px;
		font-size: 1.8rem;
	}
	
	#sns_x_tw_btn {
		font-size: 12px;
		font-size: 1.2rem;
		padding: 5px;
	}

	.fontL #sns_x_tw_btn {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

/*news_bottom*/
#news_bottom{
	margin-top: 20px;
	padding-top: 20px;
	border-top: solid 1px #a0a0a0;
}
#news_bottom a{
	color: #ae8a46;
}

.colorB #news_bottom a{
	color: #ffffff;
}

#news_bottom a:hover {
    color: #d2ae6b;
}
#news_bottom a.prev{
	float: left;
}
#news_bottom a.next{
	float: right;
}
/*news_side*/
#news_side{
	width: 270px;
	float: right;
    box-sizing: border-box;
}
#news_side .news_side_title{
	font-size: 18px;
	font-size: 1.8rem;
	background: url(../img/lower/icon_octagon.png);
    background-repeat: no-repeat;
    background-position: left center;
	margin-bottom: 5px;
    padding-left: 20px;
}

.fontL #news_side .news_side_title{
	font-size: 24px;
	font-size: 2.4rem;
}

.colorB #news_side .news_side_title{
	background: url(../img/lower/icon_octagon_b.png);
    background-repeat: no-repeat;
    background-position: left center;
}

#news_side p,#news_side a{
	line-height: 1.8rem;
}

.fontL #news_side p,#news_side a{
	line-height: 2.6rem;
}

#news_side a{
    width: 100%;
    display: inline-block;
	padding: 4px 0;
}

.colorB #news_side a{
	text-decoration: underline;
}

.colorB #news_side a:hover {
	text-decoration: none;
}

#news_side .news_side_box{
	background:#fff;
	margin-bottom: 20px;
	padding: 20px 20px;
}

.colorB #news_side .news_side_box{
	background:#000000;
}

#news_side .news_side_box ul{
	margin-left: 20px;
}
#news_side .news_side_box li{
	position:relative;
}
#news_side .news_side_box li:before{
    content: "";
    width: 10px;
    height: 1px;
    background: #a0a0a0;
    position: absolute;
    top: 50%;
    left: -20px;
    right: unset;
}
#news_side #cate_box .news_side_title{
	margin-bottom: 8px;
}
#news_side #new_box a{
	padding: 8px 0;
}
#news_side #new_box .new_box_top{
	margin-bottom: 5px;
}

.fontL #news_side #new_box .new_box_top{
	margin-bottom: 10px;
}

#news_side #cate_box .date{
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.4rem;
	float: left;
	padding-top: 7px;
}

.fontL #news_side #cate_box .date{
	font-size: 19px;
	font-size: 1.9rem;
	float: none;
	margin-bottom: 5px;
}

#news_side #cate_box .cate{
    font-size: 11px;
	font-size: 1.1rem;
    line-height: 1.3rem;
    text-align: center;
    display: inline-block;
    color: #ae8a46;
    margin-left: 10px;
    padding: 1px 5px;
    border: solid 2px #ae8a46;
    box-sizing: border-box;
}

.fontL #news_side #cate_box .cate{
    font-size: 17px;
	font-size: 1.7rem;
    margin-left: 0;
    padding: 5px 5px;
}

.colorB #news_side #cate_box .cate{
    color: #ffffff;
    border: solid 2px #ffffff;
}
@media screen and (max-width: 1080px){
	.news{
		padding: 40px 0;
	}
	.news #article_wrap{
		width: 100%;
		padding: 25px 2.5%;
		float: none;
	}
	#news_top {
		margin-bottom: 15px;
	}
	#news_contents h4.h4_title {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.8rem;
	}

	.fontL #news_contents h4.h4_title {
		font-size: 22px;
		font-size: 2.2rem;
	}

	#news_contents p{
		line-height: 2.8rem;
	}
    #news_contents table {
		max-width: 100%;
    }

	/*news_side*/
	#news_side{
		width: 100%;
		float: none;
	}
	#news_side .news_side_title{
		font-size: 16px;
		font-size: 1.6rem;
	}

	.fontL #news_side .news_side_title{
		font-size: 22px;
		font-size: 2.2rem;
	}

	#news_side #cate_box{
		margin-top: 20px;
	}
	#news_side #cate_box li {
		width: 33%;
		float: left;
	}
}
@media screen and (max-width: 640px){
	#news_side #cate_box li {
		width: 100%;
		float: none;
	}
}