@charset "utf-8";
/* CSS Document */
html {scroll-behavior: smooth; scroll-padding-top: calc(160vw / 7.2);}
body {font-size:calc(18 * 0.20vw); line-height: 1.8; overflow-x:hidden;}


.pc {display:none;}
.sp {display:block;}

.sp_full {width:100%;}

.left, .right {float: none;}
.sp_left {text-align:left;}
.sp_center {margin-left:auto; margin-right:auto; text-align: center; display: block;}

.fs10vw {font-size:calc(10 * 0.22vw);}
.fs12vw {font-size:calc(12 * 0.22vw);}
.fs14vw {font-size:calc(14 * 0.20vw);}
.fs15vw {font-size:calc(15 * 0.20vw);}
.fs16vw {font-size:calc(16 * 0.18vw);}
.fs17vw {font-size:calc(17 * 0.18vw);}
.fs18vw {font-size:calc(18 * 0.18vw);}
.fs20vw {font-size:calc(20 * 0.18vw);}
.fs21vw {font-size:calc(20 * 0.18vw);}
.fs22vw {font-size:calc(22 * 0.18vw);}
.fs23vw {font-size:calc(23 * 0.18vw);}
.fs24vw {font-size:calc(24 * 0.18vw);}
.fs25vw {font-size:calc(25 * 0.18vw);}
.fs26vw {font-size:calc(26 * 0.18vw);}
.fs27vw {font-size:calc(27 * 0.15vw);}
.fs28vw {font-size:calc(28 * 0.14vw);}
.fs29vw {font-size:calc(29 * 0.14vw);}
.fs30vw {font-size:calc(30 * 0.14vw);}
.fs32vw {font-size:calc(32 * 0.13vw);}
.fs34vw {font-size:calc(34 * 0.13vw);}
.fs35vw {font-size:calc(35 * 0.13vw);}
.fs36vw {font-size:calc(36 * 0.13vw);}
.fs37vw {font-size:calc(37 * 0.13vw);}
.fs38vw {font-size:calc(38 * 0.13vw);}
.fs40vw {font-size:calc(40 * 0.13vw);}
.fs45vw {font-size:calc(45 * 0.12vw);}
.fs46vw {font-size:calc(46 * 0.12vw);}
.fs48vw {font-size:calc(48 * 0.11vw);}
.fs50vw {font-size:calc(50 * 0.11vw);}
.fs52vw {font-size:calc(52 * 0.11vw);}
.fs54vw {font-size:calc(54 * 0.11vw);}
.fs56vw {font-size:calc(56 * 0.11vw);}
.fs58vw {font-size:calc(58 * 0.11vw);}
.fs60vw {font-size:calc(60 * 0.11vw);}
.fs65vw {font-size:calc(65 * 0.11vw);}
.fs66vw {font-size:calc(66 * 0.11vw);}
.fs68vw {font-size:calc(68 * 0.11vw);}
.fs70vw {font-size:calc(70 * 0.11vw);}
.fs72vw {font-size:calc(72 * 0.11vw);}
.fs80vw {font-size:calc(80 * 0.1vw);}
.fs90vw {font-size:calc(90 * 0.1vw);}
.fs100vw {font-size:calc(100 * 1vw);}

:root {--resolution: 7.2;}

.flex.sp_column {flex-direction: column;}

.ttl {margin-block-end: 1em;}
.ttl .sp_2lines {line-height: 1.5em;}
.title_bar {margin-block-end: calc(40vw / var(--resolution));}

.more.sp {display: flex;}
.more,.more.small {width: calc(500vw / 7.2); height: 3em; padding: 0 calc(20vw / 7.2) 0 calc(20vw / 7.2); margin-block-start: 2em; line-height: 3em;}
.more i {top: calc(50% - calc(18 * 0.10vw));}

.btn_container.js_center {gap: 0; flex-direction: column;}

.inner {width: 94%}
.middle_inner {width: 94%}
.low_inner {width: 94%;}
.minimum_inner {width: 94%;}

