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

body { font-size:calc(18 * 0.19vw); }

:target { scroll-margin-top: calc(80vw / 5); }


.fs12vw { font-size:calc(12 * 0.22vw); }
.fs14vw { font-size:calc(14 * 0.21vw); }
.fs16vw { font-size:calc(16 * 0.21vw); }
.fs17vw { font-size:calc(17 * 0.2vw); }
.fs18vw { font-size:calc(18 * 0.19vw); }
.fs20vw { font-size:calc(20 * 0.19vw); }
.fs21vw { font-size:calc(21 * 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.17vw); }
.fs27vw { font-size:calc(27 * 0.17vw); }
.fs28vw { font-size:calc(28 * 0.15vw); }
.fs29vw { font-size:calc(29 * 0.15vw); }
.fs30vw { font-size:calc(30 * 0.15vw); }
.fs31vw { font-size:calc(31 * 0.15vw); }
.fs32vw { font-size:calc(32 * 0.15vw); }
.fs33vw { font-size:calc(33 * 0.15vw); }
.fs34vw { font-size:calc(34 * 0.15vw); }
.fs35vw { font-size:calc(35 * 0.15vw); }
.fs36vw { font-size:calc(36 * 0.14vw); }
.fs37vw { font-size:calc(37 * 0.14vw); }
.fs38vw { font-size:calc(38 * 0.14vw); }
.fs40vw { font-size:calc(40 * 0.14vw); }
.fs42vw { font-size:calc(42 * 0.14vw); }
.fs45vw { font-size:calc(45 * 0.14vw); }
.fs48vw { font-size:calc(48 * 0.12vw); }
.fs50vw { font-size:calc(50 * 0.12vw); }
.fs52vw { font-size:calc(52 * 0.12vw); }
.fs53vw { font-size:calc(53 * 0.12vw); }
.fs54vw { font-size:calc(54 * 0.12vw); }
.fs55vw { font-size:calc(55 * 0.12vw); }
.fs56vw { font-size:calc(56 * 0.12vw); }
.fs60vw { font-size:calc(60 * 0.12vw); }
.fs62vw { font-size:calc(62 * 0.12vw); }
.fs64vw { font-size:calc(64 * 0.12vw); }
.fs65vw { font-size:calc(65 * 0.12vw); }
.fs66vw { font-size:calc(66 * 0.12vw); }
.fs68vw { font-size:calc(68 * 0.12vw); }
.fs70vw { font-size:calc(70 * 0.12vw); }
.fs72vw { font-size:calc(72 * 0.12vw); }
.fs80vw { font-size:calc(80 * 0.12vw); }
.fs84vw { font-size:calc(84 * 0.1vw); }
.fs86vw { font-size:calc(86 * 0.1vw); }
.fs100vw { font-size:calc(100 * 0.1vw); }
.fs110vw { font-size:calc(100 * 0.1vw); }
.fs140vw { font-size:calc(140 * 0.1vw); }
.fs174vw { font-size:calc(174 * 0.07vw); }
.fs300vw { font-size:calc(300 * 0.07vw); }

.pc { display: none; }
.sp { display: unset; }
.sp_left { text-align:left; }

.more { width: 70%; height: 5em; line-height: 4.7em; }
.more i { right: 2.4vw; line-height: 2.3em;}
.more.center { margin: 2em auto 2em auto;}

.inner { width: 92%; max-width: unset; }
.middle_inner { width: 92%; max-width: unset; }
.low_inner { width: 92%; max-width: unset; }
.right_inner { width: 100%; }
.left_inner { width: 100%; }

.ttl { margin-block-start: 1em; margin-block-end: 2em;}
.ttl .slug { padding: 0 0 2.7vw 0;}
.ttl .after .circle { width: 0.8em; height: 0.8em; margin-right: 0.5em; }

.circle_btn {  width: calc(134vw / 10.2);height: calc(134vw / 10.2); }




#header { height: calc(80vw / 5); }
#header .right_inner { width: 100%; padding-left:2%; background-color: #FFF; position: relative; z-index: 1003;}

#header .logo { margin: 0 0 0 0; width: calc(107vw / 5); z-index:9999;}

