/* リセットCSS */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset,
legend, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}

table {
border-collapse: collapse;
border-spacing: 0
}

fieldset, img {
border: 0
}

address, caption, cite, code, dfn, em, strong, th, var {
font-style: normal;
font-weight: normal
}

ol, ul {
list-style: none
}

caption, th {
text-align: left
}

h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal
}

q:before, q:after {
content: ''
}

abbr, acronym {
border: 0;
font-variant: normal
}

sup {
vertical-align: text-top
}

sub {
vertical-align: text-bottom
}

input, textarea, select {
font-family: inherit;
font-size: inherit;
font-weight: inherit;
* font-size: 100%;
 -webkit-appearance: none;
 border-radius: 0;
}

* {
box-sizing: border-box;
}
html,body{
height: 100%;
}
body{
font-size: 62.5%;
line-height: 1.8;
font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
color:#231815;
}
a{
text-decoration: none;
color:#231815;
}
a:hover{
text-decoration: underline;
}
img{
width: 100%;
height: auto;
}
.pc{
display: block;
}
.sp{
display: none;
}
#containner-box{
width:100%;
font-size:1.6em;
}
#header-box{
width: 93.75%;
max-width: 1800px;
margin: 75px auto 60px;
overflow: hidden;
}
#header-box h1{
float: left;
width: 22.22%;
min-width:400px; 
line-height:0;
}
dl.textsize {
float: right;
width: 300px;
margin-top: 27px;
font-size:70%;
}
.textsize dt{
display: inline-block;
margin-right: 2%;
vertical-align: middle;
}
.textsize dd {
display: inline-block;
margin-right:2%;
padding: 0 7%;
text-align: center;
vertical-align: middle;
}
.normal-font {
background: #545251;
color:#FFF;
cursor: pointer;
}
.large-font {
background: #005490;
cursor: default;
}
.login_box a{
width:200px;
float: right;
text-align: center;
background-color: #172a88;
color:#fff;
margin-top: 27px;
margin-left: 5%;
font-size: 70%;
transition: background .2s;
}
.login_box a:hover{
text-decoration: none;
}
.login_box.footer a{
width:430px;
display: block;
float: none;
background-color: #fff;
border:solid 4px #172a88;
color:#172a88;
font-weight: bold;
margin-top: 8%;
margin-left: auto;
margin-right: auto;
margin-bottom: 12%;
font-size: 100%;
transition: background-color .3s;
}
.login_box.footer a:hover{
text-decoration: none;
/*background-color: #172a88;*/
/*color:#fff;*/
}

#gmenu-box{
background:#172a88;
}
#gmenu-sp,#sp-box{
display: none;
}

#gmenu-box ul{
width: calc((600 / 1920)*100%);
display: table;
table-layout: fixed;
margin: 0 auto;
font-size:75%;
padding: 10px 0;
}
#gmenu-box li{
display: table-cell;
border-left:2px solid #FFF;
text-align: center;
font-weight: bold;
vertical-align: middle;
}
#gmenu-box li:last-child{
border-right:2px solid #FFF;
}
#gmenu-box li a{
color:#FFF;
display: block;
}

/*---------------------トップページ*/
#top-mainphoto_box{
background:#171c61;
border-top:1px solid #FFF;
line-height: 0;
}
#top-mainphoto{
position: relative;
max-width: 1920px;
margin: 0 auto;
}
#slider{
display: none;
}
.top-main{
display: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1000;
line-height: 0;
}
.top-main.pc{
width:50.36%;
}
.top-main.sp{
display: none;
}
.text-container{
max-width: 1920px;
margin: 0 auto;
}
.text-container.top{
padding-top: 10%;
border-top:15px solid #172a88;
}
.top-text_box{
background: url("../../top/top-bg.png"); 
padding: 5%;
text-align: center;
}
.top-text_box strong{
display: block;
margin: 0 auto 2%;
max-width:262px; 
}
.top-text_box p{
max-width: 650px;
margin: 0 auto;
}
.top-text_box a{
display: inline-block;
border:3px solid #172a88;
padding: 0% 5%;
margin-top: 3%;
color:#000;
transition: background-color 0.3s;
}
.top-text_box a:hover{
background:#172a88;
color:#FFF;
text-decoration: none;
}

