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

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

body{
-webkit-font-smoothing: antialiased;
}

*{
box-sizing: border-box;
}

*:focus {
outline: none;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-size: 14px;
color: #212121;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1000px;
width: 100%;
margin: 0 auto;
}
.contents_in.narrow{
max-width: 900px;
}

a{
color: #212121;
}

a:hover{
color:#212121;
}

a:link{
color:#212121;
}

img{
width: 100%;
height: auto;
display: block;
}
main{
margin-top: 120px;
}
.wrapper{
font-family: 'Noto Sans JP';
}
.btn01{
max-width: 406px;
}
.cnt_in{
margin: 0 auto;
max-width: 1000px;
}
.bg1{
background: #f8f8f8;
}
.blue{
color: #003388 !important;
}
/* solution */
.solution{
padding: 32px 0 76px;
background-image: url(../img/solution_bg.png);
background-size: cover;
background-repeat: no-repeat;
}
.solution .solution_title{
margin: 0 auto 17px;
font-size: 38px;
font-weight: 700;
letter-spacing: 0.03em;
line-height: 56px;
color: #FFF;
text-align: center;
}
.solution .font16_text{
margin: 0 0 35px;
text-align: center;
color: #FFF;
}
.solution .solution_wrp{
margin: 0 auto;
}
.solution .solution_flex{
display: flex;
margin: 0 0 0 -40px;
}
.solution .solution_box{
position: relative;
margin: 0 0 0 40px;
padding: 22px 0 57px;
width: calc(100%/2 - 40px);
background-color: #fff;
}
.solution .solution_img{
margin: 0 auto 8px;
width: 51.25%;
}
.solution .solution_text{
font-size: 18px;
letter-spacing: 0.05em;
font-weight: 500;
line-height: 28px;
color: #003388;
text-align: center;
}
.solution .solution_text span{
font-weight: 700;
}
.solution .btn01{
position: absolute;
max-width: 300px;
width: 62.5%;
left: 50%;
bottom: -31px;
transform: translateX(-50%);
}
.solution .btn01 a{
font-weight: 400;
}


