@charset "UTF-8";
/* CSS Document */

h2{
text-align: center;
color: #112692;
letter-spacing: 0.3em;
text-indent: 0.3em;
font-weight: 600;
text-shadow: 1px 1px 7px #fff,
-1px 1px 7px #fff,
1px -1px 7px #fff,
-1px -1px 7px #fff;
}
h2 span{
display: block;
color: #111;
letter-spacing: 0.1em;
text-indent: 0;
}
/*---------------
#company
---------------*/
#company dl{
display: flex;
flex-wrap: wrap;
}
#company dl{
border-top: solid 1px #999;
}
#company dl dt{
border-bottom: solid 1px #999;
}
#company dl dd{
border-bottom: solid 1px #999;
}
/*---------------
#lineup
---------------*/
#lineup .type li:last-of-type{
padding-bottom: 0;
}
#lineup .type li h3{
font-weight: 600;
background-color: #bbdcf0;;
}
#lineup .type .list li:last-of-type{
padding-bottom: 0;
}
#lineup .type .list li div h4{
font-weight: 500;
}
#lineup .type .list li div table{
width: 100%;
border: 1px solid rgba(0,0,0,.1);
}
#lineup .type .list li div table th{
text-align: center;
background-color: #f3f3f3;
border-right: 1px solid rgba(0,0,0,.1);
border-bottom: 1px solid rgba(0,0,0,.1);
}
#lineup .type .list li div table td{
text-align: center;
border-right: 1px solid rgba(0,0,0,.1);
}
#lineup .type .list a.pdf{
display: inline-block;
color: #112692;
font-size: 1.3rem;
transition: .3s;
}
#lineup .type .list a.pdf:after{
display: inline-block;
content: "\f1c1";
font-family: "Font Awesome 5 Free";
font-weight: 600;
font-size: 1.3rem;
padding-left: 5px;
}
#lineup .type .list a.cad{
color: #112692;
transition: .3s;
font-size: 1.3rem;
padding-left: 5px;
}
#lineup .type .list a.cad:after{
display: inline-block;
content: "\f1c6";
font-family: "Font Awesome 5 Free";
font-weight: 600;
font-size: 1.3rem;
padding-left: 5px;
}
#lineup .type .list a.pdf.detail{
font-size: 1.6rem;
padding-top: 10px;
}
/*---------------
#faq
---------------*/
#faq dl dt {
border-radius: 5px;
background: #bbdcf0;
}
#faq dl dt:before,
#faq dl dd:before{
color: #ffffff;
}
#faq dl dt:before {
content: 'Q.';
font-weight: bold;
}
#faq dl dd:before {
content: 'A';
font-weight: bold;
border-radius: 0.2em;
color: #112692;
}
#faq dl dd:last-of-type{
padding-bottom: 0;
}
/*---------------
#recruit
---------------*/
#recruit dl{
display: flex;
flex-wrap: wrap;
}
#recruit dl{
border-top: solid 1px #999;
}
#recruit dl dt{
border-bottom: solid 1px #999;
}
#recruit dl dd{
border-bottom: solid 1px #999;
}
#recruit p{
text-align: center;
}
/*---------------
#news
---------------*/
#news .box ul li:first-of-type{
border-top: dotted 2px #E6E6E6;
}
#news .box ul li{
letter-spacing: 0.1em;
border-bottom: dotted 2px #E6E6E6;
}
#news .box a.btn{
margin-left: auto;
}
/*---------------
#news-p
---------------*/
#news-p h3{
font-weight: bold;
color: #112692;
}
#news-p .inner img{
display: block;
}
#news-p .inner a{
color: #112692;
font-weight: 600;
transform: .3s;
}
/*ここから↓*/
/*------------------
reset
------------------*/
input[type="text"],
input[type="email"] {
padding: 0;
border: none;
border-radius: 0;
outline: none;
background: none;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
outline: none;
background: transparent;
}
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
resize: none;
padding: 0;
border: 0;
outline: none;
background: transparent;
}
button,
input[type="submit"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0;
border: none;
outline: none;
background: transparent;
}
/*------------------
#contact
------------------*/
#form .soy_inquiry_message{
text-align: center;
padding-bottom: 20px;
}
#form dl {
border-bottom: 1px solid #ddd;
width: 100%;
}
#form dl dt {
border-top: 1px solid #ddd;
letter-spacing: 0.05em;
font-weight: 500;
}
#form dl dt span {
display: inline-block;
text-align: center;
background: #bd2828;
color: #fff !important;
border-radius: 6px;
line-height: 1;
width: 48px;
padding: 5px 0;
font-size: 1.2rem;
}
#form dl dd {
box-sizing: border-box;
}
#form dl dd input[type="text"], 
#form dl dd input[type="email"], 
#form dl dd textarea {
border: 1px solid #ddd;
border-radius: 6px;
background: #eaedf2;
width: calc(100% - 2em) ;
padding: 0.7em 1em;
font-size: 1.6rem;
}
#contact .soy_iqnuiry_responsive dd select {
border: 1px solid #ddd;
background: #fff;
color: #333;
border-radius: 6px;
padding: 0.5em 10px;
font-size: 1.6rem;
}
input[type="radio"]:first-of-type,
input[type="checkbox"]:first-of-type {
margin-left: 0;
}
#contact input[type="submit"]{
background-color: #0f2285;
display: block;
color: #fff;
font-weight: 600;
margin: 0 auto;
border-style: none;
padding: 10px;
font-size: 1.6rem;
}