.news-box.top{
margin:8% auto 0;
max-width:1465px; 
}
.news-box.top strong{
display: block;
width: 16.38%;
margin:0 auto 3%;
}

.news-box.top dl{
border-top:1px solid #6f6e6f;
padding: 3% 3% 1% 3%;
}
.news-box.top dl.content{
margin-top: 8%;
}
.news-box.top dl.last{
border-bottom:1px solid #6f6e6f;
}
.news-box.top dt,.news-box.top dd{
display: inline-block;
margin-bottom: 2%;
vertical-align: top;
font-size:90%;
}
.news-box.top dt{
width: 11%;
margin-right: 1%;
word-break: break-word;
}
.news-box.top dd{
width: 85%;
}
.news-box.top dd:last-child{
margin-bottom: 0;
}
.news-box p{
margin: 0 auto 1.5%;
}
.news-box p.more{
text-align: right;
margin: 1% auto;
}
.news-box ul.img li{
display: inline-block;
vertical-align: top;
}
.news-box ul.img.wide50 li{
width: 49%;
}

/*---------------------コンテンツ共有*/
.text-container.contents{
max-width: 1740px;
margin: 0 auto;
}
#cotents-photo_box{
background:#171c61;
margin-bottom: 5em;
color:#FFF;
}
#contents-photo{
max-width: 1920px;
margin: 0 auto;
position: relative;
line-height: 0;
}
#contents-photo strong{
position: absolute;
top:50%;
left:3%;
font-size:1.5em;
font-weight: bold;
}
h2{
border-bottom:10px solid #171c61;
margin-bottom: 5%;
padding-bottom: 1%;
font-weight: 600;
font-size:1.5em;
line-height: 1.2;
}
h2 span{
display:inline-block;
border-left:18px solid #172a88;
padding-left: 1%;
margin-left: 1%;
}

/*---------------------弊社の特徴*/

ul.feature-img_box{
display: block;
width: 65.63%;
margin: 0 auto 10%;
}
.feature-img_box li{
display: inline-block;
text-align: center;
font-size:90%;
width: 45%;
vertical-align: top;
}
.feature-img_box li:first-child{
margin-right: 8.5%;
}
.feature-img_box li img{
width: 90%;
margin-bottom: 5%;
}
strong.feature-title01{
font-size:1.65em;
color:#172a88;
font-weight: 600;
display: block;
margin-left: 1%;
}
dl.feature-text_box01{
border:1.8px solid #172a88;
padding: 4%;
width: 97%;
margin: 0 auto 3%;
overflow: hidden;
text-align: justify;
text-justify: inter-ideograph;
}
dl.feature-text_box01 dt{
float: left;
width: 26%;
}
dl.feature-text_box01 dd{
float: right;
width: 70%;
}
.feature-text_box01 dd dl.list01 dt,.feature-text_box01 dd dl.list01 dd{
display: block;
float: none;
width: 100%;
}
.feature-text_box01 dd dl.list01 dt{
font-size:1.3em;
font-weight: 600;
}
.feature-text_box01 dd dl.list01 dd{
padding-left: 1.3em;
margin-bottom: 1%;
}

/*---------------------企業理念*/
#philosophy-box{
margin-top: 15%;
}
#philosophy-box p{
text-align: center;
margin-bottom: 15%;
}

#philosophy-box strong.catch01{
width: 35.45%;
margin: 0 auto 15%;
display: block;
}
#philosophy-box strong.catch02{
width: 52.06%;
margin: 0 auto 15%;
display: block;
}

/*---------------------会社概要*/
.company-info_box{
max-width: 1690px;
margin:0 auto;
}
dl.about-us{
display: flex;
justify-content: space-between;
margin-bottom:10em;
}
.about-us dt{
width:calc((580/1690)*100%);
}
.about-us dd{
width:calc((1090/1690)*100%);
margin-left:auto;
margin-right: auto;
}
.about-us dd strong{
font-size:1.4em;
font-weight: bold;
margin-bottom: 1%;
display: block;
}
.about-us dd p{
margin-bottom: 5%;
text-align: justify;
}
.about-us dd span{
display: block;
width:37.2%;
float: right;
}
strong.ci-logo{
width: 19.65%;
margin: 0 auto 7em;
display: block;
}