/* ニューススライダー */
#news_slider .slick-slide{
margin: 15px 0.7%;
padding: 36px 32px 42px;
border-radius: 5px;
box-shadow: 0px 0px 12px rgba(14, 56, 124, 0.22);
}
#news_slider .slick-slide a{
display: flex;
}
#news_slider .slide_dots{
display: flex;
position: absolute;
left: 50%;
bottom: -45px;
transform: translateX(-50%);
}
#news_slider .slide_dots li{
margin: 0 7.4px 0 0;
}
#news_slider .slide_dots button{
display: block;
position: inherit;
border: none;
outline: none;
padding: 0;
width: 30px;
height: 2px;
text-indent: -200%;
background-color: #E0E0E0;
overflow: hidden;
transition: 0.5s;
cursor: pointer;
appearance: none;
}
#news_slider .slick-active button{
background-color: #C6000A;
}
#news_slider .slick-arrow{
position: absolute;
background-image: url(../img/slick_prev.png);
background-size: 7px auto;
background-repeat: no-repeat;
background-position: center;
width: 30px;
height: 30px;
top: 50%;
left: 12%;
transform: translateY(-50%);
cursor: pointer;
z-index: 3;
}
#news_slider .slick-arrow.next{
background-image: url(../img/slick_next.png);
left: auto;
right: 12%;
}
#news_slider .cnt_img{
margin: 0 32px 0 0;
width: 29%;
}
#news_slider .text_box{
width: calc(100% - 29% - 32px);
}
#news_slider .news_title{
margin: 0 0 5px;
font-size: 20px;
font-weight: 700;
letter-spacing: 0.1em;
line-height: 34px;
}
#news_slider .day{
margin: 0 0 15px;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.1em;
color: #717171;
}
/* お問い合わせfixed */
#fixed_contact{
display: flex;
align-items: center;
position: fixed;
right: 12px;
bottom: 14px;
z-index: 20;
}
#fixed_contact .cnt_text{
display: inline-block;
position: relative;
margin: 0 10px 0 0;
border-radius: 5px;
padding: 8px 18px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.05em;
line-height: 20px;
color: #003388;
background-color: #fff;
box-shadow: rgba(14, 56, 124, 0.16) 0 12px 16px;
transition: 0.3s;
}
#fixed_contact:hover .cnt_text{
color: #fff;
background-color: #003388;
}
#fixed_contact .cnt_text.sp{
display: none;
}
#fixed_contact .cnt_text::before{
content: '';
display: block;
position: absolute;
border-style: solid;
border-width: 5.5px 0 5.5px 13px;
border-color: transparent transparent transparent #fff;
width: 0;
height: 0;
transform: translateY(-50%);
box-shadow: rgb(14 56 124 / 16%) 0 12px 16px;
right: -10px;
top: 50%;
transition: 0.3s;
}
#fixed_contact:hover .cnt_text::before{
border-color: transparent transparent transparent #003388;
}
#fixed_contact .cnt_text::after{
content: '';
display: inline-block;
width: 11px;
height: 12px;
background-image: url(../img/contact_fixed3.png);
background-size: 100% auto;
background-repeat: no-repeat;
background-position: center;
vertical-align: middle;
}
#fixed_contact .cnt_img a{
display: block;
position: relative;
border: 2px solid #003388;
border-radius: 90%;
width: 93px;
height: 93px;
box-shadow: rgba(14, 56, 124, 0.16) 0 12px 16px;
background-color: #fff;
transition: 0.3s;
}
#fixed_contact:hover .cnt_img a{
background: transparent linear-gradient(137deg, rgba(44, 104, 206, 1) 0%, rgba(0, 51, 136, 1) 100%) 0% 0% no-repeat padding-box;
}
#fixed_contact .cnt_img a .img{
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 55px;
}
.hukidashi_area{
position: relative;
text-align: center;
}
.hukidashi_area::before{
content: '';
display: block;
position: absolute;
width: 83px;
height: 109px;
background-image: url(../../img/top/pic14.png);
background-size: contain;
background-repeat: no-repeat;
top: 50%;
left: calc(50% - 265px);
transform: translate(-50%,-50%);
}
.hukidashi{
display: inline-flex;
margin: 0 auto;
font-size: 22px;
font-weight: 700;
letter-spacing: 0.05em;
line-height: 28px;
color: #003388;
text-align: center;
}
.hukidashi::before,
.hukidashi::after{
content: '';
display: block;
width: 29px;
height: 44px;
background-size: contain;
background-repeat: no-repeat;
}
.hukidashi::before{
margin: 0 22px 0 0;
background-image: url(../../img/top/parts_l.png);
}
.hukidashi::after{
margin: 0 0 0 22px;
background-image: url(../../img/top/parts_r.png);
}
#faq_area .hukidashi_area{
margin: 0 auto 78px;
}
#faq_area .qa_box{
margin: 0 0 20px;
border-bottom: 1px solid #DBDBDB;
padding: 0 0 20px;
}
#faq_area .q_box{
position: relative;
padding: 0 20px 7px 60px;
font-size: 16px;
font-weight: 400;
letter-spacing: 0.05em;
line-height: 24px;
text-indent: -22px;
cursor: pointer;
}
#faq_area .q_box span{
display: block;
position: absolute;
margin: 0 0 0 auto;
width: 16px;
height: 3px;
background-color: #0059A5;
top: 50%;
right: 0;
transform: translateY(-50%);
}
#faq_area .q_box span::before{
content: '';
display: block;
width: 16px;
height: 3px;
background-color: #0059A5;
transform: rotate(90deg);
transition: 0.7s;
}
#faq_area .open span::before{
transform: none;
}
#faq_area .q_box::before{
content: 'Q';
display: inline-block;
margin: 0 20px 0 0;
font-size: 24px;
font-weight: 700;
letter-spacing: 0.05em;
color: #0059A5;
}
#faq_area .a_box{
display: none;
padding: 0 20px 0 60px;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.05em;
line-height: 24px;
}
#more{
margin: 0 auto;
max-width: 1280px;
}
#more .cnt_flex{
display: flex;
}
#more .cnt_box{
padding: 85.5px 0;
width: 50%;
background-image: url(../../common/img/more_bg01.jpg);
background-size: cover;
background-repeat: no-repeat;
}
#more .cnt_g{
margin: 0 auto;
padding: 55px 0 34px;
color: #fff;
width: 76%;
background-color: rgba(0,51,136,0.8);
}
#more .r_box .cnt_g{
background-color: rgba(0,0,0,0.8);
}
#more .r_box{
background-image: url(../../common/img/more_bg02.jpg);
}
#more .font18_text{
margin: 0 0 18px;
}
#more h2{
font-size: 24px;
font-weight: 700;
letter-spacing: 0.05em;
line-height: 36px;
text-align: center;
}
#more .btn02{
margin: 0 auto;
max-width: 300px;
transform: translateY(66px);
}
#more .btn02 a{
padding: 6px 0;
}
#title_area{
background-color: #fff;
}
#title_area .cnt_wrap{
position: relative;
margin: 0 auto;
padding: 64px 0 244px;
max-width: 1280px;
}
#title_area .cnt_wrap::after{
content: '';
position: absolute;
width: 89%;
max-width: 1141px;
height: 32.8vw;
max-height: 420px;
top: 50%;
left: -5%;
background-image: url(../../img/beta/title.jpg);
background-size: 100% auto;
background-repeat: no-repeat;
}
#title_area .cnt_wrap.nobg {
margin-bottom: 30px;
}
#title_area .cnt_wrap.nobg::after{
top: unset;
bottom: 0;
}
#title_area .cnt_wrap.no_img{
padding-bottom: 60px;
margin: 0 auto;
}
#title_area .cnt_wrap.no_img::after{
content: none;
}
#title_area .genre{
margin: 0 0 15px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.05em;
}
#title_area .genre::before{
content: '';
display: inline-block;
margin: 0 16px 0 0;
width: 36px;
height: 1px;
background-color: #272727;
vertical-align: middle;
}
#title_area h1{
font-size: 40px;
font-weight: 700;
letter-spacing: 0.03em;
color: #003388;
}
#title_area .title_g{
display: flex;
justify-content: space-between;
align-items: flex-end;
}
#breadcrumb{
display: flex;
}
#breadcrumb li{
margin: 0 10px 0 0;
}
#breadcrumb li:last-of-type{
margin: 0;
}
#breadcrumb li::after{
content: '/';
display: inline-block;
margin: 0 0 0 10px;
}
#breadcrumb li a{
font-size: 12px;
font-weight: 400;
letter-spacing: 0.05em;
color: #212121;
}
#breadcrumb li:last-of-type::after{
content: none;
}
#breadcrumb li:last-of-type a{
color: #A8A7A7;
}
#model .cnt_g{
display: flex;
margin: 0 0 0 -40px;
}
#model .cnt_box{
margin: 0 0 0 40px;
border-radius: 5px;
padding: 32px 0 17px;
width: calc(100%/2 - 40px);
background-color: #fff;
display: flex;
flex-direction: column;
justify-content: space-between;
}
#model h3{
margin: 0 0 47px;
font-size: 24px;
font-weight: 700;
letter-spacing: 0.1em;
color: #212121;
text-align: center;
}
#model .cnt_img{
margin: 0 auto 39px;
width: 91%;
}
#model .text{
font-size: 18px;
font-weight: 500;
letter-spacing: 0.05em;
line-height: 28px;
color: #003388;
text-align: center;
}
.case_box{
border-radius: 5px;
padding: 28px;
background-color: #fff;
box-shadow: rgba(14, 56, 124, 0.22) 0px 0px 12px;
}
.case_box .cnt_box{
display: flex;
align-items: center;
position: relative;
}
.case_box .cnt_box::after{
content: '';
display: block;
position: absolute;
width: 7px;
height: 14px;
background-image: url(../img/telework/parts1.png);
background-size: contain;
background-repeat: no-repeat;
background-position: center;
right: 0;
bottom: 0;
transition: 0.7s;
}
.case_box .cnt_box:hover::after{
right: -10px;
}
.case_box .cnt_img{
width: 36%;
}
.case_box .cnt_data{
margin: 0 0 0 -1.8%;
width: 64%;
}
.case_box .case_title{
display: inline-block;
margin: 0 0 20px;
padding: 2px 13px;
font-size: 25px;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 38px;
color: #fff;
background-color: #003388;
}
.case_box .cnt_data .font14_text{
padding: 0 0 0 8.3%;
text-align: left;
}
/* ボタン */
.btn01 a,
.btn01 input{
display: block;
position: relative;
padding: 23px 0;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.05em;
text-align: center;
color: #fff;
background: transparent linear-gradient(180deg, rgba(220, 0, 12, 1) 0%, rgba(183, 0, 10, 1) 100%) 0% 0% no-repeat padding-box;
border-radius: 5px;
transition: 0.3s;
border: none;
}
.btn01.input_wrap{
position: relative;
}
.btn01.input_wrap input{
width: 100%;
border-radius: 0;
}
.btn01 a::after,
.btn01.input_wrap::after{
content: '';
display: block;
position: absolute;
width: 7px;
height: 11px;
background-image: url(../img/arrow_r_w.png);
background-repeat: no-repeat;
background-size: contain;
top: 50%;
right: 22px;
transform: translateY(-50%);
}
.btn01 a:hover{
background: transparent linear-gradient(180deg, rgb(195, 57, 64) 0%, rgba(183, 0, 10, 1) 100%) 0% 0% no-repeat padding-box;
}
.btn01.blue a,
.btn01.blue input{
background: transparent linear-gradient(180deg, rgba(44, 104, 206, 1) 0%, rgba(0, 51, 136, 1) 100%) 0% 0% no-repeat padding-box;
}
.btn01.blue a:hover{
background: transparent linear-gradient(180deg, rgba(30, 107, 237, 1) 0%, rgba(0, 51, 136, 1) 100%) 0% 0% no-repeat padding-box;
}
.btn02 a{
display: block;
position: relative;
border: 2px solid #003388;
padding: 21px 0;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.07em;
line-height: 50px;
text-align: center;
color: #003388;
background-color: #fff;
transition: 0.3s;
}
.btn02 a::after{
content: '';
display: block;
position: absolute;
width: 7px;
height: 11px;
background-image: url(../img/arrow_r_bl.png);
background-repeat: no-repeat;
background-size: contain;
top: 50%;
right: 22px;
transform: translateY(-50%);
}
.btn02 a:hover{
color: #fff;
background-color: #003388;
}
.btn02 a:hover::after{
background-image: url(../img/arrow_r_w.png);
}
/*スライダー*/
.slider_wrap .slick-arrow{
position: absolute;
background-image: url(../img/slick_prev.png);
background-size: 7px auto;
background-repeat: no-repeat;
background-position: center;
width: 30px;
height: 30px;
top: 50%;
left: 12%;
transform: translateY(-50%);
cursor: pointer;
z-index: 3;
}
.slider_wrap .slick-arrow.next{
background-image: url(../img/slick_next.png);
left: auto;
right: 12%;
}
li.slider_card {
box-shadow: 0 0 12px rgb(14 56 124 / 22%);
border-radius: 5px;
margin: 0 27px;
padding: 28px;
}
li.slider_card figure{
width: 50%;
height: 340px;
border-radius: 5px;
}
li.slider_card figure img{
width: 100%;
height: 100%;
object-fit: cover;
}
li.slider_card .slider_txt{
flex: 1;
}
li.slider_card .slider_txt h4{
margin-top: 14px;
margin-left: -30px;
margin-right: -20px;
}
li.slider_card .slider_txt .blue_bg{
background: #003388;
color: #fff;
font-size: 20px;
font-weight: 500;
padding: 2px 5px;
display: inline;
line-height: 2;
}
.more_link {
padding-right: 1.5em;
position: relative;
}
.more_link::after {
content: "";
width: 8px;
height: 8px;
border-top: 2px solid #003388;
border-right: 2px solid #003388;
transform: rotate(45deg);
position: absolute;
top: 0;
bottom: 0;
right: 0;
margin: auto;
}
/*問い合わせ*/
.form{
padding: 90px 0 60px;
}
.form .left_box{
width: 40%;
}
.form .right_box{
width: 50%;
}
.form .right_box .btn01{
max-width: 300px;
}
.form .left_box h2.title01.left{
margin-bottom: 20px;
}
.form .white_box{
padding: 20px 15px;
}
.form .left_box p{
line-height: 30px;
}
.sb{
position: relative;
width: fit-content;
margin: 0 auto;
}
.sb::before,
.sb::after{
content: "";
width: 2px;
height: 1.6em;
background: #003388;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
}
.sb::before{
transform: rotate(-30deg);
left: -2em;
}
.sb::after{
transform: rotate(30deg);
right: -2em;
}
.form dl dt{
font-size: 20px;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 5px;
border-bottom: 1px solid #DDDDDD;
margin-bottom: 20px;
}
.form dl dt .required{
color: #BA000A;
font-size: 14px;
margin-left: 20px;
}
.form dl dt .option{
color: #003388;
font-size: 14px;
margin-left: 20px;
}
.form dl dd{
font-size: 16px;
font-weight: 500;
letter-spacing: .08em;
margin-bottom: 40px;
}
.form input[type=radio]{
display: none;
}
.form .mwform-radio-field label{
position: relative;
padding: 6px 0 6px 34px;
margin-right: 40px;
display: inline-block;
cursor: pointer;
}
.form .mwform-radio-field span.mwform-radio-field-text::before{
content: "";
width: 19px;
height: 19px;
border-radius: 10px;
border: 1px solid #212121;
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
box-sizing: border-box;
}
.form .mwform-radio-field span.mwform-radio-field-text::after{
content: "";
width: 11px;
height: 11px;
border-radius: 6px;
background: #BA000A;
position: absolute;
top: 0;
bottom: 0;
left: 4px;
margin: auto;
opacity: 0;
}
.form input[type=radio]:checked + span.mwform-radio-field-text::after{
opacity: 1;
}
.form input[type=text],
.form input[type=email],
.form textarea{
border: none;
background: #F8F8F8;
padding: 15px;
}
.form input[type=text],
textarea{
width: 100%;
}
textarea{
height: 240px;
}
.form .mwform-tel-field {
display: flex;
align-items: center;
}
.form .flex_wrap .ttl{
width: 140px;
}
.form .flex_wrap input[type=email]{
width: 60%;
}
.form p:not([class]){
font-size: 14px;
font-weight: 400;
letter-spacing: .1em;
line-height: 30px;
}
.form p a{
color: #003388;
text-decoration: underline;
}
/* タイトル */
.title01{
font-size: 32px;
font-weight: 700;
letter-spacing: 0.03em;
line-height: 50px;
color: #003388;
text-align: center;
}
.title01::after{
content: '';
display: block;
margin: 18.5px auto 0;
width: 80px;
height: 3px;
background-color: #DC000C;
}
.title01.left{
margin: 0 0 44px;
text-align: left;
}
.title01.left::after{
margin: 18.5px 0 0;
}
.title02{
font-size: 38px;
font-weight: 700;
letter-spacing: 0.03em;
line-height: 50px;
color: #003388;
text-align: center;
}

