@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.case_study
03.company
04.business
05.recruit
06.contact
07.blog
07-01.blog_detail
08.error404
--------------------*/

/*----------
01.top
----------*/
#top .main_visual_area{
max-width: 1280px;
margin: 0 auto;
position: relative;
}

#top .main_visual_area .mv{
margin: 0 0 0 auto;
width: 86%;
max-width: 1040px;
}

#top .main_visual_area .contents_in {
position: absolute;
bottom: 16%;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: flex-end;
}

#top .main_visual_area .scroll_box{
padding-left: 16.5px;
padding-top: 71px;
margin-right: 40px;
position: relative;
overflow: hidden;
}

#top .main_visual_area .scroll_box::before{
content: "";
position: absolute;
width: 1px;
height: 100%;
background: #CECECE;
top: 0;
left: 0;
}

#top .main_visual_area .scroll_box::after{
content: "";
position: absolute;
width: 1px;
height: 79px;
background: #082C62;
top: 90%;
left: 0;
animation: scrollmove 1.5s ease-in-out infinite;
opacity: 0;
}

@keyframes scrollmove{
0%{
top: 0;
opacity: 1;
}
70%{
top: 90%;
opacity: 1;
}
100%{
top: 100%;
opacity: 0;
}
}

#top .main_visual_area .scroll_box .scroll_text {
display: block;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
font-size: 10px;
font-weight: 400;
line-height: 12px;
letter-spacing: .2em;
color: #082C62;
}

#top .main_visual_area .contents_in .message_box{
padding: 63px 54px;
background: #fff;
border: 1px solid #EFEFEF;
}

#top .main_visual_area .contents_in .message_box .ja{
font-size: 32px;
line-height: 1.5;
margin-top: 13px;
}

#top .main_visual_area .contents_in .message_box .txt{
font-size: 18px;
font-weight: 400;
line-height: 28px;
letter-spacing: .05em;
margin-top: 28px;
}

#top .youtube_link{
padding-top: 115px;
}

#top .youtube_link .btn_ptn01{
margin: 0 auto;
}

#top .news_area{
padding: 115px 0 112px;
}

#top .news_area .title_ptn01{
width: 90px;
margin-right: 53px;
}

#top .news_area .news_list{
width: calc(100% - 143px);
}

#top .news_area .news_item{
align-items: flex-start;
margin-bottom: 25px;
}

#top .news_area .news_item:last-child{
margin-bottom: 0;
}

#top .news_area .news_list .date{
font-weight: 500;
line-height: 20px;
color: #A5A5A5;
margin-right: 48px;
}

#top .news_area .news_list .news_ttl{
margin-bottom: 5px;
}

#top .news_area .news_list .news_ttl a{
font-weight: 400;
line-height: 20px;
color: #082C62;
text-decoration: underline;
text-underline-offset: 3px;
}

#top .news_area .news_list .news_ttl a:hover{
text-decoration: none;
}

#top .news_area .news_list .news_txt{
font-weight: 400;
font-size: 12px;
line-height: 20px;
}

#top .news_area .news_list .news_txt p{
display: inline;
}

#top .news_area .news_list .news_txt a{
display: inline-block;
margin-left: 5px;
}

#top .news_area .news_list .news_txt a:hover{
text-decoration: underline;
text-underline-offset: 3px;
}

#top .business_area{
padding: 0 0 150px;
}

#top .business_area .contents_in{
justify-content: space-between;
align-items: center;
}

#top .business_area .cnt_img{
width: 52.04%;
max-width: 562px;
}

#top .business_area .cnt_text{
width: 41.49%;
max-width: 448px;
}

#top .business_area .cnt_text .title_ptn01{
margin-bottom: 39px;
}

#top .business_area .cnt_text p{
font-weight: 400;
line-height: 26px;
color: #575757;
}

#top .business_area .cnt_text .btn_ptn01{
margin: 50px 0 0 auto;
}

#top .casestudy_area{
padding: 132px 0 102px;
background-image: url(../img/top/bg_case.jpg);
background-repeat: no-repeat;
background-position: center top;
background-size: 100% auto;
background-color: #EFEFEF;
}

#top .casestudy_area .title_ptn02{
margin-bottom: 36px;
}

#top .casestudy_area .case_list{
padding-bottom: 42px;
position: relative;
}

