@charset "utf-8";
html,
body{
width:100%;
height:100%;
padding:0;
border:none;
}
body{
background-color: #fff;
word-break:break-all;
}
article,header {
background-color: #fff;
width:100%;
max-width:100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

footer{
width:100%;
max-width:100%;
}

/* font */
@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 300;
src: url('/fonts/NotoSansCJKjp-DemiLight.woff') format('woff');
}
@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 400;
src: url('/fonts/NotoSansCJKjp-Regular.woff') format('woff');
}
@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 500;
src: url('/fonts/NotoSansCJKjp-Medium.woff') format('woff');
}
@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 600;
src: url('/fonts/NotoSansCJKjp-Bold.woff') format('woff');
}

.en {
font-family: 'Montserrat', sans-serif;
}





/* COMMON / HEADER / FOOTER */
.container {
position: relative;
padding: 4rem 0;
}
.container.thin {
padding: 3rem 0;
}
.container.top_line {
border-top: 4px double #E5E2DC;
}
.bg_blue {background-color: #EBF6F9;}
.bg_blue_deep {
background-color: #38ABC2;
color: #FFF;
}

.inner {
width: 100%;
max-width: 100%;
}
.text_blue {color: #38ABC2;}
.text_red {color: #ff4945;}
.marker {
background:linear-gradient(transparent 75%, #FCE0A6 0%);
}
.caption.source {
position: relative;
margin-top: 1rem;
padding: 0 0 0 2.5rem;
width: 100%;
font-size: var(--14px);
box-sizing: border-box;
line-height:1.7;
}
.caption.source > span {
display: inline-block;
position: absolute;
top:0;
left:0;
}

hr {
height: 0;
border:0;
margin: 3rem 0;
border-top:1px solid #E5E2DC;
width: 100%;
max-width: 100%;
}
hr.thick {
border-top:1px solid #E5E2DC;
margin: 1rem 0;
width: 100%;
max-width: 100%;
}

a.anchor {
display: block;
padding-top: 15rem;
margin-top: -15rem;
}


/* header */
.header {display: none;}

/* footer */
.footer {
padding: 1.5rem 0 2rem;
background:#535050;
color: #FFF;
}
.footer .col {
justify-content: center;
}
.footer .copyright {
padding-top: 0;
font-size: var(--10px);
text-align: center;
}


/* title */
.page_title {
/*margin-top: 30px;*/
padding: 30px 0 32px;
background: #FAF9F8 url(../images/bg_page_title.svg) no-repeat center right;
background-size: auto 200px;
font-size: var(--28px);
color: #000;
}
.page_title small {
color: #E84416;
font-size: 50%;
font-family: 'Montserrat', sans-serif;
font-weight: 400;
vertical-align: middle;
}
.page_title small:before {
margin: 0 20px;
content: "";
display: inline-block;
vertical-align: middle;
width: 1px;
height: 26px;
background: #E5E2DC;
transform: translateY(-2px);
}
.text_18_pc {
font-size: var(--14px);
}
.section_title {
font-size: var(--24px);
line-height: 1.6;
color: #000;
}
.section_title:after {
content: "";
display: block;
width: 125px;
height: 5px;
margin: 26px 0 28px;
background:url(../images/title_bottombar.svg) no-repeat 0 0;
background-size: 100%; 
}
.section_title > small {
font-size: 58%;
}
.entry_cont h2.section_title + p {
font-size: var(--18px);
}
.section_title + p span {
font-size: var(--14px);
}
.section_title.center {
width: 100%;
text-align: center;
}
.section_title.center:after {
margin: 50px auto 60px;
}
.section_title .sub {
display:inline-block;
font-size:var(--10px);
font-family: 'Montserrat', sans-serif;
padding-right:1.6rem;
transform: translateY(-4px);
}

.sub_title_24 {
margin-bottom: 2rem;
font-size: var(--20px);
font-weight: 400;
color: #000;
}
.sub_title_22 {
margin-bottom: 1rem;
font-size: var(--18px);
font-weight: 400;
color: #000;
}
.sub_title_20 {
margin-bottom: 1rem;
font-size: var(--18px);
font-weight: 400;
color: #000;
}
.sub_title_24.line {
border-left:2px solid #ED7600;
padding-left:1.8rem;
line-height:1.5;
margin-bottom:4rem;
}
.sub_title_20.line:before {
content: "";
background-color:#ED7600;
margin:0 0 3rem;
width:100px;
height:1px;
display:block;
}



/* link / button */
.btn-box-back {
border:1px solid #E5E2DC;
padding: 1rem 2rem;
justify-content: center;
}
.btn-box-back:before {
content: "";
display: inline-block;
width: 9px;
height: 9px;
margin-right: .8rem;
border-left: 1px solid #ED7600;
border-bottom: 1px solid #ED7600;
transform: translateY(8px) rotate(45deg);
}

.btn-box-arrow {
border:1px solid #E5E2DC;
padding: 1rem 2rem;
justify-content: center;
}
.btn-box-arrow:after {
content: "";
display: inline-block;
width: 9px;
height: 9px;
margin-left: .8rem;
border-right: 1px solid #ED7600;
border-top: 1px solid #ED7600;
transform: rotate(45deg);
}





/* COMMON / HEADER / FOOTER */
@media screen and (min-width:768px) {
article {
padding-top: 82px;
}
.container {
padding: 10rem 0;
}
.container.thin {
padding: 4rem 0;
}
hr {
margin: 4rem 0;
}
hr.thick {
margin: 3rem 0;
}

.border-top-col8 {
padding-top: 8rem;
}
.border-top-col8:before {
position: absolute;
top:4rem;
left:0;
right: 0;
margin: 0 auto;
width: calc(66.666% - 60px);
}

/* header */
.header {
display: block;
background:rgba(255,255,255,0.9);
position: fixed;
z-index: 80;
}
.header:before {
position: absolute;
top:0;
left:0;
content: "";
display: block;
width: 100%;
height: 5px;
background: url(../images/header_top-bar.svg) no-repeat top center;
background-size: cover;
}
.header .wrapper {
width: 100%;
align-items: center;
justify-content: space-between;
flex-wrap: nowrap;
}
.header .logo {
width: 250px;
padding: 15px 0 15px 10px;
}
.header .logo a {
display: block;
}
.header .gnav {
display: flex;
align-items: center;
width: calc(100% - 282px);
justify-content: flex-end;
}
.header .gnav li a {
position: relative;
display: block;
margin: 0 10px;
font-size: var(--14px);
font-weight: 500;
}
.header .gnav li a:after {
content: "";
position: absolute;
bottom:-25px;
left:0;
display: block;
width: 100%;
height: 2px;
background: #ED7600;
transition: transform .2s;
transform-origin: 50% center;
transform: scaleX(0);
}
.header .gnav li a:hover:after {
transform: scaleX(1);
}
.header .gnav li.current a:after {
transition: none;
transform: scaleX(1);
}


/* footer */
.footer {
padding: 0;
}
.footer .wrapper {
align-items: center;
justify-content: space-between;
}
.footer .copyright {
padding-top: 30px;
}


/* title */
.page_title {
/*margin-top: 50px;*/
padding: 52px 0 56px;
background-size: auto 568px;
font-size: var(--32px);
}
.page_title small:before {
margin: 0 30px;
height: 36px;
}
.section_title {
font-size: var(--30px);
}
.section_title:after {
margin: 40px 0 46px;
}
.entry_cont h2.section_title + p {
font-size: var(--22px);
}
.sub_title_24 {
margin-bottom: 2rem;
font-size: var(--23px);
}
.sub_title_22 {
margin-bottom: 3rem;
font-size: var(--22px);
}
.sub_title_20 {
margin-bottom: 2rem;
font-size: var(--20px);
}


/* link / button */
.btn-box-back,
.btn-box-arrow {
padding: 1rem 3rem;
}
.btn-box-back:before {
transform: translateY(10px) rotate(45deg);
}

}/* COMMON min-width:768px */




@media screen and (min-width:1080px) {
.header .logo {
width: 282px;
padding: 20px;
}
.header .gnav li a {
margin: 0 20px;
font-size: var(--18px);
}
.header .wrapper {
max-width:100%;
}

}/*COMMON min-width:1080px*/




@media screen and (min-width:1320px) {
}/*COMMON min-width:1320px*/












/*** PAGE ***/

/* HOME */

.home .fv {
display: flex;
flex-wrap: wrap;
align-items: center;
width: 100%;
background: #FAF9F8 url(../images/fv_bg_m.svg) no-repeat center bottom -48px;
background-size: 100% auto;
}
.home .fv .top_fv,
.home .fv > div {
width: 100%;
box-sizing: border-box;
}
.home .fv .top_fv {
height: 300px;
}

.home .fv > div {
padding: 3rem 2rem;
}
.home .fv > div h1 {
margin-bottom: 2rem;
}
.home .fv > div p {
font-size: 85%;
}


.home .section_title {
font-size: var(--40px);
font-family: 'Montserrat', sans-serif;
font-weight: 400;
line-height: 1;
}
.home .section_title > small {
font-size: 35%;
}

.home .wrap_link {
margin-top: 2rem;
width: 100%;
}
.home .wrap_link.on-sp {
display:block!important;
}
.home .wrap_link > a.btn-box-arrow {
display: block;
width: 100%;
margin-top: 2rem;
font-size: var(--16px);
text-align: center;
box-sizing: border-box;
}

.home .wrap_service {
display: block;
margin-top: 3rem;
}
.home .wrap_service figure {
margin: 2rem 0 1rem;
}
.home .wrap_service > div {
display: flex;
flex-wrap: wrap-reverse;
justify-content: center;
font-size: var(--16px);
}
.home .sub_title_24 {
margin-bottom: 1.5rem;
}

.bottom_contact {
padding: 2rem 0;
border:10px solid #F0EDEA;
box-sizing: border-box;
}
.bottom_contact .col {
display: block;
text-align: center;
}
.bottom_contact .col > a {
position: relative;
display: inline-block;
padding: 1rem 5rem;
background: #ED7600;
color: #FFF;
font-size: var(--19px);
}
.bottom_contact .col > a:after {
position: absolute;
top:50%;
right:20px;
content: "";
display: block;
width: 13px;
height: 13px;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
transform: translateY(-50%) rotate(45deg);
}
/* TOPページのみのメニュー表示／非表示 */
body#home .sp_header{
display: none;
}


































/* CASE / COLUMN */
.index_list a {
flex-wrap: wrap;
font-size: var(--16px);
}
.index_list a + a {
margin-top: 3rem;
}
.index_list a > figure,
.index_list a > p {
width: 100%;
}
.index_list a > p {
margin-top: 1.5rem;
line-height: 1.7;
}
.index_list a > figure {
text-align: center;
}
.index_list a > figure img{
border-radius: 10px;
}


.index_list a > p.strong {
font-weight: 500;
font-size: var(--20px);
line-height: 1.6;
}
.index_list a > p.strong span{
font-size:80%;
}
.index_list a[target="_blank"] > figure {
position: relative;
width: auto;
margin: 0 auto;
}
.index_list a[target="_blank"] > figure:after {
position: absolute;
bottom:10px;
right:10px;
content: "";
display: block;
width: 25px;
height: 19px;
background: url(../images/icon_other.svg) no-repeat center center;
background-size: 100%;
}


.entry_cont {
padding-bottom: 0;
}
.entry_cont .box_outline {
padding: 2rem;
font-size: var(--15px);
background: #FAF9F8;
border: #eae8e5 1px solid;
}
.entry_cont h3 {
width: 100%;
margin: 4rem 0 2rem;
font-weight: 600;
font-size: var(--18px);
}
.entry_cont p + p {
margin-top: 2rem;
}
.entry_cont .ai-center h4 + p {
margin-top: 2rem;
}
.entry_cont .ai-center h4,
.entry_cont p.question {
margin-top: 3rem;
font-weight: 500;
border-left: #e64516 solid 1px;
padding-left:15px;
}

.entry_cont .wrap_profile {
margin-top: 5rem;
background: #FAF9F8;
padding: 3rem 0;
font-size: var(--16px);
}
.entry_cont .wrap_profile .wrap {
align-items: center;
}
.entry_cont .wrap_profile figure {
width: 120px;
margin-bottom: 1rem;
}
.entry_cont .wrap_profile .name {
width: calc(100% - 120px);
padding-left: 40px;
box-sizing: border-box;
}
.entry_cont .wrap_profile .name + p {
width: 100%;
margin-top: 2rem;
}
.entry_cont .wrap_profile .name h4 {
font-size: var(--22px);
font-weight: 500;
}
.entry_cont .wrap_profile .name h4 + p {
margin-top: 1rem;
font-size: var(--15px);
}
.entry_cont .wrap_profile .profile > p {
font-size: var(--16px);
margin-top: 1rem;
}
.entry_cont .wrap_profile .profile h4 {
margin-top:2rem;
padding-top:2rem;
border-top:#eae8e5 1px solid;
font-size: var(--18px);
}

.case .entry_cont strong,
.column .entry_cont strong{
font-weight:600;
}
.case .entry_cont ol li,
.column .entry_cont ol li{
list-style-position:outside;
list-style-type: decimal;
padding-left: 1rem;
margin-bottom:1rem;
}
.case .entry_cont ol,
.column .entry_cont ol{
padding: 2em 0 2em 1.5em;
}
.case .entry_cont a,
.column .entry_cont a{
border-bottom:solid 1px #ED7600;
color: #ED7600;
display:inline-block;
padding-bottom:2px;
}

/* ABOUT */
.about .head_image {
position: relative;
justify-content: flex-end;
}
.about .head_image h2 {
position: absolute;
top:0;
left:0;
width: 70%;
}
.about .head_image figure {
padding-top: 40px;
width: 90%;
}
.about .col10 > p {
/*margin-top: 2rem;*/
}
.about #consultant {
padding-bottom: 3rem;
background: #FAF9F8 url(../images/about_fujita.jpg) no-repeat right top;
background-size: auto 170px;
}
.about #consultant .name {
padding-top:45px;
padding-bottom: 45px;
flex-direction: column;
font-size: var(--20px);
line-height: 1.6;
}
.about #consultant .name > span {
display: block;
margin-bottom: 15px;
font-size: 70%;
color: #E84416;
font-family: 'Montserrat', sans-serif;
}
.about #consultant p {
font-size: var(--16px);
}