.title03{
font-size: 20px;
font-weight: 700;
letter-spacing: 0.1em;
text-align: center;
}
.title03::after{
content: '';
display: block;
margin: 22.5px 0 0;
width: 100%;
height: 1px;
background-color: #000;
}
.title04{
display: block;
margin: 0 0 16.5px;
border-left: 2px solid #BA000A;
padding: 0 0 0 14.5px;
font-size: 20px;
font-weight: 700;
letter-spacing: 0.1em;
line-height: 24px;
color: #003388;
}
.title05{
display: block;
margin: 60px auto 30px;
font-size: 18px;
line-height: 1.55;;
text-align: center;
color: #003388;
font-weight: 700;
}
/* テキスト */
.font12_text{
font-size: 12px;
font-weight: 400;
line-height: 20px;
text-align: center;
}
.font14_text{
font-size: 14px;
font-weight: 500;
line-height: 23px;
text-align: center;
}
.font15_text{
font-size: 15px;
font-weight: 400;
letter-spacing: 0.03em;
line-height: 24px;
}
.font16_text{
font-size: 16px;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 24px;
}
.font18_text{
  font-size: 18px;
  letter-spacing: 0.0em;
  font-weight: 500;
  line-height: 28px;
  text-align: center;
  }
  .font20_text{
  font-size: 20px;
  letter-spacing: 0.03em;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
  }