#top .casestudy_area .case_list .case_item .cnt_text{
padding: 0 9px;
color: #141414;
}

#top .casestudy_area .case_list .case_item .ttl{
font-size: 24px;
font-weight: 500;
line-height: 32px;
margin: 21px 0 24px;
}

#top .casestudy_area .case_list .case_item .case_txt{
font-weight: 400;
line-height: 24px;
max-width: 320px;
}

#top .casestudy_area .case_list .slick-arrow{
position: absolute;
bottom: -46px;
left: 0;
}

#top .casestudy_area .case_list .slick-arrow.next-arrow{
left: 56px;
}

#top .casestudy_area .case_list .slick-dots{
position: absolute;
bottom: -26px;
left: 120px;
}

#top .casestudy_area .btn_ptn01{
margin: 0 0 0 auto;
}

#top .blog_area{
padding: 127px 0 185px;
}

#top .blog_area .title_ptn01{
margin-bottom: 72px;
}

#top .blog_area .blog_list{
padding-bottom: 97px;
position: relative;
}

#top .blog_area .blog_list .blog_ttl{
font-size: 24px;
font-weight: 500;
line-height: 32px;
max-width: 338px;
padding: 0 9px;
margin: 21px 0 0;
color: #141414;
}

#top .blog_area .blog_list .slick-arrow{
position: absolute;
bottom: -46px;
left: 0;
}

#top .blog_area .blog_list .slick-arrow.next-arrow{
left: 56px;
}

#top .blog_area .blog_list .slick-dots{
position: absolute;
bottom: -26px;
left: 120px;
}

#top .blog_area .btn_ptn01{
margin: 0 0 0 auto;
}

/*-------------
02.case_study
-------------*/
#case_study .cnt_area{
padding-bottom: 150px;
}

#case_study .case_list{
flex-wrap: wrap;
}

#case_study .case_list .case_item{
width: calc(100% / 3);
margin-bottom: 20px;
}

#case_study .case_list .case_item .cnt_text{
padding: 21px 9px 0;
max-width: 338px;
color: #141414;
}

#case_study .case_list .case_item .ttl{
font-size: 18px;
font-weight: 700;
line-height: 26px;
margin-bottom: 16px;
}

#case_study .case_list .case_item .case_txt{
font-weight: 400;
line-height: 24px;
}


/*-------------
03.comapny
-------------*/
#company .cnt_area{
padding-bottom: 150px;
}

#company .cnt_area .table_ptn01{
width: 100%;
font-size: 16px;
line-height: 30px;
border: 1px solid #A5A5A5;
}

#company .cnt_area .table_ptn01 th{
width: 300px;
background-color: #082C62;
color: #fff;
padding: 15px 10px 15px 20px;
border-bottom: 1px solid #fff;
text-align: left;
font-weight: 500;
}

#company .cnt_area .table_ptn01 tr:last-child th{
border-bottom: none;
}

#company .cnt_area .table_ptn01 td{
padding: 15px 10px 15px 20px;
border-bottom: 1px solid #A5A5A5;
}

#company .cnt_area .cnt_g{
margin-top: 100px;
}

#company .cnt_area .cnt_g .title_ptn02{
margin-bottom: 20px;
}

#company .cnt_area .cnt_g .title_ptn02 .en{
font-size: 46px;
line-height: 59px;
}

#company .cnt_area .cnt_g .title_ptn02 .ja{
font-size: 16px;
margin-top: 9px;
}

#company .cnt_area .cnt_g .map iframe{
width: 100%;
height: 480px;
}

/*-------------
04.business
-------------*/
#business .cnt_area{
padding-bottom: 68px;
}

#business #cnt_area01 .title_ptn02{
margin-bottom: 24px;
}

#business #cnt_area01 .title_ptn02 .en{
font-size: 46px;
line-height: 59px;
}

#business #cnt_area01 .title_ptn02 .ja{
font-size: 16px;
margin-top: 9px;
}

#business #cnt_area01 .first_text{
font-size: 18px;
font-weight: 400;
line-height: 28px;
letter-spacing: .05em;
margin-bottom: 50px;
}

#business #cnt_area01 .cnt_box{
display: flex;
align-items: start;
justify-content: space-between;
margin-bottom: 60px;
}

