/*
Theme Name: shin-child
Template: understrap
*/

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;500;700&family=Noto+Sans+JP:wght@400;700&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,  caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header,  menu, nav, section {display: block;}

* {
  box-sizing: border-box;
}

html{ font-size: 62.5% ; scroll-behavior: smooth;   scroll-padding-top: 70px;} /*初期値16pxの62.5%でルートが10px*/
body{
	line-height: 1.6;
	background: url("/img/common/back.jpg") 0  calc( 100% - 80px ) no-repeat; background-size: 65% auto;
	font-size: clamp( 14px, 1.6vw, 16px);
	font-family: 'Noto Sans JP', sans-serif;
	color:#000; -webkit-text-size-adjust: 100%;
    min-height: 100vh; 
	 font-weight: 400;
    
}


/*全てをクリア*/
.clear {clear: both;} 

/* new clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */


/* リンク設定
------------------------------------------------------------*/
a,a:visited{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
 color:   #005bab; transition: all 0.5s ease 0s;
  cursor: pointer;}

a:hover, a:active{transition: all 0.5s ease 0s;
outline: none;
color:#ff9900; text-decoration: none;}

 a:hover img{opacity:.7; }

/**** Clearfix ****/

/* レイアウト
------------------------------------------------------------*/
.inner{margin:0 auto;max-width:1150px; width:98%; position: relative;  }
.inner2{margin:0 auto;max-width:830px; width:90%;position: relative;}
.inner3{margin:0 auto;max-width:1000px; width:85%;position: relative;}
.inner4{margin:0 auto;max-width:700px; width:85%;position: relative;}
.inner4-2{margin:0 auto; max-width:calc( 700px + 2em ); width:calc( 85% + 2em );position: relative;}

#wrapper{margin:0 auto 0px; 
padding:0 0 0px; overflow: hidden; 
	display: flex;
  flex-direction: column;
  min-height: 100vh; 

}
/*.googlefont */

.lato-small {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight:600;
  font-style: normal;
}
.jost-regular {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.jost-bold{
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight:600;
  font-style: normal;
}

.yugo{
font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
     font-weight: 600;
}
.yumin{font-family: "游明朝体", Yu明朝, YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;font-weight: 600;}

/* 共通変更 フォントサイズ　*/
.font12 { font-size: clamp( 12px, 1.2vw, 12px); }/*  10px 最大　2px*/
.font14 { font-size: clamp( 14px, 1.4vw, 14px); }/*  12px 最大　14px*/
.font16 { font-size: clamp( 14px, 1.6vw, 16px); }/*  14px 最大　16px*/
.font18 { font-size: clamp( 16px, 1.8vw, 18px); }/*  16px 最大　18px*/
.font20{ font-size: clamp( 16px, 2.0vw, 20px); }/*  16px 最大　20px*/
.font22 { font-size: clamp( 18px, 2.2vw, 22px ); }/*  18px 最大　22px*/
.font24{ font-size: clamp( 18px, 2.4vw, 24px); }/*  18px 最大　24px*/
.font26{ font-size: clamp( 18px, 2.6vw, 26px); }/*  20px 最大　26px*/
.font28 { font-size: clamp(20px, 2.8vw, 28px); }/*  20px 最大　28px*/
.font30{ font-size: clamp(24px, 3.0vw, 30px); }/*  24px 最大　30px*/
.font34{ font-size: clamp( 26px, 3.4vw, 34px); }/*  26px 最大　34px*/
.font36{ font-size: clamp( 28px, 3.6vw, 36px); }/*  28px 最大　36px*/
.font40{ font-size: clamp(30px, 4.0vw, 40px ); }/*  30px 最大　40px*/
.font46 { font-size: clamp( 32px, 4.6vw, 46px );}/*  32px 最大　46px*/
.font48 { font-size: clamp(34px, 4.8vw, 48px );}/*  34x 最大　48px*/
.font54 { font-size: clamp(36px, 5.0vw, 54px );}/*  36x 最大　54px*/
.font58 { font-size: clamp(32px, 5.0vw, 58px );}/* 32x 最大　60px*/
.font60 { font-size: clamp(40px, 5.2vw, 60px );}/* 40x 最大　60px*/

.blue{ color: #005bab;}
.flex{ display: flex;}
.wrap{flex-wrap: wrap;}
.justify-content{justify-content: space-between;}
.reverse{flex-direction: row-reverse;}

.backblue{ background: #005bab;}

/* ヘッダー
----------------------------------*/
#glovalheader{display: block; 
  z-index: 90;
  cursor: pointer;
  pointer-events: auto;  background: rgba(255,255,255,0.9);
 transition: all 0.5s ease 0s;  font-weight: 400;
 position: fixed; /*ポジションを固定する*/
  top: 0px;
 width:100%; text-align: center;
}

#glovalheader h1{ float: left; width:40%; max-width: 250px; padding:0; margin:28px 0 0px 0px ;  }

@media only screen and (min-width: 1000px){
.mob.logo,.headermynavi{ display:none;}
.el_humburger {  display: none;}
    
#glovalheader .navi{ float: right; text-align: right;  margin: 0px;width:60%;  }
#glovalheader .navi ul{margin: 0 auto 0px 0;width:95%; max-width: 600px;border-bottom: 1px solid #fff;  text-align: right;  height:100px;}
#glovalheader .navi li{ display: inline-block; text-align: center; vertical-align: middle; width:calc( 100% / 6 ); }
.mainView{  margin: 0 0;}
#glovalheader li a{ color: #000; height: 100%;
position: relative; text-align: center;
display:block;  padding:  45px 0 30px;
text-decoration: none;transition: all 0.5s ease 0s;
} 
#glovalheader li a::before{
 font-family: "Font Awesome 7 Free";
 font-weight: 900; 
 content: "\f0d7";
 position: absolute;  font-size: 18px;
 top:20px; left:50%; color: #005bab;transition: all 0.5s ease 0s; transform: translateX(-50%);
}
#glovalheader li.dwbtn a::before{
font-family: "Font Awesome 7 Free";
 font-weight: 900;  font-size: 16px;
 content: "\f0ed" !important;
}
    