.font22_text{
font-size: 22px;
font-weight: 400;
letter-spacing: 0.05em;
line-height: 36px;
}
.font24_text{
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  }
  .font28_text{
  font-size: 28px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 35px;
  text-align: center;
  }
  .font30_text{
  font-size: 30px;
  letter-spacing: 0.03em;
  font-weight: 500;
  line-height: 56px;
  text-align: center;
  }
  .font60_text{
  font-size: 60px;
  letter-spacing: 0.03em;
  font-weight: 400;
  line-height: 50px;
  text-align: center;
  }
  .medium{
  font-weight: 500;
  }
  .bold{
  font-weight: 700;
  }
  .center{
  text-align: center;
  }
  .left{
  text-align: left;
  }
  .right{
  text-align: right;
  }
  .black{
  color: #333;
  }
  .white{
  color: #fff;
  }
  .blue_txt{
  color: #003388;
  }
  .red_txt{
  color: #BA000A;
  }
  .lato{
  font-family: 'Lato', sans-serif;
  }
  .heebo{
  font-family: 'Heebo', sans-serif;
  }
  /*レイアウト*/
  .flex_wrap{
  display: flex;
  }
  @media (min-width: 751px){
  .pc_flex{
  display: flex;
  }
  }
  .align_center{
  align-items: center;
  }
  .align_start{
  align-items: flex-start;
  }
  .align_end{
  align-items: flex-end;
  }
  .justify_center{
  justify-content: center;
  }
  .justify_end{
  justify-content: flex-end;
  }
  .justify_space_between{
  justify-content: space-between;
  }
  .justify_space_around{
  justify-content: space-around;
  }
  /*マージン*/
  .mb5{
  margin-bottom: 5px;
  }
  .mb10{
  margin-bottom: 10px;
  }
  .mb15{
  margin-bottom: 15px;
  }
  .mb20{
  margin-bottom: 20px;
  }
  .mb25{
  margin-bottom: 25px;
  }
  .mb30{
  margin-bottom: 30px;
  }
  .mb35{
  margin-bottom: 35px;
  }
  .mb40{
  margin-bottom: 40px;
  }
  .mb45{
  margin-bottom: 45px;
  }
  .mb50{
  margin-bottom: 50px;
  }
  .mb55{
  margin-bottom: 55px;
  }
  .mb60{
  margin-bottom: 60px;
  }
  .mb65{
  margin-bottom: 65px;
  }
  .mb70{
  margin-bottom: 70px;
  }
  .mb75{
  margin-bottom: 75px;
  }
  .mb80{
  margin-bottom: 80px;
  }
  .mb100{
  margin-bottom: 100px;
  }
  .mb120{
  margin-bottom: 120px;
  }
  .mb140{
  margin-bottom: 140px;
  }

/*----------
02.ヘッダー
----------*/
#wrapper.active{
position: relative;
}

#wrapper.active::after{
content: "";
display: block;
width: 100vw;
height: 100%;
position: absolute;
background-color: rgba(33,33,33,0.5);
z-index: 4;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

header{
padding: 20px 0 15px;
background-color: #FFFFFF;
box-shadow: 0 2px 16px rgba(14,56,124,0.16);
position: fixed;
width: 100%;
padding-bottom: 15px;
z-index: 30;
}

header .header_use.pc, header .header_product.pc{
display: none;
position: absolute;
width: 100%;
z-index: 10;
/* bottom: -81px; */
left: 50%;
transform: translateX(-50%);

background-color: #fff;
top: 120px;
}


/*header .header_use, .header_product{
display: none;
position: absolute;
width: 100%;
z-index: 10;
bottom: -81px;
}*/

header .contents_in{
display: flex;
justify-content: space-between;
max-width: 1192px;
width: 96%;
}

header .logo{
max-width: 140px;
margin-bottom: 24px;
}

header nav ul{
display: flex;
justify-content: space-between;
margin-bottom: 1px;
}

header nav ul li a:link{
color: #003388;
}

header nav ul li{
margin-right: 28px;
letter-spacing: 0.1em;
line-height: 24px;
font-weight: 500;
}

header nav ul li a{
color: #003388;
}

header .header_right .flex_box{
display: flex;
}

header .header_right .flex_box .doc{
margin-right: 38px;
}

header .header_right .trial a{
color: #212121;
}

header .header_right .trial a:hover{
color: #003388;
}

header .header_right .trial span{
display: block;
}