#business #cnt_area01 .cnt_box .step_title{
display: flex;
align-items: center;
margin-bottom: 20px;
}

#business #cnt_area01 .cnt_box .step_box{
width: 50px;
font-size: 16px;
letter-spacing: 0.1em;
text-align: center;
margin-right: 16px;
color: #305998;
}

#business #cnt_area01 .cnt_box .step_number{
display: block;
font-size: 36px;
margin-top: 5px;
position: relative;
padding-bottom: 8px;
}

#business #cnt_area01 .cnt_box .step_number::before{
content: "";
display: block;
width: 24px;
height: 2px;
background-color: #305998;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}

#business #cnt_area01 .cnt_box h3{
font-weight: 500;
font-size: 20px;
line-height: 32px;
width: calc(100% - 66px);
}

#business #cnt_area01 .cnt_box .cnt_img{
max-width: 370px;
width: 34.26%;
}

#business #cnt_area01 .cnt_box .cnt_text{
max-width: 660px;
width: 61.12%;
margin-top: 10px;
}

#business #cnt_area01 .cnt_box .cnt_text p{
font-size: 16px;
line-height: 28px;
}

/****** #business #cnt_area02 ******/
#business #cnt_area02 {
  padding-bottom: 150px;
}
.mortar__ttl {
  font-size: 28px;
  margin-bottom: 40px;
}
.mortarList {

}
.mortarList__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mortarList__item + .mortarList__item {
  margin-top: 20px;
}
.mortarList__img {
  max-width: 370px;
  width: 34.26%;
}
.mortarList__img img {
  aspect-ratio: 370/237;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.mortarList__cont {
  max-width: 660px;
  width: 61.12%;
}
.mortarList__ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.777;
}
.mortarList__txt {
  margin-top: 15px;
  line-height: 1.714;
}


/*-------------
05.recruit
-------------*/
#recruit .cnt_area{
padding-bottom: 150px;
}

#recruit #cnt_area01 .title{
font-weight: 600;
font-size: 32px;
line-height: 58px;
letter-spacing: .08em;
text-align: center;
margin-bottom: 40px;
}

#recruit #cnt_area01 p{
font-size: 16px;
font-weight: 400;
line-height: 30px;
letter-spacing: .05em;
text-align: center;
}

#recruit .cnt_area .title_ptn01{
margin-bottom: 30px;
}

#recruit #cnt_area02 .scene_g{
display: flex;
align-items: start;
flex-wrap: wrap;
}

#recruit #cnt_area02 .scene_g li{
max-width: 200px;
width: 18.52%;
margin: 0 1.85% 15px 0;
}

#recruit #cnt_area02 .scene_g li:nth-child(5n){
margin-right: 0;
}

#recruit #cnt_area03 .table_ptn01{
width: 100%;
font-size: 16px;
line-height: 30px;
border: 1px solid #A5A5A5;
}

#recruit #cnt_area03 .table_ptn01 th{
width: 300px;
background-color: #082C62;
color: #fff;
padding: 15px 10px 15px 20px;
border-bottom: 1px solid #fff;
text-align: left;
font-weight: 500;
}

#recruit #cnt_area03 .table_ptn01 tr:last-child th{
border-bottom: none;
}

#recruit #cnt_area03 .table_ptn01 td{
padding: 15px 10px 15px 20px;
border-bottom: 1px solid #A5A5A5;
}

#recruit #cnt_area03 .btn_ptn01{
margin: 60px auto 0;
}

/*-------------
06.contact(form_page)
-------------*/
.form_page .cnt_area{
padding-bottom: 150px;
}

.form_page #attention_area{
max-width: 900px;
width: calc(100% - 20px - 20px);
margin: 0 auto 80px;
border: 1px solid #ddd;
padding: 40px 50px;
}

.form_page #attention_area .title{
font-weight: 600;
font-size: 24px;
line-height: 1.8;
text-align: center;
position: relative;
margin: 0 auto 40px;
}

.form_page #attention_area .title::after{
content: "";
display: block;
width: 32px;
height: 2px;
background-color: #305998;
margin: 14px auto 0;
}

.form_page #attention_area p{
font-size: 18px;
line-height: 30px;
}

.form_page #attention_area p a{
color: #082C62;
text-decoration: underline;
}

.form_page #cnt_area01 .contents_in{
max-width: 1000px;
}