dl.info{
overflow: hidden;
margin-bottom: 1em;
display: table;
table-layout: fixed;
width: 100%;
}
dl.info dt,dl.info dd{
display: table-cell;
border-bottom: 3px solid #828282;
vertical-align: top;
padding-bottom: 1em;
}
dl.info dd{
width:80%;
padding-left:5em;
border-bottom: 3px solid #cdcece;
}

/*---------------------お客様の声*/
strong.customer-title{
display: block;
text-align: center;
font-weight: bold;
font-size:2em;
margin-bottom: 1em;
}
p.center{
text-align: center;
margin-bottom: 5em;
}
ul.customer-box{
border-top:10px solid #171c61;
}
.customer-box li{
max-width: 1280px;
width: 73.56%;
margin: 2em auto;
padding:1.5% 2%;
border:1.8px dotted #172a88;
}
.customer-box li p{
margin-bottom: 2em;
text-align: justify;
}
.customer-box li strong{
text-align: center;
font-weight: bold;
display: block;
}

/*---------------------お問い合わせ*/
.contact-info{
max-width: 1370px;
width:77%;
display: block;
margin: 0 auto 2em;
}
.contact-form_box{
padding-top: 1em;
margin-bottom: 10em;
}
.contact-form_box p{
margin-bottom: 2em;
}

.contact-form_box dl{
margin-bottom: 1em;
display: table;
table-layout: fixed;
width: 100%;
}
.contact-form_box dt,.contact-form_box dd{
display: table-cell;
vertical-align: top;
padding-bottom: 1em;
}
.contact-form_box dd{
width:85%;
padding-left:1em;
}
.contact-form_box input,.contact-form_box textarea{
width: 100%;
border:1px solid #868687;
padding: 5px;
}
.contact-form_box input.half{
width: 50%;
}
.contact-form_box input.half02{
width: 25%;
}

div.submit{
text-align: center;
}
.contact-form_box input[type="submit"]{
background:#231815;
color:#FFF;
border:none;
max-width: 500px;
margin: 0 auto;
padding: 0.5em;
cursor: pointer;
transition: background-color 0.3s;
}
.contact-form_box input[type="submit"]:hover{
background:#4B3333;
}
.contact-form_box input[type="submit"].btn_back{
background:#CCC;
color:#000;
max-width: 100px;
margin: 0 10% 0 0;
}
.contact-form_box input[type="submit"]:hover.btn_back{
background:#EEE;
}

.error_list{
border:1px solid red;
padding: 1em 2em;
color:red;
margin-bottom: 3em;
}
.error_list li{
list-style: disc;
}
.contact-form_box.confirm dt{
padding-top: 0.5em;
}
.contact-form_box.confirm dd span{
background:#EEE;
padding:0.5em;
display: block;
max-width:700px;
}

/*---------------------NEWS*/
.backbutton a{
display: block;
width:55%;
text-align: center;
margin: 8% auto 10%;
padding:1%;
background:#231815;
color:#FFF;
transition: background-color 0.3s;
}
.backbutton a:hover{
background:#655e5c;
text-decoration: none;
}

/*---------------------フッターインフォメーション*/
#footer-info_box{
margin: 8% auto;
}
#footer-info_box dl{
width: 25.86%;
float: left;
line-height: 0;
display: flex;
align-items: center;
}
#footer-info_box dl.mail{
float: right;
flex-flow: row-reverse;
}
#footer-info_box dt{
width: 11.11%;
}
#footer-info_box dd{
width:73.33%;
margin-left: 10%;
}
#footer-info_box dl.mail dd{
margin-left:0;
margin-right: 10%;
}

/*---------------------フッター*/
#footer-box{
background: #9fa0a0;
color:#FFF;
}
.footer-text_box{
max-width: 1920px;
margin: 0 auto;
padding: 2% 0;
position: relative;
text-align: center;
}
.footer-text_box p{
position: absolute;
right:20%;
top:10%;
width: 2.76%;
}
.footer-text_box div{
max-width: 208px;
margin:3% auto 2%;
}
.footer-text_box span{
display: block;
font-size:60%;
}

@media (max-width: 1120px){
#gmenu-box ul{
width: 90%;
}
}
@media (max-width: 768px){
#containner-box{
font-size:1.6em !important;
}
.pc{
display: none;
}
.sp{
display: block;
}