header .header_right .trial span, header .header_right .doc span{
padding-right: 22px;
position: relative;
font-size: 16px;
font-weight: 500;
line-height: 24px;
letter-spacing: 0.1em;
}

header .header_right .doc a span::after, header .header_right .trial span::after{
content: "";
display: block;
width: 12px;
height: 12px;
background-image: url("../img/arrow_right.png");
background-repeat: no-repeat;
background-size: contain;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}

header .header_right .doc a:hover span::after, header .header_right .trial a:hover span::after{
background-image: url("../img/arrow_right_hover.png");
background-repeat: no-repeat;
}

header .header_right .doc a span.normal{
display: block;
margin-right: 12px;
}

header .header_right .doc a:hover span.normal{
color: #003388;
transition: .5s all;
}

header .header_right .contact{
font-size: 16px;
line-height: 24px;
letter-spacing: 0.1em;
max-width: 166px;
margin-top: 2px;
margin: 2px 0 20px auto;
}

header .header_right .contact a{
display: block;
padding: 10px 0;
text-align: center;
background: linear-gradient(#DC000C,#B7000A);
border-radius: 5px;
color: #FFFFFF;
}

header .header_right .contact a:hover{
background: linear-gradient(#2C68CE,#003388);
}

header .header_use ul, .header_product ul{
/* margin-top: 63px; */
display: flex;
justify-content: space-between;
max-width: 1000px;
/* margin: 63px auto 0; */
/* width: 78.125%; */

margin: 0 auto 0 0;
padding: 15px 0;
width: 100%;
}

header .header_use li, .header_product li{
/* width: 21.99%; */
position: relative;
padding-bottom: 12px;
border-bottom: 1px solid #DEDEDE;

width: calc(100%/4 - 15px);
}


header .header_use a, .header_product a{
display: block;
width: 100%;
height: 100%;
color: #212121;
position: relative;
line-height: 20px;
letter-spacing: 0.05em;
font-size: 16px;
}

header .header_use a::after, .header_product a::after{
content: "";
display: block;
width: 8.95px;
height: 8.15px;
background-image: url("../img/arrow_right02.png");
background-repeat: no-repeat;
background-size: contain;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}

header .dropdown_use, header .dropdown_product{
cursor: pointer;
color: #003388;
}

/*----------
03.フッター
----------*/
footer{
position: relative;
margin: 0 auto;
z-index: 1;
}
footer::before{
content: "";
display: block;
height: calc(100% + 12px);
background: #212121;
position: absolute;
bottom: 0;
left: 0;
width: calc((100% - 1280px)/2 + 473px);
}
footer .footer_in{
position: relative;
z-index: 1;
max-width: 1280px;
margin: 0 auto;
}
footer .logo_box{
margin: 0 0 126px;
}
footer .footer_l{
position: absolute;
padding: 58px 0 35px 3.2%;
width: 37%;
height: calc(100% + 12px);
background-color: #212121;
bottom: 0;
left: 0;
}
footer .footer_l .logo{
margin: 0 0 15.5px;
width: 36%;
}
footer .footer_l .logo_text{
font-size: 12px;
font-weight: 400;
letter-spacing: 0.05em;
color: #B9B9B9;
}
footer .contact_box{
display: flex;
flex-wrap: wrap;
margin: 0 0 7.5px;
}
.contact_box .flex_wrap{
display: flex;
flex-direction: column;
align-items: flex-start;
}
.contact_box .ttl{
margin: 0 0 10px;
}
footer .contact_box li{
margin: 0 11% 0 0;
}
footer .contact_box li:last-of-type{
margin: 0;
}
footer .contact_box a{
display: block;
font-size: 16px;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 24px;
color: #FFF;
}
footer .contact_box a::after{
content: '';
display: inline-block;
margin: 0 0 0 10px;
border: 1px solid #fff;
border-radius: 90%;
width: 12px;
height: 12px;
background-image: url(../img/footer_parts1.png);
background-size: 6.5px auto;
background-position: center;
background-repeat: no-repeat;
}
footer .copy{
font-size: 10px;
font-weight: 400;
line-height: 15px;
color: #7B7B7B;
}
footer .footer_r{
margin: 0 0 0 auto;
padding: 60px 3.2% 36.5px 5.5%;
width: 64%;
}
footer .footer_r .box_top{
display: flex;
flex-wrap: wrap;
margin: 0 0 -25px;
}
footer .footer_r .left{
margin: 0 63px 30px 0;
}
footer .footer_r .left li{
margin: 0 0 24px;
}
footer .footer_r .big{
font-size: 14px;
font-weight: 500;
letter-spacing: 0.05em;
color: #002F7E;
}
footer .footer_r .center{
margin: 0 63px 0 0;
}
footer .footer_r .center .big,
footer .footer_r .end .big{
margin: 0 0 14px;
}
footer .footer_r .center li,
footer .footer_r .end li{
margin: 0 0 16px;
}
footer .footer_r .center a,
footer .footer_r .end a{
font-size: 14px;
font-weight: 300;
letter-spacing: 0.05em;
color: #212121;
}
footer .footer_r .under_box{
display: flex;
justify-content: space-between;
align-items: flex-end;
flex-wrap: wrap;
}
footer .footer_r .under_box ul{
display: flex;
}
footer .footer_r .under_box li{
margin: 0 23px 0 0;
}
footer .footer_r .under_box li:last-of-type{
margin: 0;
}
footer .footer_r .under_box a{
font-size: 12px;
font-weight: 400;
letter-spacing: 0.1em;
color: #7B7B7B;
text-decoration: underline;
}
footer .footer_r .iso .cnt_img{
margin: 0 0 7px auto;
width: 100px;
}
footer .footer_r .iso .iso_text{
font-size: 10px;
font-weight: 400;
line-height: 15px;
text-align: right;
}
@media (max-width: 1280px){
#title_area .cnt_wrap.nobg{
padding-bottom: 37.8vw;
}
footer::before{
width: calc(100%*473/1280);
}

}
@media only screen and (max-width:1100px){
footer .footer_r .box_top{
margin: 0 0 30px;
}
footer .footer_r .under_box{
display: block;
}
footer .footer_r .under_box ul{
margin: 0 0 15px;
}
}
@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/
.contents_in{
width: 93.125%;
}
.cnt_in{
width: 92%;
}
#title_area .title_g{
align-items: normal;
flex-direction: column;
}
#title_area .title_g h1{
margin: 0 0 20px;
}
#title_area #breadcrumb{
justify-content: flex-end;
}
#news_slider .news_title{
font-size: 18px;
line-height: 28px;
}
.solution .solution_title{
font-size: 32px;
}
.solution .solution_text{
font-size: 16px;
}
.solution .btn01{
bottom: -20px;
}
.solution .btn01 a{
padding: 18px 0;
}
#model .text{
font-size: 16px;
line-height: 24px;
}
#title_area h1{
font-size: 30px;
}
#more h2{
font-size: 16px;
}
#more .cnt_g{
padding: 35px 0 20px;
}
#more .btn02{
max-width: 260px;
transform: translateY(50px);
}
.title01{
font-size: 28px;
}
.title01::after{
width: 60px;
}
.title02{
font-size: 32px;
}
.font18_text{
font-size: 16px;
}
.font22_text{
font-size: 18px;
}
li.slider_card{
padding: 3vw;
}
li.slider_card figure{
height: 34vw;
}
/*----------
02.ヘッダー
----------*/
header nav ul li{
font-size: 12px;
margin-right: 17px;
}

