@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300&family=Noto+Serif+JP:wght@200;300&display=swap');

* {margin: 0; padding: 0; outline: 0;}

html{
	scroll-behavior:smooth;
}

/* offsets native anchor scrolling so section tops aren't hidden under the sticky nav */
#sTop, #s1, #s1-intro, #s2, #s3, #s4, #s5{
	scroll-margin-top:90px;
}

body {
	/*font-family:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;*/
	line-height: 1.5;
	color: #e5e5e5;
	font-size: 17px;
	background:#fcfcfc;
}


h1, h2 {
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	margin:0 0 15px 0;
}


h1 {
	font-size: 1.5em;
	letter-spacing: -1px;
	line-height: 120%;
	font-weight: 800;
	padding:10px 5px;
	border-bottom:2px solid #bc1609;
}
h1 img{
	width:180px;
}

h2 {
	font-size: 1.25em;
	font-weight: 600;
	padding:0px 10px;
}

/* visual style of the former section <h1>s, kept identical after they were
   demoted to <h2> so the page has a single true <h1> (the logo) */
.section-title{
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	margin:0 0 15px 0;
	font-size: 1.5em;
	letter-spacing: -1px;
	line-height: 120%;
	font-weight: 600;
	padding:10px 5px;
	border-bottom:2px solid #bc1609;
	color:#333;
}


p {
	margin: 0 10px 15px 10px;
	line-height: 1.6;
	color:#333;
	overflow-wrap: break-word;
}
a {
	color: #3e3e3e;
	cursor:pointer;
}
strong{
	font-weight:bold;
}


.wrap {
	width: 100%;
	/*max-width: 1920px;
	min-width: 960px;*/
	z-index: 10;
	position: relative;
	margin: 0 auto;
	padding: 0;

}



.section {
	/*max-width: 1920px;
	min-width: 960px;*/
	z-index: 10;
	margin: 0 auto;
	padding: 30px 0 30px 0;
}


.inner {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	padding:10px;
}

.inner:after {
	  content: "";
	  display: table;
	  clear: both;
}






/* SECTIONS */
.sTop {
	background:#fff;
	margin:-120px 0 0 0;
	padding:0px 0 0px 0;
	/*background:url(../images/mainimage2022.jpg) no-repeat center bottom;
	background-size:cover;
	height:100%;
	min-height:780px;*/

}
.sTop .inner {
	padding:0 10px;
	margin:0px auto;
	text-align:left;
}
.sTop .inner h1{
	width:20%;
	padding:0px;
	margin:0px 0px 0 0px;
border:none;
}
.sTop .inner h1 img{
	padding:0px 0;
	z-index:999;
	position:relative;
	top:80px;
	border:2px solid #fff;
	border-radius: 8px;
}
.sTop h2{
font-family: 'Noto Serif JP', serif;
	font-weight:200;
	font-size:2.8em;
	letter-spacing:4px;
	width:100%;
	height:20px;
	padding:5px 10px 0 0px;
	margin:0px 0px 0 10px;
	text-align:center;
	color:#f6f6f6;
	float:left;
	z-index:999;
	position:relative;
	top:380px;
}

/* メニューエリア */
.Menu{
	background:#fff;
	margin:0px 0 0px 0;
	padding:20px 0 0 400px;
	position:sticky;
	top:0;
	z-index:900;
}
.Menu .subMenu {
		position:relative;
		margin:0px 0px 0 0px;
		width: 100%;
		/*background: #bc1609;*/
		background: #fff;
	}

/* hamburger button: hidden on wide screens, shown by the max-width:1000px rule below */
.menu-toggle{
	display:none;
	align-items:center;
	gap:8px;
	margin-left:auto;
	padding:10px 16px 10px 4px;
	background:none;
	border:none;
	cursor:pointer;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}
.menu-toggle-icon{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	width:24px;
	height:18px;
	flex-shrink:0;
}
.menu-toggle-bar{
	display:block;
	width:100%;
	height:2px;
	background:#121212;
}
.menu-toggle-label{
	font-size:12px;
	font-weight:bold;
	color:#121212;
}

