@charset "UTF-8";
/* CSS Document */
/*--------------------
01.共通
02.ヘッダー
03.フッター
04.form
--------------------*/

/*----------
01.共通
----------*/

/*
@font-face {
font-family: "Noto Sans JP",'Meiryo';
src:url('../font/Meiryo.woff2') format('woff2'),
url('../font/Meiryo.woff') format('woff'),
url('../font/Meiryo.ttf')  format('truetype');  ttf - Safari, Android, iOS 
font-weight: normal;
font-style: normal;
}
*/



body{
-webkit-font-smoothing: antialiased;

}

*{
box-sizing: border-box;
}

*:focus {
outline: none;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: "Noto Sans JP",'メイリオ','Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
font-size: 16px;
color: #333333;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1280px;
width: 91.4%;
margin: 0 auto;
}

a{
color: #333;
}

a:hover{
color:#333;
}

a:link{
color:#333;
}

img{
width: 100%;
height: auto;
display: block;
}





/*--------------------
02.ヘッダー
--------------------*/
header .logo{
width: 310px;
margin: 60px 0 -126px;
position: relative;
z-index: 5;
filter: drop-shadow(0 0 5px rgb(0,0,0,0.5));
}

.fix_btn_g{
display: block;
position: fixed;
top:25px;
right: 25px;
z-index: 5;
}

.fix_btn_g .fix_btn{
/*display: block;*/
background: #416871;
border: 1px solid #707070;
border-radius:41px;
color: #fff;
margin-bottom: 15px;
box-shadow: 0px 3px 6px rgb(0,0,0,0.16);
display: flex;
align-items: center;
width: 81px;
height: 81px;
transition: .3s ease;
margin: 0 0 15px auto;
}
.fix_btn_g .fix_btn.show{
width: auto;
}

.fix_btn_g .fix_btn span.icon{
width: 81px;
height: 81px;
display:flex;
justify-content: center;
align-items: center;
}

.fix_btn_g .fix_btn a{
display: none;
}
.fix_btn_g .fix_btn span.text{
color: #fff;
font-size: 24px;
padding: 20px 30px 20px 0;
}

.fix_btn_g .fix_btn.show a{
display: block;
}

.fix_btn_g .fix_btn span.icon img{
width: 44px;
}
.fix_btn_g .fix_btn.document span.icon img{
width: 38px;
}
.fix_btn_g .fix_btn.tel span.icon img{
width: 48px;
}





/*--------------------
03.フッター
--------------------*/

footer {
background: #000000;
color: #fff;
padding: 50px 0 60px;
}