header .header_use a, header .header_product a{
font-size: 12px;
}

header .header_right .trial span, header .header_right .doc span{
font-size: 14px;
}

.header_right .contact{
margin-bottom: 13px;
}

.form p:not([class]){
font-size: 12px;
letter-spacing: .05em;
line-height: 26px;
}


}

@media only screen and (max-width:800px){
header .header_right .trial span, header .header_right .doc span{
font-size: 12px;
}
header .header_right .flex_box .doc{
margin-right: 25px;
}
header .header_right .contact{
margin-bottom: 13px;
}
header .header_product a::after{
top: auto;
}

}

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

/*----------
01.共通
----------*/
main{
margin: 51px 0 0;
}
.pc{
display: none;
}

.sp{
display: block;
}

.contents_in{
width: 94%;
}
.cnt_in{
width: 92%;
}
/* ニューススライダー */
#news_slider .slick-slide{
margin: 12px 30px;
padding: 15px;
}
#news_slider .slick-slide a{
flex-direction: column-reverse;
}
#news_slider .text_box{
width: 100%;
}
#news_slider .news_title{
font-size: 16px;
line-height: 24px;
}
#news_slider .font16_text{
margin: 0 0 39px;
}
#news_slider .cnt_img{
width: 100%;
}
#news_slider .slick-arrow{
left: 0;
}
#news_slider .slick-arrow.next{
right: 0;
}
#news_slider .slide_dots{
bottom: -15px;
}
/* お問い合わせfixed */
#fixed_contact{
display: block;
max-width: 350px;
width: 100%;
right: auto;
left: 50%;
transform: translateX(-50%);
}
#fixed_contact .cnt_text.pc{
display: none;
}
#fixed_contact .cnt_text.sp{
display: inline-block;
margin: 0;
padding: 22.5px 0 22.5px 12px;
width: 321px;
font-size: 13px;
font-weight: 500;
line-height: 18px;
}
#fixed_contact .cnt_text::before{
content: none;
}
#fixed_contact .cnt_text::after{
margin: 0 0 0 6px;
}
#fixed_contact .cnt_img{
position: absolute;
top: 50%;
right: 0;
transform: translateY(-50%);
}
#fixed_contact .cnt_img a{
width: 86px;
height: 86px;
}
/* solution */
.solution{
padding: 32px 0 52px;
}
.solution .solution_title{
font-size: 20px;
line-height: 30px;
}
.solution .font16_text{
font-size: 15px;
letter-spacing: 0.1em;
line-height: 24px;
}
.solution .solution_flex{
flex-direction: column;
margin: 0;
}
.solution .solution_box{
display: flex;
flex-direction: row-reverse;
align-items: center;
margin: 0 auto 52.5px;
padding: 15px 14px 46.5px;
width: 100%;
}
.solution .solution_box:last-of-type{
margin-bottom: 0;
}
.solution .solution_text{
width: 50%;
line-height: 24px;
}
.solution .btn01{
max-width: 300px;
width: 100%;
bottom: -32px;
}
.solution .btn01 a{
padding: 25px 0;
font-size: 16px;
letter-spacing: 0.07em;
line-height: 1;
}
#title_area .cnt_wrap.nobg {
padding-bottom: 48.8vw;
}
#title_area .cnt_wrap.nobg::after {
background-size: cover;
}
#title_area #breadcrumb{
justify-content: flex-end;
}
#title_area .cnt_wrap{
padding: 38px 0 87px;
}
#title_area .cnt_wrap::after{
background-image: url(../../img/beta/title_sp.jpg);
height: 43.2vw;
top: 62%;
}
#title_area .contents_in{
width: 86%;
}
#title_area .genre{
margin: 0 0 10px;
font-size: 12px;
}
#title_area .title_g{
display: block;
}
#title_area .genre::before{
width: 14.5px;
}
#title_area h1{
margin: 0 0 15px;
font-size: 22px;
letter-spacing: 0;
}
#title_area .title_g .font20_text {
font-size: 12px;
line-height: 20px;
}
#title_area #breadcrumb{
margin: 0 0 0 auto;
}
#model .cnt_g{
flex-direction: column;
margin: 0;
}
#model .cnt_box{
margin: 0 auto 21px;
padding: 14px 0 16px;
width: 100%;
}
#model .cnt_box:last-of-type{
margin: 0 auto;
}
#model h3{
margin: 0 0 20px;
font-size: 20px;
line-height: 30px;
}
#model.cnt_img{
margin: 0 auto 15px;
width: 66%;
}
#faq_area .hukidashi_area{
display: flex;
flex-direction: column-reverse;
margin: 0 auto 46.5px;
}
.hukidashi_area::before{
position: static;
margin: 0 auto;
width: 132px;
height: 172px;
transform: none;
}
.hukidashi{
align-items: flex-end;
margin: 0 auto 26.5px;
font-size: 20px;
white-space: nowrap;
}
.hukidashi::before,
.hukidashi::after{
margin: 0;
}
#faq_area .qa_box{
padding: 0 0 15px;
}
#faq_area .q_box{
padding: 0px 20px 10px 45px;
font-size: 14px;
line-height: 24px;
text-indent: -20px;
}
#faq_area .q_box::before{
font-size: 22px;
}
#faq_area .a_box{
padding: 0px 20px 0 45px;
font-size: 14px;
line-height: 24px;
}
#more .cnt_flex{
flex-direction: column;
}
#more .cnt_box{
padding: 39px 0 66px;
width: 100%;
}
#more .cnt_g{
padding: 18px 0 0;
}
#more .font18_text{
margin: 0 0 10px;
font-size: 14px;
}
#more h2{
font-size: 18px;
line-height: 24px;
}
#more .btn02{
max-width: 250px;
transform: translateY(33px);
}
.case_box .cnt_box{
flex-direction: column;
}
.case_box .cnt_img{
width: 100%;
}
.case_box .cnt_data{
margin: -10% auto 0 -5%;
width: 105%;
}
.case_box .case_title{
margin: 0 0 15px auto;
font-size: 16px;
line-height: 28px;
}
.case_box .cnt_data .font14_text{
padding: 0 0 0 5%;
}
.title01{
margin: 0 0 25px;
font-size: 25px;
line-height: 35px;
}
.title01::after{
margin: 21px auto 0;
}
.title04{
font-size: 16px;
}
.font15_text {
font-size: 12px;
line-height: 20px;
}
.font16_text{
font-size: 14px;
line-height: 21px;
letter-spacing: 0.05em;
}
.btn01 a{
padding: 17.5px 16px 17.5px 10px;
font-size: 14px;
}
.btn01 a::after{
width: 7px;
height: 14px;
right: 5px;
top: 55%;
}
.font22_text{
font-size: 16px;
letter-spacing: 0.03em;
line-height: 24px;
}
li.slider_card{
position: relative;
}
li.slider_card .slider_txt h4{
position: absolute;
top: 0;
left: 60%;
width: 40vw;
}
li.slider_card figure {
width: 50vw;
height: 38.4vw;
border-radius: 5px;
}
li.slider_card .slider_txt .blue_bg{
font-size: 14px;
}
li.slider_card .slider_txt .font14_text,
li.slider_card .slider_txt .more_link {
font-size: 12px;
}
.slider_wrap .slick-arrow{
left: 0;
}
.slider_wrap .slick-arrow.next{
right: 0;
}
.form .left_box,
.form .right_box{
width: 100%;
}
.form .right_box .btn01{
margin: 0 auto;
}
.form .left_box{
margin-bottom: 5vw;
}
.sp_center{
text-align: center;
}
.spmb40{
margin-bottom: 40px;
}
.spmb45{
margin-bottom: 45px;
}
.spmb65{
margin-bottom: 65px;
}
.spmb75{
margin-bottom: 75px;
}
.spmb80{
margin-bottom: 80px;
}
/*----------
02.ヘッダー
----------*/
header{
padding: 11.5px 0;
}