.subMenu-links{
	display:flex;
	justify-content:flex-end;
	flex-wrap:nowrap;
}
	.subNavBtn {
		display: block;
		white-space:nowrap;
		margin: 0;
		text-decoration: none;
		font-size: 14px;
		padding: 15px 12px;
		text-align: center;
		line-height:1.3;
		color: #121212;
		font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
		font-weight:500;
		cursor:pointer;
	}
	.subMenu a:hover {
		background: #f6f6f6;
	}

	.subMenu a.active {
		background: #fff6f6;
	}

/* section s1*/
.s1 {
	background:#fff;
	color:#333;
	/*background:url(../images/mainimage2022.jpg) no-repeat center top;
	background-size:contain;*/
	text-align: center;
	position:relative;
	z-index:-100;
	margin:0 0;
	padding:0 0 2em 0;
}
.s1 img{
	width:100%;
}
.photo-credit{
	text-align:right;
	font-size:12px;
}
.s1 .inner{
	text-align:left;
	padding:0 10px;
}
.s1 #vision{
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	color:#484848;
	font-size:1.1em;
}
.company-columns{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	margin:20px 10px 15px 10px;
}
.s1 .corp-info{
	font-size:0.9em;
	flex:1.2 1 320px;
	line-height:1.1;
}
.corp-info td{
	padding:11px 0 9px 8px;
}
.corp-info tr:nth-child(2n){
	background-color:#f6f6f6;
}
.corp-info span{
	font-size:0.8em;
}
#clients{
	flex:1 1 260px;
	font-size:0.8em;
}
#clients h3{
	border-bottom:1px solid #666;
	font-size:1em;
	font-weight:normal;
	margin:0 0 5px 0;
	padding:0 4px;
}
#clients ul{
	margin:0 0 0px 2em;
	padding:0 0px;
}


/* section s2*/
.s2 {
	background: #f6f6f6;
	color:#333;
	/*background:url(../images/main2.jpg) no-repeat;*/
	background-size:cover;
	padding:40px 30px;
}
.s2 .inner{
    background-color:rgba(255,255,255,0.85);
	max-width:1020px;
	}
.s2 img{
	padding:5px 5px 5px 20px;
}
#vitae{
	font-size:0.8em;
	padding:10px 20px;
	line-height:1.5;
}
#vitae h3{
	border-top:1px dashed #000;
	padding:10px 15px 0 10px;
	margin:5px 0;
}
#vitae p{
		font-family:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;

}

.members-grid{
	display:flex;
	flex-wrap:wrap;
	gap:15px 1.5%;
}
.members{
	display:flex;
	gap:10px;
	font-size:0.8em;
	line-height:1.2;
	flex:1 1 47%;
	max-width:47%;
	margin:15px 0 30px 0;
}
.members-left{
	flex-shrink:0;
}
.members-right{
	flex:1;
	min-width:0;
}
.members h3{
	width:100%;
	color:#484848;
	font-size:1.5em;
	text-align:center;
	margin:5px 5px 5px 5px;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	font-weight: 600;
}
.members p{
	margin:0 5px;
	line-height:1.2;
}
.members img{
	max-width:180px;
}

p.title{
	width:100%;
	color:#484848;
	text-align:center;
	font-family:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
	font-style:italic;
	font-size:1em;
	margin:2px 5px 3px 5px;
	min-height:20px;
}
p.wizard{
	width:100%;
	border-top:1px dashed #666;
	color:#484848;
	text-align:center;
	font-weight:bold;
	margin:2px 5px 8px 5px;
	min-height:30px;
	padding:18px 0 0 0;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}
p.career{
	padding:0 5px 0 5px;
	max-width:240px;
}



/* section s3*/
.s3 .inner{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
}
/* headings/intro text span the full grid width so each new <h3> naturally
   starts a fresh row of cards, without the old <hr class="clear"> hack */
.s3 .inner::after{
	content:none;
}
.s3 .inner > h2,
.s3 .inner > h3,
.s3 .inner > p{
	grid-column:1 / -1;
}
.s3 h3, span.bc1609{
	color:#bc1609;
	font-size: 1.2em;
	font-weight:bold;
}
.s3 h3 span{
	color:#333;
	font-size: 0.8em;
	padding-left:3px;
}
.results{
	min-width:0;
	font-size:0.8em;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}
