@charset "utf-8";
body {
	margin: 0;
	font-family: "メイリオ", "Hiragino Kaku Gothic Pro", sans-serif;
}

/*テキストの自動拡大を無効化*/
body {
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/*グーグル　クロムで画像がぼやけるのを防ぐＣＳＳ*/
img{
-webkit-backface-visibility: hidden;
}

/*リンク*/
.hero a,.toppost a,.contents a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

/*「コンテンツ」ブロック*/
.contents {
	background-color: antiquewhite;
	padding: 40px 15px;
}

/* ヘッダーロゴ */
.container .logo-head {
width: 200px;
margin-right: 5px;
}

.container4 .logo-head {
width: 200px;
margin-right: 5px;
}

.container h1 {
	font-size: 32px;
}

/*記事*/
article{
	background-color: #ffffff;
	padding: 20px;
}

h1 {
	font-size: 30px;
}

p {
	line-height: 2;
}

/*画像*/
img {
	width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

/*投稿日*/
time {
	color: #666666;
	margin-bottom: 15px;
	display: block;
}

/* WEBSITE */
.website img {
	width: 80%;
	height: auto;
	background-color: #dddddd;
	padding: 2px;
}

.website {
	text-align: center;
}

/*外部HPへのリンクボタン*/
.hero3 a {
display: inline-block;
margin: 20px 0 20px 0;
padding: 10px 30px;
box-shadow: 0 0 0 1px #888;
border: solid 3px currentColor;
border-radius: 6px;
background-color: #bf1a20;
color: #ffffff;
font-size: 14px;
text-decoration: none;
border: solid 3px #eeeeee;
}

.hero3 .hp {
	text-align: center;
}

.hero3 a:hover {
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.hero3 span {
	margin-left: 5px;
}

.hero3 ul {
	line-height: 1.8;
}

/*サブメニュー*/
aside {
	background-color: #ffffff;
	padding: 20px;
	margin-top: 40px;
}

.toppost h2 {
	color: #bf1a20;
	font-family: 'Exo 2' , sans-serif;
	font-weight: normal;
	text-align: center;
}

/* サブメニュー・プロフィール */
.profile img {
width: 180px;
height: 180px;
border-radius: 50%;
}

.profile figure {
 text-align: center;
}

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

/*サブメニュー：注目記事メニュー*/
.topics ul {
 list-style-type: none;
 padding: 0;
}

.topics a {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.topics figure {
width: 150px;
flex: none;
}

.topics img {
	vertical-align: bottom;
}

.topics h3 {
	font-size: 14px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 10px;
}

.topics span {
	display: block;
	color: #0C3FA7;
}

.topics li {
	margin-bottom: 30px;
}

.topics span {
	font-size: 14px;
}


/*サブメニュー：特徴*/

.topics2 {
	margin-top: 0;
}

.topics2 ul {
 list-style-type: none;
 padding: 0;
}

.topics2 a {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.topics2 figure {
width: 150px;
flex: none;
}

.topics2 img {
	vertical-align: bottom;
}

.topics2 h3 {
	font-size: 14px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 10px;
}

.topics2 span {
	display: block;
	color: #0C3FA7;
}

.topics2 li {
	margin-bottom: 30px;
}

.topics2 span {
	font-size: 14px;
}



/*トップページ・ヒーローイメージ*/
.hero {
background-image: url("../new-images/top-image1500.jpg");
background-size: cover;
background-position: center;
height: 777px;
color: #ffffff;
padding: 15px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.hero h1 {
	font-size: 48px;
	font-family: 'Exo 2',sans-serif;
	text-shadow: 0 0 10px #444444;
	text-align: center;
}

.hero p {
font-weight: bold;
text-shadow: 0 0 10px #444444;
width: 340px;
margin-top:-20px;
}

.hero a {
	border: solid 2px #ffffff;
	padding: 10px 40px;
	border-radius: 10px;
	background-color: rgba(41, 171, 226,0.7);
	margin-top: 10px;
}

/* トップページ：記事一覧 */
.toppost {
	padding: 15px;
}

.toppost div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* WEB SITEの設定 */
.yahoo-top figure {
	background-color: #bf1a20;
	padding: 3%;
}

.raku-top figure {
	background-color: #DDBC2F;
	padding: 3%;
}

.moku-top figure {
	background-color: #859F46;
	padding: 3%;
}

.insta-top figure {
	background-color: #303030;
	padding: 3%;
}

.tweet-top figure {
	background-color: #3DD189;
	padding: 3%;
}

.blog-top figure {
background-color: #DBF3E0;
padding: 3%;
}

figure img {
	vertical-align: bottom;
}

/*4カラムの場合の対応策：space-between*/
.toppost div::before{
  content:"";
  display: block;
  width:23%;
  order:1;
}

.toppost div::after{
  content:"";
  display: block;
  width:23%;
}
/*4カラムの場合の対応策：space-betweenはここまで*/

.toppost article {
	padding: 0;
	width: 48%;
	flex: none;
}

.toppost article:not(:nth-last-child(-n+2)){
	margin-bottom: 12px;
}

.toppost h3 {
	margin: 0;
	font-size: 14px;
}

/*「会社概要」ページ*/

.enkaku h2 {
	color: inherit;
	border-left: solid 14px #000000;
	text-align: left;
	padding: 0 10px;
	font-size: 20px;
	font-weight: bold;
	margin-top:70px;
	margin-bottom: 10px;
}

.kifu h3 {
	color: inherit;
	border-left: solid 14px #000000;
	text-align: left;
	padding: 0 10px;
	font-size: 20px;
	margin-top:70px;
	margin-bottom: 0;
}

table {
	border-collapse: collapse;
	width: 100%;
}

.gaiyo th, td {
	border: solid 1px #cccccc;
	padding: 18px;
}

.gaiyo th {
	width: 6em;
	text-align: left;
	background-color: #135977;
	color: #ffffff;
}

.gaiyo td {
	background-color: #e8eef9;
}

.enkaku th, td {
	border: solid 1px #cccccc;
	padding: 18px;
}
.enkaku th {
	width: 7em;
	text-align: left;
	background-color: #135977;
	color: #ffffff;
	padding-right: 0;
}

.enkaku td {
	background-color: #F4F4F4;
}

.kifu th, td {
	border: solid 1px #cccccc;
	padding: 6px;
}
.kifu th {
	text-align: center;
	background-color: #135977;
	color: #ffffff;
	font-weight: normal;
}

.kifu .a-retu1 {
	width: 16em
}

.kifu .a-retu2 {
	width: 8em;
	padding: 0:
}

.kifu .a-retu3 {
	width: 12em
}

.kifu td {
	background-color: #F4F4F4;
}

.kifu td:nth-child(1){
	font-size: 15px;
}

.kifu td:nth-child(2){
	font-size: 11px;
}

.kifu td:nth-child(3){
	font-size: 14px;
}

.kifu figure {
	display: flex;
	justify-content: center;
}

.kifu figure img {
	margin-top: 30px;
	width: 80%;
	height: 80%;
}

/* 「お問い合わせ」ページ */
input, textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
}

textarea {
	height: 120px;
}

input[type="submit"]{
	background-color: #ffaa00;
	border: none;
	-webkit-appearance: none;
}

/*会社地図*/
.location {
	margin: 0;
	padding: 0;
}

.location iframe {
    width: 100%;
    height: 400px;
    vertical-align: bottom;
}
.location h2 {
    margin: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #5D9AB2;
    color: #FFFFFF;
    text-align: center;
}

/* ==== PC版 ==== */
@media (min-width: 600px){

/* PC版：コンテナ */
.container,.container1 {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

/* PC版：「ヘッダー」ブロック内のコンテナ*/
header .container {
	display: flex;
	justify-content: space-between;
}

/* PC版：記事 */
article {
	padding-left: 60px;
	padding-right: 60px;
}

h1 {
	font-size: 40px;
}

p {
	font-size: 18px;
}

/* PC版：トップページ：ヒーローイメージ */
	.hero h1 {
	font-size: 68px;
}

/* PC版：トップページ：記事一覧 */
.toppost article {
	width: 30%;
}

.toppost article:not(:nth-child(-n+2)){
	margin-bottom: 0:
}

/* PC版：「お問い合わせ」ページ */
input[type="submit"]{
	width: 250px;
}

}
/* ==== PC版の設定ここまで ==== */


/* ==== PC版（大） ==== */
@media (min-width: 1025px){

/* PC版（大）：コンテナ */
.container,.container1 {
	max-width: 1100px;
}

/* PC版（大）：「コンテンツ」ブロック内のコンテナ */
.contents .container {
	display: flex;
	justify-content: space-between;
}

/* PC版（大）：記事 */
article {
	width: 68%;
	box-sizing: border-box;
}

/* PC版（大）：サブメニュー */
.sub {
	width: 28%;
}

/* PC版（大）：プロフィール */
.profile {
	margin-top: 0;
}


}
/* ==== PC版（大）の設定ここまで ==== */






/*2019年7月7日と7月15日*/
.footer-new {
color: #FFFFFF;
background-color: #000000;
}

.footer-new .container2 {
padding-top: 40px;
padding-right: 20px;
padding-left: 20px;
padding-bottom: 10px;
}

.footA h2 {
font-family: Consolas;,"Hiragino Kaku Gothic Pro", sans-serif;
margin-top: 0;
margin-bottom: 10px;
font-size: 30px;
letter-spacing: 0.2em;
}

.footA p {
margin-top: 0;
margin-bottom: 0;
font-size: 14px;
}

.footA a {
color: #ffffff;
text-decoration: none;
}

.footA{
margin-bottom: 30px;
}

/* フッターＤ：　ＳＮＳメニュー　*/
.footD {
margin-top: 20px;
}

.footD ul {
display: flex;
margin: 0;
padding: 0;
list-style: none;
}

.footD a {
display: block;
margin-right: 8px;
padding: 0px;
color: #ffffff;
font-size: 16px;
text-decoration: none;
border: solid 1px currentColor;
width: 2em;
line-height: 2em;
border-radius: 50%;
text-align: center;
}

.footD a:hover {
background-color: rgba(0,0,0,0.3);
}

/*フッターB：フッターメニュー*/
.footB div{
margin-bottom: 20px;
}

.footB h3{
margin-top: 0;
margin-bottom: 10px;
border-bottom: solid 1px currentColor;
font-size: 14px;
}

.footB ul{
margin: 0;
padding: 0;
list-style: none;
}

.footB a{
display: block;
padding: 5px;
color: #ffffff;
font-size: 12px;
text-decoration: none;
}

.footB a:hover{
background-color: rgba(255,255,255,1.0);
color:#000; 
}

/*フッターC：コピーライト*/
.footC {
font-size: 12px;
text-align: center;
}

/*768px以上の設定*/
@media (min-width: 768px){
.footB{
display: flex;
}

.footB div {
flex: 1;
}

.footB div:not(:first-child){
margin-left: 40px;
}

.footer-new .container2 {
display: flex;
flex-wrap: wrap;
max-width: 1100px;
margin-left: auto;
margin-right: auto;
}

.footA {
flex: 0 0 35%;
}

.footB {
flex: 0 0 65%;
}

}

/*2019年7月27日*/
.copyright {
	text-align: center;
	padding: 20px 10px;
	font-size: 12px;
	background-color: #bf1a20;
	color: #fff;
}

/*2019年8月4日お問い合わせページ*/

/*コンテンツページ：記事*/
.post .container1 {
max-width: 800px;
margin-left: auto;
margin-right: auto;
padding: 30px 10px;
}

.post h1 {
padding-left: 0.5rem;
border-left: solid 0.75rem #500B73;
font-size: 2rem;
}

.post p {
font-size: 1rem;
line-height:  2;
}

.contact {
margin-top: 20px;
margin-bottom: 20px;
padding: 20px;
border: solid 1px #ddd;
text-align: center;
}

.contact span {
display: inline-block;
margin-bottom: 20px;
font-size: 2.2rem;
width: 2em;
line-height: 2em;
border-radius: 50%;
text-align: center;
background-color: #006633;
color: #fff;
}

.contact h2 {
margin-top: 0;
font-size: 1.2rem;
}

.contact a {
font-size: 1.4rem;
color: inherit;
text-decoration: none;
}

@media (min-width: 768px){

.contact-wrap {
display: flex;
}

.contact {
flex: 1;
}

.contact:first-child {
margin-right: 20px;
}

}

/*ヘッダーの下の薄い線の設定*/
.head-line {
border-bottom: 1px solid #ccc;
}

/*2019年8月14日　ＮＥＷヘッダー・トグルボタン付き*/

/*ヘッダーB： ナビゲーションメニュー*/
.headB ul {
margin: 0;
padding: 0;
list-style: none;
}

.headB a {
display: block;
padding: 14px;
color: inherit;
font-size: 12px;
text-decoration: none;
}

.headB a:hover {
opacity: 0.6;
}

.top-head2 {
position: absolute;
top: 0;
left: 0;
z-index: 100;
width: 100%;
box-sizing: border-box;
background-color: rgba(255,255,255,0.9);
padding: 25px 15px;
color: #555;
font-weight: bold;
}

/*ヘッダーを重ねる設定を解除*/
.nohero .top-head2 {
	position: static;
}


/*768px以上の設定2→960pxに変更*/
@media (min-width: 960px){
header .container4 {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1100px;
margin-left: auto;
margin-right: auto;
}

.headB ul {
display: flex;
}

}

/*ヘッダーC：トグルボタン*/
@media(max-width: 959px){
/*小さい画面用の設定*/
header .container-small {
display: flex;
align-items: center;
justify-content: space-between;
}

.headC {
margin-right: 10px;
padding: 0 20px;
border: none;
outline: none;
background: none;
font-size: 28px;
opacity: 0.5;
cursor: pointer;
}

.headC:hover {
opacity: 0.3;
}

.headB {
display: none;
}

}

@media (min-width: 960px){
/*大きい画面用の設定*/
.headC{
display: none;
}

.headB {
display: block !important;
}

}