/* SERVICE */
.service .trouble_list {
flex-wrap: wrap;
}
.service .trouble_list li {
position: relative;
width: 100%;
padding: 20px;
background: #F5F3F1;
border-radius: 20px;
box-sizing: border-box;
font-size: var(--18px);
}
.service .trouble_list li > p {
text-align: center;
}
.service .trouble_list li + li {
margin-top: 55px;
}
.service .trouble_list li img {
position: absolute;
top:-25px;
left:50%;
transform: translateX(-50%);
display: block;
width: 60px;
}

.service .outline_list {
display: flex;
flex-wrap: wrap;
width: 100%;
border-top: 1px solid #E5E2DC;
margin-top: 1rem;
}
.service .outline_list dt,
.service .outline_list dd,
.service .outline_list li {
padding: 1rem 0;
border-bottom: 1px solid #E5E2DC; 
box-sizing: border-box;
}
.service .outline_list li{
width:100%;
}
.service .outline_list dt {
font-weight: 600;
width: 30%;
}
.service .outline_list dd {
width: 70%;
}
.service .outline_list dd p + p {
margin-top: .8rem;
}
.service .service_flow dl {
flex-wrap: wrap;
}
.service .service_flow dl + dl {
margin-top: 4rem;
}
.service .service_flow dl dt {
position: relative;
width: 100%;
margin-bottom: 2rem;
padding: 40px 10px 25px;
background: #F5F3F1;
text-align: center;
box-sizing: border-box;
font-size: var(--20px);
}
.service .service_flow dl dt strong {
display: block;
text-align: center;
font-family: 'Montserrat', sans-serif;
font-weight: 300;
font-size: 220%;
color: #E84416;
line-height: 1;
transform: translateY(-60px);
margin-bottom: -60px;
}
.service .service_flow dl dd {
font-size: var(--16px);
}