.results img{
	width:99%;
	height:auto;
	border:1px solid #ccc;
}
.results h4{
	color:#484848;
	font-size:1em;
	text-align:center;
	margin:10px 0;
}
.results h4.oneline{
	font-size:0.8em;

}
.results p{
	padding:0;
	margin:0 5px;
	line-height:1.3;
	font-size:1em;
	font-family:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
}
.results p.time{
	text-align:right;
	padding:0 0 0.5em 0;
	margin:0 5px 1em 5px;
	border-bottom:1px dashed #666;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}

/* section s4*/
.s4 {
	background: #f6f6f6;
	color:#333;
}
.s4 h3 span{
	font-size:0.6em;
}
.s4 p#okuda-photo{
	background:url(../images/okuda3.jpg) no-repeat top right;
	padding:0 270px 0 0;
}
	#okuda-image{
		display:none;
	}
#table_area{
    background-color:rgba(255,255,255,0.85);
	padding:1.5em 2em;
}
.table-scroll{
	width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	margin:0 0 45px 0;
}
table.timetable{
	padding:0 0em;
	margin:0;
	font-size:0.7em;
	width:100%;
	min-width:640px;
	font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
    background-color:rgba(255,255,255,0.85);
}
.timetable td{
	width:8%;
	padding:0.4em 0.25em;
	line-height:1.2;
	border-bottom:1px solid #999;
	border-left:1px dashed #999;
	text-align:center;
}
#y2010 td, #y2000 td{
	width:7%;
}
.timetable th{
	border-bottom:1px solid #999;
	border-left:1px dashed #999;
	padding:0.4em 0.25em;
}
.timetable tr td:nth-child(1){
	width:28%;
	text-align:left;
	padding:0 1em;
	border-right:1px solid #999;
	border-left:none;
}
.timetable tr td:nth-child(2){
	border-left:none;
}
.timetable tr th:nth-child(1){
	width:28%;
	text-align:center;
	padding:0 1em;
	border-right:1px solid #999;
	border-left:none;
}
.timetable tr th:nth-child(2){
	border-left:none;
}
.timetable td.on{
background-color:#fccccc;
}
.s4 #table_area h4{
	color:#333;
}
.s4 #table_area h4 span{
	font-size:0.6em;
}
p.description{
text-align:right;
font-size:0.7em;
}


.s5 {
	background:#fff;
	color:#333;
	padding: 30px 0 0px 0;
}

.s6 {
	background: #161616;
	text-align:center;
	color:#fff;
	padding: 0px 0 0px 0;
	margin:60px 0 0px 0;
}
address{
font-size:0.9em;
	padding: 30px 0 30px 0;
}

.pagetop{
display:flex;
justify-content:flex-end;
}

.pagetop2 {
  position: fixed;
  bottom: 24px;
  right: 24px;
  margin: 0 auto;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.pagetop2.is-visible {
  opacity: 1;
  visibility: visible;
}

.pagetop a,.pagetop2 a {
  display: table-cell;
  width: 6em;
  height: 6em;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  font-size: 1em;
  line-height: 1;
  border-radius: 50%;
  background: #333;
  behavior: url(PIE.htc);
  text-decoration:none;
font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}
.pagetop2 a:link{
  color: #fff;
}
.pagetop2 a:hover{
  color: #e51a0b;
}

@media only screen and (max-width: 1440px) {
		.sTop h2{
	position:relative;
	top:280px;
}
}

@media only screen and (max-width: 1200px) {
		.Menu{
	background:#fff;
	margin:0px 0 0px 0;
	padding:20px 0 0 300px;

}
		.sTop h2{
	position:relative;
	top:230px;
}
}
/* グローバルメニューをハンバーガー化 */
@media only screen and (max-width: 1000px) {
	.menu-toggle{
		display:flex;
	}
	.subMenu-links{
		display:none;
		flex-direction:column;
		position:absolute;
		top:100%;
		left:0;
		width:100%;
		background:#fff;
		box-shadow:0 8px 16px rgba(0,0,0,0.15);
	}
	.subMenu-links.nav-open{
		display:flex;
	}
	.subNavBtn{
		width:100%;
		text-align:left;
		padding:16px 20px;
		border-top:1px solid #eee;
	}
}

/*横幅が1000px以下の場合*/

@media only screen and (max-width: 1000px) {
	.Menu{
	background:#fff;
	margin:0px 0 0px 0;
	padding:20px 0 0 200px;

}
	.sTop h2{
	position:relative;
	top:190px;
}
.s3 .inner{
	grid-template-columns:repeat(2, 1fr);
}
.results{
	font-size:0.9em;
}
}
/*横幅が830px以下の場合*/
@media only screen and (max-width: 830px) {
		.Menu{
	background:#fff;
	margin:0px 0 0px 0;
	padding:20px 0 0 180px;

}
	.sTop .inner h1{
	width:18%;
}
.sTop .inner h1 img{
	width:100%;
}
		.s1 p#vision{
	font-size:0.7em;
}

}


