/*
Theme Name: oda-Theme
Theme URL:https://oda-seisakusyo.com/
Description: This is sorasoku Theme
*/


@charset "utf-8";


body {
	width:100%;
	font-size:100%;
	line-height:120%;
	font-family:'Sawarabi Mincho', sans-serif, 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', Sans-serif;
	color:#4b4949;
	-webkit-text-size-adjust:100%;/* for smt */
	margin:0px;
	font-size:18px;
}
#headerWrapper {
	top:0px;
	width:100%;
}
#headerInner {
	width:1260px;
	margin:auto;
	padding:10px;
}
.topLogo > a ,.footerLogo > a {
	color:#000;
	font-weight: bold;
	font-size:30px;
}
.topLogo span ,.footerLogo span {
	font-size:12px;
}
#spHeader {
	display:none;
}
._btn {
	width:200px;
	border-radius: 30px;
  line-height: 1.5em;
	font-size:18px;
	padding:10px;
	text-align: center;
}
._btnBox {
	text-align:right;
}
.gray {
	background-color:#eee;
	width:100%;
}
.topBtn {	
	background-color: #000;
	color:#fff;
}

.pc {
	display: block;
}
.sp {
	display: none;
}
/* ■■■■■■■■■■■　GlobalMenu グローバルメニュー　■■■■■■■■■■■  */
#globalNav {
	background-color:#00305b;
	width:100%;
	height:60x;
}
#globalNav ul {
	width:1260px;
	margin:auto;
	padding: 10px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
#globalNav ul li {
	width:calc( 100% / 8 );
	padding:5px;
}
#globalNav ul li a {
 color:#FFF;
 font-size:18px;
}

/* ■■■■■■■■■■■　topImage トップイメージ　■■■■■■■■■■■  */
#topImage {
	width:100vw;
	height:100vh;
}
#topImage img,#topImage video {
	width:100%;
	height:100%;
	object-fit:cover;
}
#topImgText_up {
	width:calc( 50% + 6em );
	z-index: 2;
	position: relative;
	top:-50%;
	left:calc( 50% - 6em );
	color:#fff;
	font-size:100px;
}
#topImgText_un {
	width:calc( 50% + 10em );
	z-index: 2;
	position: relative;
	top:calc( -50% + 2em );
	left:calc( 50% - 10em );
	color:#fff;
	font-size:32px;
}

/* ■■■■■■■■■■■　mainContents メインコンテンツ　■■■■■■■■■■■  */
#mainContents {
	padding-top:0px;
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin:auto;
}

/* ■■■■■■■■■■■　container コンテナ２カラム　■■■■■■■■■■■  */
.container-2col {
	width:1260px;
	padding:10px;
	margin:auto;
	display:flex;
	flex-direction: row;
}
#leftContents {
	width:calc( 80% - 20px );
	padding:10px;
}
#widgetsArea {
	width:calc( 20% - 20px );
	padding:10px;
}
#widgetsArea li {
	margin:10px 0px;
}
#widgetsArea ul {
	margin:10px 0px;
}

/* ■■■■■■■■■■■　h2-h2 見出し　■■■■■■■■■■■  */
h2.top_h2 {
	display: inline-block;
  font-size: 80px;
  line-height: 1em;
  border-left: 0px;
  padding: 15px;
	width: auto;
  margin: auto;
}
h3.top_h3 {
	display: inline-block;
	font-size:16px;
	width: auto;
  margin: auto;
	margin-bottom: 50px;
  border-bottom: solid 2px #000;
}
h4 {
	display: inline-block;
	font-size:16px;
	padding-left:20px;
	width: auto;
}

/* ■■■■■■■■■■■　newslistContents ニュースリスト　■■■■■■■■■■■  */

#newsBoxWide {
	width:100%;
	text-align: center;
	margin-top:100px;
	margin-bottom:100px;
}