/* CONTACT */
input,
button,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
border: none;
border-radius: 0;
font: inherit;
outline: none;
}
textarea {
resize: vertical;
}

.contact dl {
margin-top: 4rem;
font-size: var(--16px);
}
.contact dl dt {
margin-bottom: 1rem;
font-weight: 600;
}
.contact dl dt span {
display: inline-block;
background: #E84416;
padding: 4px 6px;
margin-left: .5rem;
color: #FFF;
font-size: var(--13px);
font-weight: 400;
line-height: 1;
}
.contact dd input[type="text"],
.contact dd input[type="email"],
.contact dd textarea {
display: block;
padding: 1rem;
width: 100%;
background: #F5F3F1;
box-sizing: border-box;
}
.contact dd + dt {
margin-top: 3rem;
}
.btn_send {
display: block;
width: 100%;
padding: 1.5rem;
border:1px solid #E5E2DC;
background: #FFF url(../images/input_arrow.svg) no-repeat right 20px center;
background-size: 10px;
text-align: center;
box-sizing: border-box;
cursor: pointer;
transition: all .2s;
}
.btn_send:hover {
opacity: .7;
}
.contact dl.wrap_check dd {
display: flex;
align-items: center;
}
.contact dl.wrap_check dd > div {
width: 50%;
}
.contact dl.wrap_check dd textarea {
display: block;
padding: 0 20px;
height: 36px;
background: transparent;
font-size: 20px;
font-weight: 600;
color: #d93425;
opacity:1;
border:none;
resize: none;
text-align: center;
overflow: hidden;
}
.contact dl.wrap_check dd textarea + button {
display: block;
cursor: pointer;
font-size: 1.3rem;
cursor: pointer;
background: #F5F3F1;
border-radius: 6px;
margin: 0 auto;
padding: 0 10px;
}
.contact dl.wrap_check + p {
margin-top: 5rem;
}