/*横幅が700px以下の場合*/
/*スマホ横位置、タブレット縦位置想定*/
/*iPad 768x1024 iPhone6plus 414x738 */
@media only screen and (max-width: 700px) {
			.Menu{
	background:#fff;
	margin:0px 0 10px 0;
	padding:0px 0 0 130px;

}
	.sTop h2{
font-size:2.2em;
	position:relative;
	top:140px;
}
	.s1 p#vision{
	font-size:0.9em;
}
.s3 .inner{
	grid-template-columns:1fr;
	gap:40px;
}
.results{
	font-size:0.9em;
}
	.results p{
	font-size:0.8em;
		line-height:1.4;
}
}
/*横幅が600px以下の場合*/
/*スマホ横位置、タブレット縦位置想定1*/
/*6plus 414x738 5s 320x568*/
@media only screen and (max-width: 600px) {
				.Menu{
	background:#fff;
	margin:0px 0 10px 0;
	padding:0px 0 0 120px;

}
		.sTop h2{
font-size:1.7em;
	position:relative;
	top:140px;
}
.s1 p#vision{
	font-size:1em;
}

.s1 .corp-info,
#clients{
	flex-basis:100%;
	max-width:480px;
}
	#okuda-image{
		display:inline;
	}
.s2 p#okuda-photo{
background:none;
padding:0px 5px 0 5px;
}
	.members{
	flex:1 1 100%;
	max-width:100%;
	flex-direction:column;
	font-size:0.8em;
	margin:0 0 15px 0;
}
.members-left{
	text-align:center;
}

p.title{
	font-size:1em;
	min-height:40px;
}



#table_area{
    background-color:rgba(255,255,255,0.85);
	padding:0 1em;
}

.timetable th{
	padding:0.25em 0.4em;
}
.timetable td{
	padding:0.25em 0.4em;
}
p.description{
	text-align:left;
}

}

/*スマホ縦位置想定*/
/*大型スマホ(iPhone Plus/Pro Max等 428〜430px)も含めてカバーする閾値*/
@media only screen and (max-width: 480px) {
	body {
	font-size: 20px;
}

	.inner {
	padding:20px 10px;
}

	.sTop .inner {
	text-align:center;
}
					.Menu{
	background:#fff;
	margin:0px 0 10px 0;
	padding:0px 0 0 90px;

}
.sTop h2{
font-size:1em;
	position:relative;
	top:120px;
}
.s1 .corp-info{
	flex-basis:100%;
	max-width:320px;
	font-size:0.8em;
}
#clients{
	flex-basis:100%;
	max-width:320px;
}

.s2 {
	padding:10px;
}

		#okuda-image{
		display:none;
	}

.s4 p#okuda-photo{
background:url(../images/okuda3.jpg) no-repeat top center;
padding:320px 5px 0 5px;
}

#vitae{
	padding:5px;
}

p.title{
	font-size:1em;
	min-height:40px;
}
.s4 {
	color:#333;
	background:none #fff;
}
.s4 h3 span{
	font-size:0.5em;
}

	.results p{
	font-size:0.9em;
		line-height:1.4;
}
#table_area{
    background-color:rgba(255,255,255,0.85);
	padding:0 0em;
}
.timetable tr td:nth-child(1) {
    padding: 0 0.25em;
}
p.description{
	text-align:left;
}

}