@charset "UTF-8";
/*  
Theme Name:株式会社エンジン
Theme URI:https://anging.jp/
Version:2024010501
Author:anging.jp
Author URI:https://angine.jp/
License:GNU General Public License v2.0
License URI:https://www.gnu.org/licenses/gpl-2.0.html
*/

/* reset ------------------------------------------------------------ */
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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,hr{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:top;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul,li{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}
*:focus {outline: none !important; }

blockquote.blockq {position: relative;margin:0 auto ;padding:10px;border: 1px solid #CCC; border-radius: 6px; width:calc(40% - 11px); max-width:420px; line-height:1.4em; background:#fff;}
blockquote.blockq:before,blockquote:after{position: absolute;font-size: 4em;opacity: .1; font-family:Arial, Helvetica, sans-serif;}
blockquote.blockq:before{top: 15px;left: 20px;content: '"';}
blockquote.blockq:after{bottom: 0px;right: 20px;content: '"';}


/* layout ------------------------------------------------------------ */
html {height:100%; background:#fff; margin:0 !important;}
body { margin: 0; padding: 0; color: #4d4d4d; font-size : 14px; font-family: 'Noto Sans JP', sans-serif; height:100%; line-height:100%; text-align:center;}
#wrap{padding-top:136px;}
#topcontrol{z-index:9999 !important;}
@media only screen and (max-width: 768px) {
#wrap{padding-top:64px;}
}

.contentArea100 {clear: both;width: 100%; margin: 0 auto;padding:0;text-align: center;}
.contentArea {clear: both; width: calc(100% - 20px); max-width: 1220px; margin: 0 auto;padding:0 10px; text-align: center; position:relative; overflow:hidden;}
.contentNoimg {clear: both; width: calc(100% - 20px); max-width: 1220px; margin: 0 auto;padding:40px 10px 0; text-align: center; position:relative; overflow:hidden;}
.contentArea1080 {clear: both;width: 98%; max-width: 1080px; margin: 0 auto; padding:0; text-align: center;}
.contentArea960 {clear: both;width: 98%; max-width: 960px; margin: 0 auto; padding:0; text-align: center;}
.contentArea720 {clear: both;width: 98%; max-width: 768px; margin: 0 auto; padding:0; text-align: center;}
.contentArea540 {clear: both;width: 98%; max-width: 540px; margin: 0 auto; padding:0; text-align: center;}
.contentArea480 {clear: both;width: 98%; max-width: 480px; margin: 0 auto; padding:0; text-align: center;}
.contentArea360 {clear: both;width: 98%; max-width: 360px; margin: 0 auto; padding:0; text-align: center;}
.contentBox{ padding:40px 0; overflow: hidden;}
.contentBoxS{ padding:20px 0; overflow: hidden;}
.contentBoxL{ padding:80px 0; overflow: hidden;}
.contentBoxLL{ padding:120px 0; overflow: hidden;}
.inlineBorder{ display: inline-block; padding: 1em 2em; border: #666 1px solid;}
@media only screen and (max-width: 768px) {
.contentBox{ padding:20px 0;}
.contentBoxS{ padding:10px 0; overflow: hidden;}
.contentBoxL{ padding:30px 0;}
.contentBoxLL{ padding:40px 0;}
}

/* common ------------------------------------------------------------ */
.fontMin {font-family: 'Noto Serif JP', serif;}
.center{text-align:center !important;}
.textLeft{text-align:left !important;}
.textRight{text-align:right !important;}
.textLeft-C{text-align:left !important;}
.textRight-C{text-align:right !important;}
@media only screen and (max-width: 768px) {
.textLeft-C{text-align: center !important;}
.textRight-C{text-align: center !important;}
}

a{color:#000; text-decoration:none;}
a:hover{ color:#000;text-decoration:underline;}
a.defaultA{color:#1d2b6b; text-decoration:underline;}
a.defaultA:hover{ color:#000;text-decoration:none;}
a img {transition: 0.8s ease; }
a:hover img { opacity: 0.6; filter: alpha(opacity=60); }
a:hover img.opa90 { opacity: 0.9; filter: alpha(opacity=90); }
#indexSlide a:hover img{opacity: 1 !important; filter: alpha(opacity=90) !important;}
.floatRight{float:right !important;}
.bold{font-weight:700 !important;}
.thin{font-weight:300 !important;}
.col000{color:#000;}
.colfff{color:#fff;}
.colRed{color:#cc0000;}
.bgLG{background:#ebebeb; padding:40px 0; margin:20px 0; overflow:hidden;}
.bgFff{background: #fff;}
@media only screen and (max-width: 768px) {
.bgLG{background:#ebebeb; padding:25px 0 0px; margin:30px 0;}
}

.line10{line-height:1em;}
.line12{line-height:1.2em;}
.line14{line-height:1.4em;}
.line18{line-height:1.8em;}
.line21{line-height:2.1em;}

.pcOnly768{ display:block;}
.smpOnly768{ display:none;}
@media only screen and (max-width: 768px) {
.pcOnly768{ display:none;}
.smpOnly768{ display:block;}
}
.pcOnly960{ display:block;}
.smpOnly960{ display:none;}
@media only screen and (max-width: 960px) {
.pcOnly960{ display:none;}
.smpOnly960{ display:block;}
}
span.br768{ display: inline;}
span.inline768{ display: block;}
@media only screen and (max-width: 768px) {
span.br768{ display: block;}
span.inline768{ display: inline;}
}
span.br540{ display: inline;}
@media only screen and (max-width: 540px) {
span.br540{ display: block;}
}

span.br420{ display: inline;}
@media only screen and (max-width: 420px) {
span.br420{ display: block;}
}

img{width:100%;}

/* markup------------------------------------------------- */
h2{font-size:40px; margin:20px auto; line-height:1.8em; color:#4d4d4d; letter-spacing:0.1em;}
h2.borB{ border-bottom: #666 1px solid; margin: 20px 0 0; padding: 0 0 10px 0}
h3{font-size:26px; line-height:1.6em; margin:20px 0; color:#4d4d4d; letter-spacing:0.1em; }
h3.borB{ border-bottom: #666 1px solid; margin: 20px 0 0; padding: 0 0 20px 0}
h3.bgW{max-width: 1200px; background: url(../img/h2bgw_w.png) no-repeat; height: 96px; position: relative; margin: 0 auto; width: 100%; background-size:contain; font-size: 26px; padding: 1.5% 0 0 0; color: #1c2954;}
h3.bgW2l{max-width: 1200px; background: url(../img/h2bgw_w.png) no-repeat; height: 96px; position: relative; margin: 0 auto; width: 100%; background-size:contain; font-size: 26px; padding: 1.5% 0 0 0; color: #1c2954;}

h4{font-size:22px; line-height:1.6em; margin:20px 0; color:#4d4d4d; letter-spacing:0.1em; }
h5{font-size:18px; line-height:1.4em; color:#4d4d4d; }
p{ line-height:1.5em;}

@media only screen and (max-width: 1220px) {
h3.bgW{padding: 1.2% 0 0 0;}
h3.bgW2l{padding: 1.2% 0 0 0;}
}
@media only screen and (max-width: 960px) {
h2{ font-size:24px;}
h3{font-size:18px;}
h3.bgW{ height: 68px; font-size: 22px;padding: 1% 0 0 0;}
h3.bgW2l{padding: 1% 0 0 0;font-size: 22px;}
}

@media only screen and (max-width: 768px) {
h2{font-size:24px;}
h3{font-size:22px;}
h3.bgW{ height: 58px; font-size: 18px;padding: 1% 0 0 0;}
h3.bgW2l{background: url(../img/h2bgw_w2l.png) no-repeat; background-size:contain; height: 96px; font-size: 18px; line-height: 1.3em;padding: 1% 0 0 0;}
h4{font-size:14px;}
h5{font-size:14px;}
}

@media only screen and (max-width: 540px) {
h2{font-size:24px;}
h3.bgW{background: url(../img/h2bgw_540.png) no-repeat; background-size:contain; height: 70px; font-size: 18px;padding: 1% 0 0 0; }
h3.bgW2l{height: 119px; font-size: 18px;padding: 4% 0 0 0;background: url(../img/h2bgw_w2l540a.png) no-repeat;background-size:contain; }
}
@media only screen and (max-width: 420px) {
h2{font-size:24px;}
h3.bgW{ height: 54px;padding: 1% 0 0 0;font-size: 16px;}
h3.bgW2l{ height: 87px;padding: 5% 0 0 0; font-size: 16px; }
}

a.blockBtn{transition: all .6s; text-align:center; margin:40px auto ; width:80%; max-width:300px; padding:15px; border:#0f4994 2px solid; font-size:20px; display:block; background:#0f4994; color:#fff; border-radius: 10px;}
a.blockBtn:hover{text-decoration:none; background:#fff; color:#0f4994;}
a.blockBtnS{transition: all .6s; text-align:center; margin:40px auto ; width:80%; max-width:200px; padding:15px; border:#0f4994 2px solid; font-size:20px; display:block; background:#0f4994; color:#fff;border-radius: 10px;}
a.blockBtnS:hover{text-decoration:none; background:#fff; color:#0f4994;}
@media only screen and (max-width: 540px) {
a.blockBtn{ padding:10px; margin:25px auto; font-size:18px;}
a.blockBtnS{ padding:10px; margin:25px auto; font-size:18px;}
}

/* indexPage ------------------------------------------------------------ */
#indexSlide{position:relative; margin: 0 0 100px 0; padding:0;}
#indexSlide ul li{position:relative;}
#indexSlide ul li div.textBg{ position:absolute; display:block; top:0; left:0; right:0; width:100%;}
#indexSlide ul li div.textBg div.textBox{ width:80%; max-width:1200px;margin:0 auto; display:block;}
#indexSlide ul li div.textBgL{ position:absolute; display:block; top:0; left:0; right:0; width:100%;}
#indexSlide ul li div.textBgL div.textBoxL{ width: 62.5%; max-width:1200px;margin:0 auto; display:block;}
@media only screen and (max-width: 768px) {
#indexSlide{position:relative; margin: 0 0 40px 0; padding:0;}
#indexSlide ul li div.textBgL div.textBoxL{display:none;}
}

.topicArea{border-bottom:#ccc 1px solid; border-top:#ccc 1px solid; padding:10px 0; margin:20px auto; line-height: 1.4em; font-size: 16px;}
@media only screen and (max-width: 768px) {
.topicArea{ margin:20px auto 20px}
}

ul.businessInfo{ overflow:hidden; margin:80px 0 20px}
ul.businessInfo li{width:50%; float:left; overflow:hidden; text-align: left;}
ul.businessInfo li h3{ margin:0 20px 20px 20px; font-weight:500}
ul.businessInfo li p{ text-align:left; line-height:1.6em; font-size:20px; font-weight:500; margin:0 0 10px 20px;}
@media only screen and (max-width: 960px) {
ul.businessInfo li p{ font-size:16px;}
}
@media only screen and (max-width: 768px) {
ul.businessInfo{ overflow:hidden; margin:10px 0 10px}
ul.businessInfo li{width:100%; float:none; overflow:hidden; }
ul.businessInfo li h3{ margin:10px 0 0 0; }
ul.businessInfo li p{margin:0 0 10px; }
}

/*indexDivi*/
ul.indexDivi{ overflow: hidden; display: flex; flex-wrap: wrap; margin: 0 auto; width: 100%; max-width: 1200px;}
ul.indexDivi li.btnArea{background:none; float: left; width: 50%; list-style: none; border: none; margin: 0; height: 60px; line-height: 60px;}
ul.indexDivi li.btnArea a{display: block; border: #1d2b6b 2px solid; background: #1d2b6b; color: #fff; font-size: 20px; transition: 0.6s all; height: 56px;}
ul.indexDivi li.btnArea a:hover{background: #fff; color: #1d2b6b; text-decoration: none;}
ul.indexDivi li.noneArea{float: left;
  width: calc(50% - 60px); /* 幅 */
  border-top: 60px solid #fff; /* 高さ */
  border-right: 60px solid transparent; /* 右側上辺の伸び */}
@media only screen and (max-width: 768px) {
ul.indexDivi{margin: 0 auto 40px;}
ul.indexDivi li.btnArea{background: #fff; float: none; width: 100%; margin: 0; height: 32px; line-height:32px;}
ul.indexDivi li.btnArea a{display: block; border:none; background: #1d2b6b; color: #fff; font-size: 16px; transition: 0.6s all; height: auto;}
ul.indexDivi li.noneArea{float: left;
  width: calc(100% - 25px); /* 幅 */
  border-top: 20px solid #fff; /* 高さ */
  border-right: 25px solid transparent; /* 右側上辺の伸び */
border-left: 25px solid transparent; /* 右側上辺の伸び */}
}

ul.linkBnr1{ overflow:hidden; margin:20px 0 20px}
ul.linkBnr1 li{width:100%; float:none;}
ul.linkBnr2{ overflow:hidden; margin:40px 0 20px}
ul.linkBnr2 li{width:50%; float:left; padding:0px;}
ul.linkBnr2 li p{ color:#4d4d4d; font-size:14px; font-weight:700; margin:5px auto 20px;}

@media only screen and (max-width: 540px) {
ul.linkBnr1{ overflow:hidden; margin:20px 0 0px}
ul.linkBnr2{ overflow:hidden; margin:20px 0 20px}
ul.linkBnr2 li{width:calc(100% - 20px); float:none; padding:0 10px;}
ul.linkBnr2 li p{margin:5px auto 10px;}
}


/* division ------------------------------------------------------------ */
#maiV{ margin:0 0 20px 0; padding:0;}
#breadCrumb{ text-align:left; font-weight:500; overflow: hidden; margin: 0px 0 60px;}

ul.divisionInfo{ margin:20px auto 120px; display: flex; flex-wrap: wrap; overflow: hidden; max-width: 1160px;}
ul.divisionInfo li{ width:calc(50% - 20px); padding:0 10px; float:left;}
ul.divisionInfo li.li001{ width:calc(50% - 20px); padding:0 10px; float:none; margin: 0 auto;}
ul.divisionInfo li h3{ margin:0 auto 10px; font-weight:700; text-align:left; font-size:20px;}
ul.divisionInfo li p{ text-align:left; line-height:1.6em;  font-size:16px; font-weight:500; margin:0 0 10px 0;}
@media only screen and (max-width: 768px) {
#breadCrumb{ margin: 0px 0 20px;}
ul.divisionInfo{ margin:10px auto 80px;}
ul.divisionInfo li h3{ margin:0 auto 10px;  font-size:16px;}
}
@media only screen and (max-width: 540px) {
ul.divisionInfo{ margin:0px auto 40px;}
ul.divisionInfo li{width:100%; float:none;}
ul.divisionInfo li{width:100%; float:none; padding:10px 0;}
ul.divisionInfo li.li001{width:100%; float:none; padding:10px 0;}
ul.divisionInfo li h3{ margin:0 auto 10px; font-weight:500; text-align:left;}
ul.divisionInfo li p{ text-align:left; line-height:1.6em;  font-size:14px; font-weight:500; margin:0 0 10px 0;}	
}

ul.bnrProd{ width: 100%; margin: 0;padding: 0; overflow: hidden;}
ul.bnrProd li{width: 50%; margin: 0; padding: 0; float: left;}
@media only screen and (max-width: 540px) {
ul.bnrProd li{width: 100%; float: none;}
}

/* profile ------------------------------------------------------------ */
ul.profileT{ overflow:hidden; margin:20px 0 20px}
ul.profileT li{width:33.333333%; float:left; padding: 0;}
ul.profileT li p{font-size:18px; margin: 5px 0 10px 0;}	
@media only screen and (max-width: 540px) {
ul.profileT li{width:calc(100% - 20px); float:none; padding: 10px;}
}

dl.companyProf{overflow:hidden; margin:20px 0 20px; color: #4d4d4d;}
dl.companyProf dt{width:24%; float:left; padding: 10px 0; text-align: right; font-size: 16px; line-height: 1.4em;}
dl.companyProf dd{width:calc(76% - 20px); float:left; padding: 10px 0 10px 20px; text-align: left; font-size: 16px; line-height: 1.4em;}
@media only screen and (max-width: 540px) {
dl.companyProf dt{width:100%; float:none; padding: 5px 0; text-align: left; font-size: 14px; font-weight: 600;}
dl.companyProf dd{width:100%; float:none; padding: 5px 0; text-align: left; font-size: 14px;}
}

ul.tradingC{overflow:hidden; margin:20px 0 20px; color: #4d4d4d;}
ul.tradingC li{ width: calc(50% - 30px); float: left; padding: 10px 15px; text-align: left;font-size: 16px;}
ul.tradingC li:nth-child(odd){text-align: right}
ul.tradingC li.w100{ width: calc(100% - 30px); float:none; text-align:center;}
@media only screen and (max-width: 540px) {
ul.tradingC li{ width: 100%; float: none; padding: 5px 0; font-size: 14px;}
ul.tradingC li:nth-child(odd){text-align: left;}
}

.iframe-responsive {position: relative; width: 100%; margin: 40px 0 10px; color: #4d4d4d; padding: calc(315 / 560 * 100%) 0 0;}
.iframe-responsive iframe {position: absolute;top: 0;left: 0; width: 100%;height: 100%; }

ul.prof2col{overflow:hidden; margin:20px 0 20px; color: #4d4d4d;}
ul.prof2col li{ width: calc(50% - 10px); float: left; padding: 10px 10px 10px 0;}
ul.prof2col li:nth-child(even){ padding: 10px 0 10px 10px;}
ul.prof2col li h3{margin: 0 0 10px 0; text-align: left; font-size: 21px; font-weight: 700}
ul.prof2col li p{margin: 0 0 30px 0; text-align: left;}
@media only screen and (max-width: 540px) {
ul.prof2col li{ width:100%; float: none; padding: 10px 0;}
ul.prof2col li img{ width:calc(100% - 2px);}
ul.prof2col li:nth-child(even){ width:100%; float: none; padding: 10px 0;}
}

dl.companyHist{overflow:hidden; margin:20px 0 20px; color: #4d4d4d;}
dl.companyHist dt{width:24%; float:left; padding: 10px 0; text-align: right; font-size: 14px; line-height: 1.4em;}
dl.companyHist dd{width:calc(76% - 20px); float:left; padding: 10px 0 10px 20px; text-align: left; font-size: 14px; line-height: 1.4em;}
@media only screen and (max-width: 540px) {
dl.companyHist dt{width:100%; float:none; padding: 5px 0 0 0; text-align: left; font-size: 14px;}
dl.companyHist dd{width:100%; float:none; padding:0 0 5px 0; text-align: left; font-size: 14px;}
}

/* privacy ------------------------------------------------------------ */
table.privacyBox{width: 100%; max-width: 60%; margin: 10px 0 20px 0;box-sizing: border-box}
table.privacyBox td{border: #666 1px solid; padding: 10px}
table.privacyBox td.w333{width:33.33333%; box-sizing: border-box}
table.privacyBox td.w50{width:50%; box-sizing: border-box}
@media only screen and (max-width: 768px) {
table.privacyBox{max-width: 100%;}
}
table.privacyBox100{width: 100%; margin: 20px 0 20px 0;box-sizing: border-box}
table.privacyBox100 td{border: #666 1px solid; padding: 10px}
table.privacyBox100 td.w333{width:33.33333%; box-sizing: border-box}
table.privacyBox100 td.w50{width:50%; box-sizing: border-box}
@media only screen and (max-width: 768px) {
table.privacyBox100{max-width: 100%;}
}

/* partner ------------------------------------------------------------ */
a.partnerBtn{ display: block; width: 80%; margin: 40px auto; max-width: 420px;}

/*recruit*/
div.recruitBox{ overflow: hidden; text-align: left; margin: 20px;}
@media only screen and (max-width: 768px) {
div.recruitBox{ overflow: hidden; text-align: left; margin: 10px 0;}
}
/* newsIndex ------------------------------------------------------------ */
#newsIndex h1{font-size:18px; margin:20px 0; line-height:1.6em; color:#4d4d4d; letter-spacing:0.1em;}
#newsIndex ul.newsT{ width:100%; margin:0 auto 20px; padding:0 0 20px 0; overflow:hidden; border-bottom:#ccc 1px dashed}
#newsIndex ul.newsT li.newsImg{width:25%; float:left;}
#newsIndex ul.newsT li.newsTxt{width:calc(75% - 20px); padding:0 10px; float:left;text-align:left; }
#newsIndex ul.newsT li.newsTxt p.titleDate{ font-size:12px; font-weight:300;}
#newsIndex ul.newsT li.newsTxt a h3.titleTxt{ margin:10px 0; font-size:24px;}
#newsIndex ul.newsT li.newsTxt a:hover { text-decoration:none;}
#newsIndex ul.newsT li.newsTxt a:hover h3.titleTxt{ color:#073286}
#newsIndex #navigation{ margin:10px;}
#newsIndex #navigation hr{border-top:#ccc 1px dashed; margin:10px 0}
#newsIndex #navigation #alignLeft{float:left; font-weight:500;}
#newsIndex #navigation #alignRight{float:right; font-weight:500;}
@media only screen and (max-width: 540px) {
#newsIndex ul.newsT li.newsImg{width:100%; float:none; margin:0 auto;}
#newsIndex ul.newsT li.newsTxt{width:100%; float:none; margin:0 auto; padding:0}
#newsIndex ul.newsT li.newsTxt a h3.titleTxt{ margin:5px 0; font-size:18px;}
}


/* singlePhp ------------------------------------------------------------ */
#singlePhp h1{font-size:30px; margin:20px 0; line-height:1.6em; color:#4d4d4d; letter-spacing:0.1em;}
#singlePhp a:hover{text-decoration:underline;}
#singlePhp #breadcrumb{ text-align:left; margin:10px;font-weight:500}
#singlePhp #thumbnails{margin:10px;}
#singlePhp #postmetadata{ text-align:right; margin:10px;font-weight:500}
#singlePhp #contentsTxt{ text-align:left; line-height:1.4em; font-weight:lighter; margin:10px; font-size:16px}
#singlePhp #navigation{ margin:10px;}
#singlePhp #navigation hr{border-top:#ccc 1px dashed; margin:10px 0}
#singlePhp #navigation #alignLeft{float:left; font-weight:500;}
#singlePhp #navigation #alignRight{float:right; font-weight:500;}
@media only screen and (max-width: 768px) {
#singlePhp h1{font-size:18px;letter-spacing:0;}
}

/* #formBody------------------------------------------------- */
#formBody{ margin:60px auto; text-align:left;}
#formBody h3 span.sq{color: #1a2b59}
#formBody span.must{ color:#df6315;}
#formBody hr.dlHr{ height:0; border-bottom: #eeefef 1px solid; width: calc(75% - 10px);margin: 0; margin-left: calc(25% + 10px)}
#formBody dl{ width:100%;  float:left;  background:#eeefef; margin:2px auto 2px; display: flex; flex-wrap: wrap;}
#formBody dl dt{text-align:left; float:left; width:calc(25% - 20px); padding:25px 10px; line-height:1.8em; color:#4d4d4d;}
#formBody dl dt span{ margin:0px 5px 0 0; color:#fff; font-size:12px; padding:3px 5px; background:#df6315; border-radius:2px;}

#formBody dl dd{text-align:left; float:left; width:calc(75% - 30px); padding:20px 15px 10px 15px;background:#fff;}
#formBody dl dd div{ color:#4d4d4d;padding:10px 0 10px 0; background:#fff; line-height: 1.6em;}
#formBody dl dd div .expTxt{color: #666;}
#formBody dl dd div span{ vertical-align:baseline;}
#formBody dl dd div hr.dlHr100{ height: 1px; border-bottom: #eeefef 1px solid; margin: 10px 0;}
#formBody dl dd input[type="text"]{font-size:18px; width:80%; margin-bottom:0px; border:#ccc 1px solid !important; padding:3px; color:#4d4d4d;}
#formBody dl dd input[type="text"].narrow{font-size:18px; width:20%; margin-bottom:10px; border:#ccc 1px solid !important; padding:3px; color:#4d4d4d;}
#formBody dl dd input[type="text"].veryNarrow{font-size:18px; width:5em; margin-bottom:10px; border:#ccc 1px solid !important; padding:3px; color:#4d4d4d;}
#formBody dl dd input[type="email"]{font-size:18px;  width:80%; margin-bottom:0; border:#ccc 1px solid !important; padding:3px; color:#4d4d4d;}
#formBody dl dd input[type="tel"]{font-size:18px;  width:12%; border:#ccc 1px solid !important; padding:3px; color:#4d4d4d;}
#formBody dl dd input[type="checkbox"] { -webkit-transform: scale(1.2); transform: scale(1.2); margin:5px;}
#formBody dl dd label{ margin-right:10px; display: inline;}
#formBody dl dd #radioBox input[type="radio"] { -webkit-transform: scale(1.5); transform: scale(1.5); margin:5px;}
#formBody dl dd #radioBox label{display:block;}
#formBody dl dd select{ padding: 3px;border: #ccc solid 1px;font-size:16px; font-weight:normal; margin:2px 0 10px;}
#formBody dl dd textarea{font-size:16px; width:80%; border:#ccc 1px solid !important;}
#formBody .btnArea{ text-align:center; padding:20px 0;}
#formBody input[type="submit"] {-webkit-appearance: none;}
#formBody input[type="button"] {-webkit-appearance: none;}

#formBody .btnArea .submitBtn{ background:#0f4994; margin:10px;text-align:center;border-style: none; font-size:18px; color:#fff; letter-spacing:0.2em;  text-indent:0.4em;  border:#0f4994 1px solid; padding: 15px 30px; transition: 0.6s all; border-radius: 10px;}
#formBody .btnArea .submitBtn:hover{background:#4d4d4d; cursor:pointer;}
#formBody .btnArea .formBack{padding:15px 20px; background:#666; font-size:18px; color: #fff; transition: 0.6s all; border:#666 1px solid !important; border-radius: 10px;}
#formBody .btnArea .formBack:hover{background:#ccc; cursor:pointer; color: #4d4d4d;}


/* 同意してお問い合わせフォームに進む ------------------------------------------------------------ */
#formBody .btnArea input.chkGo{transition: all 1s; margin:10px; padding:20px 30px; border:#0f4994 2px solid; background:#0f4994; color:#fff; font-weight:bold; border-radius:4px;}
#formBody .btnArea input.chkGo:hover{background:#4d4d4d; cursor:pointer;}
#formBody .btnArea input.chkGo[disabled]{opacity:0.2; cursor: default}
#formBody .btnArea input.chkGo[disabled]:hover{cursor:default;background:#444995; }


@media only screen and (max-width: 768px) {
#formBody hr.dlHr{ display:none}
#formBody dl dt{text-align:left; float:none; width:100%; padding:5px 2%;}
#formBody dl dd{text-align:left; float:none; width:100%; padding:5px 2%;}
#formBody dl dd input[type="text"]{font-size:16px; width:90%;}	
#formBody dl dd input[type="text"].narrow{font-size:16px; width:35%;}
#formBody dl dd input[type="text"].veryNarrow{font-size:16px;}
#formBody dl dd input[type="tel"]{width:15%; margin-bottom:5px;}
#formBody dl dd input[type="email"]{font-size:16px; width:90%; margin-bottom:5px;}
#formBody dl dd textarea{font-size:14px; width:94%; margin:0 auto;}
#formBody dl dd label{ margin-bottom:5px; display:block;}
#formBody .formBox{padding: 25px 0;}
}

/* footer------------------------------------------------- */
#footer{width:100%; background: url(../img/f_bg.jpg) repeat-x top; padding: 20px 0; margin:80px 0 0 0; overflow:hidden;}
#footer ul.footerUl{ width:100%; overflow:hidden; padding: 0 0 60px;}
#footer ul.footerUl li{ float:left; width:calc(33.333333% - 16px); padding:10px 8px;}
#footer .contentArea .fTel{ width: 100%; max-width: 1200px; margin: 0 auto; background-image: url(../img/f_tel_bg.png); background-size: contain; background-repeat: no-repeat;}
#footer ul.footerUl{ width:100%; overflow:hidden;}
#footer ul.footerUl li{ float:left; width:calc(33.333333% - 16px); padding:10px 8px;}
#footer .contentArea .fTel a::before{ content: none;}
#footer .contentArea .fTel a img{width: 60%; margin: 0 20%;}
#footer .contentArea .fTel a:hover{ cursor: default;}
#footer .contentArea .fTel a img{opacity: 1;}
#footer .contentArea .fLogo{ display:block; position:absolute; bottom:-10px; left:10px; width:100%; max-width:540px}
#footer .contentArea .fLogo a:hover img{ opacity:1;}
#footer h3{margin:0 auto 10px; text-align:left; font-size:24px; color:#fff; border-bottom:#fff 1px solid;}
#footer a{ display:block;width:100%; margin:10px auto 20px; text-align:left; font-size:14px; color:#fff; text-decoration:none;}
#footer a:before{content:"＞ ";}
#footer a.marL1em{ display:block; width:100%; margin:10px 0 20px 1.2em!important; text-decoration:none;}
#footer a.marL1em:before{content:"＞ ";}
#footer span.aDummy{ display:block;width:100%; margin:10px auto 20px; text-align:left; font-size:14px; color:#fff !important; text-decoration:none;}
#footer span:before{content:"＞ ";}
#footer .contentArea .fLogo a:before{content:"";}
#footer a:hover{ color:#ccc;}
#footer p{text-align:left; color:#fff; font-size:14px; margin:0 0 10px;}
#footer a.footerAcc{display:block; background:rgba(255,255,255,1); color:#073286; text-align:center; line-height:100%; padding:3px; margin:30px 0 0; font-size:12px;transition:all 0.5s; }
#footer a.footerAcc:before{ content:"";}
#footer a.footerAcc:hover{background:rgba(255,255,255,0.4); color:#fff;}
#footer div#copy{ text-align:center; padding:8px 0; color:#fff; font-size:12px; }
div.fAg{ padding: 10px 0; text-align: center;}
div.fAg a img{ width: 60%; max-width: 420px;}
div.fAg a:hover img{opacity: 1;}

@media only screen and (max-width: 768px) {
#footer{padding:10px 0; margin:40px 0 0 0;}
#footer ul.footerUl{padding: 0 0 0px;}
#footer ul.footerUl li{ float:left; width:calc(50% - 10px); padding:10px 5px; position:relative; overflow:hidden;}
#footer .contentArea .fTel{ width: 100%; max-width: 1200px; margin: 0 auto; background-image:none;}
#footer .contentArea .fTel a img{width:100%; margin: 0;}
#footer ul.footerUl li:last-child{ float:none; width:calc(100% - 20px);}
#footer .contentArea .fLogo{ display:none;}
#footer a{margin:10px auto 10px;font-size:12px;}
#footer a.marL1em{margin:10px auto 10px .5em!important;font-size:12px;}
#footer span.aDummy{ margin:10px auto 10px;font-size:12px;}
#footer p{font-size:12px;}
#footer div#copy{ padding:8px 0 0; font-size:10px; }
}

/* header header header header header------------------------------------------------- */
#top-head {top: -100px; position: absolute; width: 100%; margin: 100px auto 0;  z-index: 9980; background: #fff;}
#top-head a,#top-head {text-decoration: none;}
#top-head .inner { position: relative;  margin:0 10px 0;}
#top-head h1{ float: left; width:50%; height:90px; display:block; z-index: 9990; position:absolute; top:28px; left:10px; text-align:left;}
#top-head h1 a:hover img{ opacity:1;}
#top-head h1 img{width:100%; max-width:480px;}
#global-nav{position:relative; height:120px;}

#global-nav ul#naviBody { list-style: none; position: absolute; right:0; top:0; height:140px;}
#global-nav ul#naviBody li { float: left; position: relative; white-space: nowrap; background:none; text-align:right;  height:38px; line-height:38px; transition:all 0.5s ease-in; margin-left: 10px; padding:0 5px 0 25px;}
#global-nav ul#naviBody li#naviExp { float: none; padding:0 0 0 0; height:80px; position:relative; width:100%;}
#global-nav ul#naviBody li#naviExp h2#naviTel{ float:right; padding:10px 10px 0 10px; margin:0; text-align:center; }
#global-nav ul#naviBody li#naviExp h2#naviTel a{padding:0; display:block; max-width: 600px; width: 100%;}
#global-nav ul#naviBody li#naviExp h2#naviTel a:hover{ cursor: default;}
#global-nav ul#naviBody li#naviExp div#pmk{ position:absolute; top:50px; right:0;}
#global-nav ul#naviBody li#naviExp div#pmk a{margin:0; padding:0;}
#global-nav ul#naviBody li#naviExp div#pmk img{width:100%; max-width:84px;}
#global-nav ul#naviBody li#navInq{ padding:0 0px 0 20px;}
#global-nav ul#naviBody li a {font-size:14px; font-weight:500; color:#000;transition:all 0.5s ease-in; opacity: 1; display: inline-block; position: relative;padding-right:18px;}
#global-nav > ul > li > a::before { display: block; content: ""; position: absolute; top: 50%; right: 8px; width: 6px; height: 6px; margin: -2px 0 0 0; border-top: solid 1px #000; border-right: solid 1px #000; transform: rotate(45deg);transition:all 0.2s ease-in;}
#global-nav ul li:hover a { color: #073286;}
#global-nav > ul > li:hover > a::before { border-top: solid 1px #073286; border-right: solid 1px #073286;right: 5px; }
#global-nav > ul > li.parent > a::before { display: block; content: ""; position: absolute; top: 50%; right: 6px; width: 6px; height: 6px; margin: -3px 0 0 0; border-top: solid 1px #000; border-right: solid 1px #000; transform: rotate(135deg); transition:all 0.2s ease-in;}
#global-nav > ul > li.parent:hover > a::before {transform: rotate(-45deg);  border-top: solid 1px #317ba8; border-right: solid 1px #073286; right: 6px; }

#global-nav > ul > li a , #global-nav > ul > li a::after { box-sizing: border-box; transition: all .3s; }
#global-nav > ul > li a::after { top: 0; left: 0; width: 100%; height: 100%; transform: scale(.5);}

@media screen and (max-width: 1200px) {
#top-head h1 img{ max-width:360px;}
#global-nav ul#naviBody li#naviExp h2#naviTel a{ max-width: 480px;}
}

@media screen and (max-width: 1080px) {
#global-nav ul#naviBody li { margin-left: 10px; padding:0 5px}
}

@media screen and (max-width: 960px) {
#top-head h1 img{ max-width:300px;}
#global-nav ul#naviBody li#naviExp h2#naviTel a{ max-width: 400px;}
}

/* Fixed */
#top-head.fixed { margin-top: 0; top: 0; position: fixed;  background: #fff; transition: top 1.00s ease-in;}
/* Toggle Button */
#nav-toggle { display: none; position: absolute; right: 6px; top: 12px; width: 30px; height: 38px; padding: 0 4px; cursor: pointer; z-index: 101; background:none;}
#nav-toggle div { position: relative;}
#nav-toggle span { display: block; position: absolute; height: 4px; width: 100%; background: #073286; left: 0; transition: .35s ease-in-out;}
#nav-toggle span:nth-child(1) { top: 7px;}
#nav-toggle span:nth-child(2) { top: 17px; background: #2081ba;}
#nav-toggle span:nth-child(3) { top: 27px;}

/*ここからスマフォ設定------------------------------------------------------------*/
@media screen and (max-width: 768px) {
 /*@media screen and (max-width: 904px) Fixed reset */
#top-head.fixed {  padding-top: 0;  background: #fff; }
#mobile-head { background: rgba(255,255,255,1.0);  width: 100%;  height: 64px;  z-index: 9980;  position: relative; }
#top-head.fixed .logo, #top-head .logo {  position: absolute;  left: 5px;  top: 15px; max-width:274px;}
#top-head.fixed .logo, #top-head .logo img{width:100%;}
#top-head h1{height:60px; top:10px; left:5px; width:264px;}
#top-head .inner {  width: 100%;  padding: 0; z-index:9990; margin:0;}
#top-head {  top: 0;  position: fixed;  margin-top: 0;  background:none; }
#global-nav {  position: absolute;  top: -560px; width: 100%;  text-align: center;  padding:64px 0 0 0;  transition: 1.0s ease-in-out; background: #fff;}
#global-nav ul#naviBody {  list-style: none;  position: static;  right: 0;  bottom: 0;  font-size: 14px; }
#global-nav ul#naviBody li {  float: none;  position: static; text-align:left; border:none;  width:100%; height: auto; line-height:0; padding:12px 0; background: rgba(255,255,255,1); margin: 0; }
#global-nav ul#naviBody li#navInq{  float: none;  position: static; text-align:left; border:none;  width:100%; height: auto; line-height:0; padding:12px 0; background: rgba(255,255,255,1); margin: 0; }

#global-nav ul#naviBody li#naviExp {  float: none;  position: static; height:auto; padding:12px 0; width:100%; border-bottom:#ccc 1px solid}
#global-nav ul#naviBody li#naviExp h2#naviTel{ float:none; padding:0; margin:0; text-align:center; padding:0 40px;}
#global-nav ul#naviBody li#naviExp div#pmk{position:absolute; top:60px; right:0; width:54px}
#global-nav ul#naviBody li#naviExp div#pmk img{width:100%; max-width:84px;}

#top-head #global-nav ul#naviBody li a ,#top-head.fixed #global-nav ul#naviBody li a{ display: block;  color: #000;  padding: 15px 20px;  font-size:16px; font-weight:bold}
#top-head #global-nav ul#naviBody li:hover a ,#top-head.fixed #global-nav ul#naviBody li:hover a{ color: #073286;}

#global-nav > ul > li > a::before { display: block; content: ""; position: absolute; top: 50%; left: 4px; width: 6px; height: 6px; margin: -3px 0 0 0; border-top: solid 2px #073286; border-right: solid 2px #073286; transform: rotate(45deg);}

#nav-toggle {  display: block; }
.open #nav-toggle span:nth-child(1) {  top: 16px; transform: rotate(315deg); }
.open #nav-toggle span:nth-child(2) {  width: 0;  left: 50%; }
.open #nav-toggle span:nth-child(3) {  top: 16px; transform: rotate(-315deg);  background: #2081ba;}
.open #global-nav { transform: translateY(556px); }
}
/*ここまでスマフォ設定------------------------------------------------------------*/

/* rollButton------------------------------------------------- */
.rollButton { display: inline-block; width: 50px; height: 30px; text-align: center; text-decoration: none; line-height: 30px; outline: none;}
.rollButton::before,
.rollButton::after { position: absolute; z-index: -1; display: block; content: '';}
.rollButton,
.rollButton::before,
.rollButton::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  transition: all .3s;}
.rollButton { position: relative; perspective: 300px;}
.rollButton p { display: block; position: absolute; width: 50px; height: 50px; border: 1px solid #1d2b6b; text-align: center; line-height: 46px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s; transition: all .3s; pointer-events: none;}
.rollButton p:nth-child(1) { background-color: #1d2b6b; color: #fff; font-size:24px; -webkit-transform: rotateX(90deg); -moz-transform: rotateX(90deg); transform: rotateX(90deg); -webkit-transform-origin: 50% 50% -25px; -moz-transform-origin: 50% 50% -25px; transform-origin: 50% 50% -25px;}
.rollButton p:nth-child(2) { background-color: #726e9f; color: #fff;  transform: rotateX(0deg); -webkit-transform-origin: 50% 50% -25px; -moz-transform-origin: 50% 50% -25px; transform-origin: 50% 50% -25px; font-weight:500; line-height: 20px;}
.rollButton:hover p:nth-child(1) { transform: rotateX(0deg);}
.rollButton:hover p:nth-child(2) { background-color: #1d2b6b; transform: rotateX(-90deg);}
.rollButton p span{transform: rotate(90deg) scale(0.5, 1); display: block; font-size: 42px; font-weight: 300; padding: 0 0 2px 0;}


#page001 , #page002 , #page003 , #page004 , #page005 , #page006 , #page007 , #page008 , #page009 , #page010{margin-top: -140px; padding-top: 140px;}
@media only screen and (max-width: 768px) {
#page001 , #page002 , #page003 , #page004 , #page005 , #page006 , #page007 , #page008 , #page009 , #page010{margin-top: -60px; padding-top: 60px;}
}

.rss-antenna .rssBg .rss-item ul.rssUL li.rssTitle a:hover{text-decoration:underline;}
.rss-antenna a .rss-item{ padding:5px 0; transition:0.6s all; margin:0 10px 5px;}
.rss-antenna .rssBg .rss-item{ padding:5px 0; transition:0.6s all; margin:0 10px 5px;}
.rss-antenna a:hover .rss-item{ background:#e5e5e5; text-decoration: underline}
ul.rssUL{ overflow:hidden;}
ul.rssUL li.rssDate{ width:calc(20% - 10px); text-align:right; float:left; padding:0 10px 0 0; font-weight:300;}
ul.rssUL li.rssTitle{ width:80%; text-align:left; float:left; font-weight:300;}
@media only screen and (max-width: 600px) {
ul.rssUL li.rssDate{ width:100%; text-align:left; float:none; padding:0 0 3px 0;}
ul.rssUL li.rssTitle{ width:100%; float:none;}
}


ul.wpra-item-list{overflow: hidden;}
li.wpra-itemL{width: calc(20% - 10px); text-align: right; float: left; padding: 10px 10px 10px 0; font-weight: 300; overflow: hidden;}
li.wpra-itemR{width: 80%; text-align: left; float: left; padding: 10px 0; font-weight: 300; overflow: hidden;}
@media only screen and (max-width: 600px) {
li.wpra-itemL{width: 100%; text-align: left; float: none; padding:0 0 3px 0;}
li.wpra-itemR{width: 100%; text-align: left; float: none;}
}

