 @charset "utf-8";
/* CSS Document */

html {scroll-behavior: smooth; scroll-padding-top: calc(160vw / var(--resolution));
}


body {color:#111111; font-size:calc(18 * 0.054vw); line-height: 1.9;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:500; margin: 0 auto; height: 100%; overflow-x:hidden; letter-spacing: 0.025em;}

*, *:before, *:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box; -ms-box-sizing: border-box;box-sizing: border-box;}

.roboto {font-family: "Roboto", sans-serif;}

.bold {font-weight:bold;}

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

:root {--resolution: 19.2;}

img {border: none; vertical-align: middle; backface-visibility: hidden; max-width: 100%;}

img.top {vertical-align: top;}
img.bottom {vertical-align: bottom;}
img.banner {border: solid 1px #DDD;}

/*input,button,textarea {appearance:none; -webkit-appearance:none; font-family: inherit; font: inherit; color: inherit;}*/
button {border: none; cursor:pointer; background: none;}

input[type="radio"]:hover, select:hover {cursor: pointer;}

address, em {font-style: normal;}

mark {background: linear-gradient(#fbe2ac, #fbe2ac) 0 100% / 0 0.3em no-repeat; background-size: 100% 0.3em;}

a {color: #000000; text-decoration: none;}
a.underline {text-decoration:underline;}
a:hover, input[type="submit"]:hover, input[type="reset"]:hover {opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";}

strong,em {font-weight: 700;}

.position_r {position:relative; z-index:1;}
.position_a {position:absolute; z-index:0}

/****************************************** class ********************************************/
/********** float ************/
.c-both {clear: both;}
.clearfix::after {content: ""; clear: both; display: block;}
.left {float: left;}
.right {float: right;}
.center {display: block; margin-left: auto; margin-right: auto; text-align: center;}
.text_right {margin-left:auto; margin-right:0; text-align:right;}
.text_left {margin-right:auto; margin-left:0; text-align:left;}

/******* flex box ***********/
.flex {display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; align-items: flex-start;}
.height {flex-wrap: wrap; align-items: stretch;}
.js_center {justify-content: center;}

/* image parent cover *******/
.fit {object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%;}
.fit img {margin: auto; width: 100%; min-height: 100%; object-fit: cover; font-family: 'object-fit: contain;';
	position: absolute; top: 0; left: 0; bottom: 0; right: 0;
}

/****** layout ********/
.inner {width: calc(1760vw / var(--resolution)); margin: 0 auto;}
.middle_inner {width: calc(1600vw / var(--resolution)); margin: 0 auto;}
.low_inner {width: calc(1440vw / var(--resolution)); margin: 0 auto;}
.minimum_inner {width: calc(1100vw / var(--resolution)); margin: 0 auto;}

.half {width:50%;}
.heading {width: 100%;}

dl.table {display:table; width:100%;}
dl.table > dt,dl.table > dd {display:table-cell;}

dl.table.rules {border-top:1px solid #CEDEDF;}
dl.table.rules > dt, dl.table.rules > dd {padding-block-start: calc(30vw / var(--resolution)); padding-block-end: calc(30vw / var(--resolution));}
dl.table.rules:last-of-type {border-bottom:1px solid #CEDEDF;}

p.indent {text-indent: -1em; margin-left: 1em;}

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

/****** color ********/
.black {color:#000000;}
.white {color:#FFFFFF;}
.cyan_blue {color:#1FAEE5;}
.sky_blue {color:#51CDDC;}

.bg_black {background-color:#000000;}
.bg_white {background-color:#FFFFFF;}
.bg_cyan_blue {background-color:#1FAEE5;}
.bg_sky_blue {background-color:#51CDDC;}
.bg_alice_blue {background-color:#EDF2F8;}
.bg_lime_yellow {background-color:#DFF45E;}

.gradient_aliceblue1 {background: linear-gradient(to bottom, #FFFFFF 0%, #EEF2F8 100%);}
.gradient_aliceblue2 {background: linear-gradient(to bottom, #EEF2F8 0%, #F0FAFF 100%);}
.gradient_skyblue {background: linear-gradient(135deg, #109CE8 0%, #20AFE5 50%, #57D1DB 100%);}

mark.lime_yellow {background: linear-gradient(to bottom, transparent 0%, transparent 70%, #DFF45E 70%, #DFF45E 100%);}

.bg_arc {background-image:url(../img/common/bg_arc.png); background-size: calc(620vw / var(--resolution)), auto; background-position: center top; background-repeat: no-repeat;}
.bg_circle_left {z-index: 1; width:calc(520vw / var(--resolution)); left:0;}
.bg_circle_right {z-index: 1; width:calc(435vw / var(--resolution)); right:0;}

/****** title ********/
.ttl {letter-spacing: 0.05em; margin-block-start: 0; margin-block-end: calc(60vw / var(--resolution)); font-weight:bold; line-height: 1;}
.ttl .ja {display:block; margin-block-start: 1em;}
.ttl .slug {display:block;}
.ttl span.roboto {display: block; margin-block-end: calc(20vw / var(--resolution));}
.ttl span.repletion {font-size:0.65em; line-height: 2;}
.catch {line-height: 1.75;}

.ttl.bar::before, .catch.bar::before {content:""; width:calc(60vw / var(--resolution)); height:2px; background-color: #51CDDC; position: absolute; top:calc(-10vw / var(--resolution)); left:0;}
.title_bar {width:calc(120vw / var(--resolution)); height:2px; background-color: #51CDDC; margin-block-end: calc(80vw / var(--resolution));}

/****** btn ********/
.more {display:flex; align-items: center; width: calc(360vw / var(--resolution)); height: calc(70vw / var(--resolution)); border-radius: 100vmax;
	background: linear-gradient(135deg, #109CE8 0%, #20AFE5 50%, #57D1DB 100%); color:#FFFFFF; padding:0 calc(10vw / var(--resolution)); 
	margin-block-start: calc(40vw / var(--resolution)); text-align: center; justify-content: center; box-sizing: border-box; position: relative; transition-duration: .5s;
}
.more.sp {display: none;}
.more.small {width: calc(190vw / var(--resolution)); height: calc(65vw / var(--resolution));}
.more.bg_white {border: 1px solid #1FAEE5; color:#1FACE5; background: #FFFFFF; box-sizing: border-box;}
.more.bg_lime_yellow {color:#111111; background:#DFF45E;}
.more i {right: calc(17.5vw / var(--resolution)); position: absolute;}
.more:hover, #bottom_contact .contact_btn:hover, #footer .contact_btn:hover, #footer .company_btn:hover {transform: translateY(calc(-10vw / var(--resolution)));}

.btn_container.js_center {gap: calc(60vw / var(--resolution));}

/****** class ********/
.radius_img {border-radius: calc(80vw / var(--resolution)) 0 calc(80vw / var(--resolution)) 0;}
.largest_radius_img {width: calc(920vw / var(--resolution)); border-radius: calc(80vw / var(--resolution)) 0 calc(80vw / var(--resolution)) 0;}
.large_radius_img {width: calc(740vw / var(--resolution)); border-radius: calc(80vw / var(--resolution)) 0 calc(80vw / var(--resolution)) 0;}

ul.circle {padding-left:1.5em;}

ul.ruled_line {padding-left:0; list-style: none; margin-block-start:calc(40vw / var(--resolution)); margin-block-end:calc(40vw / var(--resolution)); font-weight: 600;}
ul.ruled_line li {margin-left:0; padding-block-start: calc(10vw / var(--resolution)); padding-block-end: calc(10vw / var(--resolution)); border-top: 1px solid #97B9BB;}
ul.ruled_line li:last-of-type {border-bottom: 1px solid #97B9BB;}

.fadein {opacity: 0; transition: opacity 0.8s ease;}
.fadein.active {opacity: 1;}

.colums3 {margin-block-start:calc(60vw / var(--resolution));}
.inner .colums3 .colums3_sub {width:calc(480vw / var(--resolution));}

dl.terms {padding-block-start: calc(40vw / var(--resolution)); padding-block-end: calc(20vw / var(--resolution)); border-top: 1px solid #CEDEDF;}
dl.terms:last-of-type {border-bottom: 1px solid #CEDEDF;}
dl.terms dd {margin-left:0;}

span.repletion {font-size:0.75em; display:block; line-height: 1.5; color: #0DA5E3; }

/****************************************** header ********************************************/
#header {width: 100%; position:fixed; z-index:9998; height:calc(223vw / var(--resolution)); background-color:transparent;}
#header .header_wrapper {height:calc(80vw / var(--resolution)); background-color: #FFF;}
.h_logo {margin: 0; padding: calc(20vw / var(--resolution)) calc(60vw / var(--resolution)) calc(30vw / var(--resolution)) calc(40vw / var(--resolution)) ; border-radius: 0 0 calc(80vw / var(--resolution)) 0;}

.logo_img {width: calc(170vw / var(--resolution));}

#header .navi_container.pc {padding-right:calc(40vw / var(--resolution));}
.navi_container .navi {list-style: none; padding-left: 0;}
#header .navi_container.pc .navi li {margin-left:calc(30vw / var(--resolution));}
#header .navi_container .navi li span.repletion {font-size:0.875em; line-height: 1;}
#header .navi_container a, #footer .navi_container.pc .navi li a {transition: all .5s;}
#header .navi_container a:hover, #footer .navi_container.pc .navi li a:hover {color:#1FAEE5; transform: translateY(calc(5vw / var(--resolution)));}

#header .contact_btn, #footer .contact_btn, #footer .company_btn {width:calc(200vw / var(--resolution)); height:calc(40vw / var(--resolution)); line-height:calc(40vw / var(--resolution)); border-radius: 100vmax; box-sizing: border-box;
	padding: 0 calc(5vw / var(--resolution)); transition: all 0.5s;}

#header .navi_container a.contact_btn:hover {color:#FFFFFF;}

#header .contact_btn i, #footer .contact_btn i, #footer .company_btn i {margin-right:0.25em;}

/****************************************** footer ********************************************/
#footer {padding-block-start: calc(50vw / var(--resolution)); padding-block-end: calc(45vw / var(--resolution)); background: url(../img/common/bg_q-circle_right.png),linear-gradient(to bottom, #EEF2F8 0%, #F0FAFF 100%); background-repeat: no-repeat; background-position: right bottom; background-size: 17%, 100%;}

.footer_logo {width: calc(300vw / var(--resolution));}

#footer .navi_container.pc .navi li a.contact_btn:hover {color:#FFFFFF;}
#footer .navi_container.pc .navi li a.company_btn:hover {color:#111111;}
#footer .copy {margin-block-start: calc(30vw /19.2);}

/*** bottom_contact ***/
#bottom_contact {padding-block-start: calc(130vw / var(--resolution)); padding-block-end: calc(140vw / var(--resolution)); background: url(../img/common/bg_q-circle_left.png); background-repeat: no-repeat; background-position: left bottom; background-size: 17%;}

#bottom_contact .inner {padding-block-start: calc(70vw / var(--resolution)); padding-block-end: calc(70vw / var(--resolution)); border-radius: calc(80vw / var(--resolution));}
#bottom_contact .minimum_inner {width: calc(1020vw / var(--resolution)); margin: 0 auto;}

#bottom_contact .text_box, #bottom_contact .contact_box {width: calc(480vw / var(--resolution)); padding: 0 calc(10vw / var(--resolution)); box-sizing: border-box;}
#bottom_contact .text_box p {letter-spacing: -0.015em;}

#bottom_contact .contact_btn {display: block; width:100%; height:calc(80vw / var(--resolution)); margin-block-start: calc(20vw / var(--resolution)); line-height:calc(80vw / var(--resolution)); border-radius: 100vmax; transition-duration: .5s;}
#bottom_contact .contact_btn i {margin-right:calc(10vw / var(--resolution));}

#bottom_contact .reception_hours {margin-block-start: calc(10vw / var(--resolution)); margin-block-end: calc(30vw / var(--resolution));}

#bottom_contact .illust7 {width: calc(220vw / var(--resolution)); left:calc(80vw / var(--resolution)); bottom:calc(60vw / var(--resolution));}
#bottom_contact .illust8 {width: calc(220vw / var(--resolution)); right:calc(80vw / var(--resolution)); top:calc(-45vw / var(--resolution));}

.bg_bottom_cirle {background: url(../img/common/bg_q-circle_left.png); background-repeat: no-repeat; background-position: left bottom; background-size: 17%;}

#footer .navi_container.pc .navi li {margin-right:calc(30vw / var(--resolution));}

.footer_info {padding-block-start: calc(25vw / var(--resolution));}
.footer_info dl.table dt {width:calc(130vw / var(--resolution));}
.footer_info .i_circle {width:calc(20vw / var(--resolution)); margin-right: calc(5vw / var(--resolution));}

/****************************************** main ********************************************/
main {padding-top:calc(75vw / var(--resolution)); overflow: hidden;}
.contents_page main {background: linear-gradient(to bottom, #EEF2F8 0%, #DBEDF8 100%);}

main .ttl .i_circle {width: calc(30vw / var(--resolution)); margin-left: calc(-45vw / var(--resolution)); top: calc(6vw / var(--resolution));}

/****************************************** contents_area ********************************************/
.contents_area {padding-block-start:calc(
	120vw / var(--resolution)); padding-block-end:calc(120vw / var(--resolution)); border-radius: calc(140vw / var(--resolution));
	background-image: url(../img/common/bg_circle_center.png),linear-gradient(to bottom, #FFFFFF 0%, #EEF2F8 100%); 
	background-size: 83.6%, cover; background-position: center; background-repeat: no-repeat; margin-block-start: calc(1-20vw / var(--resolution));
}

.contents_area .right.text_area {padding-left: calc(65vw / var(--resolution)); box-sizing: border-box;}
.subpage_contents_area .right.text_area {padding-left: 0;}
.contents_area .left.text_area {padding-left: calc(160vw / var(--resolution)); box-sizing: border-box;}
.contents_area .right.img_box {padding-left: calc(140vw / var(--resolution)); box-sizing: border-box;}

.subpage_contents_area .text_box {width: calc(640vw / var(--resolution));}
.subpage_contents_area .text_box {width: calc(740vw / var(--resolution));}

.contents_area section {padding-block-end:calc(90vw / var(--resolution));}
.contents_area section:last-of-type {padding-block-end:0;}

.contents_area.bg_none {padding-block-start:calc(90vw / var(--resolution)); padding-block-end:calc(120vw / var(--resolution)); border-radius: calc(140vw / var(--resolution));
	background-image: linear-gradient(to bottom, #FFFFFF 0%, #EEF2F8 100%); background-size: cover; margin-block-start: calc(1-20vw / var(--resolution));}

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

.scroll_down {top:calc(685vw / var(--resolution)); left:calc(20vw / var(--resolution)); height:calc(100vw / var(--resolution)); writing-mode: vertical-rl; margin: 0 0 0 calc(10vw / var(--resolution)); font-style: italic; border-left:1px solid #109CE8; transition: all 0.5s;
}
.scroll_down:hover {height:calc(175vw / var(--resolution)); opacity: 0.7;}

/*** fv ***/
#home_fv {height:calc(940vw / var(--resolution)); background-image:url(../img/home/fv_img.jpg);}
.top_fv {width:calc(1840vw / var(--resolution)); box-sizing: border-box; margin-left:calc(80vw / var(--resolution)); background-size: cover; background-position: center; border-radius: 0 0 0 calc(155vw / var(--resolution));}

.top_fv .page_title {margin-top: 0; padding-left: 4%; padding-block-start:calc(245vw / var(--resolution)); text-shadow: 5px 5px 30px rgba(255, 255, 255,0.5);}
#home_fv .page_title {padding-left: 2.7174%; padding-block-start:calc(275vw / var(--resolution));}

/*** home_about ***/
#home_about {padding-block-end: calc(75vw / var(--resolution));}
.home_about_img {width:calc(800vw / var(--resolution));}
#home_about .text_area {padding-left: calc(40vw / var(--resolution));box-sizing: border-box;}

/*** sections ***/
.sections .contents_area {border-radius:calc(140vw / var(--resolution));}

#home_business .bg_area {background-image:url(../img/home/home_1.jpg); width:100%; height:calc(520vw / var(--resolution)); background-size: cover; background-position: center;}

#home_sections .illust2 {width:calc(145vw / var(--resolution)); bottom:calc(2.5vw / var(--resolution)); right:calc(70vw / var(--resolution));}
#home_sections .illust3 {width:calc(150vw / var(--resolution)); bottom:calc(10vw / var(--resolution)); left:calc(40vw / var(--resolution));}
#home_sections .illust4 {width:calc(240vw / var(--resolution)); bottom:calc(-20vw / var(--resolution)); right:calc(62.5vw / var(--resolution));}
#home_sections .illust5 {width:calc(240vw / var(--resolution)); top:calc(-160vw / var(--resolution)); right:calc(80vw / var(--resolution));}

/*** home_clients ***/
#home_clients {padding-block-end: calc(400vw / var(--resolution)); background-image: url(../img/home/home_5.jpg); background-size: 100%; background-position: bottom center; background-repeat: no-repeat;
}

#home_clients .client_list {padding-left:0; flex-wrap: wrap; list-style: none; justify-content: start;}

.home_clients_wrapper,.free_consultation_wrapper {padding-block-end: calc(140vw / var(--resolution)); border-radius:0 0 calc(120vw / var(--resolution)) calc(140vw / var(--resolution)); z-index:1;
}

#home_clients .client_list li {width:calc(550vw / var(--resolution)); height:calc(70vw / var(--resolution)); margin-block-start:calc(25vw / var(--resolution)); margin-left: 0; margin-right: calc(55vw / var(--resolution)); padding: 0 calc(5vw / var(--resolution)); box-sizing: border-box; line-height: calc(70vw / var(--resolution)); text-align: center; 
	border-radius: 100vmax; position: relative;letter-spacing: 0;}
#home_clients .client_list li:nth-of-type(3n) {margin-right: 0;}

#home_clients .client_list li::before {position: absolute; content: ""; width: calc(20vw / var(--resolution)); height: calc(20vw / var(--resolution)); border-radius: 100vmax; background-color:#DFF45E; left:calc(10vw / var(--resolution)); top:calc(25vw / var(--resolution));}

#home_clients .bg_area {background-image:url(../img/home/home_5.jpg); width:100%; height:calc(520vw / var(--resolution)); margin-block-start:calc(-140vw / var(--resolution)); background-size: cover; background-position: center; z-index:0;}

#home_clients .illust6 {width:calc(300vw / var(--resolution)); top:calc(-120vw / var(--resolution)); left:calc(80vw / var(--resolution)); z-index: 2;}
#home_clients .bg_circle_left {top:calc(-270vw / var(--resolution)); opacity: 0.8;}
#home_clients .inner {z-index: 3;}

/*** home_blog ***/
#home_blog {padding-block-start: calc(120vw / var(--resolution)); padding-block-end: calc(120vw / var(--resolution));}
#home_blog .middle_inner {z-index:2;}
#home_blog .blog_ttl {width: calc(420vw / var(--resolution));}
.blog_list dt, .blog_list dd.blog_title {;padding-right: calc(80vw / var(--resolution));}
#home_blog .blog_list_wrapper {width: calc(1180vw / var(--resolution)); min-height: calc(240vw / var(--resolution));}

.blog_list {width: 100%; position: relative; box-sizing: border-box; border-bottom:1px solid #CEDEDF; transition: all 0.8s;}
.blog_list:hover {}
.blog_list:hover dd.circle_arrow {right:2.5%;}
.blog_list:first-of-type {border-top:1px solid #CEDEDF;}

.blog_list a {display: block; width:100%; transition: all 0.8s;}
.blog_list:hover a {color:#1FAEE5;}
.blog_list dt a {padding-block-start: calc(30vw / var(--resolution)); margin-left:0;}
.blog_list dd {margin-left:0;}
.blog_list dd.blog_title a {padding-block-start: calc(10vw / var(--resolution)); padding-block-end: calc(40vw / var(--resolution));}
.blog_list dd.circle_arrow {display: flex; width:calc(60vw / var(--resolution)); height:calc(60vw / var(--resolution));	top: calc(50% - calc(30vw / var(--resolution))); right:0; color:#1FAEE5; transition: all 0.8s;}
.blog_list dd.circle_arrow a {align-items: center; display: flex; justify-content: center; border-radius: 100vmax; font-weight: 300; border: 1px solid #109CE8;}

.blog_list .category_news, .blog_list .category_topics, .blog_list .category_other,
#news_list .news_item .category_news, #news_list .news_item .category_topic, #news_list .news_item .category_other,
#news_post .category_news, #news_post .category_topic, #news_post .category_other {
	border-style: solid; border-width: 1px; border-radius: 100vmax; padding:0.1em 0.75em; margin-inline-start:calc(15vw / var(--resolution));
}

.blog_list .category_news, #news_list .news_item .category_news, #news_post .category_news {border-color:#1FACE5; color:#1FACE5; background-color: #FFFFFF;}
.blog_list .category_topics, #news_list .news_item .category_topic, #news_post .category_topic {border-color:#DFF45E; color:#111111; background-color: #DFF45E;}
.blog_list .category_other, #news_list .news_item .category_other, #news_post .category_other {border-color:#EEF2F8; color:#111111; background-color: #EEF2F8;}

#home_sections #home_blog .illust5 {z-index: 2; opacity: 0.8;}
#home_blog .bg_circle_right {top:calc(-590vw / var(--resolution));}

/*** bottom_company ***/
.bottom_company {padding-block-start: calc(120vw / var(--resolution)); background-image: url(../img/common/bg_circle_center2.png); background-size: 83.3%; background-position: top center; background-repeat: no-repeat;}

.bottom_company dl.office {width:calc(480vw / var(--resolution));}
.bottom_company dl.office dt {padding-block-end: calc(20vw / var(--resolution));}
.bottom_company dl.office dt .i_circle {width: calc(22vw / var(--resolution)); margin-right: calc(7.5vw / var(--resolution));}
.bottom_company dl.office dd {margin-left:0;}
.bottom_company dl.office dd.img_box {height: calc(270vw / var(--resolution));}
.bottom_company dl.office dd.img_box .tokyo {height: calc(270vw / var(--resolution));}
.bottom_company dl.office dd.img_box .sapporo {height: calc(247vw / var(--resolution));}
.bottom_company dl.office dd.img_box .tohoku {height: calc(270vw / var(--resolution));}
.bottom_company dl.office dd .prefectures span {display:inline-block;}
.bottom_company .illust10 {width: calc(290vw / var(--resolution)); right:calc(40vw / var(--resolution)); top:calc(-70vw / var(--resolution));}

/****************************************** subpage ********************************************/
.page_header_circle {height:calc(1080vw / var(--resolution)); top:calc(100vw / var(--resolution)); left:0; z-index:2; opacity: 0.9;}

.subpage_fv {height:calc(490vw / var(--resolution));}
#consulting_fv {background-image:url(../img/consulting/page_header.jpg);}
#construction_fv {background-image:url(../img/construction/page_header.jpg);}
#company_fv {background-image:url(../img/company/page_header.jpg);}
#policy_fv {background-image:url(../img/policy/page_header.jpg);}
#contact_fv {background-image:url(../img/contact/page_header.jpg);}
#news_fv {background-image:url(../img/news_blog/page_header.jpg);}

.subpage_fv .page_title {z-index:3;}

.subpage_business, .subpage_main {padding-block-start: calc(100vw / var(--resolution));}

.subpage_first {padding-block-end: calc(100vw / var(--resolution));}
.subpage_first .half {width: calc(920vw / var(--resolution));}
.subpage_first .half.left.text_area {padding-left: calc(80vw / var(--resolution)); z-index:3;}

/***　consulting ***/
#consulting_page_top {min-height: calc(500vw / var(--resolution));}
#consulting_sections .illust9 {width: calc(310vw / var(--resolution)); left:calc(55vw / var(--resolution)); top:calc(35vw / var(--resolution));}

#consulting_business, #construction_business {width:100%; padding-block-end:calc(420vw / var(--resolution)); background-size: 100%,cover; background-position: center bottom; background-repeat: no-repeat,repeat;}
#consulting_business {background-image:url(../img/consulting/consulting_7.jpg), linear-gradient(to bottom, #EEF2F8 0%, #F0FAFF 100%);}
#construction_business {background-image:url(../img/construction/construction_6.jpg), linear-gradient(to bottom, #EEF2F8 0%, #F0FAFF 100%);}

.subpage_main {background-image:linear-gradient(to bottom, #EEF2F8 0%, #F0FAFF 100%);}

#consulting_business .colums3_sub:nth-of-type(2n), #construction_business .colums3_sub:nth-of-type(2n) {margin-block-start:calc(30vw / var(--resolution));}
#consulting_business .colums3_sub:nth-of-type(3n), #construction_business .colums3_sub:nth-of-type(3n) {margin-block-start:calc(60vw / var(--resolution));}

#consulting_business .colums3_sub dl dt, #construction_business .colums3_sub dl dt {
	text-indent: calc(-37.5vw / var(--resolution)); padding-left: calc(37.5vw / var(--resolution));
	padding-block-start: calc(15vw / var(--resolution)); padding-block-end:calc(17.5vw / var(--resolution)); line-height: 1.5;
}
#consulting_business .colums3_sub dl dt .i_circle, #construction_business .colums3_sub dl dt .i_circle {
	width:calc(26vw / var(--resolution)); margin-right: calc(5vw / var(--resolution));
}
#consulting_business .colums3_sub dl dd, #construction_business .colums3_sub dl dd {margin-left: 0;}

.subpage_company {padding-block-end:calc(100vw / var(--resolution));}

#free_consultation .middle_inner.bg_arc {padding-block-start: calc(30vw / var(--resolution));}
#free_consultation .middle_inner .half {width: calc(740vw / var(--resolution));}
#free_consultation .illust11 {width: calc(240vw / var(--resolution)); left:calc(80vw / var(--resolution)); top:calc(-110vw / var(--resolution));}

.triangle_bottom {width: calc(140vw / var(--resolution)); bottom:calc(-25vw / var(--resolution)); left:calc(50% - (70vw / var(--resolution))); z-index: 1;}
#free_consultation .triangle_bottom {bottom:calc(-25vw / var(--resolution));;}

/***　construction ***/
#construction_sections .illust12 {width: calc(340vw / var(--resolution)); right:calc(40vw / var(--resolution)); top:calc(10vw / var(--resolution));}
#construction_business #expertise .illust13 {width: calc(320vw / var(--resolution)); left:calc(120vw / var(--resolution)); bottom:calc(10vw / var(--resolution)); z-index: 1;}
#portfolio .illust14 {width: calc(225vw / var(--resolution)); left:calc(80vw / var(--resolution)); bottom:calc(10vw / var(--resolution));}
#portfolio .illust15 {width: calc(280vw / var(--resolution)); right:calc(120vw / var(--resolution)); top:calc(-70vw / var(--resolution));}

/***　company ***/
#company_sections .subpage_main, #contact_sections .subpage_main, #news .subpage_main {
	padding-block-start: calc(70vw / var(--resolution)); background-image:linear-gradient(to bottom, #EEF2F8 0%, transparent 100%);
}

#company_sections .contents_area {padding-block-start:calc(90vw / var(--resolution));}

#company_profile dl.table.rules {position: relative; z-index:3;}
#company_profile dl.table.rules > dt, #contact_form dl.table.rules > dt {width:11.75em; border-top:1px solid #109CE8;}
#company_profile dl.table.rules:last-of-type > dt, #contact_form dl.table.rules:last-of-type > dt {border-bottom:1px solid #109CE8;}
#company_profile dl.table.rules > dd, #contact_form dl.table.rules > dd {padding-left:1.5em;}
#company_profile dl.table.rules dd ul.item {list-style: none; padding-left:0;}
#company_profile dl.table.rules dd ul.item li {margin-left:0; display: inline-block; margin-right:0.05em;}
#company_profile dl.table.rules dl.item {padding-block-end:1em;}
#company_profile dl.table.rules dl.item:last-of-type {padding-block-end:0;}
#company_profile dl.table.rules dl.item dd {margin-left:1em;}
#company_sections .illust15 {width: calc(310vw / var(--resolution)); right:calc(80vw / var(--resolution)); top:calc(-60vw / var(--resolution)); z-index:1;}

/***　policy ***/
#privacy_policy dl.terms:first-of-type {margin-block-start: calc(80vw / var(--resolution));}
#privacy_policy .doe {margin-block-start: calc(60vw / var(--resolution));}
#privacy_policy ul.circle {margin-block-end:1.5em;}
#policy_sections .illust16 {width: calc(300vw / var(--resolution)); right:calc(60vw / var(--resolution)); top:calc(-20vw / var(--resolution)); z-index:1;}

/***　contact ***/
#contact_sections, #news {padding-block-end: calc(120vw / var(--resolution));}
#contact_form .contents_area .minimum_inner {z-index:2;}
.form_container {margin-block-start: calc(80vw / var(--resolution));}
#contact_sections .illust17 {width: calc(220vw / var(--resolution)); right: calc(80vw / var(--resolution)); top: calc(-45vw / var(--resolution));}

#contact_form dl.table.rules :last-of-type > dt {border-bottom: 1px solid #109CE8;}
#contact_form dl.table.rules > dt {vertical-align: top; text-align: right;}
#contact_form dl.table.rules dd .caution {display: block; padding-block-start: 1em; text-indent: -1em; margin-left:1em;}
#contact_form dl.table.rules:last-of-type {margin-block-end:calc(60vw / var(--resolution));}

#contact_form input[type="text"] ,
#contact_form input[type="tel"], 
#contact_form input[type="email"],
#contact_form textarea {padding: 0.75em; box-sizing: border-box; border-radius:6px; background-color: #EDF2F8; border: 1px solid #A4B9CC; font-size: calc(18 * 0.054vw);}

#contact_form select {height: calc(45vw / var(--resolution)); padding: 0.5em 0.75em; box-sizing: border-box; background-color: #EDF2F8; border: 1px solid #A4B9CC; font-size: calc(18 * 0.054vw) ; border-radius:6px;}

#contact_form input[type="text"] {width:100%; height: calc(45vw / var(--resolution)); font-size:calc(18 * 0.052vw);}
#contact_form input[type="tel"], #contact_form input[type="email"] {width: calc(700vw / var(--resolution)); height: calc(45vw / var(--resolution)); font-size:calc(18 * 0.052vw);}
#contact_form textarea {width:100%; height: calc(320vw / var(--resolution)); font-size:calc(18 * 0.052vw);}

#contact_form input[type="submit"] {width: calc(360vw / var(--resolution)); height: calc(80vw / var(--resolution)); display: block; 
	margin-block-start: calc(60vw / var(--resolution)); margin-left: auto; margin-right: auto; padding:0 calc(10vw / var(--resolution)); box-sizing: border-box; 
	border-radius: 100vmax; background: #FFFFFF; color:#1FAEE5; font-size:calc(20 * 0.052vw); font-weight: bold; border: 2px solid #1FAEE5; font-family: "Noto Sans JP", sans-serif;
	transition-duration: .5s; opacity: 1;}

#contact_form input[type="submit"]:hover {transform: translateY(calc(-10vw / var(--resolution))); background: #1FAEE5; color:#FFFFFF; opacity: 0.8;}

#contact_form .inquiry_item select, #contact_form .adress select {min-width:calc(270vw / var(--resolution)); margin-right:1em;}
#contact_form .adress select {margin-block-end:calc(20vw / var(--resolution));}
#contact_form .preferred_time select {min-width: calc(100vw / var(--resolution)); margin: 0 0.85em;}
.field-status {margin-left:1em;}

#contact_form .preferred_time .wpcf7-radio {margin-right: calc(20vw / var(--resolution));}
/*#contact_form .preferred_time .wpcf7-list-item.first {margin-left: 0;}*/
#contact_form .field-status.is-required {display: none;}
#contact_form .field-status.is-optional {padding: 0.25em 0.75em; background-color:#DFF45E; border-radius: 8px;}

.wpcf7-not-valid-tip {font-size: calc(16 * 0.054vw); padding-top: 0.15em;}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {border-color: transparent; text-align: center; color:#dc3232;}
.wpcf7 form.sent .wpcf7-response-output {border: none; text-align: center;}

#nickname { display:none; }

/***　news ***/
#news .illust18 {width: calc(240vw / var(--resolution)); right: calc(80vw / var(--resolution)); top: calc(-45vw / var(--resolution));}

#news_list .news_item {justify-content: flex-start; align-items: center; padding-block-start: calc(25vw / var(--resolution)); padding-block-end: calc(25vw / var(--resolution)); 
	border-top: 1px solid #CEDEDF; transition: all 0.8s;}
#news_list .news_item:hover {color: #1FACE5;}
#news_list .news_item:last-of-type {border-bottom: 1px solid #CEDEDF;}

#news_list .news_item .news_category, #news_post .news_category {display: inline-block; min-width: calc(140vw / var(--resolution)); margin-right:calc(25vw / var(--resolution)); text-align: center;}

#news_post .news_meta .news_category {margin-right:0;}
#news_list .news_item .news_title {font-weight: 500; margin-right: calc(75vw / var(--resolution));}
.news_archive #news_list .news_item .news_title {font-weight: 500; margin-left: calc(25vw / var(--resolution));}

#news_list .news_item .arrow_right {width:calc(60vw / var(--resolution)); height:calc(60vw / var(--resolution)); right:0; top:calc(50% - (30vw / var(--resolution))); align-items: center; display: flex; justify-content: center; border-radius: 100vmax; font-weight: 300; border: 1px solid #109CE8; transition: all 0.8s;}

#news_list .news_item:hover .arrow_right {right:2.5%;}

#news_list .pagination {margin-block-start: calc(60vw / var(--resolution)); flex-wrap: wrap; font-weight: bold; font-size: 1em;}

#news_list .pagination .page-numbers {display: flex; justify-content: center; align-items: center; width: calc(50vw / var(--resolution)); height: calc(50vw / var(--resolution)); border-radius: 50vmax;
  border:1px solid #109CE8; margin: 0 calc(10vw / var(--resolution)); padding: calc(5vw / var(--resolution)); box-sizing: border-box;}

#news_list .pagination .prev, #news_list .pagination .next {width: calc(120vw / var(--resolution)); position: relative; padding: calc(5vw / var(--resolution)); box-sizing: border-box;}

#news_list .pagination .prev {padding-left: calc(11vw / var(--resolution));}
#news_list .pagination .next {padding-right: calc(11vw / var(--resolution));}

#news_list .pagination .prev::before , #news_list .pagination .next::after {font-family: "Font Awesome 6 Pro"; position: absolute; top:calc(8.5vw / var(--resolution)); font-weight: 300;}
#news_list .pagination .prev::before {content:"\f060"; left:calc(11vw / var(--resolution));}
#news_list .pagination .next::after {content:"\f061"; right:calc(11vw / var(--resolution));}

#news_list .pagination span.page-numbers {background-color: #1FACE5; color:#FFFFFF;}
#news_list .pagination a.page-numbers {color:#1FACE5; transition: all 0.8s;}
#news_list .pagination a.page-numbers:hover {background-color: #1FACE5; color:#FFFFFF;}

/***　news 記事 ***/
#news_post .article_container {width:calc(1060vw / var(--resolution));}
#news_post .sidebar {width:calc(320vw / var(--resolution));}

#news_post .news_title {padding-block-end: calc(20vw / var(--resolution)); margin-block-end: calc(20vw / var(--resolution)); border-bottom:1px solid #1FACE5;}
#news_post .news_meta {text-align: right;}
#news_post .news_content {padding-block-start: calc(30vw / var(--resolution)); padding-block-end: calc(100vw / var(--resolution)); border-bottom:1px solid #CEDEDF;}

#news_post .news_pagination {margin-block-start: calc(30vw / var(--resolution));}
#news_post .news_pagination a {width: calc(210vw / var(--resolution)); height:calc(50vw / var(--resolution)); margin: 0 calc(10vw / var(--resolution)); border:1px solid #109CE8; border-radius: 50vmax;
	color:#109CE8; text-align-last: center; padding: calc(5vw / var(--resolution)); box-sizing: border-box; position: relative; display: flex; justify-content: center; align-items: center;}
#news_post .news_pagination a:first-of-type::before, #news_post .news_pagination a:nth-of-type(2)::after {font-family: "Font Awesome 6 Pro"; position: absolute; top:calc(8.5vw / var(--resolution)); font-weight: 300;}

#news_post .news_pagination a:first-of-type::before {content:"\f060"; left:calc(11vw / var(--resolution));}
#news_post .news_pagination a:nth-of-type(2)::after {content:"\f061"; right:calc(11vw / var(--resolution));}

.contents_area section.widget {padding-block-end: calc(60vw / var(--resolution))}

#news_post .sidebar .widget-title {margin-block-end: 0; padding-block-end: calc(10vw / var(--resolution)); border-bottom:1px solid #1FACE5;}
#news_post .sidebar .widget-title:first-of-type {margin-block-start: 0;}
#news_post .sidebar .widget-title i {margin-right: calc(7.5vw / var(--resolution));}

#news_post .sidebar .widget ul {list-style:none; padding-left: 0; margin-block-start: calc(7.5vw / var(--resolution)); margin-block-end: 0;}
#news_post .sidebar .widget ul li {border-bottom:1px solid #CEDEDF;}
#news_post .sidebar .widget ul li a {
	display:inline-block; padding-block-start: calc(11vw / var(--resolution)); padding-block-end: calc(11vw / var(--resolution)); padding-right:calc(10vw / var(--resolution));
	transition: all 0.8s;
}

#news_post .sidebar .widget.widget_categories ul li {display:flex; align-items: anchor-center; color:#1FACE5;}
#news_post .sidebar .widget.widget_categories ul li a {color:#111111; transition: all 0.8s;}
#news_post .sidebar .widget ul li a:hover, #news_post .sidebar .widget.widget_categories ul li a:hover {color: #1FACE5;}

.news_archive .nav-links {display: flex; justify-content: center;}

#news_archive .nav-links .pagination .prev {padding-left: calc(11vw / var(--resolution));}
#news_archive .nav-links .pagination .next {padding-right: calc(11vw / var(--resolution));}

/*** not_found ***/
#not_found {padding-block-end: calc(300vw / var(--resolution));}

/****************************************** animation ********************************************/
.fadeInLeft, .fadeInUp {animation-fill-mode:forwards;}
.js-animate {visibility: hidden;}
.js-animate.animate__animated {visibility: visible;}

@keyframes fadeInLeft {from {transform: translateX(calc(-180vw / var(--resolution))); /* ここで移動距離を調整 */}
 to {transform: translateX(0);}}

@keyframes fadeInUp {from {transform: translateY(calc(80vw / var(--resolution))); /* ここで移動距離を調整 */ opacity:0;}
 to {transform: translateY(0); opacity:1;}
}