#glovalheader li a:hover{background: #005bab; color: #fff; transition: all 0.5s ease 0s;}
#glovalheader li a:hover::before{ color: #fff;ransition: .3s; }

.home #glovalheader li.homebtn a,.page-template-page-company #glovalheader li.companybtn a,.page-template-page-business #glovalheader li.businessbtn a,.page-template-page-topics #glovalheader li.topicsbtn a,.page-template-page-download #glovalheader li.dwbtn a{background: #005bab; color: #fff; transition: all 0.5s ease 0s;}
.home #glovalheader li.homebtn a::before,.page-template-page-company #glovalheader li.companybtn a::before,.page-template-page-topics #glovalheader li.topicsbtn a::before,.page-template-page-download #glovalheader li.dwbtn a::before{ color: #fff;ransition: .3s; }
.contactbtn span{  display:none;}
#glovalheader.scroll{filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.5));background: rgba(255,255,255,1);}
}

@media only screen and (min-width: 1050px){#glovalheader a{ padding:0 10px 10px; font-size: 16px;} }
@media only screen and (min-width: 1180px){#glovalheader a{ padding:0 15px 10px; font-size: 16px;} }
@media only screen and (max-width: 1000px){
#glovalheader h1{ float: left; width: 250px; padding:0; margin:15px 0 10px 0px ;  }

.mainView{ margin:0 0 0 0;} 
/*ハンバーガーボタン*/
.el_humburger {
  position: fixed; display: block;
  top:10px;  
  right: 10px;  
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding:15px 10px ;
  z-index: 65;
  cursor: pointer;
  pointer-events: auto;
  color: #000;  width: 60px; background: rgba( 255,255,255,0.8); height: 60px; 
  text-align: right;}
    .js_humburgerOpen .el_humburger{ width:60px; margin-right: 10px; }
.el_humburger_wrapper {
    margin-bottom: 5px;
    width:40px;
  display: inline-block; }
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none; }
.el_humburger_text.el_humburger_text__close {
  display: none; }
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: block; }

.el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #000; }
  .js_humburgerOpen .el_humburger_text svg path {
    fill: #000; } 
  .el_humburger span.el_humburger_bar {
    left: 0;
    top: 0;}
.el_humburger span.el_humburger_bar {
  display: block;
  margin: 0 0 8px; text-align: left;
  height:4px;
  background: #005bab; border-radius: 3px;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }
.el_humburger span.el_humburger_bar.bottom {margin-bottom: 0; }
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  -webkit-transform: translateY(12px) rotate(-45deg);
  -ms-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg); }
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle { opacity: 0; }
 .js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-11px) rotate(45deg);
  -ms-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg); 
 width: 100%;margin-top: 8px;}