.bg_arc {background-size: 40%;}
.bg_circle_left {width:calc(390vw / var(--resolution));}
.bg_circle_right {width:calc(325vw / var(--resolution));}

.largest_radius_img, .large_radius_img {width: 100%;}

.inner .colums3 .colums3_sub {width:100%; padding-block-end: calc(25vw / var(--resolution));}
.inner .colums3 .colums3_sub:last-of-type {padding-block-end: calc(10vw / var(--resolution));}

dl.table.rules > dt, dl.table.rules > dd {padding-block-start: calc(25vw / var(--resolution)); padding-block-end: calc(25vw / var(--resolution));}

/********* common *********/
#header {height: calc(240vw / var(--resolution));}
#header .header_wrapper {height:calc(85vw / var(--resolution));}

.h_logo {margin: 0; padding: calc(15vw / var(--resolution)) calc(30vw / var(--resolution)) calc(20vw / var(--resolution)) calc(20vw / var(--resolution)) ;}

#header .navi_container.sp {z-index: 9999;}
#header #hamburger {caret-color: transparent; top:calc(35vw / var(--resolution)); right:0;} 
#header #hamburger .bar {
	display: block; width: calc(60vw / var(--resolution)); height: 2px; 
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}
#header #hamburger .bar_1 {margin-block-end:calc(15.25vw / var(--resolution));}
#header #hamburger.active .bar_1 {transform: translateY(var(--offset)) rotate(45deg);}
#header #hamburger.active .bar_2 {transform: translateY(calc(var(--offset) * -1)) rotate(-45deg);}
#header #drawer {
	position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.5);display: flex; opacity:0;transition: opacity 0.3s ease; pointer-events:none;
	justify-content: flex-start;align-items: flex-start;z-index: 1000;
}
#header #drawer.open {opacity:1; pointer-events:auto;}
#header #drawer .drawer-content {
	width: 100%;height: 100%;transform: translateX(200%);transition: transform 0.3s ease; padding: calc(120vw / var(--resolution)) 3%; grid-template-rows: 20em;
}
#header #drawer.open .drawer-content {transform: translateX(0);}
#header #drawer .drawer-content ul {list-style-type:none; padding:0;}
#header #drawer .drawer-content ul li {border-bottom: solid 1px #BAD0D1; padding: 0.7em 0 0.7em 0;}
#header #drawer .drawer-content ul li span.repletion {font-size:0.75em; display:block; line-height: 1 ;color: #0DA5E3;}
#header #drawer .drawer-content ul li.contact_brn_box {border-bottom:none;}
#header #drawer .drawer-content ul li a {align-items: end; display: block;}
#header #drawer .drawer-content ul li.contact_brn_box a {
	width: calc(500vw / 7.2); max-width: 100%; height: 3em;padding: 0 calc(20vw / 7.2) 0 calc(20vw / 7.2); margin-block-start: 2em;line-height: 3em;
}

#header #drawer .drawer-content ul a .ja {width:10em;}
#header #drawer .drawer-content ul li .shop_list {}
#header #drawer .drawer-content ul li .shop_list dt{margin-bottom: 0.7em; padding-bottom:1em; border-bottom: solid 1px #D9D9D9;}
#header #drawer .drawer-content ul li .shop_list dd {margin: 0; padding: 0.3em 0 0.3em 1em;}

#bottom_contact {background-size: 50%; padding-block-end: calc(160vw / var(--resolution));}
#bottom_contact .minimum_inner {width: 100%;}
#bottom_contact .text_box, #bottom_contact .contact_box {width: 94%;margin: 0 auto;}
#bottom_contact .illust7 {width: calc(190vw / var(--resolution)); left:-2%; bottom:calc(-180vw / var(--resolution)); z-index:2;}
#bottom_contact .illust8 {width: calc(180vw / var(--resolution)); right:-2%; top:calc(-80vw / var(--resolution));}

.bg_bottom_cirle {background-size: 50%;}