#newslistContesnts {
	width:100%;
	padding:15px;
	font-size:18px;
	line-height: 1.5em;
}
#newslistContesnts .post-wrap {
	border-bottom:dotted 2px #aaa;
	padding-bottom:5px;
}
#newslistContesnts .post-wrap a {
	display: flex;
	flex-direction: row;
}

/* ■■■■■■■■■■■　aboutBox アバウト　■■■■■■■■■■■  */

#aboutBoxWide {
	width:1260px;
	margin:auto;
	background-color:#eee;
	text-align: center;
	margin-top:100px;
	margin-bottom:100px;
}

#aboutContesnts {
	width:100%;
	padding:15px;
	font-size:18px;
	line-height: 1.5em;
}

/* ■■■■■■■■■■■　serviceBox サービス　■■■■■■■■■■■  */

.serv {
	display: flex;
	flex-direction: row;
}
.servBox {
	width:calc( 50% - 20px );
}
.servContesnts {
	width:600px;
}
figure.service ,figure.Facilities ,figure.product ,figure.recruite {
	width:calc( 100% - 20px );
	height:550px;
	padding:10px;
	background-color:#0071bc;
	color:#FFF;
}
figure p {
	padding:10px;
}

/* ■■■■■■■■■■■　pageNation ページネイション　■■■■■■■■■■■  */
div.pageNation {
	width:100%;
	display:flex;
	flex-direction: row;
}
div.pageNation > div {
	width:30px;
	height:30px;
	font-weight: bold;
	text-align:center;
	border:solid 2px #000;
	margin:10px;
	padding:0px;
}
div.pageNation > div > a {
	width:30px;
	height:30px;
	padding:0px;
	display:inline-block;
}
div.pageNation > div > a:hover {
	background-color:rgb(104, 141, 241);
	color:#e2e2e2;
}

/* ■■■■■■■■■■■　widgets　■■■■■■■■■■■  */

#widgetsArea {
	width:20%;
	padding:10px;
	color:#333;
}
.widgetsMenu > li > h2 {
	color:#333;
	font-size:18px;
	margin:10px 0px;
	padding:10px 0px;
}
.widget {
	line-height:1.2em;
}
.widget > ul {
	padding:0px;
}
.widget > ul > li {
	text-decoration: none;
	list-style-type:none;
}
.widget > ul > li > a {
	color:#333;
	display:block;
	padding:10px;
	font-size:16px;
}
.widget > ul > li > a:hover {
	background:#a4b1d4;
	text-decoration:none;
}
.widget_archive {
	width:100%;
	margin:10px 0 10px 0;
}
.widget_archive > select {
	width:100%;
	margin:10px 0 10px 0;
	font-size:16px;
}


/* ■■■■■■■■■■■　検索　■■■■■■■■■■■  */
#searchform {
	width:100%;
	margin-bottom:30px;
  box-sizing: border-box;
  position: relative;
  border: 1px solid #999;
  display: block;
  padding: 3px 10px;
  border-radius: 20px;
  height: 2.3em;
  width: 260px;
  overflow: hidden;

}
#searchform > div > input[type="text"] {
	width:100%;
	border:none;
	height:2em;
}
#searchform > div > input[type="text"]:focus {
	outline:0px;
}
#searchform > div > input[type="submit"] {
  cursor: pointer;
  font-family: FontAwesome;
  font-size: 1.3em;
  border: none;
  background: none;
  color: #3879D9;
  position: absolute;
  width: 2.5em;
  height: 2.5em;
  right: 0;
  top: -10px;
  outline : none;

}

.homeEntryList {
	margin:10px;
	height:auto;
}
.homeEntryList > dd {
	line-height:1.2em;
	margin-inline-start: 0px;
}
.entryThumb > img {
	width:150px;
	float:left;
	margin:10px;
}

