@charset "utf-8";
* {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	height: 100%;
	/* font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;*/
	font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro";
	background-color: #fff;
	/* background-color: #293f4d; */
	letter-spacing : 0.2em;

}
header {
	z-index: 9999;
	/* padding: 30px 4% 10px; */
	padding: 30px 4% 10px;
	position: fixed;
	top: 0;
	width: 100%;
	background-color: transparent;
	display: flex;
	align-items: center;
	transition: all .2s ease-out;
}
header.min-header {
	padding: 10px 4%;
	background-color: #293f4d;
}
h1 {
	margin: 0; padding: 0;
	font-size: 20px;
}
a {	
	text-decoration: none;
	color: #fff;
}
p {
	line-height: 2;
}
nav {
	margin: 0 0 0 auto;
}
ul {
	list-style: none;
	margin: 0;
	display: flex;
}
li {
	margin: 0 0 0 15px;
	font-size: 16px;
}
.main-visual {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 130vh;
	background: url('../images/003.jpg') top center / cover no-repeat;
    overflow: hidden;
    border-radius: 16px;
margin: 10px;
}
.main-visual h2 {
	margin: 0 0 40px 0;
	font-size: 30px;
	font-weight: normal;
	color: #fff;
}
.sp-nav {
	display: none;
}

/*リンクボタン*/
a.button {
	display: block;
	width: 250px;
	margin: 0 auto;
	padding: 15px 30px;
	text-align: center;
	border: 1px solid #fff;
	transition: all .3s ease-out;
}
a.button:hover {
	color: #505050;
	background-color: #fff;
}
/* section */
.flex {
	display: flex;
}
section {
	overflow: hidden;
	text-align: center;
	padding: 100px 0;
background-color: #fff;
}
section h2 {
	margin: 0 0 50px 0;
	color: #293f4d;
	text-align: center;
}
section p {
	color: #293f4d;
}
.photo {
	width: 55%;
	height: 500px;
	background: #fff url(section-bg.jpg) center/ cover no-repeat;
}
.photo + div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 45%;
}
#member {
	background-color: #f7f7f7;
}
#member .icon_list {
    display: block;
    margin: 0 auto;
    max-width: 800px;
}
#member ul {
	margin: 0;padding: 0;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}
#member ul li {
    width: 25%;
    margin: 0;
    text-align: center;
}
#member ul li:nth-of-type(2){
	transition-delay: .2s;
}
#member ul li:nth-of-type(3){
	transition-delay: .4s;
}
#member ul li:nth-of-type(4){
	transition-delay: .6s;
}
#member ul li img {
    max-width: 116px;
}
#member ul li p {
    font-size: 14px;
    color: #f73f6f;
}
#member p {
	margin: 0 0 40px 0;
}
#member a.button {
	color: #293f4d;
	border: 1px solid #293f4d;
}
#member a.button:hover {
	color: #fff;
	background-color: #293f4d;
}
/* footer */
footer {
	padding: 50px 0 20px;
	background-color: #293f4d;
	text-align: center;
	color:#fff;
}

div.news {
    padding: 1em 1.5em;
    /* margin: 2em 0; */
    margin: 0 0 1em 0;
    background-color:#f4f9ff;/*背景色*/
    /* border:1px solid #84c1ff; */ /*枠線*/
    border:1px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);/*影*/
    color:#000000;/*文字色*/
    opacity: 0.8;
}

div.mission {
    padding: 1em 1.5em;
    /* margin: 2em 0; */
    margin: 2em 0 2em 0;
    background-color: #f4f9ff;
    /* border: 1px solid #84c1ff; */
    border: 1px solid #fff;
    box-shadow: 0 2px 6px rgb(0 0 0 / 30%);
    color: #000000;
    opacity: 0.8;
}

h3.news_title{
   color:#fff;
  margin: 0;
}

div.news p{
  margin: 0;
  padding: 0;
}

a.topic{
  color:#1884da;
}

table.slide-bottom.show{
max-width: 1000px;
    margin: 0 auto;
    color: #aaa;
margin-bottom: 30px;
}

.tb_sam{
  width:10%; 
}

img.tb_img{
  width:200px;
    padding-bottom: 10px;
}

.tb_text{
  padding-left: 30px;
  padding-bottom: 30px;
  text-align:left;
}

p.tb_name{
  font-size:16px;
  font-weight:bold;
    margin-bottom: 0px;
}