#header-box{
width: 100%;
max-width: auto;
margin: 4% auto 6%;
}
#header-box h1{
float: none;
width: 65.7%;
min-width:auto;
margin: 0 auto;
}
dl.textsize {
display: none;
}
.login_box{
display: none;
}
.login_box.footer{
display: block;
}
.login_box.footer a{
padding: 3% 0;
width:95%;
line-height: 1.3;
}

#gmenu-box{
padding:7% 5%;
position: relative;
}
#gmenu-box ul{
display: none;
}
#gmenu-sp{
position: relative;
}
#gmenu-sp ul{
display: none;
position: absolute;
left:0;
z-index: 2000;
width: 100%;
font-size:100%;
text-align: center;
}
#gmenu-sp li{
display: block;
border:none;
font-weight: normal;
background: #b7b8b8;
}
#gmenu-sp li a{
display: block;
color:#000;
font-weight: bold;
border-bottom:1px solid #000;
padding: 5% 0;
}

#sp-box{
display: block;
width: 100%;
overflow: hidden;
}
#gmenu-sp{
display: block;
}
.gmenu-spicon{
float: left;
width: 13.28%;
line-height: 0;
}
.gmenu-spicon img.op{
display: none;
}
.gmenu-spicon.close img.op{
display: block;
}
.gmenu-spicon.close img.close{
display: none;
}
.mail-spicon{
float: right;
width: 10.38%;
line-height: 0;
margin-top: 1.25%;
}

/*---------------------トップページ*/
#top-mainphoto_box{
background:#171c61;
border-top:none;
margin-top: 5%;
}
#top-mainphoto{
position: relative;
max-width: 1920px;
margin: 0 auto;
}
#slider{
display: none;
}
#slider li{
}
#slider img{
display: block;
max-width: 768px;
height: 642px;
object-fit: cover;
top:-20%;
margin-left:0%;
overflow: hidden;
}
.top-main.sp{
width:40%;
}
.text-container.top{
padding-top: 15%;
}
.top-text_box{
padding:10% 5% 20%;
font-size: 95%;
}
.top-text_box strong{
margin: 0 auto 10%;
max-width:262px; 
}
.top-text_box a{
padding: 0% 5%;
margin-top: 20%;
font-size:1.4em;
font-weight: bold;
}
.news-box.top{
margin-top: 20%;
}
.news-box.top strong{
width: 40.33%;
margin:0 auto 3%;
}
.news-box.top dl{
width: 95%;
margin: 0 auto;
padding: 3%;
}
.news-box.top dt,.news-box.top dd{
display: block;
margin-bottom: 1%;
}
.news-box.top dt{
width: 100%;
margin-right:0;
}
.news-box.top dd{
width: 100%;
margin-bottom: 5%;
}
.news-box p{
width: 95%;
}
.news-box ul.img li{
display:block;
}
.news-box ul.img.wide50 li{
width: 100%;
}

/*---------------------コンテンツ共有*/
.text-container.contents{
max-width: auto;
width: 90%;
margin: 0 auto;
}
#cotents-photo_box{
background:#172a88;
margin-bottom: 15%;
margin-top: 5%;
color:#FFF;
}
#contents-photo{
margin: 0 auto;
position: relative;
line-height:1.5;
text-align: center;
}
#contents-photo strong{
position: relative;
display: inline-block;
margin:0 auto;
left: auto;
top:auto;
padding: 8% 0;
}
#contents-photo img{
display: none;
}
h2{
border-bottom:6px solid #171c61;
margin-bottom: 8%;
padding-bottom: 2%;
font-size:1.5em;
}
h2 span{
border-left:11px solid #172a88;
padding-left: 2%;
margin-left: 2%;
}

/*---------------------弊社の特徴*/

ul.feature-img_box{
width: 100%;
margin: 0 auto 15%;
}
.feature-img_box li{
display: block;
font-size:100%;
width: 100%;
}
.feature-img_box li:first-child{
margin-right:0;
margin-bottom: 8%;
}
.feature-img_box li img{
width: 70%;
margin-bottom: 3%;
}
strong.feature-title01{
font-size:1.3em;
margin-left: 0;
}
dl.feature-text_box01{
border:1.8px solid #172a88;
width: 100%;
margin: 0 auto 8%;
}
dl.feature-text_box01 dt,dl.feature-text_box01 dd{
float: none;
width: 100%;
}
.feature-text_box01 dd dl.list01 dt,.feature-text_box01 dd dl.list01 dd{
display: block;
float: none;
width: 100%;
}
.feature-text_box01 dd dl.list01 dt{
font-size:1.1em;
}
.feature-text_box01 dd dl.list01 dd{
padding-left: 1.1em;
margin-bottom: 1%;
}