.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%; }
    
 
.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 55px;
  margin: 0 auto;
  height: 4px; }
 
.el_humburgerButton__close span.el_humburger_bar.top {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
  transform: translateY(5px) rotate(-45deg);}
 
.el_humburgerButton__close span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg); }
nav.navi {
  position: fixed;
  right: 0; top:0;
  height: 100%;
  background-color: #fff !important;
  width: 100%;
  z-index: 60;
  padding-top:20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
  transform:translateZ(0) translateX(100%);
  overflow: auto; }
  .js_humburgerOpen .navi {
    transform:translateZ(0) translateX(0); 
}
.mob.logo{margin: 5px auto; width:60%; max-width: 210px;}
#glovalheader .navi li{ display:block; vertical-align: top; margin: 0em auto;  font-size: 18px; position: relative; width:90%; text-align: left;border-bottom: 1px dotted;  }
#glovalheader .navi ul { text-align: center;margin: 20px auto 0px; }
#glovalheader .navi li a{ position: relative; display: block; padding: 0.5em 2em;  }
#glovalheader .navi li a:before{
font-family: "Font Awesome 7 Free";
 font-weight: 900; 
  content: "\f0da";  position: absolute;   top:50%; transform: translateY(-50%);
  left: 1em;

}#glovalheader .navi li.dwbtn a::before{
font-family: "Font Awesome 7 Free";
 font-weight: 900; 
 content: "\f0ed" !important;  left: 0.5em;
}
    
    #glovalheader.scroll{background: rgba(255,255,255,1);}
 }

@media only screen and (max-width: 500px){
/*ハンバーガーボタン*/
.el_humburger {
  padding:15px 10px ;}

.el_humburger_wrapper {
    margin-bottom: 5px;
    width: 45px; }  
	
}

@media (max-width: 768px) {
  html {
    font-size: 50%; /* 8px相当 */
  }
}


/* フッター
----------------------------------*/