#footer {padding-block-start: calc(30vw / var(--resolution));  background-size: 50%, 100%;}

.footer_logo {width: 100%;}
.f_logo_img {width: calc(340vw / var(--resolution)); display: block; margin:0 auto;}

#footer .navi_container.sp {display: flex;}
#footer .navi_container.sp ul.navi {width: 100%; gap:calc(30vw / var(--resolution));}
#footer .contact_btn, #footer .company_btn {width: calc(320vw / var(--resolution));	height: calc(70vw / var(--resolution));	line-height:calc(70vw / var(--resolution));}

.footer_info dl.table, .footer_info dl.table dt, .footer_info dl.table dd {width:100%; display: block;}
.footer_info dl.table dd {margin-left: 1em;}

#footer .copy {margin-block-start: calc(90vw / var(--resolution)); font-size: calc(16 * 0.20vw);}

/********* contents_area *********/
.contents_area {padding-block-start:calc(90vw / var(--resolution)); padding-block-end:calc(90vw / var(--resolution)); border-radius: calc(90vw / var(--resolution));}
.contents_area .left.text_area, .contents_area .right.text_area {padding-left: 0;}
.contents_area .ttl {padding-left: calc(65vw / var(--resolution));}
.contents_area .ttl.center, .contents_area .ttl.sp_center {padding-left: 0;}
.contents_area .text_box {margin-left: 0; width: 100%;}
.subpage_contents_area, .subpage_contents_area .text_box {width: calc(740vw / var(--resolution));}
.contents_area .right.img_box {padding-left: 0;}
.contents_area .img_box .large_radius_img {margin-block-start: calc(30vw / var(--resolution));}
.contents_area .text_area {margin-block-end: calc(45vw / var(--resolution));}

/********* home *********/
.page_top {padding-block-end: calc(30vw / var(--resolution));}

#home_fv {height: calc(940vw / var(--resolution)); background-image:url(../img/home/sp_fv_img.jpg);}
.top_fv {width: 100%; overflow: hidden; margin-left:0%; border-radius: 0 0 0 calc(140vw / var(--resolution))}
.top_fv .page_title {margin-top: 0; padding-block-start: calc(185vw / var(--resolution)); text-shadow: 5px 5px 10px rgba(255, 255, 255,1); padding-left: 3.5%;}
#home_fv .page_title {padding-block-start: calc(300vw / var(--resolution)); padding-left: 2.7174%;}

#home_about {padding-block-end: calc(37.5vw / var(--resolution));}
#home_about .text_area {padding-left: 0;}

.home_about_img {width: 94%;}

#home_sections .illust2 {width:calc(145vw / var(--resolution)); bottom:calc(-25vw / var(--resolution)); right:-2%;}
#home_sections .illust3 {width:calc(150vw / var(--resolution)); bottom:calc(-20vw / var(--resolution)); left:-2%;}
#home_sections .illust4 {width:calc(200vw / var(--resolution)); bottom:calc(-50vw / var(--resolution)); right:-2%;}
#home_sections .illust5 {width:calc(200vw / var(--resolution)); top:calc(-60vw / var(--resolution)); left:-2%; right:auto;}

#home_business .bg_area {height: calc(260vw / var(--resolution));}

#home_blog {padding-block-end: calc(140vw / var(--resolution));}
#home_blog .blog_ttl {width: 100%;}
#home_blog .blog_list_wrapper {width: 100%; min-height: auto;}
#home_blog .bg_circle_right {top:calc(-300vw / var(--resolution));}
.blog_list dt a {padding-block-start: calc(20vw / var(--resolution));}
.blog_list dd.blog_title a {padding-block-end: calc(30vw / var(--resolution));}

#home_clients {padding-block-end: calc(260vw / var(--resolution)); background-size:160%;}