@media screen and (min-width:768px) {


/* HOME */
.home .wrap_link {
display: flex;
margin-top: 3rem;
}
.home .wrap_link.on-sp {
display:none!important;
}
.home .wrap_link > a.btn-box-arrow {
width: auto;
padding: 1rem;
}
.home .wrap_link > a + a {
margin-left: 20px;
}
.home .wrap_service {
margin-top: 0;
}
.home .wrap_service > div {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.home .wrap_service figure {
width: 40%;
margin:0;
}
.home .wrap_service dl {
width: 58%;
}
.bottom_contact {
border-width: 25px;
padding: 6rem 0;
}
.bottom_contact .col > a {
padding: 1.5rem 6rem;
}
.home .fv {
background-position: left 105% center;
background-size: 748px;
}
.home .fv .top_fv {
width: 58%;
height: 640px;
}
.home .fv > div {
width: 42%;
padding-left: 30px;
}
.home .fv > div h1 {
margin-bottom: 5rem;
}
.home .fv > div p {
font-size:100%;
}
/* TOPページのみのメニュー表示／非表示 */
body#home article{
padding-top:0;
}
body#home article:before {
position: fixed;
top: 0;
left: 0;
content: "";
display: block;
width: 100%;
height: 5px;
background: url(../images/header_top-bar.svg) no-repeat top center;
background-size: cover;
z-index:100;
}
body#home header{
opacity: 0;
transform: translateY(-90px);
transition:all .1s;
}