.page-numbers {
	padding:5px;
	display:inline-block;
	float:left;
}
.page-numbers a {
    border: 1px solid #002abd;
    background: #ddd;
    padding: 10px;
    text-decoration: none;
    color: #002abd;
    font-weight: bold;
	display:inline-block;
}
.page-numbers a:hover {
    border: 1px solid #333;
    background: #033fc5;
    transition: 0.5s;
    color: #333;
}
.current {
	font-size:18px;
    font-weight: bold;
    padding: 10px;
}
.homeListH3 {
    font-size: 24px;
    position: relative;
    padding: 1rem 2rem;
    border-bottom: 3px solid #333;
    border-left: none;
}
.homeList >li > a {
	display:block;
	overflow:hidden;
}
.homeList >li > a:hover {
	background:#333;
}
.homeList > li > a >img {
	width:70px;
	height:auto;
	margin:10px;
	float:left;
}

/* ■■■■■■■■■■■　ページネイション　■■■■■■■■■■■  */
.pagenation {
	display:flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.oldpage {
	width:calc( 50% - 50px );
	display:flex;
	flex-direction: row;
	white-space: wrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.oldpage > a {
	display:block;
	background:#eee;
	padding:10px;
}
.oldpage > a:hover {
    background: #033fc5;
	color:#fff;
}
.newpage {
	width:calc( 50% - 50px );
	display:flex;
	flex-direction: row;
	white-space: wrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.newpage > a {
	display:block;
	background:#eee;
	padding:10px;
}
.newpage > a:hover {
    background: #033fc5;
	color:#fff;
}
.wp-block-search .wp-block-search__label {
	font-size:18px;
	color:#fff;
}
#archives-dropdown-2 {
	width:100%;
	padding:10px;
}
#archives-dropdown-2 > option {
	font-size:16px;
}
.arciveList {
	width:calc( 100% - 20px );
	padding:10px;
	border:1px solid #ccc;
}
.arciveList > li > a {
	display:flex;
	height:100%;
}
.listThumb {
	width: calc(20% - 15px);
	float:left;
	margin:5px;
}
.listBody {
	width:calc( 80% - 20px );
	padding:10px;
	float:right;
	display:table-cell
}
h3.listTitle{
	font-weight:bold;
	font-size:18px;
	border:none;
	background-color:transparent;
	color:#333;
}

	/* ■■■■■■■■■■　Newsページ　 */
#News h1 ,#About h1 ,#detaile h1 ,#message h1 {
	font-size:80px;
	margin-bottom:10px;
	color:#4b4949;
}

	/* ■■■■■■■■■■　Aboutページ　 */
#contentFig {
	width:100%;
	height:300px;
}
#aboutFig img {
	width:100%;
	height:100%;
	object-fit: cover;
}

#AboutContent table {
	margin:50px 0 50px 0;
	width:100%;
	padding:20px;
}
#AboutContent table td ,#AboutContent table th{
	border-bottom:1px solid #002abd;
	padding:10px;
}
#messageContent {
	width:100%;
	display: flex;
	flex-direction: row;
}
#messageContent div {
	width:calc( 100% - 300px );
	margin:0px 0px 0px 50px;
}
#president {
	width:250px;
	height:200px;
}
#president img {
	width:100%;
	height:100%;
	object-fit: cover;
	margin:10px;
}



	/* ■■■■■■■■■■　タブレット CSS Document */
@media screen and (max-width:768px){

	ul.related_post_container > li > a > div.related_thumb {
		width:180px;
		height:100px;
	}
	ul.related_post_container > li > a > div.related_thumb > img {
		width:100%;
		height:100%;
		object-fit: cover;
	}
	/* ■■■■■■■■■■■　Header ヘッダー　■■■■■■■■■■■  */

	#headerInner {
		width:calc( 100% - 20px );
	}

	/* ■■■■■■■■■■■　topImage トップイメージ　■■■■■■■■■■■  */

	#topImgText_up {
	font-size:80px;
}
#topImgText_un {
	font-size:20px;
}
}