header .contents_in{
width: 92%;
align-items: center;
}

header .menu_in .header_in{
width: 92%;
margin: 11.5px auto 21.5px;
align-items: center;
display: flex;
justify-content: space-between;
}

header .header_right .flex_box.pc{
display: none;
}

header nav ul li a:link{
color: #212121;
}

header nav.sp ul li:nth-child(3) span, header nav.sp ul li:nth-child(4) span{
color: #212121;
}

header nav ul li a{
color: #212121;
}

header .open_btn span{
display: block;
width: 25.5px;
height: 1px;
background-color: #003388;
margin-bottom: 7.8px;
}

header .open_btn{
margin-top: 8.7px;
cursor: pointer;
}

header .open_btn div{
width: 25.5px;
}

header .open_btn span:last-child{
margin-bottom: 0;
}

header .logo{
max-width: 107px;
margin-bottom: 3.5px;
margin: 3.5px 0 3.5px;
}

header .header_right{
display: flex;
width: 49.85%;
align-items: flex-start;
}

header .header_right .contact{
margin-bottom: 0;
margin-right: 22.5px;
}

header .header_right .contact a{
font-size: 14px;
padding: 6.5px 9.5px;
}

header .close_btn div{
width: 16px;
height: 16px;
position: relative;
transform: rotate(45deg);
}

header .close_btn div span{
display: block;
width: 16px;
height: 1px;
background-color: #003388;
position: absolute;
}

header .close_btn div span:first-child{
top: 7.5px;
}

header .close_btn div span:nth-child(2){
transform: rotate(90deg);
bottom: 0;
top: 0;
margin: auto;
}

header .menu_box{
border-radius: 5px;
position: fixed;
z-index: 10;
transform: translateX(375px);
transition: transform 400ms ease-out;
background-color: #fff;
width: 375px;
height: 100vh;
overflow: auto;
top: 0;
right: 0;
}

header .menu_box.active {
display: block;
transform: translateX(0);
}



header .close_btn{
margin-top: 8.5px;
}

header .header_in .header_right .contact{
margin-right: 17.5px;
}

header nav.sp ul{
display: block;
}

header nav.sp ul li{
margin-right: 0;
font-size: 18px;
line-height: 26px;
letter-spacing: 0.1em;
font-weight: 500;
position: relative;
margin-bottom: 16.5px;
padding-left: 40px;
}

header nav.sp ul li::before{
content: "";
display: block;
width: 30px;
height: 3px;
background-color: #DC000C;
position: absolute;
left: 0;
top: 0;
bottom: 0;
margin: auto;
}

header nav.sp ul li:nth-child(3) span::after, header nav.sp ul li:nth-child(4) span::after{
content: "";
display: block;
width: 11.5px;
height: 6.5px;
background-image: url("../img/arrow_bottom.png");
background-repeat: no-repeat;
background-size: contain;
top: 11.9px;
right: 25.9px;
position: absolute;
transform: translateY(-50%) rotate(
180deg
);
transition: all .3s;
}

header nav.sp ul li:nth-child(3) span.active::after, header nav.sp ul li:nth-child(4) span.active::after{
transform: translateY(-50%) rotate(
0deg
);
}

header nav.sp ul li:nth-child(3), header nav.sp ul li:nth-child(4){
position: relative;
}

header nav.sp ul li:nth-child(3), header nav.sp ul li:nth-child(4){
padding-left: 0;
}

header nav.sp ul li:nth-child(3) span, header nav.sp ul li:nth-child(4) span{
position: relative;
width: 100%;
display: block;
padding-left: 40px;
margin-bottom: 4.5px;
}