/* CASE / COLUMN */
.index_list a {
padding-bottom: 50px;
}
.index_list a + a {
margin-top: 0;
}
.column .index_list a > p{
text-align: center;
}
.index_list a > figure img {
display: block;
width: 100%;
height: 160px;
object-fit: cover;
}
.index_list > .wrapper > p {
justify-content: center;
}

.entry_cont .box_outline {
padding: 3rem 4rem;
font-size: var(--16px);
}
.entry_cont h3 {
margin: 6rem 0 3rem;
font-size: var(--20px);
}
.entry_cont .wrap_profile {
padding: 40px 0 20px;
}
.entry_cont .wrap_profile .wrap {
align-items: flex-start;
}
.entry_cont .wrap_profile figure {
width: 170px;
margin-right: 40px;
margin-bottom: 40px;
}
.entry_cont .wrap_profile .name {
width: calc(100% - 210px);
}
.entry_cont .ai-center h4,
.entry_cont p.question{
border:none;
padding-left:0;
}
.entry_cont .ai-center h4:before,
.entry_cont p.question:before {
content: "";
height: 1px;
width: 40px;
background: #e64516;
display: inline-block;
margin-right: 10px;
vertical-align: middle;
transform: translateY(-2px);
}


/* ABOUT */
.about .head_image h2 {
width: var(--col5);
max-width: 380px;
top:30px;
left:30px;
}
.about .head_image figure {
padding-top: 0;
width: 100%;
text-align: right;
}