/* ■■■■■■■■■■　スマホ CSS Document */
@media screen and (max-width:768px){ 

.pc {
	display: none;
}
.sp {
	display: block;
}
h2 {
	width:100%;
	line-height: 100%;
}


/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  background: #e4e4e4;
}
@media screen and (max-width: 767px) {
  nav {
    left: -220px;
    width: 220px;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 30px;
  left: 30px;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.open .toggle_btn {
  left: 330px;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.open .toggle_btn span:nth-child(1), .open .toggle_btn span:nth-child(3) {
  width: 16px;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translate(-1px,4px) rotate(-45deg);
  transform: translate(-1px,4px) rotate(-45deg);
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translate(-1px,-4px) rotate(45deg);
  transform: translate(-1px,-4px) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .open .toggle_btn {
    left: 250px;
  }
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}
/*============
main
=============*/
main {
  width: 100%;
  padding: 50px 0;
  transition: all .5s;
}
.open main {
  margin-left: 300px;
}
.topLogoSP {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
#headerInner .topLogo {
	width: 100%;
	margin-top:10px;
}
.topLogo > a ,.footerLogo > a {
	text-align: center;
	display: block;
}

#spHeader {
	display:block;
}
/* ■■■■■■■■■■■　widgets　■■■■■■■■■■■  */

#widgetsArea {
	width:100%;
	padding:10px;
	color:#333;
}
.widgetsMenu > li > h2 {
}
.widget {
}
.widget > ul {
}
.widget > ul > li {
}
.widget > ul > li > a {
	font-size:18px;
	line-height:1.7em;
}
.widget > ul > li > a:hover {
}
/* ■■■■■■■■■■■　検索　■■■■■■■■■■■  */
#searchform {
}
#searchform > div > input[type="text"] {
}
#searchform > div > input[type="text"]:focus {
}
#searchform > div > input[type="submit"] {
}

	/* ■■■■■■■■■■■　Header ヘッダー　■■■■■■■■■■■  */

	#headerInner {
		width:100%;
	}
	/* ■■■■■■■■■■■　topImage トップイメージ　■■■■■■■■■■■  */

#topImgText_up {
	font-size:30px;
}
#topImgText_un {
	font-size:20px;
}
/*
	記事一覧
*/
.imgThumb {
	display:flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
}
div.articleBoxWide > div.post > div.articleContents > p {
	font-size:16px;
	line-height:1.5em;
}

.arciveList > li > a {
	width:100%;
	display:flex;
	flex-direction: column;
}
.listBody {
	width:calc( 100%  );
}
.post-thumbnail > img {
	width:50px;
}
.post-wrap {
	border-bottom:dotted #999;
	margin-bottom:20px;
}


/* ■■■■■■■■■■■　mainContents メインコンテンツ　■■■■■■■■■■■  */
#mainContents {
	width:100%;
	flex-direction: column;
}

/* ■■■■■■■■■■■　container コンテナ２カラム　■■■■■■■■■■■  */
.container-2col {
	width:100%;
	padding:10px;
	margin:auto;
	display:flex;
	flex-direction: column;
}
#leftContents {
	width:100%;
	padding:10px;
}
#widgetsArea {
	width:100%;
	padding:10px;
}
#widgetsArea li {
	margin:10px 0px;
}
#widgetsArea ul {
	margin:10px 0px;
}

/* ■■■■■■■■■■■　aboutBox アバウト　■■■■■■■■■■■  */

#aboutBoxWide {
	width:100%;
}


/* ■■■■■■■■■■■　serviceBox サービス　■■■■■■■■■■■  */

.serv {
	flex-direction: column;
}
.servBox {
	width:100%;
}
.servContesnts {
	width:100%;
}

	/* ■■■■■■■■■■　Aboutページ　 */
#messageContent {
	width:100%;
	display: flex;
	flex-direction: column;
}
#messageContent div {
	width:100%;
	margin:0px 0px 0px 0px;
}
#president {
	width:100%;
}


}