#hamburger { display:block; position: absolute; top: 1em; right: 1em; z-index:9999; }

#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: 0; grid-template-rows: 20em; }
#header #drawer.open .drawer-content {transform: translateX(0); padding: 0; overflow-y: scroll; overflow-x: hidden;}

#header #drawer .drawer-content ul {
    display: block;
    width: 100%;
    height: 100%;
    list-style-type: none;
    margin: 0 0 0 0;
    padding: 10em 3em 1em 3em;
    background: rgba(255, 255, 255, 1);
    border-radius: 0;
}
#header #drawer .drawer-content ul li { font-size:calc(30 * 0.18vw); margin: 1em; }





#ptop { width: calc(203vw / 7.2); }

.bottom_contact { background-size: cover; }
.bottom_contact .bottom_contact_wrapper { border-radius: 3em; }
.bottom_contact .bottom_contact_wrapper .link_box { display: block; }

.bottom_contact .bottom_contact_wrapper .link_box .mail_btn, .bottom_contact .bottom_contact_wrapper .link_box .tel_btn {
	width: 100%; height: 5em; line-height: 4.7em; margin: 0 0 2em 0;
}

.bottom_contact .bottom_contact_wrapper .link_box .tel_btn i,
.bottom_contact .bottom_contact_wrapper .link_box .mail_btn i {
	top: 0; bottom: 0; margin: auto; left: 0.5em; line-height: 1; width: calc(60 * 0.12vw); height: calc(60 * 0.12vw); clip-path: circle(47% at 50% 50%);
}


#footer { padding: 3em 0 0 0; background-image: none; }
#footer .inner { display:block; padding-bottom: 4em; }
#footer .inner .site_info { display: block; width: 100%; padding: 0 2em 3em 2em; }
#footer .inner .site_info .logo { width: max-content; margin: auto; }
#footer .inner .site_info .logo img { width: calc(187vw / 7.2);}

#footer .site_info .sns { margin: auto; text-align: center; }
#footer .site_info .sns .icon { margin-left: 0.5em; margin-right: 0.5em; }

#footer .site_menu { display: block; width: 100%; }
#footer .site_menu .box { margin: 1em; }

#footer .bottom_link li {
    margin: 0 2em 0 2em;
}


.illust1 { width:calc(468vw / 10.2); }
.illust2 { width:calc(456vw / 10.2); }
.illust3 { width:calc(392vw / 10.2); }
.illust4 { width:calc(382vw / 10.2); }
.illust5 { width:calc(427vw / 10.2); }
.illust6 { width:90%; }
.illust7 { width:calc(250vw / 10.2); }
.illust8 { width:calc(297vw / 10.2); }
.illust9 { width:calc(617vw / 10.2); }
.illust10 { width:calc(180vw / 10.2); }
.illust11 { width:calc(170vw / 10.2); }
.illust12 { width:calc(225vw / 10.2); }
.illust13 { width:calc(154vw / 10.2); }
.illust14 { width:calc(411vw / 10.2); }
.illust15 { width:calc(262vw / 10.2); }
.illust16 { width:calc(255vw / 10.2); }
.illust17 { width:calc(189vw / 10.2); }
.illust18 { width:calc(109vw / 10.2); }
.illust19 { width:calc(106vw / 10.2); }

.footprints { width: calc(35vw / 7.2); }


main { }

#fv { width: 100%; height: calc(1110vw / 10.2); background-size: cover; background-position: center top; }


#fv .inner .catch {
    font-weight: 400;
    padding-top: calc(300vw / 8.2);
    margin-block-start: 0;
}
#fv .inner .contact_cv_btn {
    width: calc(292vw / 7.2);
    bottom: 0;
    right: -2%;
}



#top_concept .illust1 {
    top: 0; right: -4%;z-index: 0;
}


#top_concept .text { padding: 5em 0 0 0; }

#top_concept .illust2 {
    bottom: -10em;
    right: 0;
}


#top_what { padding: 1em 0 4em 0; height: 100%; background-size: cover; background-position: right top; overflow: hidden; }
#top_what .text {
    padding: 5em 20% 5em 0;
}
#top_what .circle_btn {
    right: 0;
    bottom: 6.5em;
}