/*---------------------企業理念*/
.text-container.contents.philosophy{
max-width: auto;
width: 100%;
margin: 0 auto;
}
#philosophy-box{
margin-top: 10%;
}
#philosophy-box p{
margin:5% auto 15%;
width: 95%;
font-size:0.95em;
}

#philosophy-box strong.catch01{
width: 78%;
margin: 0 auto 30%;
}
#philosophy-box strong.catch02{
width: 78%;
margin: 0 auto 30%;
}

/*---------------------会社概要*/
.company-info_box{
width:90%;
margin-left: auto;
margin-right: auto;
}
.company-info_box.margin01{
margin-bottom: 10em;
}
dl.about-us{
display: block;
margin-bottom: 10em;
}
.about-us dt{
width: 80%;
float: none;
margin: 0 auto;
}
.about-us dd{
width:100%;
float:none;
}
.about-us dd strong{
font-size:1.2em;
margin-bottom: 1%;
text-align: center;
}
.about-us dd p{
font-size:0.9em;
}
.about-us dd span{
width: 38.24%;
}
strong.ci-logo{
width: 60%;
}

dl.info{
margin-bottom: 1em;
display: block;
}
dl.info dt,dl.info dd{
display: block;
border-bottom: none;
padding-bottom: 0.5em;
padding-left:1em;
}
dl.info dd{
width:100%;
padding-left:1em;
border-bottom: 1px solid #171c61;
}

/*---------------------お客様の声*/
strong.customer-title{
font-size:1.2em;
}
p.center{
margin-bottom: 3em;
}
ul.customer-box{
border-top:6px solid #171c61;
}
.customer-box li{
max-width: 1280px;
width: 95%;
margin: 2em auto;
padding:4%;
border:1.8px dotted #172a88;
}
.customer-box li p{
margin-bottom: 8em;
}
.customer-box li strong{
text-align: center;
font-weight: bold;
display: block;
}

/*---------------------お問い合わせ*/
.contact-info{
width:77%;
margin: 0 auto 3em;
}
.contact-form_box{
margin-bottom: 10em;
}
.contact-form_box p{
margin-bottom: 3em;
}

.contact-form_box dl{
margin-bottom: 0.5em;
display: block;
}
.contact-form_box dt,.contact-form_box dd{
display: block;
padding-bottom: 0;
}
.contact-form_box dd{
width:100%;
padding-left:0;
}
.contact-form_box input,.contact-form_box textarea{
width: 100%;
}
.contact-form_box input.half{
width: 100%;
}
.contact-form_box input.half02{
width: 100%;
}
.contact-form_box input[type="submit"]{
max-width:100%;
margin-top: 10%;
}
.contact-form_box input[type="submit"].btn_back{
max-width: 100px;
margin: 5em 0 0 0;
}


/*---------------------フッターインフォメーション*/
#footer-info_box{
width: 95%;
margin: 20% auto;
}
#footer-info_box dl{
width: 100%;
float: none;
display: block;
text-align: center;
}
#footer-info_box dl.mail{
float: none;
flex-flow:none;
}
#footer-info_box dt{
width: 15%;
display: block;
margin: 0 auto 8%;
}
#footer-info_box dd{
width:80%;
margin:0 auto;
}
#footer-info_box dl.mail dt{
margin-top: 80%;
}
#footer-info_box dl.mail dd{
margin: 0 auto;
}
/*---------------------フッター*/

.footer-text_box{
padding: 10% 0;
}
.footer-text_box p{
position: relative;
right:0;
top:0;
width: 12.8%;
margin: 0 auto 15%;
}
.footer-text_box div{
max-width: 219px;
margin:0 auto 15%;
}
.footer-text_box span{
display: block;
font-size:80%;
}
}

@media (max-width: 414px){
.top-main.sp{
width:67.63%;
}
/*---------------------NEWS*/
.backbutton a{
width:100%;
margin: 10% auto 5%;

}

}
@media(max-width:320px){
br.sp{
display:none;
}
.top-text_box a{
font-size:1.2em;
}
}