footer .news_box{
display: block;
background: #464949;
background: linear-gradient(0deg, #0E0F0F 0%, #464949 100%);
padding: 30px 60px;
margin-bottom: 90px;
}
footer .news_box h2{
font-family: "Arial",futura-pt,sans-serif;
font-weight: 600;
font-style: normal;
font-size: 50px;
line-height: 64px;
margin-bottom: 32px;
}
footer .news_box dl{
display: flex;
padding-bottom: 13px;
border-bottom: 1px solid #707070;
margin-bottom: 15px;
font-size: 18px;
line-height: 27px;
}
footer .news_box dt{
font-family: "Arial",futura-pt, sans-serif;
font-weight: 400;
font-style: normal;
margin-right: 32px;
}
footer .news_box dd a{
color: #fff;
}
footer .news_box dd a:hover{
text-decoration: underline;
}
footer .news_box .btn_more{
display: block;
margin: 30px auto 0;
border: 1px solid #6A6666;
border-radius: 8px;
width: 217px;
transition: .2s ease;
}
footer .news_box .btn_more a{
display: block;
width: 100%;
text-align: center;
color: #fff;
font-size: 18px;
padding: 12px 0 10px;
transition: .2s ease;
}
footer .news_box .btn_more a span{
font-family: "Arial",futura-pt, sans-serif;
font-weight: 400;
font-size: 22px;
}
footer .news_box .btn_more:hover{
background: #fff;
}
footer .news_box .btn_more:hover a{
color: #000;
}
footer .company_box{
display: flex;
align-items: flex-start;
/*justify-content: space-between;*/
margin-bottom: 121px;
}
footer .company_box .logo{
max-width: 267px;
width: 20.85%;
margin-right: 4.7%;
min-width: 180px;
}
footer .company_box .text{
padding-top: 4px;
margin-right: 4.7%;
}
footer .company_box .text .name{
font-size: 20px;
font-weight: bold;
margin-bottom: 15px;
}
footer .company_box .text p{
font-size: 15px;
line-height: 27px;
}
footer .company_box .text p a{
color: #fff;
}
footer .company_box .text p a:hover{
text-decoration: underline;
}
footer .sns{
display: block;
max-width: 239px;
width: 17.67%;
min-width: 180px;
}
footer .sns .title{
font-family: "Arial",futura-pt, sans-serif;
font-weight: 400;
font-size: 16px;
padding-bottom: 16px;
border-bottom: 1px solid #707070;
margin-bottom: 13px;
}
footer .sns .sns_btn{
max-width: 90px;
}
footer nav ul{
display: flex;
justify-content: center;
margin-bottom: 30px;
}
footer nav ul li{
padding: 0 16px;
border-right: 1px solid #fff;
}
footer nav ul li:last-of-type{
border: none;
}
footer nav ul li a:link, 
footer nav ul li a{
color: #fff;
}
footer nav ul li a:hover{
color: #fff;
text-decoration: underline;
}
footer .copyright{
font-size: 14px;
text-align: center;
}

/*--------------------
04.form
--------------------*/

.form_box{
padding: 20px 3.8vw 20px;
}

input[type="text"] , input[type="email"] {
padding: 0;
border: none;
border-radius: 0;
outline: none;
background: none;
-webkit-appearance: none; 
}
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;
}
#form{
background: #F6F6F6;
min-height: 100vh;
}
#form .form_box{
padding: 132px 0 54px;
width: 76.09%;
margin: 0 auto;
}
#form .form_box h3{
font-weight: bold;
font-size: 32px;
margin-bottom: 15px;
text-align: center;
}
#form .form_box p.first{
font-size: 22px;
line-height: 35px;
text-align: center;
margin-bottom: 30px;
}
#form .form_box .close{
width: 51px;
position: fixed;
top: 36px;
right: 36px;
}
.form_box .flex{
display: flex;
justify-content: space-between;
}
.form_box .flex .name_box{
width: 47.52%;
}
.form_box input{
display: block;
background: #fff;
border: 1px solid #707070;
width: 100%;
padding: 10px 15px;
font-size: 20px;
line-height: 30px;
margin-bottom: 20px;
font-family: "Noto Sans JP",'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif; 
}
.form_box textarea{
background: #fff;
padding: 10px 15px;
border: 1px solid #707070;
font-size: 20px;
line-height: 30px;
width: 100%;
height: 246px;
margin-bottom: 25px;
font-family: "Noto Sans JP",'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
border-radius: 0;
}
.form_box .check{
margin-bottom: 25px;
}
.form_box .check p{
display: block;
font-size: 18px;
}
.form_box .check .checkbox_input{
display: none;
width: 100%;
}
.form_box .check .check_text{
padding-left: 42px;
position:relative;
display: inline;
width: 100%;
font-size: 18px;
letter-spacing: 0.05em;
cursor: pointer;
display: block;
margin-bottom: 15px;
}
.form_box .check .check_text::before{
content: "";
display: block;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 25px;
height: 25px;
border: 1px solid #707070;
border-radius: 5px;
}
.form_box .check .checkbox_input:checked + .check_text::after{
content: "";
display: block;
position: absolute;
top: -11px;
left: 8px;
width: 12px;
height: 23px;
transform: rotate(40deg);
border-bottom: 3px solid #416871;
border-right: 3px solid #416871;
}
.form_box .check p{
font-size: 18px;
color: #1B1B1B;
}
.form_box .check p a:hover{
text-decoration: underline;
}
.form_box input[type="button"],
.form_box input[type="submit"]{
display: block;
width: 100%;
background: #416871;
font-weight: bold;
color: #fff;
font-size: 28px;
padding: 28px 0 23px;
border: 1px solid #416871;
transition: .2s ease;
cursor: pointer;
font-family: "Noto Sans JP",'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
border-radius: 0;
}
.form_box input[type="button"]{
background: #5D6060;
}

.form_box input[type="submit"]:hover{
background: #fff;
color: #416871;
}
.form_box input[type="button"]:hover{
background: #fff;
color: #5D6060;
}