#top_what .illust4 {
    top: 3em;
    right: 0;
}
#top_what .illust5 {
    top: 0;
    right: 0;
}


#top_keep { padding: 5em 0 10em 0; }

#top_keep .inner.flex { display:block; }

#top_keep .content .box { width: 100%; }
#top_keep .illust7 { bottom: -3em; }



#top_features .box.left_box .text,
#top_features .box.right_box .text { width: 100%; padding: 3em;}
#top_features .box {
    margin: 12em 0 12em 0;
}

#top_features .box.left_box .thumb {
    right: 0;
}
#top_features .box.right_box .thumb {
    left: 0;
}

#top_features .box .thumb { width: calc(438vw / 10.2); top:-10em; }

#top_features .box .num {
    font-size: calc(120 * 0.15vw);
}

#top_company {  }

#top_company .content { display:block; }

#top_company .thumb { width: 100%;}
#top_company .text { width: 100%; margin: 0 auto 0 0; padding: 0 4% 6em 4%;}


#top_company .illust9 { left: 0; top: -5em; bottom: auto; }


#top_price .illust10 { top: calc(-100vw / 10.2); }

#top_price .price_list .type_two { display: block; }
#top_price .price_list .type_two dl { width: 100%;}

#top_price .price_list .type_two dl dt { display: block; }


#top_price .price_list .type_list { display: block;}

#top_price .price_list { padding: 2em; }



#top_apply { padding: 1em 0 5em 0; }


#top_apply .content .flex { display:block; }

#top_apply .box {
    position: relative;
    width: 100%;
    margin: 0 0 4em 0; display: flex;
    align-items: flex-start;
    padding: 2em; }



#top_apply .box .thumb {
    width: 35%;
}

#top_apply .box figcaption {
    border-top: none;
}


#top_apply .illust12 {
    bottom: -3em;
    left: 0;
}


#top_apply .box::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -3em;
    bottom: auto;
    margin: auto;
    width: calc(16vw / 5);
    height: calc(42vw / 5);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transform: rotate(90deg);
}




#top_faq .box dt p {
    width: 88%;
}


#top_faq .box dd p {
    width: 88%;
}



.page_header {
    padding: calc(170vw / 7.2) 0 3em 0;
    background-size: cover;
}
.page_header .inner .contact_cv_btn { width: calc(292vw / 7.2);  bottom: calc(-140vw / 10.2); right: -2%; }


#service_fees .content .illust15 { width: calc(262vw / 7.2); }

#service_fees .content {  padding: 0 0 6em 0; }
#service_fees .step .low_inner.flex .text { margin: 0; width: 83%;}


#service_fees .box .box_wrapper .text dd .img_box {
    display: block;
}
#service_fees .box .box_wrapper .text dd .img_box .thumb {
    width: 100%;
    margin: 1em 0 1em 0;
}

#service_fees .box .box_wrapper::before,
#service_fees .box .box_wrapper::after,
#service_fees .box .box_wrapper .text::before,
#service_fees .box .box_wrapper .text::after { display:none; }
#service_fees .box .box_wrapper .text { top: 0; left: 0; }

#service_fees .step { background-size: 200%; }

#service_fees .box {
    padding: 2em 0 2em 0;
}


#service_fees .box .box_wrapper .illust12 {
    left: 0;
    bottom: -1em;
}
#service_fees.kaiyou_sankotsu .content .illust5 {
    right: 0;
    bottom: 0.5em;
}

#vessel .box .box_table_list {
    display: block;
}
#vessel .box .box_table_list .half {
    width: 100%;
}
#vessel .box .box_table_list .half .table {
    display: block;
}
#vessel .box .box_table_list .half .table dt { display: block; width: 100%; }
#vessel .box .box_table_list .half .table dd { display: block; width: 100%; }

#vessel .box .box_table2 dt .icon { width: calc(68vw / 7.2); }
#vessel .box .box_table2 dt { width: 9em; }