.form_page #cnt_area01 .first_text{
font-size: 18px;
font-weight: 400;
line-height: 28px;
letter-spacing: .05em;
text-align: center;
margin-bottom: 70px;
}

.form_page #cnt_area01 .required_text{
color: #A83333;
font-weight: 700;
font-size: 14px;
line-height: 20px;
padding: 0 0 10px 10px;
}

.form_page #cnt_area01 .dl_ptn01{
border-top: 1px solid #A9B6C9;
margin: 0 0 40px;
}

.form_page #cnt_area01 .dl_ptn01 .dl_box{
font-size: 16px;
display: flex;
align-items: center;
border-bottom: 1px solid #A9B6C9;
}

.form_page #cnt_area01 .dl_ptn01 dt{
width: 300px;
padding: 20px 20px;
}

.form_page #cnt_area01 .dl_ptn01 dt .required{
font-weight: 700;
color: #A83333;
display: inline-block;
margin-left: 3px;
}

.form_page #cnt_area01 .dl_ptn01 dd{
padding: 20px 20px;
width: calc(100% - 300px);
}

.form_page #cnt_area01 .dl_ptn01 input[type="text"],.form_page #cnt_area01 .dl_ptn01 input[type="email"],.form_page #cnt_area01 .dl_ptn01 input[type="tel"]{
width: 100%;
box-shadow: none;
border-radius: 0;
background-color: #fff;
border: 1px solid #A5A5A5;
height: 40px;
font-size: 16px;
padding: 5px 10px;
}

.form_page #cnt_area01 .dl_ptn01 textarea{
width: 100%;
box-shadow: none;
border-radius: 0;
background-color: #fff;
border: 1px solid #A5A5A5;
height: 160px;
font-size: 16px;
padding: 5px 10px;
}

.form_page #cnt_area01 .privacy_box{
width: 100%;
height: 280px;
overflow: auto;
background-color: rgba(8,48,98,.08);
padding: 30px 40px;
font-size: 14px;
line-height: 30px;
margin: 0 auto 20px;
}

.form_page #cnt_area01 .privacy_box .title_ptn01{
margin-bottom: 20px;
}

.form_page #cnt_area01 .privacy_box .title{
margin: 20px 0 10px;
font-weight: 500;
}

.form_page #cnt_area01 .privacy_box li{
position: relative;
text-indent: -1em;
margin: 0 0 0 1em;
}

.form_page #cnt_area01 .privacy_box li::before{
content: "・";
}

.form_page #cnt_area01 .privacy_check{
text-align: center;
margin-bottom: 60px;
}

.form_page #cnt_area01 input[type="checkbox"]{
display: none;
}

.form_page #cnt_area01 .privacy_check .mwform-checkbox-field-text {
position: relative;
display: inline-block;
padding: 0px 0px 0px 30px;
cursor: pointer;
font-size: 16px;
line-height: 20px;
}

.form_page #cnt_area01 .privacy_check .mwform-checkbox-field-text::before {
position: absolute;
content: '';
top: 0;
left: 0;
background: #082C62;
border:none;
width: 20px;
height: 20px;
}

.form_page #cnt_area01 input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
position: absolute;
content: '';
top: 2px;
left: 2px;
width: 13px;
height: 8px;
border-left: 3px solid #fff;
border-bottom: 3px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.form_page #cnt_area01 .submit_btn,.form_page #cnt_area01 .back_btn{
width: 100%;
max-width: 240px;
margin: 0 auto;
position: relative;
cursor: pointer;
}

.form_page #cnt_area01 .submit_btn .submit,.form_page #cnt_area01 .back_btn .submit{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
background: #082C62;
color: #fff;
border-radius: 5px;
padding: 11px 0;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 24px;
border: none;
box-shadow: none;
border-radius: 0;
cursor: pointer;
}

.form_page #cnt_area01 .submit_btn::after,.form_page #cnt_area01 .back_btn::after{
content: "";
display: inline-block;
width: 34px;
height: 6px;
background: url(../common/img/arrow01.png) no-repeat center/contain;
transition: .3s;
position: absolute;
top: 50%;
right: 20px;
}

.form_page #cnt_area01 .submit_btn:hover::after,.form_page #cnt_area01 .back_btn:hover::after{
right: 10px;
}