.form_box .btn a{
display: block;
width: 100%;
background: #416871;
font-weight: bold;
color: #fff;
font-size: 28px;
padding: 28px 0 23px;
border: 1px solid #416871;
transition: .2s ease;
text-align: center;
}
.form_box .btn a:hover{
background: #fff;
color: #416871;
}

.form_box .btn.close_popup a{
background: #5D6060;
}
.form_box .btn.close_popup a:hover{
background: #fff;
color: #5D6060;
}

.form_box dl{
margin-bottom: 35px;
}
.form_box dt{
font-size: 22px;
margin-bottom: 10px;
}

.form_box p.last_text{
color: #707070;
font-size: 16px;
text-align: center;
line-height: 24px;
}
.form_box p.last_text a{
color: #707070;
}
.form_box p.last_text a:hover{
text-decoration: underline;
}

#cboxLoadedContent{
background: #f6f6f6;
}


@media only screen and (max-width:1280px){
/*----------
01.共通
----------*/


/*--------------------
02.ヘッダー 1280
--------------------*/
header .logo {
width: 260px;
margin: 30px 0 -85px;
}



/*--------------------
03.フッター 1280
--------------------*/
/*--------------------
04.form 1280
--------------------*/

}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/


/*--------------------
02.ヘッダー 1024
--------------------*/
/*--------------------
03.フッター 1024
--------------------*/
footer .news_box h2{
font-size: 30px;
text-align: center;
margin-bottom:20px;
}
footer .news_box dl{
font-size:16px;
}
footer .company_box .text .name{
font-size: 16px;
}
footer .company_box .text p{
font-size: 13px;
line-height: 22px;
}
footer nav ul li{
font-size: 14px;
}
footer .copyright{
font-size: 12px;
}


/*--------------------
04.form 1024
--------------------*/


}

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

/*----------
01.共通
----------*/

.pc{
display: none;
}

.sp{
display: block;
}

.contents_in{
/*width: 94%;*/
}

/*--------------------
02.ヘッダー 750
--------------------*/
header .logo{
width: 180px;
margin: 25px 0 -63px;
}

.fix_btn_g{
bottom: unset;
top: 11px;
right: 16px;
}
.fix_btn_g .btn_g{
display: none;
}
.fix_btn_g .fix_btn{
width: 55px;
height: 55px;
margin: 0 0 10px auto;
}
.fix_btn_g .fix_btn span.text{
font-size: 18px;
padding: 14px 30px 14px 0;
}
.fix_btn_g .fix_btn span.icon img{
width: 30px;
}
.fix_btn_g .fix_btn.document span.icon img{
width: 26px;
}
.fix_btn_g .fix_btn.tel span.icon img{
width: 32px;
}
.fix_btn_g .nav_btn{
display: block;
width: 55px;
height: 55px;
position: relative;
margin: 0 0 10px auto;
background: #416871;
border: 1px solid #707070;
border-radius: 41px;
}
.fix_btn_g .nav_btn .nav_line,
.fix_btn_g .nav_btn .nav_line span{
width: 100%;
position: absolute;
left: 0;
}
.fix_btn_g .nav_btn .nav_line{
height: 2px;
overflow: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transition-duration: .3s;
width: 20px;
left: 16px;
}
.fix_btn_g .nav_btn .nav_line span{
display: block;
height: 100%;
top: 0;
overflow: hidden;
background: #fff;
transition-duration: .3s;
transition-timing-function: ease-in-out;
}
.fix_btn_g .nav_btn .nav_line span{
background: #fff;
}
.fix_btn_g .nav_btn .nav_line01{
top: 18px;
}
.fix_btn_g .nav_btn .nav_line02 {
width: 20px;
top: 25px;
}
.fix_btn_g .nav_btn .nav_line03 {
width: 20px;
bottom: 19px;
}

.fix_btn_g.show .nav_btn {
background: #FFFFFF;
}
.fix_btn_g.show .nav_btn .nav_line span{
background: #416871;
}
.fix_btn_g.show .nav_btn .nav_line{
left: 13px;
}
.fix_btn_g.show .nav_btn .nav_line01{
top: 17px;
width: 26px;
-webkit-transform: translateY(8.5px) rotate(-45deg);
transform: translateY(8.5px) rotate(-45deg);
background:#416871;
}
.fix_btn_g.show .nav_btn .nav_line03{
bottom:18px;
width: 26px;
-webkit-transform: translateY(-7.5px) rotate(45deg);
transform: translateY(-7.5px) rotate(45deg);
background: #416871;
}
.fix_btn_g.show .nav_btn .nav_line02{
top:19px;
width: 100%;
opacity: 0;
background: #416871;
}