#price_list { padding: 2em 0 5em 0; }
#price_list .price_list { padding: 1em; margin: 4em 0 4em 0;}
#price_list .type_list { display:block; }
#price_list .price_list .illust11 {
    top: auto;
    bottom: calc(-100vw / 10.2);
    left: 0;
}
#price_list .price_list .illust11 {
    top: auto;
    bottom: calc(-100vw / 10.2);
    left: 0;
}

#price_list .price_list .type_two {
    display: block;
}
#price_list .price_list .type_two dl {
    width: 100%;
}
#price_list .price_list .type_two dl dt {
    margin: 0;
    display: block;
}



#apply { padding: 2em 0 5em 0; }

#apply .content .type_box {
    display: block;
}
#apply .content .type_box .half {
    width: 100%;
}
#apply .content .type_box .half .apply_sub_ttl { width: 80%; }

#apply .content .type_box .half .box dt { width: 2em; }

#apply .content .type_box .half .box dd { padding: 2em 1em 2em 1em; }
#apply .content .type_box .half .box .thumb { width: calc(208vw / 10.2); bottom: calc(35vw / 10.2); right: calc(35vw / 10.2); }
#apply .content .type_box .half .box::after { width: calc(42vw / 7.2); height: calc(16vw / 7.2); }



#price_page {
    padding: 3em 0 5em 0;
}
#price_page .illust10 { top: calc(-100vw / 10.2); }

#price_page .price_list .type_two { display: block; }
#price_page .price_list .type_two dl { width: 100%;}

#price_page .price_list .type_two dl dt { display: block; }


#price_page .price_list .type_list { display: block;}

#price_page .price_list { padding: 2em; }


#company_profile {
    padding: 0.1em 0 8em 0;
}

#company_profile .content .access_table { display: block; width: 100%; }
#company_profile .content .access_table dt { display: block; width: 100%; }
#company_profile .content .access_table dd { display: block; width: 100%; }


#faq {
    padding: 0.1em 0 8em 0;
}
#faq .list dt { padding: 0 1em 0 1em; }
#faq .list dd { padding: 0 1em 0 1em; }

#link {
    padding: 0.1em 0 8em 0;
}
#privacy {
    padding: 0.1em 0 8em 0;
}




#contact { padding: 3em 0 4em 0; margin-block-end: 1em; background-position: center top 9em; }


#contact .illust18 { top: calc(-15vw / 10.2); left: 0; }
#contact .illust19 { top:calc(-25vw / 10.2); right: 0; }





#contact .contact_phone .tel_btn {
	width: 80%; height: 5em; line-height: 4.7em; margin: 0 auto 2em auto;
}
#contact .contact_phone .tel_btn i {
	top: 0; bottom: 0; margin: auto; left: 0.5em; line-height: 1; width: calc(60 * 0.12vw); height: calc(60 * 0.12vw); clip-path: circle(47% at 50% 50%);
}
#contact .contact_phone .summary { margin-block-start: 2em; margin-block-end: 2em; }
#contact .contact_email .contact_email_wrapper { width: 100%; margin-block-start: 2em; padding: 1em 1em 3em 1em; }
	
	
	
#mailform { padding: 0.7em 0 4em 0; }
#mailform .wrapper { padding: 1em 0 4em 0; }


#form .box { display: block; width: 100%;}

#form .box dt { display: block; width: 100%; padding: 1em 0 1em 0; border-bottom: 2px solid #000000; }

#form .box dd { display: block; width: 100%; margin:0; padding: 1em 0 1em 0;}
#form .box dt .required, #form .box dt .any { padding: 0.3em 0.4em 0.3em 0.4em; }
#form.confirm .box dd { padding: 1em 0 1em 0; }

#form .next { width: 80%; height: 4em; margin-block-start: 2em; }
#form .next i {right: 0.5em; line-height: calc(91vw / 7.2);}

#form .back_btn {width: 48%; height: 4em; line-height: 3.5em; margin: 3.645833vw 0 0 0; }
#form .back_btn i { left: 0.5em; line-height: calc(91vw / 7.2); }

#form .send_btn {width: 48%; height: 4em; margin: 3.645833vw 0 0 0; }
#form .send_btn i { right: 0.5em; line-height: calc(91vw / 7.2); }