.home_clients_wrapper,.free_consultation_wrapper {
	padding-block-end: calc(80vw / var(--resolution));border-radius: 0 0 calc(80vw / var(--resolution)) calc(80vw / var(--resolution));z-index:1;
}
#home_clients .client_list li {margin-right:0; width:100%; font-size:calc(17 * 0.18vw);}
#home_clients .illust6 {width:calc(240vw / var(--resolution)); top:calc(-120vw / var(--resolution)); left:-2%;}
#home_clients .bg_circle_left {top:calc(-135vw / var(--resolution));}

.bottom_company {padding-block-start: calc(90vw / var(--resolution)); background-size: 98%;}
.bottom_company dl.office {width: 100%;}
.bottom_company dl.office dd.img_box {width:60%; height: auto; margin-left:auto; margin-right:auto;}
.bottom_company dl.office dd.img_box .area_img {height: auto;}
.bottom_company .illust10 {width: calc(235vw / var(--resolution)); right:-1%; top:calc(-65vw / var(--resolution));}

/********* subpage *********/
.page_header_circle {height:calc(540vw / var(--resolution)); top:calc(100vw / var(--resolution)); left:0;}

.subpage_fv {height:calc(410vw / var(--resolution));}
#consulting_fv {background-position: 25%; background-image:url(../img/consulting/sp_page_header.jpg);}
#construction_fv {background-image:url(../img/construction/sp_page_header.jpg);}
#company_fv {background-position-x: 17.5%; background-image:url(../img/company/sp_page_header.jpg)}
#policy_fv {background-image:url(../img/policy/sp_page_header.jpg);}
#contact_fv {background-image:url(../img/contact/sp_page_header.jpg);}
#news_fv {background-image:url(../img/news_blog/sp_page_header.jpg);}

.subpage_first .half {width: 94%; margin-left: auto;margin-right: auto;}
.subpage_contents_area, .subpage_contents_area .text_box {width: 100%;}
.subpage_first .half.left.text_area {padding-block-end: calc(40vw / var(--resolution)); padding-left: 0;}