/*--------------------
03.フッター 750
--------------------*/
footer{
padding: 20px 0 29px;
}
footer .news_box{
padding: 25px 15px 32px;
margin-bottom: 40px;
}
footer .news_box h2{
line-height: 30px;
}
footer .news_box dl{
display: block;
line-height: 24px;
}
footer .news_box .btn_more{
width: 175px;
margin: 20px auto 0;
}
footer .news_box .btn_more a{
font-size: 16px;
}
footer .news_box .btn_more a span{
font-size: 20px;
}
footer .company_box{
display: block;
text-align: center;
margin-bottom: 41px;
}
footer .company_box .logo{
width: 267px;
margin: 0 auto 15px;
}
footer .company_box .text .name{
margin-bottom: 25px;
}
footer .company_box .text{
margin-bottom: 20px;
}
footer .sns{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
max-width: none;
}
footer .sns .title{
border-bottom: none;
border-right: 1px solid #fff;
font-size: 14px;
line-height: 18px;
padding: 0 10px 0 0;
margin: 0 10px 0 0;
}
footer .sns .sns_btn{
width: 80px;
}
footer nav ul{
margin-bottom: 15px;
}
footer nav ul li{
font-size: 11px;
padding: 0 7px;
}



#colorbox{
left: 50%!important;
transform: translateX(-50%);
}

}

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

/*--------------------
04.form 480
--------------------*/

#form .form_box{
padding: 48px 0 30px;
width: 81.2%;
}
#form .form_box .close{
width: 22px;
top: 14px;
right: 14px;
}
#form .form_box h3{
font-size: 18px;
margin-bottom: 10px;
}
#form .form_box p.first{
font-size: 15px;
line-height: 24px;
margin-bottom: 10px;
}
.form_box input{
padding: 7px 8px;
font-size: 14px;
line-height: 20px;
margin-bottom: 8px;
}
.form_box textarea{
padding: 7px 8px;
font-size: 14px;
line-height: 20px;
margin-bottom: 8px;
height: 132px;
}
.form_box .check{
margin-bottom: 12px;
}
.form_box .check .check_text{
font-size: 12px;
padding-left: 22px;
line-height: 18px;
margin-bottom: 8px;
}
.form_box .check .check_text::before{
width: 13px;
height: 13px;
border-radius: 2px;
top: 2px;
transform: none;
}
.form_box .check .checkbox_input:checked + .check_text::after{
top: 0px;
left: 5px;
width: 5px;
height: 11px;
border-bottom: 2px solid #416871;
border-right: 2px solid #416871;
}
.form_box .check p{
font-size: 12px;
line-height: 18px;
}
.form_box input[type="button"], .form_box input[type="submit"]{
font-size: 18px;
padding: 16px 0 13px;
}
.form_box .btn a{
font-size: 18px;
padding: 16px 0 13px;
}

.form_box dl{
margin-bottom: 20px;
}
.form_box dt{
font-size: 14px;
margin-bottom: 8px;
}
.form_box p.last_text{
color: #707070;
font-size: 12px;
text-align: center;
line-height: 18px;
}


}

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

/*--------------------
04.form 320
--------------------*/
#form .form_box h3{
font-size: 16px;
}
.form_box input[type="button"], .form_box input[type="submit"]{
font-size: 15px;
}
}

.btn_details{
display: block;
margin: 30px auto 0;
border: 1px solid #6A6666;
border-radius: 8px;
width: 217px;
transition: .2s ease;
background: #404040;
}
.btn_details a{
display: block;
width: 100%;
text-align: center;
color: #fff;
font-size: 18px;
padding: 12px 0 10px;
transition: .2s ease;
}
.btn_details a span{
font-family: "Arial",futura-pt, sans-serif;
font-weight: 400;
font-size: 22px;
}
.btn_details:hover{
background: #fff;
}
.btn_details:hover a{
color: #000;
}
.btn_details{
width: 175px;
margin: 20px auto 0;
}
.btn_details a{
font-size: 16px;
}
.btn_details a span{
font-size: 20px;
}