.form_page #cnt_area01 .back_btn{
margin-top: 20px;
}

.form_page #cnt_area01 .back_btn .submit{
background: #575757;
}

.form_page #cnt_area01 .back_btn::after{
transform: scale(-1, 1);
right: auto;
left: 20px;
}

.form_page #cnt_area01 .back_btn:hover::after{
right: auto;
left: 10px;
}

.form_page #cnt_area01 .error_messe,.form_page #cnt_area01 h4{
font-size: 16px;
line-height: 30px;
}

.form_page .mw_wp_form .error{
margin-top: 5px;
}

/*-------------
07.blog
-------------*/

#blog .blog_list{
padding-bottom: 47px;
position: relative;
display: flex;
align-items: start;
flex-wrap: wrap;
}

#blog .blog_list .blog_item{
max-width: 340px;
width: 31.49%;
margin: 0 2.77% 60px 0;
}

#blog .blog_list .blog_item:nth-child(3n){
margin-right: 0;
}

#blog .blog_list .blog_img{
margin-bottom: 15px;
overflow: hidden;
}

#blog .blog_list .info_box{
display: flex;
align-items: center;
margin-bottom: 10px;
}

#blog .blog_list .date_text{
font-weight: 500;
color: #A5A5A5;
font-size: 14px;
margin-right: 16px;
}

#blog .blog_list .category{
color: #082C62;
font-weight: 500;
font-size: 12px;
border: 1px solid #082C62;
padding: 3px 6px;
border-radius: 2px;
}

#blog .blog_list .blog_ttl{
font-weight: 500;
font-size: 18px;
line-height: 30px;
color: #141414;
}

#blog .blog_list .blog_img img{
transition: all .3s;
}

#blog .blog_list a:hover .blog_img img{
transform: scale(1.2);
}

#blog #pager{
margin-bottom: 120px;
}

/*-------------
07-01.blog_detail
-------------*/

#blog_detail #cnt_area01 .cnt_block .title_ptn03{
text-align: left;
margin-bottom: 16px;
}

#blog_detail #cnt_area01 .cnt_block .title_ptn03 .ja{
font-size: 30px;
line-height: 42px;
}

#blog_detail #cnt_area01 .cnt_block .date_text{
color: #666;
font-size: 14px;
line-height: 1;
margin-bottom: 70px;
}

#blog_detail #cnt_area01 .blog_content{
margin-bottom: 120px;
}

#blog_detail #cnt_area01 .blog_content h2{
font-weight: 500;
font-size: 28px;
letter-spacing: 0.08em;
line-height: 1.6;
border-bottom: 2px solid #ddd;
padding: 0 0 5px 10px;
margin-bottom: 16px;
position: relative;
}

#blog_detail #cnt_area01 .blog_content h2::before{
content: "";
display: block;
width: 320px;
height: 2px;
background-color: #305998;
position: absolute;
bottom: -2px;
left: 0;
}

#blog_detail #cnt_area01 .blog_content h3{
background-color: #082C62;
border-radius: 5px;
font-weight: 500;
font-size: 16px;
letter-spacing: 0.08em;
color: #fff;
padding: 12px 20px;
margin-bottom: 16px;
}

#blog_detail #cnt_area01 .blog_content p{
font-size: 16px;
line-height: 1.8;
margin-bottom: 16px;
}

#blog_detail #cnt_area01 .blog_content p + h2,#blog_detail #cnt_area01 .blog_content p + h3{
margin-top: 40px;
}

#blog_detail #cnt_area01 .blog_content figure{
display: block;
width: 100%;
margin: 30px auto;
}

#blog_detail #cnt_area01 .blog_content strong{
font-weight: 700;
}

#blog_detail #cnt_area01 .blog_content a{
text-decoration: underline;
color: #082C62;
transition: all .3s;
}

#blog_detail #cnt_area01 .blog_content a:hover{
text-decoration: none;
}

#blog_detail #cnt_area01 .btn_ptn01{
margin: 0 auto 160px;
}


/*-------------
08.error404
-------------*/
#error404 .cnt_area{
padding: 140px 0 120px;
}

#error404 .cnt_area p{
max-width: 660px;
width: 100%;
margin: 60px auto;
font-size: 16px;
line-height: 2;
}

#error404 .cnt_area .btn_ptn01{
margin: 0 auto;
}