.sections .contents_area {
	background-image: url(../img/common/sp_bg_circle_center.png), linear-gradient(to bottom, #FFFFFF 0%, #EEF2F8 100%);
	padding-block-end: calc(80vw / var(--resolution)); border-radius: calc(100vw / var(--resolution)); background-size: 180%, cover;
}

#company_sections .subpage_main, #contact_sections .subpage_main, #policy_sections .subpage_main, #news .subpage_main {padding-block-start: calc(70vw / var(--resolution));}
#company_sections .contents_area, #contact_sections .contents_area, #policy_sections .contents_area, #news .contents_area {padding-block-start:calc(70vw / var(--resolution));}

/***　consulting ***/
#consulting_sections .illust9 {width: calc(240vw / var(--resolution)); left:0; top: calc(-50vw / var(--resolution));}
#consulting_sections .contents_area {padding-block-end: calc(120vw / var(--resolution));}

#consulting_business, #construction_business {padding-block-end:calc(240vw / var(--resolution)); background-size: 200%;}

#consulting_business .colums3_sub:nth-of-type(2n), #consulting_business .colums3_sub:nth-of-type(3n),
#construction_business .colums3_sub:nth-of-type(2n), #construction_business .colums3_sub:nth-of-type(3n) {margin-block-start:0;}

.contents_area section#startup {padding-block-end: calc(20vw / var(--resolution));}

#free_consultation .middle_inner .sp_full {width:100%;}
#free_consultation .illust11 {width: calc(180vw / var(--resolution)); left:0%; top:calc(-100vw / var(--resolution));}
#free_consultation .middle_inner .half.text_area {padding-block-end: calc(40vw / var(--resolution));}

.triangle_bottom {width: calc(130vw / var(--resolution)); bottom:calc(-25vw / var(--resolution)); left:calc(50% - (65vw / var(--resolution)));}
#free_consultation .triangle_bottom {bottom:calc(-25vw / var(--resolution));}

/***　construction ***/
#construction_sections .illust12 {width: calc(265vw / var(--resolution)); right:1%; top:calc(-5vw / var(--resolution));}
#construction_business #expertise .illust13 {width: calc(220vw / var(--resolution)); left:2%; bottom:calc(20vw / var(--resolution));}

#portfolio .illust14 {width: calc(170vw / var(--resolution)); left:2%; top:calc(-200vw / var(--resolution)); bottom:auto;}
#portfolio .illust15 {width: calc(210vw / var(--resolution)); right:-2%; top:calc(-180vw / var(--resolution));}

.contents_area section#scope {padding-block-end: calc(40vw / var(--resolution));}

/***　company ***/
#company_profile dl.table.rules > dt {width: 6em;}
#company_profile dl.table.rules > dd {padding-left:0.25em;}
#company_sections .illust15 {width: calc(215vw / var(--resolution)); right:2%; top:calc(-35vw / var(--resolution)); z-index:1;}

/***　policy ***/
#policy_sections .illust16 {width: calc(220vw / var(--resolution)); right:2%; top:calc(-15vw / var(--resolution)); z-index:1;}

/***　contact ***/
#contact_sections .illust17 {width: calc(180vw / var(--resolution)); right:2%; top:calc(-40vw / var(--resolution));}

#contact_form dl.table.rules {display: block;}
#contact_form dl.table.rules dt, #contact_form dl.table.rules dd {display: block;}
#contact_form dl.table.rules > dt, #contact_form dl.table.rules > dd {width: 100%;}
#contact_form dl.table.rules > dt {padding-block-end: calc(0vw / var(--resolution)); text-align: left;}
#contact_form dl.table.rules:last-of-type > dt {border-bottom: none;}
#contact_form dl.table.rules > dd {margin-left: 0; padding-left: 0;}
#contact_form dl.table.rules:last-of-type > dd {border-bottom: 1px solid #109CE8;}
#contact_form dl.table.rules:last-of-type > dd {border-bottom: 1px solid #109CE8;}

#contact_form input[type="text"] {width:100%; height: calc(70vw / var(--resolution)); font-size: 1em;}
#contact_form input[type="tel"], #contact_form input[type="email"] {width: calc(540vw / var(--resolution)); height: calc(70vw / var(--resolution)); font-size: 1em;}
#contact_form textarea {width:100%; font-size:1em;}
#contact_form select {font-size: 1em; height: calc(70vw / var(--resolution));}
#contact_form input[type="submit"] {font-size: 1.125em;}

#contact_form .preferred_time .wpcf7-radio {display: block; margin-block-end: calc(17.5vw / var(--resolution));}
.wpcf7-not-valid-tip {font-size: 0.9375em;}

/***　news ***/
#news .illust18 {width: calc(180vw / var(--resolution)); right: 1%; top: calc(-25vw / var(--resolution));}

#news_list .news_item {padding-block-end: calc(15vw / var(--resolution)); justify-content: flex-start; align-items: flex-start; flex-direction: column;}
#news_list .pagination .page-numbers  {width: calc(70vw / var(--resolution)); height: calc(70vw / var(--resolution));}
#news_list .pagination .prev, #news_list .pagination .next {width: calc(140vw / var(--resolution));}
#news_list .pagination .prev::before , #news_list .pagination .next::after {top:calc(11vw / var(--resolution));}

#news_post .article_container {width:100%;}
#news_post .sidebar {width:100%; margin-block-start: calc(100vw / var(--resolution));}

.news_archive #news_list .news_item .news_title {margin-left: 0;}

/***　news 記事 ***/
#news_post .news_content {padding-block-end: calc(70vw / var(--resolution));}
#news_post .news_pagination a {
	width: calc(300vw / var(--resolution)); height:calc(70vw / var(--resolution)); margin: 0 calc(10vw / var(--resolution));padding: calc(5vw / var(--resolution));
}
.contents_area section.widget {padding-block-end: calc(75vw / var(--resolution))}
#news_post .sidebar .widget ul {margin-block-start: calc(15vw / var(--resolution));}
#news_post .sidebar .widget ul li a {padding-block-start: calc(15vw / var(--resolution)); padding-block-end: calc(15vw / var(--resolution));}