footer.global{  color: #fff; padding: 0.5em 0;}
footer.global h2{ width:30%; min-width: 140px; padding: 0.5em 0 0 }
footer.global img{ width:140px; height: auto; }
footer.global nav ul{ gap:1em; width:70%;}
footer.global nav li { color: #fff; position: relative;}
footer.global nav li a{ color: #fff; display: block; padding: 0.5em 1em; background-image: linear-gradient(#fff, #fff);
  background-repeat: no-repeat;
  background-position: bottom right; /* 下線の初期位置 */
  background-size: 0 1px; /* 下線のサイズ（横幅、高さ） */
  transition: background-size 0.3s;}
footer.global nav li a:hover{ background-position: bottom left; /* 下線のホバー時位置 */
  background-size: 100% 1px; /* 下線の横幅を100%にする */}
footer.global nav li:last-of-type{
    margin-left: auto;
}
footer.global nav li:not(:first-child):before{ content:"|"; display: inline-block; position: absolute; left:-0.5em; top:50%; transform:translateY(-50%);}
footer.global nav li:last-of-type:before{ display: none;}

footer.global nav li:last-of-type{
    margin-left: auto;padding: 0.15em 0 0;
}
footer.global nav li:last-of-type a:before{
font-family: "Font Awesome 7 Free";
 font-weight: 900; 
  content: "\f105";  position: absolute;   top:50%; transform: translateY(-50%);
  left: 0em;

}
p.address{  text-align: center; padding:1em 0 0; }


#page-top1{
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 20px;
  right: 40px;
  width: 40px;
  height:40px;
  text-align: center;
  text-decoration: none; 
  transition: .5s; font-size: 14px; font-size: 1.4rem; 
	vertical-align:middle;background: #005bab;  border-radius:50%;  }
a#page-top1 {  color: #fff !important;}
#page-top1 span {display: block; margin:0 auto 0;  font-size: 20px; font-size: 2.0rem; }

.alignleft{ float:left;}
.alignright{ float:right;}
.center{ text-align:center;}


 /* 共通
----------------------------------*/
.mob{ display:none!important;}

@media only screen and (max-width:999px){
.pc{ display:none !important;} 
.mob{ display:block!important;}}


#contents{ margin: 0px 0 0; }

/* ホーム
----------------------------------*/
.homeheader { position: relative;}
.slider{width: 100%;  margin: 0 auto;  text-align: center; max-height: 580px; overflow: hidden;  }
.slider li img{width: 100%; height: auto;  }

.maingazomoji {position: absolute; top:0%; left:0; width:100%; height: 100%;}
.maingazomoji .inner{ position: relative;  height: 100%; }

.maingazomoji hgroup{ position:absolute;  left:0; top:51%; transform: translateY(-51%);  }
.maingazomoji hgroup h1{  color: #fff; font-weight: 600;line-height: 1.3;text-shadow: 1px 1px 2px black;letter-spacing: 0.07em;}
.maingazomoji hgroup h1 span {
  position: relative; display: inline-block;
  padding-left: 130px; /* テキストと線の間隔 */
  margin-left: .5em;
}
.maingazomoji hgroup h1 span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width:120px; /* 線の太さ */
  height: 1px; /* 線の高さ (テキストの高さに合わせる) */
  background-color: #fff; /* 線の色 */
}
.maingazomoji hgroup h2{ background: rgba( 255,255,255,0.8); padding: 0.8em ; margin: 10px 0 0; }
.maingazomoji h3{ position:absolute; right:0; bottom: 20px; width:75%;color: #fff;line-height: 1;text-shadow: 2px 2px 3px black;}


a.more{color: #fff;  display: block;  background: #005bab; border-radius: 5px; position:  relative; padding: 0.5em 1em; transition: all 0.5s ease 0s;}
a.more:hover{  background: #ff9900;transition: all 0.5s ease 0s; }
a.more::before{ position: absolute; right:20px; top:50%; transform: translateY(-50%);
font-family: "Font Awesome 7 Free";
 font-weight: 900; 
 content: "\f105" !important; 
}
a.more::after{ 
  content: "";
  position: absolute;
  right: 45px;
  top: 50%;
  transform: translateY(-50%);
  width:1px; /* 線の太さ */
  height: 100%; /* 線の高さ (テキストの高さに合わせる) */
  background-color: #fff; /* 線の色 */
}
.home article{ padding: 1em 0; margin: 0 auto 40px;}
.home article  h2{align-items: center;justify-content: space-between;}
.home article  h2 b{font-weight: 300;  width:5em; white-space: nowrap; }
.home article  h2 b,.home article  h2 span{display: inline-block; vertical-align: middle;}
.home article  h2 span { width:100%; color: rgba( 0,91,171,0.250); 
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
}
.home article  h2 span::before {
  background-color: #000; /* 横線の色 */
  border-radius: 1px; /* 横線の両端を丸く */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
  margin-right: 15px; /* 文字との余白 */
}
.home article.topbusines{margin:0 auto 35px; padding:30px 0 0 0}
.topbusines img{ width:200px; height: auto;}
.topbusines  div.flex{align-items: center; } 
.topbusines  div div{ width:calc( 100% - 270px ); margin-left: 70px;   }
.topbusines  div  div p{ margin: 1em 0 0; }
.topbusines  dl{ margin: 2em 0 0; } 
.topbusines  dl dt,.topbusines  dl dd {  display:  inline-block; vertical-align: middle;} 
.topbusines  dl dt{ width:140px;  } 
.topbusines  dl dd { width:calc( 100% - 150px); margin-left: 10px; } 
.topbusines a.more{ width:160px; margin: 2em  auto 0;}

.home article.topcompany{ background:url("/img/index/companyback.jpg") 50% 50% no-repeat; background-size: cover; padding: 1.5em 0 3em; }
.topcompany ul{ text-align: center; margin:2em auto;justify-content: space-around; width: 95%; max-width: 690px;}
.topcompany li{ width:30%; max-width: 215px;  }
.topcompany  a{color: #fff;  display: block;  background: #005bab; border-radius: 10px;padding: 0.8em 1em; transition: all 0.5s ease 0s;}
.topcompany  a:hover{  background: #ff9900;transition: all 0.5s ease 0s; }
.topcompany  a::before{ 
font-family: "Font Awesome 7 Free";
 font-weight: 900;  margin-right: 1em;
 content: "\f105" !important; 
}

.newstop ul{ margin: 1em auto; width:95%; max-width: 720px;}
.newstop li {position: relative;  padding:0.5em  0.8em; border-bottom: 1px dotted #999;}
.newstop li a{display: block; }
.newstop li h3,.newstop li span {  display:  inline-block; vertical-align:middle;}
.newstop li  span {  margin-right: 0.8em;background: #005bab; color: #fff; padding:0; border-radius: 5px; width:8em; text-align: center; }
.newstop li h3 { text-align: left;}
.newstop li::before{ 
font-family: "Font Awesome 7 Free";
 font-weight: 900;  position: absolute; right:5px; top:50%; transform: translateY(-50%);
 content: "\f105" !important; 
}
.newstop a.more{ width:190px; margin: 2em  auto 0;}
.access_contact {border-top:1px solid #005bab;  padding-bottom: 1.5em; }
.access_contact div.flex{ width:100%; max-width: 1080px; margin: 0 auto; padding: 30px 0 0;}
.access_contact div.flex div { width:48%; max-width: 500px;}

.access_contact .access iframe{ display: block;  margin:1.5em 0 1em auto; width:95%; height: 215px; }
.access_contact .access p { text-align: center;}
.access_contact .contact div{margin: 1.5em 0 0 2em;   width:calc( 100% - 2em) !important;}
.access_contact .contact img{ display:inline-block; width:40px; height: auto;}
.access_contact .contact b,.access_contact .contact a{ display:inline-block; vertical-align: middle; }
.access_contact .contact a{  margin-left: 1em }
.access_contact   h2{align-items: center;justify-content: space-between;}
.access_contact   h2 b{font-weight: 300;  width:5em; white-space: nowrap; }
.access_contact   h2 b,.home article  h2 span{display: inline-block; vertical-align: middle;}
.access_contact   h2 span { width:100%; color: rgba( 0,91,171,0.250); 
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
}
.access_contact   h2 span::before {
  background-color: #000; /* 横線の色 */
  border-radius: 1px; /* 横線の両端を丸く */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
  margin-right: 15px; /* 文字との余白 */
}

/*サブページ*/



.page{ background: url("/img/common/header.jpg") 100% 0 no-repeat; background-size: 100% auto;}
.page .wrapper{ background: #fff;}


.subheader{ padding: 185px 0 0px;}
.subheader h1{  color: #fff; font-weight: 400; text-shadow: 1px 1px 2px black;}

.content { background: #fff;}
.sub{ background: #fff; margin: 80px 0 0 0;  padding: 0 0 5px; height: 100%;}

.sub article { margin:50px auto 80px;padding: 30px 0 0;}
.sub article h2 { margin: 0px auto 1em; text-align: center;
    padding: 15px 10px;/*文字回りの余白（上下 左右）*/
    display: block;
    position: relative; z-index: 1;
}
.sub article h2 span {
  position: relative;
  display: block;
}
.sub article h2  span:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: block;
  width: 2em;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 6px;
}
.sub article h2 b{ display: block; margin: 1em auto 0;}
.sub article table {
     margin: 0 auto;
  border-collapse: collapse;
 
}
.sub article table th, .sub article table td {
  border-bottom: 2px solid #c1c7c6;
  padding: 1em;
}
.sub article table th {
  border-bottom: 2px solid #005bab;
  text-align:left;
  width: 20%;
  min-width: 4em; 
}


.sub article table ul li{position: relative; padding-left: 1.5em; margin: 0.5em 0; }
.sub article table ul li:before{ position: absolute;
font-family: "Font Awesome 7 Free";
 font-weight: 900; 
 content: "\f111"; font-size: 10px;
 top:5px; left:00; color: #005bab;transition: all 0.5s ease 0s; 
}


/* ol デザイン */
.sub article.no04 ol {
  counter-reset: li;
}
.sub article.no04 ol > li:before {
  position: absolute;
  font-weight: bold;
  counter-increment: li;
  content: counter(li) "";
  left: -34px;
  top: -1px;
  color: #fff;
  width: 24px;
  height: 24px;
  font-size: 14px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  background: #1692ce;
  padding: 6px 0;
}



/*事業案内*/
.salesitem li{ display: inline-block; vertical-align: middle; width:calc( 25%  - 10px); margin: 5px 5px;  padding:0 0 0 1.3em; position: relative;}
.salesitem li:before{
font-family:  "Font Awesome 7 Free";
font-weight: 900;
position: absolute; top:0; left: 0px;
content: "\f00c"; }


/*個人情報保護方針*/
.page-id-3 .sub ul{ margin:0 0 }
.page-id-3 .sub ul li:before{
font-family:  "Font Awesome 7 Free";
font-weight: 900;
position: absolute; top:0; left: 0px;
content: "\f14a"; }
.page-id-3 .sub ul li {
  line-height: 1.5em; position: relative; padding-left: 18px; }
.page-id-3 .sub p {text-align: left;
 margin:2em 0;}
.page-id-3 .sub  dt{ font-size:18px; margin: 1em 0 ;position: relative; padding-left: 18px; }
.page-id-3 .sub  dt:before{
font-family:  "Font Awesome 7 Free";
font-weight: 900;
position: absolute; top:5px; left: 0px; color:#5c9ee7; font-size: 14px;
 content: "\f111";  
}
.page-id-3 .sub  dd{  margin: 0 0 3em 1em;}
.page-id-3 .sub .shomei{ border-left:2px solid #000; padding-left: 1em; margin: 1em 0 0 auto; width:18em;}
.page-id-3 .sub .shomei p{  margin: 0.5em 0 0 0 !important; padding: 0!important }


/* 資料ダウンロード
------------------------------------------------------------*/

section.dw ul li{ margin: 5px; border-bottom: 1px solid #ddd; padding: 0.5em 0; }
section.dw ul li  h3,section.dw ul li p{ display: inline-block; vertical-align: middle;}
section.dw ul li p{height: auto; margin: 0 0 0 3%; color: #000;width:65% ;  padding:0.5em 0 0 ;}
section.dw ul li  h3{ position: relative; padding-left: 25px; width:30%;   margin: 0.5em auto; padding:0.5em 0 0 40px ;}
section.dw ul li  h3:before{
font-family:  "Font Awesome 7 Free";
position: absolute; top:0; left: 0px;
 font-weight: 900; 
  content: "\f56d";  font-size: 30px;
}




/* ニュース
------------------------------------------------------------*/
section.news ul li{  margin: 0 0 80px; padding:30px;  border-bottom: 1px dotted #000;}
section.news ul li:last-child{ border: none;}
section.news ul li:before{ display: none; }
section.news ul li h3{  border-bottom: 1px dotted  #005bab;padding-bottom: 0.2em; }

section.news ul li span.days{ display: block; text-align: right;  margin: 0.5em 0 0;  }
section.news ul li .honbun{  margin: 20px auto; width:95%; max-width: 920px;
	text-align: left;}
section.news ul li .honbun a{ display: block; color:#003399; width:auto; 
  position: relative; margin: 0.5em 0 0.5em 2em; padding: 3px 0 0 30px;}
section.news ul li .honbun a:hover{width:auto;  color:#FF7B4D; }
section.news ul li .honbun a.link:before{
font-family:  "Font Awesome 7 Free";
position: absolute; top:0; left: 0px;
 font-weight: 900; 
  content: "\f360";  font-size: 20px;
}
section.news ul li .honbun a.file:before{
font-family:  "Font Awesome 7 Free";
position: absolute; top:0; left: 0px;
 font-weight: 900; 
  content: "\f381";  font-size: 20px;
}
section.news ul li .photo{  margin: 40px auto; width:auto; max-width: 90%;  text-align: center; }
section.news ul li .photo img{ width:auto;  max-width: calc(75% - 16px); height: auto; margin: 8px;  display:  inline-block; vertical-align: top; }

.tablenav {
color: #000;
background: rgba( 255,255,255,0.8); 
margin: 1em auto;
line-height:2em; 
text-align:center;
  font-weight: 400;
  font-style: normal; 
}

a.page-numbers, .tablenav .current {
color: #000;
padding:0.8em 1.1em;font-family: "Lato", sans-serif;
border:solid 1px #005bab;
text-decoration:none; border-radius: 5px; width:2em;font-size: 20px;
}

a.page-numbers:hover {
color:white;
background: #005bab；
}

.tablenav .current {
color: white;
background: #005bab;
border-color: #005bab;
}

.tablenav .next, .tablenav .prev {
border:0 none;
background:transparent;
text-decoration:underline;
font-size:smaller;
}




/* お問合せ関連
------------------------------------------------------------*/
/* お問合せ
------------------------------------------------------------*/
.sub.contact article .inner4-2 {  padding: 1em;  margin: 0em auto 1em; border-radius: 10px; }
.sub.contact article .inner4-2 p{ margin-bottom: 1em;}

.sub article .wpcf7-form dl{ margin:60px auto 20px; width:100% !important; max-width: 100%;  border-bottom: 1px  dotted #999;}
.sub article .wpcf7-form dt,.sub article .wpcf7-form dd{ border: none; border-top: 1px  dotted #999; display:inline-block;  vertical-align: top; }
.sub article .wpcf7-form.wpcf7-form dt{width: calc(35% - 5px);  padding: 20px 0px 0px 45px;  font-weight: 300; font-size: 16px; position: relative; }
.sub article .wpcf7-form.wpcf7-form dd{ width: calc(63%); padding: 20px 0px 0px;  }
.sub article .wpcf7-form.wpcf7-form dt.hissu:before {
	content: '必須'/* 他の文字列を入れたりlist-style-typeの設定をしたり */; position: absolute; left: 5px; top:25px;
	font-size: 12px; background:#AA0C0C; color: #fff; padding:0 0.3em; border-radius: 3px;
	/* その他任意のデザイン指定 */
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    padding: 0.8em;
    outline: none; display: block;
    border: 1px solid #DDD;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px; margin: 0 0 0.5em;
    font-size: 16px;  width:100%;
}
.wpcf7-form textarea { height: 6em;}
.wpcf7-form input::placeholder {
  font-size: 14px;
}


span.wpcf7-form-control-wrap{display: inline-block; }
.wpcf7-form input[type="text"]:focus,
.wpcf7-form texture:focus {
    box-shadow: 0 0 7px #AA0C0C;
    border: 1px solid #AA0C0C;
}
.wpcf7-form input.p-postal-code[type="text"]{max-width: 10em;}

.wpcf7-form input[type="submit"].wpcf7-submit{font-size: 20px !important; font-size: 2.0rem !important;
  margin:30px auto ;  vertical-align: middle;color:#fff;
  background-color:#036EB7;
  padding: 0; height: 50px; line-height: 50px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #036EB7;
  -webkit-transition: .5s;
  transition: .5s;
  display:block;
  cursor: pointer;
width:80%; max-width: 250px;
}
.wpcf7-form input[type="submit"].wpcf7-submit:hover {
  background:#AA0C0C;  border: 1px solid #AA0C0C;color:#fff;
}
.wpcf7-form input[type="button"].wpcf7-previous{font-size: 16px !important; font-size: 1.6rem !important;
  margin:30px auto 5px;  vertical-align: middle;color:#000;
  background-color:#ddd;
  padding: 0; height: 40px; line-height: 40px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #ddd;
  -webkit-transition: .5s;
  transition: .5s;
  display:block;
  cursor: pointer;
width:200px;
}
.wpcf7-form input[type="button"].wpcf7-previous:hover {
  background:#AA0C0C;  border: 1px solid #AA0C0C;color:#fff;
}

.form-buttons{ margin-bottom: 3em;}

span.wpcf7-spinner {
  display: none;
}
p.hissu.hissu:before {  position: absolute; top:50%; transform: translateY(-50%);
	content: '必須'/* 他の文字列を入れたりlist-style-typeの設定をしたり */; 
	font-size: 12px; background:#AA0C0C; color: #fff; padding:0 0.3em; border-radius: 3px;
	/* その他任意のデザイン指定 */
}
p.hissu{ text-align: center; position: relative; margin: 0 auto 1em; width:95%; max-width: 350px !important;  border-bottom: 1px solid #AA0C0C;
}


/*ここからモバイル*/

@media only screen and (max-width: 1000px){
}


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


}
@media only screen and (max-width: 800px){
 .access_contact div.flex div { width:95%; max-width: 500px; margin: 1em auto;}  
 footer.global nav li {  display: none;}
footer.global nav li.privacy{ display: block;}
p.address{  text-align: center; padding:1em 0 0; }
footer.global h2{ width:180px; }
footer.global nav ul{width:auto; }

.subheader{ padding: 135px 0 0px;}
.sub{margin: 40px 0 0 0; }
}

@media only screen and (max-width: 750px){	
.page{ background: url("/img/common/header2.jpg") 100% 0 no-repeat; background-size: 750px auto;}    
}


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

.sub article .wpcf7-form dl{ margin:30px auto 20px; width:100% !important; }
.sub article .wpcf7-form dt,.sub article .wpcf7-form dd{  display:block; }
.sub article .wpcf7-form.wpcf7-form dt{width: calc(100% - 5px);  padding:8px 0px 5px 5px;  font-weight: 300; font-size: 14px; background: #C4E9FF; }   
  .sub article .wpcf7-form.wpcf7-form dt.hissu{ padding: 8px 0 5px 40px;} 
     .sub article .wpcf7-form.wpcf7-form dt.hissu:before {
	content: '必須'/* 他の文字列を入れたりlist-style-typeの設定をしたり */; position: absolute; left: 5px; top:12px;
	font-size: 10px; background:#AA0C0C; color: #fff; padding:0 0.3em; border-radius: 3px;
	/* その他任意のデザイン指定 */
}
.sub article .wpcf7-form.wpcf7-form dd{ width: calc(100% - 5px);padding:8px 0px; margin: 0;s  } 
.maingazomoji h3{  width:95%;}
.sub article table { border-top: 1px solid #999;border-bottom: 1px solid #999; width:100%; margin: 0; padding: 0;} 
.sub article table th, .sub article table td { display: block;
 width:auto; border: none;
}
 .sub article table th{ background: #C4E9FF;}
}

@media only screen and (max-width: 600px){
#page-top1{
  bottom:-10px;
  right: 5px; }
	
    section.dw ul li  h3,section.dw ul li p{ display:block;}
section.dw ul li p{ margin: 0 auto; width:calc(100%  - 30px );  padding: 0 0 0 30px ;}
section.dw ul li  h3{ width:100% ;}
    
.topbusines  div div{ width:calc( 100% - 220px ); margin-left: 15px;   }
.sub article h2 { text-align: left;padding: 0px;/*文字回りの余白（上下 左右）*/}
 .sub article h2 b{ display: block; margin: 0.5em auto 0;}
.sub article h2  span:before {
  content: '';
  position: absolute;
  bottom:50%;
  width: calc( 100% - 5em) ; /* 横幅いっぱい */
  height: 2px;
  left: 5em;
  -webkit-transform: translateX(-0%);
  transform: translateX(-0%);

}
    .salesitem li{ width:calc( 50%  - 10px); }

}
	
@media only screen and (max-width: 500px){
.maingazomoji hgroup{ top:40%; transform: translateY(-40%);  }
.maingazomoji h3{  line-height: 1;}
.topbusines img{ display: block; margin: 0 auto;}
.topbusines  div.flex{ display: block; } 
.topbusines  div div{ display: block; margin: 1em auto; width:95%;   }    
.topbusines  dl dt,.topbusines  dl dd {  display:block; margin: 0 auto 0.5em;width:95%; } 
.topbusines  div  div p br{ display: none; }
}

@media only screen and (max-width: 450px){
.info li { width: 90%; margin: 1em auto; text-align: left;}
.topcompany  a{border-radius: 5px;padding: 0.8em; }
.topcompany  a::before{  margin-right: 0.5em;
}
}
@media only screen and (max-width:380px){
}