.tb_link{
  color:blue;
overflow-wrap: anywhere;
word-break: break-all;

word-wrap:break-word;
overflow-wrap:break-word;
}

p.tb_contents{
font-size: 16px;
 margin-top:0px;
    margin-bottom: 0px;
    text-align: left;
margin-right: 20px;

}

p.tb_address{
font-size: 16px;
 margin-top:0px;
    margin-bottom: 0px;
 text-align:left;
}

p.tb_url{
font-size: 16px;
 margin-top:0px;
    margin-bottom: 0px;
 text-align:left;
}

h3.tb_cat{
display: block;
    padding-top: 80px;
    margin-top: -80px;
    max-width: 1000px;
    margin: 30px auto;
    text-align: left;
    padding-left: 30px;
font-size: 1.5em;
}

h3.tb_cat_title{
display: block;
    padding-top: 110px;
    margin-top: -110px;
    max-width: 1000px;
    margin: 30px auto;
    text-align: left;
    padding-left: 30px;
font-size: 1.5em;
}


section.content{
margin-bottom:20px;
font-size:14px;
overflow:hidden;
}

* html section.content{height:1%;}

section.content p{
	margin-bottom:5px;
	text-align: initial;
	font-size: 16px;
}

	section.content{padding:0 10px;}
	
	section.content img{
  max-width:90%;
	height:auto;
margin: 10px 0 0 0;
	}

h3.heading{
padding:5px 10px;
margin-top:0px;
margin-bottom:10px;
font-size:16px;
color:#fff;
background:#134091;
border-radius:4px;
}

.alignleft{
float:left;
clear:left;
margin:3px 1px 10px 10px;
}

/*************
テーブル
*************/
table.table{
border-collapse:collapse;
/* margin:10px auto; */
width: 65%;
}

table.table th,table.table td{
padding:5px;
border:1px solid #2871d7;
text-align: left;
padding-left: 10px;
}

table.table tr:first-child th,table.table tr:first-child td{
border-top:#2871d7 4px solid
}

table.table th{
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
color:#fff;
background:#134091;
width: 20%;
    font-weight: normal;
text-align:center;
}

div.members{
    width: 1024px;
    margin: auto;
margin-bottom: 80px;
}

img.short{
 padding: 120px 0;
}

body .inner {
    /* width: 1000px; */
padding-top: 60px;
    margin: 0 auto;
    position: relative;
}

div.inner ul{

    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: normal;
    background: transparent;

}

div.inner li{

width: 860px;
height: 250px;
border-radius: 10px; /* ボックスの四つ角を丸くする */
   padding: 1em 1.5em;
     /*margin: 2em 0; */
    margin: 20px;
    background-color: #f4f9ff;
    /* border: 1px solid #84c1ff; */
    border: 1px solid #fff;
    box-shadow: 0 2px 6px rgb(0 0 0 / 30%);
    color: #000000;
    opacity: 0.8;
}

div.inner h4 {
    margin: 0 auto;
    /* margin-bottom: 20px; */
  font-size: 20px;
    /* background-color: #607d8b; 
    color: #fff;
    text-align: center; */
    background-color: #f4f9ff;
    /* box-shadow: 0 2px 6px rgb(0 0 0 / 30%); */
    color: #000000;
    opacity: 0.8;
    padding: 10px 0 0px 30px;
}

div.inner h4 a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

div.inner p{
  margin: 5px 10px 5px 20px;
  font-size: 20px;
  /* text-align: center; */
}

.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	/* width: 280px; */
}


img.circle {
  max-width: 100%;
  height: auto;
}

area{
border:none;
outline:none;
}

.cadetblue{
/* color: cadetblue; */
   color: #fff;
}

#hamburger span{
color: #fff;
}

#hamburger::before{
color: #fff;
}

#hamburger::after{
color: #fff;
}

.members img {
    float: left;
    margin-right: 20px;
    padding: 80px 30px;

}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 50px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

#about {
    padding-top: 100px;
}

div.m_cont{
    height:250px;
}


@media screen and (max-width: 1024px) {

img.short {
    padding: 120px 10px;
}

h3.tb_cat_title{
display: block;
    padding-top: 90px;
    margin-top: -90px;
    max-width: 1000px;
    margin: 30px auto;
    text-align: left;
    padding-left: 30px;
font-size: 1.5em;
}


}

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

div.members {
    width: unset;
    margin: auto;
}

img.short {
    padding: 150px 10px;
    /* width: 260px; */
}

section {
width:unset;
}