@media (max-width: 560px){
section:first-of-type{
padding-top: 30px;
}
section{
padding-bottom: 30px;
}
h2{
font-size: 2.0rem;
padding-bottom: 20px;
}
h2 span{
font-size: 1.4rem;
}
/*---------------
#company
---------------*/
#company dl dt{
width: calc(25% - 10px) ;
padding: 5px 5px;
line-height: 1.5em;
}
#company dl dd{
width: calc(75% - 10px) ;
padding: 5px 5px;
}
/*---------------
#lineup
---------------*/
#lineup .type li{
padding-bottom: 50px;
}
#lineup .type li h3{
font-size: 1.8rem;
padding: 5px;
margin-bottom: 15px;
}
#lineup .type .list li{
padding-bottom: 50px;
}
#lineup .type .list li img{
padding-bottom: 10px;
}
#lineup .type .list li div h4{
font-size: 1.8rem;
padding-bottom: 10px;
}
#lineup .type .list li div table thead{
float: left;
width: 70px;
}
#lineup .type .list li div table thead tr{
display: block;
float: left;
width: 100%;
}
#lineup .type .list li div table thead th{
display: block;
font-size: 1.2rem;
}
#lineup .type .list li div table thead th:last-of-type{
border-bottom: none;
}
#lineup .type .list li div table tbody{
display: block;
float: right;
width: calc(100% - 70px) ;
}
#lineup .type .list li div table tbody tr{
display: block;
float: left;
}
#lineup .type .list li div table tbody.one tr{
width: 100%;
}
#lineup .type .list li div table tbody.two tr{
width: 50%;
}
#lineup .type .list li div table tbody.three tr{
width: calc(100% / 3);
}
#lineup .type .list li div table tbody tr td{
display: block;
font-size: 1.3rem;
border-bottom: 1px solid rgba(0,0,0,.1);
}
#lineup .type .list li div table tbody tr:last-of-type td{
border-right: none;
}
#lineup .type .list li div table tbody tr td:last-of-type{
border-bottom: none;
}
/*---------------
#faq
---------------*/
#faq dl dt {
font-size: 1.8rem;
padding: 5px 10px 7px 2.4em;
margin-bottom: 10px;
}
#faq dl dt:before {
font-size: 2.0rem;
margin: 0 5px 0 -1.4em;
}
#faq dl dd {	
padding: 0 0 20px 2.4em;
font-size: 1.6rem;
line-height: 1.6em;
}
#faq dl dd:before {
font-size: 1.4em;
margin: 0 10px 0 -1.2em;
}
/*---------------
#recruit
---------------*/
#recruit dl{
margin-bottom: 20px;
}
#recruit dl dt{
width: calc(25% - 10px) ;
padding: 10px 5px;
line-height: 1.5em;
}
#recruit dl dd{
width: calc(75% - 10px) ;
padding: 10px 5px;
}
/*---------------
#news
---------------*/
#news .box ul li{
font-size: 1.4rem;
padding: 15px 5px;
}
/*---------------
#news-p
---------------*/
#news-p h3{
font-size: 2.0rem;
padding-bottom: 20px;
}
#news-p .inner p{
line-height: 1.6em;
padding-bottom: 10px;
}
#news-p .inner img{
padding-bottom: 10px;
}
/*------------------
#contact
------------------*/
#form dl dt {
font-size: 1.6rem;
padding: 10px 0;
}
#form dl dt span {
margin-left: 10px;
}
#form dl dd {
padding-bottom: 15px;
}
input[type="radio"],
input[type="checkbox"]{
margin-left: 15px;
}
#form dl dd textarea{
height: 260px;
}
#contact input[type="submit"]{
width: 70%;
margin-top: 30px;
}
}