.about #consultant {
background-size: 380px auto;
}
.about #consultant .col10 {
padding-right:calc(41.6% + 30px);
}
.about #consultant .name {
padding: 30px 30px 10px;
}

/* SERVICE */
.service .trouble_list {
margin-top: 0;
}
.service .trouble_list li {
padding: 30px 10px;
width: 46%;
}
.service .trouble_list li + li {
margin-top: 0;
}
.service .trouble_list li:nth-child(n+3) {
margin-top: 50px;
}
.service .trouble_list li img {
top:-35px;
width: 80px;
}
.service .trouble_list li > p {
display: inline-flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
font-size: 90%;
line-height: 1.7;
}
.service .outline_list dt,
.service .outline_list dd {
font-size: var(--18px);
padding: 2rem 0;
}
.service .outline_list dt {
width: 22%;
padding-right: 10px;
}
.service .outline_list dd {
width: 78%;
}
.service .service_flow dl + dl {
margin-top: 0;
}
.service .service_flow dl dt {
padding: 60px 10px 35px;
}
.service .service_flow dl dt strong {
transform: translateY(-80px);
margin-bottom: -70px;
}



/* CONTACT */
.contact dl {
margin-top: 6rem;
}
.contact dd + dt {
margin-top: 4rem;
}
.contact dl.wrap_check dd > div {
width: 65%;
}
.contact dl.wrap_check dd > div:first-child {
width: 35%;
}
.contact dl.wrap_check + p {
margin-top: 8rem;
}


}/* PAGE min-width:768px*/







@media screen and (min-width:1080px) {

/* HOME */
.home #home_service .section_title + p {
padding-right: 8.3%;
}
.home .wrap_link > a.btn-box-arrow {
padding: 1rem 2rem;
}
.home .fv > div {
padding-left: 65px;
}

/* COLUMN / CASE */
.index_list a > figure img {
height: 257px;
}



/* SERVICE */
.service .trouble_list {
flex-wrap: nowrap;
align-items: stretch;
}
.service .trouble_list li + li {
margin-left: 30px;
}
.service .trouble_list li:nth-child(n+3) {
margin-top: 0;
}






}/*min-width:1080px*/




@media screen and (min-width:1320px) {

/* ABOUT */
.about #consultant {
padding: 60px 0 80px;
}
.about #consultant .col10 {
padding-right:25%;
}




}/*min-width:1320px*/















/* IE11 */

@media all and (-ms-high-contrast: none){
img {width: 100%;}
img,p,div,figure,figcaption{max-width: 100%;}

img.widthauto_ie {
width: auto;
max-width: auto;
}
.index_list a > figure img {
height: auto;
}

}/* //IE11 */



/* Edge(EdgeHTML) */
_:-ms-lang(x)::backdrop, .index_list a > figure img {
height: auto;
}

_:lang(x)::-ms-, .index_list a > figure img {
height: auto;
}