body .inner {
padding-top: 40px;
}

div.inner li{
width: 600px;
height: 350px;
}

div.m_cont{
    height:420px;
}

.members img {
    padding: 120px 30px;

}

p.tb_contents{
margin-right: 30px;
}

p.tb_address {
margin-right: 30px;
}

}

@media screen and (max-width: 640px) {
	/*ハンバーガーメニュー*/
	.pc-nav {
		display: none;
	}
	.sp-nav {
		z-index: 1;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		display: block;
		width: 100%;
		background: rgba(0, 0, 0, .8);
		opacity: 0;
		transform: translateY(-100%);
		transition: all .2s ease-in-out;
	}
	#hamburger {
		position: relative;
		display: block;
		width: 30px;
		height: 25px;
		margin: 0 0 0 auto;
	}
	#hamburger span {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 100%;
		height: 2px;
		background-color: #fff;
		transform: translateY(-50%);
	}
	#hamburger::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
	}
	#hamburger::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 70%;
		height: 2px;
		background-color: #fff;
	}
	/*スマホメニュー*/
	.sp-nav ul {
		padding: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	.sp-nav li {
		margin: 0;
		padding: 0;
	}
	.sp-nav li span {
		font-size: 15px;
		color: #fff;
	}
	.sp-nav li a, .sp-nav li span {
		display: block;
		padding: 20px 0;
	}
	/*-閉じるアイコンー*/
	.sp-nav .close {
		position: relative;
		padding-left: 20px;
	}
	.sp-nav .close::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 16px;
		height: 1px;
		background: #fff;
		transform: rotate( 45deg );
	}
	.sp-nav .close::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 16px;
		height: 1px;
		background: #fff;
		transform: rotate( -45deg );
	}
	.toggle {
		transform: translateY( 0 );
		opacity: 1;
	}
	.main-visual {
		padding: 0 4%;
	}
	h2 {
		line-height: 1.6;
		text-align: center;
	}
	/* section */
	#member ul li {
		width: 50%;
	}

header {
	padding: 20px 5% 10px;
}

.main-visual {
	height: 100vh;
}


table.slide-bottom.show{
max-width: 300px;
}

img.tb_img{
  width:120px;
    padding-bottom: 10px;
}

p.tb_name{
  font-size:14px;
}

p.tb_contents{
  font-size:16px;
    line-height:1.5;
padding: 0 10px;
margin-right: 10px;
margin-left: 10px;
margin-bottom: 10px;
}

p.tb_address{
 margin-top:5px;
  font-size:16px;
    line-height:1.5;
padding: 0 10px;
margin-right: 10px;
margin-left: 10px;
}

p.tb_url{
  font-size:16px;
    line-height:1.5;
padding: 0 10px;
margin-right: 10px;
margin-left: 10px;
}

h2.slide-bottom.show{
    margin: 0 0 20px 0;
}


  .alignleft,.alignleft{
	float:none;
	/* display:block; */
	margin:0 auto 10px;
	}

table.table {
    width: 100%;
}

	section.content img{

margin: 0px 0 0 0;
	}

div.members {
    width: unset;
    margin: auto;
}

img.short{
 padding: 0px 0;
width: 250px;
}

h3.tb_cat{
display: block;
    padding-top: 70px;
    margin-top: -70px;
/* margin-bottom: 10px; */
}

h3.tb_cat_title{
display: block;
    padding-top: 70px;
    margin-top: -70px;
}

.members img {
	float:none;
	display: block;
	margin-left:auto;
	margin-right: auto;
/* margin-bottom: 15px; */
padding: 0px 10px;
}

div.m_cont{
    height:600px;
}

body .inner {
padding-top: 0px;
padding-bottom: 300px;
}

div.inner li{
width: 300px;
height: 250px;
margin: 7px;
padding: 1em 1em 0.5em 1em;
}

div.inner h4 {
    font-size: 12px;
    /* margin-bottom: 5px; */
}

div.inner p {
    font-size: 14px;
    margin: 0 0 0 0;
}

}

/* フェードイン用のCSS */

/* 上からフェードイン */
.slide-top {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
 }

/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
 }

 /* 左からフェードイン */
.slide-left {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1s ease-out;
 }

/* 右からフェードイン */
.slide-right {
	opacity: 0;
	transform: translate(20px, 0);
	transition: all 1s ease-out;
 }

 /* 左からフェードイン */
.slide-left2 {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 3s ease-out;
 }