@media (min-width: 561px){
/*---------------
#company
---------------*/
#company dl{
width: 90%;
max-width: 800px;
margin: 0 auto;
}
#company dl dt{
width: calc(25% - 10px) ;
padding: 10px 5px;
}
#company dl dd{
width: calc(75% - 10px) ;
padding: 10px 5px;
}
/*---------------
#lineup
---------------*/
#lineup .type li{
padding-bottom: 80px;
}
#lineup .type li h3{
font-size: 2.2rem;
padding: 10px;
margin-bottom: 30px;
}
#lineup .type .list li{
display: flex;
align-items: flex-start;
padding-bottom: 50px;
}
#lineup .type .list li img{
width: 27%;
padding-right: 3%;
}
#lineup .type .list li div{
width: 70%;
}
#lineup .type .list li div h4{
font-size: 2.0rem;
padding-bottom: 10px;
}
#lineup .type .list li div table th{
font-size: 1.3rem;
width: 16%;
padding: 3px 0;
}
#lineup .type .list li div table td{
font-size: 1.5rem;
width: 16%;
padding-top: 15px;
}
#lineup .type .list li div table tr:last-of-type td{
padding-bottom: 15px;
}
#lineup .type .list a.pdf:hover{
opacity: 0.5;
transition: .3s;
}
/*---------------
#faq
---------------*/
#faq dl{
width: 90%;
max-width: 800px;
margin: 0 auto;
}
#faq dl dt {
font-size: 2.2rem;
padding: 5px 10px 7px 0.7em;
margin-bottom: 10px;
}
#faq dl dt:before {
font-size: 2.6rem;
margin-right: 10px;
}
#faq dl dd {	
font-size: 1.8rem;
padding: 0 0 50px 3.2em;
}
#faq dl dd:before {
font-size: 1.6em;
margin: 0 10px 0 -1em;
}
/*---------------
#recruit
---------------*/
#recruit dl{
width: 90%;
max-width: 800px;
margin: 0 auto 30px;
}
#recruit dl dt{
width: calc(25% - 20px) ;
padding: 20px 10px;
}
#recruit dl dd{
width: calc(75% - 20px) ;
padding: 20px 10px;
}
/*---------------
#news
---------------*/
#news .box ul{
max-width: 860px;
margin: 0 auto;
}
#news .box ul li{
font-size: 1.8rem;
padding: 30px;
transition: .3s;
}
#news .box ul li:hover{
opacity: 0.6;
transition: .3s;
}
/*---------------
#news-p
---------------*/
#news-p .box > div{
max-width: 860px;
margin: 0 auto;	
}
#news-p h3{
font-size: 2.6rem;
padding-bottom: 30px;
}
#news-p .inner p{
padding-bottom: 15px;
}
#news-p .inner img{
width: 50%;
padding-bottom: 15px;
}
#news-p .inner a:hover{
opacity: 0.5;
transform: .3s;
}
/*------------------
#contact
------------------*/
#form{
width: 90%;
max-width: 800px;
margin: 0 auto;
}
#form dl {
display: flex;
flex-wrap: wrap;
}
#form dl dt {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.8rem;
width: 30%;
}
#form dl dd {
border-top: 1px solid #ddd;
padding: 20px 0 20px 20px;
width: 70%;
}
input[type="radio"],
input[type="checkbox"]{
margin-left: 30px;
}
#form dl dd textarea{
height: 260px;
}
#contact input[type="submit"]{
width: 30%;
margin-top: 40px;
}
}

@media (min-width: 561px) and (max-width: 1024px){
section:first-of-type{
padding-top: 40px;
}
section{
padding-bottom: 40px;
}
h2{
font-size: 2.4rem;
padding-bottom: 30px;
}
h2 span{
font-size: 1.6rem;
}
}

@media screen and (min-width: 1025px){
section:first-of-type{
padding-top: 70px;
}
section{
padding-bottom: 70px;
}
h2{
font-size: 2.8rem;
padding-bottom: 40px;
}
h2 span{
font-size: 1.8rem;
}
/*---------------
#company
---------------*/


}