header .header_use.sp, header .header_product.sp{
background-color: #F8F8F8;
display: none;
}

header .header_use.sp a, header .header_product.sp a{
font-size: 16px;
letter-spacing: 0.05em;
line-height: 24px;
font-weight: 300;
border-bottom: 1px solid #E8E8E8;
padding: 8px 0 8px 40px;
height: auto;
}

header nav.sp ul li:nth-child(3)::before, header nav.sp ul li:nth-child(4)::before{
top: 16.5px;
margin: 0;
}

header .header_use a::after, header .header_product a::after{
content: none;
}

header .flex_box.sp{
display: flex;
}

header .flex_box.sp a{
font-weight: 500;
line-height: 24px;
letter-spacing: 0.06em;
position: relative;
}

header .flex_box.sp .doc a span::after, header .flex_box.sp .trial span::after {
content: "";
display: block;
width: 12px;
height: 12px;
background-image: url(../img/arrow_right.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}

header .flex_box.sp{
margin-left: 30px;
margin-top: 26.45px;
line-height: 20px;
letter-spacing: 0.06em;
font-weight: 500;
}

header .flex_box.sp .doc span, header .flex_box.sp .trial span{
display: block;
padding-right: 22px;
position: relative;
}

header .flex_box.sp .trial {
margin-left: 45px;
}

header .telework{
line-height: 20px;
font-weight: 700;
letter-spacing: 0.05em;
max-width: 307px;
margin: 29.1px auto 28.5px;
border-radius: 5px;
}

header .telework a:hover{
background: linear-gradient(#2C68CE,#003388);
position: relative;
}

header .telework a{
display: block;
border-radius: 5px;
background: linear-gradient(#DC000C,#B7000A);
width: 100%;
padding: 17.5px 0 17.5px 10px;
color: #FFFFFF;
}

header .telework a::after{
content: "";
display: block;
width: 9.5px;
height: 15.5px;
background-image: url(../img/arrow_right_menu.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
right: 5.12%;
}

/*----------
03.フッター
----------*/
footer{
margin-bottom: 40px;
}
footer::before{
content: none;
}
footer .footer_l{
position: static;
background: #212121;
padding: 33px 8% 23px;
width: 100%;
height: auto;
}
footer .logo_box{
margin: 0 auto 40px;
}
footer .footer_l .logo{
margin: 0 auto 13.5px;
width: 39%;
}
footer .footer_l .logo_text{
margin: 0 auto 39px;
font-size: 12px;
font-weight: 400;
letter-spacing: 0.05em;
text-align: center;
}
footer .contact_box{
justify-content: center;
margin: 0 0 39px;
}
footer .contact_box a{
font-size: 14px;
font-weight: 500;
letter-spacing: 0.06em;
}
footer .contact_box a::after{
width: 10px;
height: 10px;
background-size: 7px auto;
}
footer .copy{
text-align: center;
}
footer .footer_r{
padding: 0 0 29px;
width: 100%;
}
footer .footer_r .box_top{
margin: 0 0 25px;
}
footer .footer_r .left{
display: flex;
flex-wrap: wrap;
margin: 0;
width: 100%;
}
footer .footer_r .left li{
margin: 0;
width: 50%;
}
footer .footer_r .center,
footer .footer_r .end{
margin: 0;
width: 50%;
}
footer .footer_r .left li a{
display: block;
text-align: center;
border: 1px solid #fff;
padding: 21px 0;
background: transparent linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(214, 214, 214, 1) 100%) 0% 0% no-repeat padding-box;
}
footer .footer_r .center .big,footer .footer_r .end .big{
margin: 0;
width: 100%;
display: block;
text-align: center;
border: 1px solid #fff;
padding: 21px 0;
background: transparent linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(214, 214, 214, 1) 100%) 0% 0% no-repeat padding-box;
position: relative;
}
footer .footer_r .center .big::before,footer .footer_r .end .big::before{
content: "";
display: block;
width: 10px;
height: 5px;
background: url(../img/arrow_bottom_blue.png) no-repeat center center;
background-size: 100% auto;
position: absolute;
top: 50%;
right: 25px;
transform: translateY(-50%);
}
footer .footer_r .center .big.active,footer .footer_r .end .big.active{
color: #fff;
background: linear-gradient(180deg, rgba(44,104,206,1) 0%, rgba(0,51,136,1) 100%);
}
footer .footer_r .center .big.active::before,footer .footer_r .end .big.active::before{
background-image: url(../img/arrow_bottom_white.png);
}


footer .footer_r .menu ul{
display: none;
width: 100vw;
background-color: #F8F8F8;
}
footer .footer_r .end ul{
margin: 0 0 0 -100%;
}
footer .footer_r .center li,
footer .footer_r .end li{
margin: 0;
border-bottom: 1px solid #E8E8E8;
padding: 0 0 0 10%;
}
footer .footer_r .center li:last-of-type,
footer .footer_r .end li:last-of-type{
border: none;
}
footer .footer_r .center li a,
footer .footer_r .end li a{
display: block;
padding: 16px 0;
font-size: 16px;
color: #212121;
text-align: left;
}
footer .footer_r .under_box{
display: flex;
flex-direction: column-reverse;
align-items: flex-start;
padding: 0 8%;
}
footer .footer_r .iso{
margin: 0 0 15px;
}
footer .footer_r .iso .cnt_img{
margin: 0 0 7px;
}
footer .footer_r .iso .iso_text{
text-align: left;
}
footer .footer_r .under_box ul{
flex-direction: column;
}
footer .footer_r .under_box li{
margin: 0 0 10px;
}
footer .footer_r .under_box li:last-of-type{
margin: 0;
}
}

@media only screen and (max-width:374px){
header .menu_box{
width: 100%;
}
header .flex_box.sp{
margin-left: 10px;
font-size: 13px;
}

header .header_right{
width: 52.7%;
}
header .header_right .contact a{
font-size: 13px;
}

}

@media only screen and (max-width:325px){
.solution .btn01{
max-width: 250px;
}
.solution .font16_text{
font-size: 14px;
}
.solution .solution_text{
font-size: 13px;
}
#fixed_contact .cnt_img a{
width: 55px;
height: 55px;
background-size: 40px auto;
}
.header_right{
width: 55%;
}
.form dl dt{
font-size: 18px;
}
}
