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

html {scroll-behavior: smooth;}
:target { scroll-margin-top: calc(100vw / 19.2); }

body {
	color:#222222; --text-color:#222222; font-size:calc(20 * 0.052vw); line-height: 2.1;
	font-family: "Noto Sans JP","Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:400;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *: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;}


.hina { font-family: "Hina Mincho", serif; font-weight: 400; font-style: normal; }
.ops { font-family: "Open Sans", sans-serif; font-weight: 800; font-style: normal; }


.rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}

button,input,textarea,select { appearance: none; -webkit-appearance: none; border:none; font-family: inherit; font-size: inherit; font-weight:500; letter-spacing: 0.1vw; }

strong { font-weight:600; }


.fs12vw { font-size:calc(12vw / 19.2); }
.fs14vw { font-size:calc(14 * 0.052vw); }
.fs16vw { font-size:calc(16 * 0.052vw); }
.fs17vw { font-size:calc(17 * 0.052vw); }
.fs18vw { font-size:calc(18 * 0.052vw); }
.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); }
.fs31vw { font-size:calc(31 * 0.052vw); }
.fs32vw { font-size:calc(32 * 0.052vw); }
.fs33vw { font-size:calc(33 * 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); }
.fs42vw { font-size:calc(42 * 0.052vw); }
.fs45vw { font-size:calc(45 * 0.052vw); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs53vw { font-size:calc(53 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); line-height:1; }
.fs55vw { font-size:calc(55 * 0.052vw); line-height:1; }
.fs56vw { font-size:calc(56 * 0.052vw); line-height:1; }
.fs60vw { font-size:calc(60 * 0.052vw); line-height:1;}
.fs62vw { font-size:calc(62 * 0.052vw); line-height:1;}
.fs64vw { font-size:calc(64 * 0.052vw); line-height:1; }
.fs65vw { font-size:calc(65 * 0.052vw); line-height:1; }
.fs66vw { font-size:calc(66 * 0.052vw); line-height:1; }
.fs68vw { font-size:calc(68 * 0.052vw); line-height:1; }
.fs70vw { font-size:calc(70 * 0.052vw); line-height:1; }
.fs72vw { font-size:calc(72 * 0.052vw); line-height:1; }
.fs80vw { font-size:calc(80 * 0.052vw); line-height:1; }
.fs84vw { font-size:calc(84 * 0.052vw); line-height:1; }
.fs86vw { font-size:calc(86 * 0.052vw); line-height:1; }
.fs100vw { font-size:calc(100 * 0.052vw); line-height:1; }
.fs110vw { font-size:calc(110 * 0.052vw); line-height:1; }
.fs120vw { font-size:calc(120 * 0.052vw); line-height:1; }
.fs140vw { font-size:calc(140 * 0.052vw); line-height:1; }
.fs150vw { font-size:calc(150 * 0.052vw); line-height:1; }
.fs160vw { font-size:calc(160 * 0.052vw); line-height:1; }
.fs180vw { font-size:calc(180 * 0.052vw); line-height:1; }
.fs210vw { font-size:calc(210 * 0.052vw); line-height:1; }
.fs300vw { font-size:calc(300 * 0.052vw); line-height:1; }


img { border: none; vertical-align: middle; }

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


address, em { font-style: normal; }

a { color: #000; text-decoration: none; }


a:hover,input[type="submit"]:hover, input[type="reset"]:hover {opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )"; }


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

/*********** 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; }


/******* end float **********/

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

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

/****** layout ********/
.inner { width: calc(1510vw / 19.2); margin: 0 auto; height: 100%; }
.right_inner { width: calc(1870vw / 19.2); margin: 0 0 0 auto; height: 100%;  }
.middle_inner { width: calc(1420vw / 19.2); margin: 0 auto; height: 100%;}
.low_inner { width: calc(1080vw / 19.2); margin: 0 auto; height: 100%;}
.minimum_inner {width: 95.833333%; max-width: 1120px; margin: 0 auto;}


.right_inner { width: calc(1840vw / 19.2); margin: 0 0 0 auto; height: 100%; }
.left_inner { width: calc(1840vw / 19.2); margin: 0 auto 0 0; height: 100%; }

.heading { width: 100%; }

/* image parent cover *******/
.fit { overflow: hidden; position:relative; }
.fit img { margin: auto; width: 100%; min-height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }


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

/****** display ********/

.pc { display: unset; }
.sp { display: none; }
.grid { display: grid; }


.black { color:#222222; }
.white { color:#FFFFFF; --text-color: #FFFFFF; }
.pink { color:#F2BFB3; }
.pink2 { color:#FBEBE6; }
.red { color:#DC1D1D; }




.gray { color:#BFB3B2; }
.light_gray { color:#E0DFDD; }

.bg_black { background-color:#222222; }
.bg_white { background-color:#FFFFFF; }
.bg_red { background-color:#DC1D1D; }
.bg_light_gray { background-color:#FAFAF8; }
.bg_very_light_gray { background-color:#F5F5F1 }
.bg_pink { background-color:#FBEBE6; }
.bg_pink2 { background-color:#F8D8CF; }
.bg_pink3 { background-color:#F3C0B4; }
.bg_pink4 { background-color:#F0AE9D; }
.bg_pink5 { background-color:#ED9A85; }


.bg_gray { background-color:#EFEEED; }
.bg_dark { background-color:#333333; }
.bg_shilver { background-color:#DFDFDD; }




.circle { border-radius:50vmax; }

.ttl { line-height: 1; font-weight: 400; margin-block-start: 4em; margin-block-end: 2em; }
.ttl .slug { display:block; margin-block-start: 2em; letter-spacing: 0.2em; }


.sub_ttl { line-height: 1; font-weight: 900; margin-block-start: 2em; margin-block-end: 3em; }
.sub_ttl .slug { display:block; padding:0 0 0.9vw 0; font-weight: bold; }
.sub_ttl i { margin-right: 0.4vw; line-height: 1.78vw; vertical-align: baseline; }
.sub_ttl .ja { position:relative; display:inline-block; padding: 1em 0 1em 0; font-weight: 600; }
.sub_ttl .ja::after { content:""; position:absolute; bottom: -0.5em; right:0; left:0; margin:auto; background-color:#FFFFFF; width:5.5em; height:1px; }


.circle_btn { width:calc(134vw / 19.2); height:calc(134vw / 19.2); display:flex; align-items:center; justify-content:center; }

.more {
	position:relative; width:calc(460vw / 19.2); height:calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; margin:4em 0 4em 0; text-align:center; border-radius:50vmax;
	transition:0.5s ease;
}
.more.center { margin:4em auto 4em auto;}
.more i { position:absolute; right:1vw; line-height: calc(91vw / 19.2); }

.more.bg_pink5 { border:solid 1px #ED9A85; }
.more.bg_pink5:hover { opacity:1; background:#FFF; color:#ED9A85; }
.more.bg_pink5:hover i.white { opacity:1; color:#ED9A85; }

.more.bg_white { border:solid 1px #F3C0B4; }
.more.bg_white:hover { opacity:1; background:#F3C0B4; color:#FFF; }
.more.bg_white:hover i.pink { opacity:1; color:#FFF; }



#modal_gallery_box {
	display: flex; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.7); justify-content: center; align-items: center; z-index: 9999;
	opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s;
}
#modal_gallery_box.show { opacity: 1; visibility: visible; }

#modal_gallery_box .modal-content {
	position: relative; background: #FFFFFF; padding: 10px; border-radius: 0.5em; max-width: 90%; max-height: 90%; box-shadow: 0 0 20px rgba(0,0,0,0.4);
}
#modal_gallery_box .modal-content img { width: 100%; max-width: 800px; max-height: 80vh; display: block; border-radius: 0.5em; }
#modal_gallery_box #modal-close {
	position: absolute; top: -3em; right: -1em; background: none; border: none; cursor: pointer;
}



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

.fade_up { opacity: 0; transform:translateY(2vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_up2 { opacity: 0; transform:translateY(2vw); transition: opacity 0.8s ease, transform 0.8s ease; }
.fade_up3 { opacity: 0; transform:translateY(2vw); transition: opacity 1s ease, transform 1s ease; }
.fade_up4 { opacity: 0; transform:translateY(2vw); transition: opacity 1.2s ease, transform 1.2s ease; }
.fade_up.active { opacity: 1; transform:translateY(0); }
.fade_up2.active { opacity: 1; transform:translateY(0); }
.fade_up3.active { opacity: 1; transform:translateY(0); }
.fade_up4.active { opacity: 1; transform:translateY(0); }


.fade_right { opacity: 0; transform:translateX(2vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_right.active { opacity: 1; transform:translateX(0); }

.fade_zoom { opacity: 0; transform: scale(0.3); transition: opacity 0.6s ease, transform 0.4s ease;}
.fade_zoom.active { opacity: 1; transform: scale(1); }


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }

.grayscale { filter: grayscale(100%);transition: 2s ease; }
.grayscale.active { filter: grayscale(0%); }


.text_action span { display: inline-block; opacity: 0;transform: translate(0) scale(5); }
.text_action.active span { animation: leftRight .25s forwards; }
@keyframes leftRight {
	50% {
		transform: translate(0) scale(2.5);
		opacity: 1;
	}
	100% {
		transform: translate(0) scale(1);
		opacity: 1;
	}
}
.text_action span:nth-of-type(2) {animation-delay: .05s;}
.text_action span:nth-of-type(3) {animation-delay: .1s;}
.text_action span:nth-of-type(4) {animation-delay: .15s;}
.text_action span:nth-of-type(5) {animation-delay: .2s;}
.text_action span:nth-of-type(6) {animation-delay: .25s;}
.text_action span:nth-of-type(7) {animation-delay: .3s;}
.text_action span:nth-of-type(8) {animation-delay: .35s;}
.text_action span:nth-of-type(9) {animation-delay: .4s;}
.text_action span:nth-of-type(10) {animation-delay: .45s;}
.text_action span:nth-of-type(11) {animation-delay: .5s;}
.text_action span:nth-of-type(12) {animation-delay: .55s;}
.text_action span:nth-of-type(13) {animation-delay: .6s;}
.text_action span:nth-of-type(14) {animation-delay: .65s;}
.text_action span:nth-of-type(15) {animation-delay: .7s;}
.text_action span:nth-of-type(16) {animation-delay: .75s;}
.text_action span:nth-of-type(17) {animation-delay: .8s;}
.text_action span:nth-of-type(18) {animation-delay: .85s;}
.text_action span:nth-of-type(19) {animation-delay: .9s;}
.text_action span:nth-of-type(20) {animation-delay: .95s;}
.text_action span:nth-of-type(21) {animation-delay: 1.0s;}
.text_action span:nth-of-type(22) {animation-delay: 1.05s;}
.text_action span:nth-of-type(23) {animation-delay: 1.1s;}
.text_action span:nth-of-type(24) {animation-delay: 1.15s;}
.text_action span:nth-of-type(25) {animation-delay: 1.2s;}


.text_mask {
	color: transparent; /* 文字色は透明にして背景で塗る */
	-webkit-background-clip: text;
	background-clip: text;
	
	background-image: linear-gradient(90deg, var(--text-color) 0%, var(--text-color) 50%, transparent 50%, transparent 100%);
	background-size: 200% 100%;
	background-position: 100% 0;
	background-repeat: no-repeat;
}

.text_mask.active { animation: bg_reveal 1s linear forwards; }

@keyframes bg_reveal {
	from { background-position: 100% 0; }
	to   { background-position: 0% 0; }
}



.text_curtain { width: max-content; overflow: hidden; }
.text_curtain span { display: inline-block; padding: 0.2em 0.4em; clip-path: inset(0 100% 0 0); transition: clip-path 1s ease; }
.text_curtain.active span { clip-path: inset(0 0 0 0); }


.box_curtain { position: relative; overflow: hidden; width: 100%; }
.box_curtain::before { background-color: #42BDAE; content: ""; position: absolute; z-index: 3; width: 100%; height: 100%; }
.box_curtain.active::before { animation: box_curtain 1.2s ease forwards; }


@keyframes box_curtain {
	0% { transform: translateX(-100%); }
	40%  { transform: translateX(0%); }
	60%  { transform: translateX(0%); }
	100% { transform: translateX(100%); }
}

.slider { width: 100%; overflow: hidden;}
.slider_track { display: flex; width: max-content; gap: 0; }
.slide { flex: 0 0 auto; }
.slide img { display: block; }



.bound_slide_up {opacity: 0;}
.bound_slide_up.active {
	-webkit-animation-name: boundup;animation-name: boundup;-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-delay: .8s;animation-delay: .8s;
	-webkit-animation-fill-mode: both;animation-fill-mode: both;display: block;transition-delay: 5s ;-webkit-backface-visibility:hidden;backface-visibility:hidden;
}
@-webkit-keyframes boundup {
	0% {-webkit-transform: translateY(50%);transform: translateY(50%);opacity: 0;}
	30% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	37% {-webkit-transform: translateY(25px);transform: translateY(25px);opacity: 1;}
	43% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	53% {-webkit-transform: translateY(15px);transform: translateY(15px);opacity: 1;}
	68% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	100% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
}
@-webkit-keyframes boundup {
	0% {-webkit-transform: translateY(50%);transform: translateY(50%);opacity: 0;}
	30% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	37% {-webkit-transform: translateY(25px);transform: translateY(25px);opacity: 1;}
	43% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	53% {-webkit-transform: translateY(15px);transform: translateY(15px);opacity: 1;}
	68% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	100% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
}

#header { position:fixed; top: 0; z-index: 999; width: 100%; height: calc(100vw / 19.2); padding:calc(36vw / 19.2) 0 calc(36vw / 19.2); }
#header .logo { width:calc(107vw / 19.2); height:100%; line-height:1; margin: 0; }

#hamburger { display:none; background: none; }

#header #drawer { width:calc(1190vw / 19.2); }
#header #drawer .drawer-content {  }
#header #drawer .drawer-content ul {
	list-style-type:none; margin:0 0 0 0; padding:1em 3em 1em 3em;
	background: rgba(255, 255, 255, 0.8); border-radius: 50vmax;
}








.bottom_contact {
	z-index:1; padding:calc(120vw / 19.2) 0 calc(120vw / 19.2) 0; background-image:url(../img/bottom_contact_bg.jpg);
	background-size: cover; background-position: center; background-repeat:no-repeat;
}
.bottom_contact .bottom_contact_wrapper {
	box-shadow:0 0 6px #F3C0B4; background-color:rgba(255,255,255,0.9); padding:calc(60vw / 19.2); border-radius:2em;
}

.bottom_contact .bottom_contact_wrapper .ttl { margin-block-start: 1vw; }
.bottom_contact .bottom_contact_wrapper .summary { margin-block-start:3em; margin-block-end:2em; }

.bottom_contact .bottom_contact_wrapper .link_box {  }

.bottom_contact .bottom_contact_wrapper .link_box .mail_btn {
	position:relative; width:calc(460vw / 19.2); height:calc(106vw / 19.2); line-height:calc(100vw / 19.2); display:block; text-align:center; box-shadow:0 0 6px #F3C0B4;
	transition:0.5s ease; margin: 1em; border-radius:50vmax;
}

.bottom_contact .bottom_contact_wrapper .link_box .tel_btn {
	position:relative; width:calc(460vw / 19.2); height:calc(106vw / 19.2); text-align:center; box-shadow:0 0 6px #F3C0B4;
	transition:0.5s ease; margin: 1em; border-radius:50vmax;
	display: flex; align-items: center; justify-content: center;
}
	
	

.bottom_contact .bottom_contact_wrapper .link_box .mail_btn { text-align:center; }

.bottom_contact .bottom_contact_wrapper .link_box .mail_btn i {
	position:absolute; left:0.7vw; line-height: calc(100vw / 19.2); clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}

.bottom_contact .bottom_contact_wrapper .link_box .tel_btn i {
	position:absolute; left:0.7vw; line-height: calc(100vw / 19.2); clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}


.bottom_contact .bottom_contact_wrapper .link_box .tel_btn .text { line-height: 1.5; }
.bottom_contact .bottom_contact_wrapper .link_box .tel_btn .text .tel { display:block; font-weight: 500; }


.bottom_contact .illust14 { top:calc(-200vw / 19.2); left:-1em; }




#footer {
	background-image:url(../img/footer_bg.png); background-size:cover; padding:7em 0 1em 0; background-position: center bottom;
}


#footer .site_info { width:calc(330vw / 19.2); padding: 0 0 3em 0; }
#footer .site_info .logo { display:block; width:calc(132vw / 19.2); }
#footer .site_info .site_name { display:block; margin:2em 0 0 0; font-weight: 600; }

#footer .site_info address { margin-block-end:2em; }

#footer .site_info .sns {  }
#footer .site_info .sns .follow {  }
#footer .site_info .sns .icon { display:inline-block; width:2.388em; margin-right:0.5em; }

#footer .site_menu { width:calc(1080vw / 19.2); }
#footer .site_menu .box { list-style-type:none; margin: 0; padding: 0; }
#footer .site_menu .box .page_name { position: relative; padding-left: 1.5em; line-height: 1; }


#footer .site_menu .box li .page_block { list-style-type:none; padding:1em 0 0 1.5em; }

#footer .bottom_link { list-style-type:none; border-top:solid 1px #EBEBE4; padding:3em 0 3em 0; justify-content: center; }
#footer .bottom_link li { margin:2em; }

#footer .copy { padding:0.5vw 0 0.5vw 0; z-index:101; }



#ptop {
	display: block; position: fixed; bottom: 0; right: 0; z-index: 100; width:calc(168vw /19.2);
	opacity: 0; pointer-events: none; transition: opacity 0.5s ease;
}

#ptop.show { opacity: 1;pointer-events: auto; }



.page_header {
	padding:calc(170vw / 19.2) 0 3em 0; background-size:cover;
}
.page_header .inner {}
.page_header .inner .page_header_ttl { line-height: 1; font-weight: 400; margin: 2em 0 1em 0; padding:0 0 0 calc(45vw / 19.2); border-left:solid 1px #000000; }
.page_header .inner .page_header_ttl .slug { display:block; font-weight: 400; margin:0 0 0.5em 0;}

.page_header .inner .page_header_img { border-radius:0.5em; }
.page_header .inner .contact_cv_btn { bottom:calc(-40vw / 19.2); right:-2%; }
.page_header .inner .pan { list-style-type: none; justify-content: flex-start; padding:0; magin:0; }
.page_header .inner .pan li {  }
.page_header .inner .pan li i {  }



#page_funkotsu { background-image:url(../img/funkotsu/page_header_bg.png); }
#page_senkotsu { background-image:url(../img/senkotsu/page_header_bg.png); }
#page_kaiyou_sankotsu { background-image:url(../img/kaiyou_sankotsu/page_header_bg.png); }
#page_price { background-image:url(../img/price/page_header_bg.png); }
#page_faq { background-image:url(../img/faq/page_header_bg.png); }
#page_company { background-image:url(../img/company/page_header_bg.png); }
#page_contact { background-image:url(../img/contact/page_header_bg.png); }
#page_privacy { background-image:url(../img/privacy/page_header_bg.png); }
#page_link { background-image:url(../img/link/page_header_bg.png); }



.illust1 { width:calc(468vw / 19.2); }
.illust2 { width:calc(543vw / 19.2); }
.illust3 { width:calc(313vw / 19.2); }
.illust4 { width:calc(382vw / 19.2); }
.illust5 { width:calc(427vw / 19.2); }
.illust6 { width:calc(1523vw / 19.2); }
.illust7 { width:calc(250vw / 19.2); }
.illust8 { width:calc(313vw / 19.2); }
.illust9 { width:calc(617vw / 19.2); }
.illust10 { width:calc(180vw / 19.2); }
.illust11 { width:calc(170vw / 19.2); }
.illust12 { width:calc(225vw / 19.2); }
.illust13 { width:calc(154vw / 19.2); }
.illust14 { width:calc(608vw / 19.2); }
.illust15 { width:calc(262vw / 19.2); }
.illust16 { width:calc(255vw / 19.2); }
.illust17 { width:calc(189vw / 19.2); }
.illust18 { width:calc(109vw / 19.2); }
.illust19 { width:calc(106vw / 19.2); }


.footprints { width:calc(35vw / 19.2); margin-right:0.3em; }
.contact_cv_btn { width:calc(292vw / 19.2); }


main {  }



#fv {
	width: 100%; height: calc(1110vw / 19.2); overflow: hidden;
	background-image:url(../img/home/fv_bg.jpg); background-position:center center; background-repeat: no-repeat; background-size: 100%;
}

#fv .inner { }

#fv .inner .catch { font-weight:400; padding-top:calc(300vw / 19.2); margin-block-start:0; }
#fv .inner .site_name { width: max-content; text-align: center; }
#fv .inner .site_name em { display:block; }



#fv .inner .contact_cv_btn { bottom:calc(230vw / 19.2); right:-2%; }





#top_concept {
	padding: 1em 0 14em 0; margin-block-start: -0.5em;
	background-image:url(../img/home/top_concept_bg.png); background-size:100%; background-position: center top; background-repeat:no-repeat;
}

#top_concept .illust1 { top:0; right:calc(-216vw / 19.2); }
#top_concept .illust2 { bottom:calc(-140vw / 19.2); right:calc(-140vw / 19.2); }




#top_what {
	padding: 1em 0 14em 0; height:calc(2834vw / 19.2);
	background-image:url(../img/home/top_what_bg.png); background-size:100%; background-position: center top; background-repeat:no-repeat;
}

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

#top_what .illust3 { top:5em; right:calc(-165vw / 19.2); }
#top_what .illust4 { top:3em; right:calc(-126vw / 19.2); }
#top_what .illust5 { top:3em; right:calc(-165vw / 19.2); }
#top_what .illust6 { bottom:0; left:0; right:0; margin:auto; }

#top_what .circle_btn { right: calc(-134vw / 19.2); bottom: 6.5em; }




#top_keep {
	padding:5em 0 15em 0;
	background-image:url(../img/home/top_price_bottom_bg.png); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}

#top_keep .content .box { width:calc(694vw / 19.2); border:solid 12px #FAFAF8; border-radius:1em; padding:1.5em; box-shadow: 1px 1px 4px #EBEBE4; }
#top_keep .content .box .top_price_ttl { border-bottom:dotted 6px #EBEBE4; padding:0 0 1em 0; margin-block-start: 0; }

#top_keep .content .box .table {  }
#top_keep .content .box .table dt { margin:0; border-bottom:solid 2px #F3C0B4; width:5em; vertical-align:top; }
#top_keep .content .box .table dd { margin:0; border-bottom:solid 2px #EBEBE4; padding: 0 0 0 1em; }

#top_keep .content .box .yupack { padding:0.3em 1em 0.3em 1em; font-weight:500; }



#top_keep .illust7 { bottom:0; right:0; }



#top_features { padding: 1em 0 1em 0; }

#top_features .ttl { margin-block-start:0; }
#top_features .illust8 { top:-5em; right:0; }

#top_features .box { margin: 6em 0 6em 0; }
#top_features .box .thumb {width:calc(438vw / 19.2); top:calc(-9vw / 19.2); }
#top_features .box .text { width:calc(850vw / 19.2); min-height: calc(420vw / 19.2); border-radius:1em; }
#top_features .box .num { top: -0.5em; }

#top_features .box.left_box .thumb { right:calc(50vw / 19.2); }
#top_features .box.right_box .thumb { left:calc(50vw / 19.2); }
#top_features .box.left_box .text { padding:calc(40vw / 19.2) calc(310vw / 19.2) calc(40vw / 19.2) calc(40vw / 19.2); }
#top_features .box.right_box .text { padding:calc(40vw / 19.2) calc(40vw / 19.2) calc(40vw / 19.2) calc(310vw / 19.2); margin: 0 0 0 auto; }
#top_features .box.left_box .num {  }
#top_features .box.right_box .num { right: calc(40vw / 19.2); }



#top_company {
	background-image:url(../img/home/top_company_bg.jpg); background-size:cover;
}
#top_company .thumb { width:calc(788vw / 19.2); }
#top_company .text { width:calc(825vw / 19.2); margin:0 auto 0 0; padding: 0 calc(60vw / 19.2) 0 calc(170vw / 19.2); }
#top_company .text .ttl { margin-block-start: 2.8em; }
#top_company .text .circle_btn { right: 6%; bottom: 2em; }
#top_company .illust9 { left:0; bottom:-1em; }





#top_price { padding: 5em 0 5em 0; }

#top_price .price_list { border-radius:1em; padding:calc(40vw / 19.2); margin: 4em 0 4em 0; }
#top_price .price_list .list_ttl { border-top:double 10px #F3C0B4; border-bottom:double 10px #F3C0B4; }
#top_price .price_list .list_ttl p { margin-block-start: 0; margin-block-end: 0; }
#top_price .price_list .list_ttl .footprints { left:1em; top:0; bottom:0; margin:auto; }

#top_price .price_list .type_list {  }


#top_price .price_list .type_one {  }
.type_one .flat_rate { margin-right:1em; }

#top_price .price_list .type_two {  }
#top_price .price_list .type_two dl { width:48%; }
#top_price .price_list .type_two dl dt { margin:0; }
#top_price .price_list .type_two dl dd { margin:0; }





#top_price .illust10 { top:calc(-100vw / 19.2); right:0; }
#top_price .illust11 { bottom:calc(-100vw / 19.2); left:0; }



#top_apply {
	padding: 1em 0 1em 0; min-height:calc(1140vw / 19.2);
	background-image:url(../img/home/top_apply_bg.jpg); background-size:100%; background-position:center top; background-repeat:no-repeat;
}


#top_apply .ttl { margin-block-start: 1em; margin-block-end: 4em; }


#top_apply .box { position:relative; width: calc(268vw / 19.2); margin: 0; padding:calc(19vw / 19.2); border-radius: 1em; box-shadow: 0 4px 0 #EBEBE4; }
#top_apply .box .thumb { width: calc(230vw / 19.2); }
#top_apply .box figcaption { border-top:dotted 5px #FFFFFF; }

#top_apply .box::before { content:""; position:absolute; left:calc(-28vw / 19.2); top:0; bottom:0; margin:auto; width:calc(16vw / 19.2); height:calc(42vw / 19.2); clip-path: polygon(0 0, 0% 100%, 100% 50%); }

#top_apply .box.bg_pink2::before { background-color:#F8D8CF; }
#top_apply .box.bg_pink3::before { background-color:#F3C0B4; }
#top_apply .box.bg_pink4::before { background-color:#F0AE9D; }
#top_apply .box.bg_pink5::before { background-color:#ED9A85; }


#top_apply .illust12 { bottom: -3em; left: -3em; }
#top_apply .illust13 { bottom:0; right:4%; }




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

#top_faq .box { border-radius:1em; box-shadow: 0 4px 0 #EBEBE4; padding:calc(48vw / 19.2); margin: 4em 0 4em 0; }
#top_faq .box dt { margin: 0; }
#top_faq .box dt p { width:calc(920vw / 19.2); }

#top_faq .box dd { margin: 0; }
#top_faq .box dd p { width:calc(920vw / 19.2); }







#service_fees { padding:0.1em 0 0; }
#service_fees .content { padding: 0 0 2em 0; }
#service_fees .content .illust15 { right:0; bottom:0; }


#service_fees .step { padding: 2em 0 6em 0; background-position:center bottom; background-size:101%; background-repeat:no-repeat; }
#service_fees #step01 { background-image:url(../img/wave_wg_bg.png); }
#service_fees #step02 { background-image:url(../img/wave_gw_bg.png); }
#service_fees #step03 { background-image:url(../img/wave_wg_bg.png); }
#service_fees #step04 { background-image:url(../img/wave_gw_bg.png); }
#service_fees #step05 { background-image:url(../img/wave_wg_bg.png); }
#service_fees #step06 { background-image:url(../img/wave_gw_bg.png); }

#service_fees .step .low_inner.flex {  }
#service_fees .step .low_inner.flex .num {  }
#service_fees .step .low_inner.flex .text { width:calc(860vw / 19.2); }
#service_fees .step .low_inner.flex .text dt { margin:0; }
#service_fees .step .low_inner.flex .text dd { margin:0; }

#service_fees .step::after {
	content:""; position:absolute; left:0; right:0; bottom:2em; margin:auto; background-color:#F3C0B4;
	width:calc(120vw / 19.2); height:calc(46vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#service_fees .step.step_end::after { display:none; }

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

#service_fees .box {  }
#service_fees .box .box_wrapper {  }
#service_fees .box .box_wrapper .text { border-radius:0.5em; top:1em; left:1em; padding:calc(30vw / 19.2) calc(165vw / 19.2) calc(64vw / 19.2) calc(165vw / 19.2); }
#service_fees .box .box_wrapper .text dt { justify-content: center; align-items: center; }
#service_fees .box .box_wrapper .text dt .footprints { margin:0 0.5em 0 0.5em; }
#service_fees .box .box_wrapper .text dd { margin:0; }
#service_fees .box .box_wrapper .text dd .img_box {  }
#service_fees .box .box_wrapper .text dd .img_box .thumb { width:calc(335vw / 19.2); }

#service_fees .box .box_wrapper .illust12 { left:calc(-120vw / 19.2); bottom:-1em; }

#service_fees .box .box_wrapper::before { content:""; position:absolute; background-color:#333333; top:1em; left:0; width:1px; height:calc(550vw / 19.2); }
#service_fees .box .box_wrapper::after { content:""; position:absolute; background-color:#333333; top:0; left:1em; width:calc(1040vw / 19.2); height:1px; }

#service_fees .box .box_wrapper .text::before { content:""; position:absolute; background-color:#333333; top:-1em; right:1em; width:1px; height:calc(550vw / 19.2); }
#service_fees .box .box_wrapper .text::after { content:""; position:absolute; background-color:#333333; bottom:1em; right:2em; width:calc(1040vw / 19.2); height:1px; }


#price_list { padding: 5em 0 15em 0; background:linear-gradient(to bottom,#FAFAF8 0, #FFFFFF 50%); }
#price_list .price_list { border-radius: 1em; box-shadow: 0 4px 0 #EBEBE4; padding: calc(40vw / 19.2); margin: 6em 0 6em 0; }
#price_list .price_list .content dt { border-bottom: dotted 6px #EBEBE4; padding: 0 0 1em 0; }
#price_list .price_list .content dd { margin:0; padding:1em 0 1em 0; }

#price_list .illust10 { top: calc(-100vw / 19.2); right: 0; }
#price_list .illust11 { top: calc(-150vw / 19.2); left: 0; }
#price_list .illust16 { bottom: calc(-70vw / 19.2); right: calc(-35vw / 19.2); }


#price_list .yupack { padding: 0.3em 1em 0.3em 1em; font-weight: 500;}
#price_list .table {}
#price_list .table dt {margin: 0; border-bottom: solid 2px #F3C0B4; width: 5em; vertical-align: top;}
#price_list .table dd { margin: 0; border-bottom: solid 2px #EBEBE4; padding: 0 0 0 1em;}
#price_list .illust6 { bottom:0; left:0; right:0; margin:auto; }


#apply { padding: 2em 0 10em 0; background-image:url(../img/r_bg.png); background-size:101%; background-position:center top; background-repeat:no-repeat; }

#apply .content {  }
#apply .content .type_box {  }
#apply .content .type_box .half { width:calc(660vw / 19.2); }
#apply .content .type_box .half .apply_sub_ttl { position: relative; border-radius: 50vmax; padding: 0.5em 2em 0.5em 2em; width:calc(490vw / 19.2); font-weight: 600; }
#apply .content .type_box .half .apply_sub_ttl.bg_pink::after {
	content: ""; position: absolute; bottom: -1.3em; left: 0; right: 0; z-index: 5; margin: auto; width: 2em; height: 1.4em; background-color: #FBEBE6; clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#apply .content .type_box .half .apply_sub_ttl.bg_white::after {
	content: ""; position: absolute; bottom: -1.3em; left: 0; right: 0; z-index: 5; margin: auto; width: 2em; height: 1.4em; background-color: #FFFFFF; clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#apply .content .type_box .half .box { border-radius:0.5em; margin-block-end:4em; height:calc(200vw / 19.2); }
#apply .content .type_box .half .box dt { width:calc(60vw / 19.2); vertical-align: middle; text-align: center;}
#apply .content .type_box .half .box dd { margin:0; padding:calc(35vw / 19.2) calc(20vw / 19.2) calc(35vw / 19.2) calc(20vw / 19.2); }
#apply .content .type_box .half .box dd p { position:relative; z-index:1; margin: 0; }
#apply .content .type_box .half .box .thumb { width:calc(208vw / 19.2); bottom:calc(35vw / 19.2); right:calc(35vw / 19.2); z-index:0; }

#apply .content .type_box .half .box::after {
	content: ""; position: absolute; inset:auto 0 -2.5em 0; margin:auto; background-color:#ED9A85; width: calc(42vw / 19.2); height: calc(16vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#apply .content .type_box .half .box:last-of-type::after { display:none; }



#service_fees.senkotsu { background:linear-gradient(to bottom, #FAFAF8 0, #FFFFFF 50%); }
#service_fees.senkotsu .content .illust4 { right:0; bottom:0; }

#service_fees.kaiyou_sankotsu { background:linear-gradient(to bottom, #FAFAF8 0, #FFFFFF 50%); }
#service_fees.kaiyou_sankotsu .content .illust5 { right:0; bottom:3em; }

#vessel { padding:5em 0 5em 0; }
#vessel .content { padding:1em 0 3em 0; }
#vessel .content.ttl { margin-block-start: 2em; }
#vessel .content .vessel_img { border-radius:0.5em; }

#vessel .content .specifications {  }
#vessel .content .specifications dt { margin:0; border-bottom:solid 2px #F3C0B4; width:5em; vertical-align:top; }
#vessel .content .specifications dd { margin:0; border-bottom:solid 2px #EBEBE4; padding: 0 0 0 1em; }

#vessel .box { padding:1em calc(45vw / 19.2) 0 calc(45vw / 19.2); }
#vessel .box .vessel_sub_ttl { border-bottom: dotted 6px #EBEBE4; padding: 0 0 1em 0; }

#vessel .box .box_table_list {  }
#vessel .box .box_table_list .half { width:48%; }
#vessel .box .box_table_list .half .table {  }
#vessel .box .box_table_list .half .table dt { margin:0; padding:1em; width:10em; vertical-align: middle; }
#vessel .box .box_table_list .half .table dd { margin:0; padding:1em; }


#vessel .box .box_table2 {  }
#vessel .box .box_table2 dt { margin:0; padding:1em; width:10em; vertical-align: middle; text-align:center; }
#vessel .box .box_table2 dt .icon { display:block; width:calc(68vw / 19.2); margin: auto; }
#vessel .box .box_table2 dd { margin:0; padding:1em; }

#vessel .box #gmap { width:100%; height:330px; }

#price_list .price_list .type_two {  }
#price_list .price_list .type_two dl { width:48%; }
#price_list .price_list .type_two dl dt { margin:0; }
#price_list .price_list .type_two dl dd { margin:0; }
#price_list .price_list .illust11 { top: auto; bottom: calc(-100vw / 19.2); left: 0; }




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

#price_page .price_list { border-radius:1em; padding:calc(40vw / 19.2); margin: 4em 0 4em 0; }
#price_page .price_list .list_ttl { border-top:double 10px #F3C0B4; border-bottom:double 10px #F3C0B4; }
#price_page .price_list .list_ttl p { margin-block-start: 0; margin-block-end: 0; }
#price_page .price_list .list_ttl .footprints { left:1em; top:0; bottom:0; margin:auto; }

#price_page .price_list .type_list {  }


#price_page .price_list .type_one {  }
.type_one .flat_rate { margin-right:1em; }

#price_page .price_list .type_two {  }
#price_page .price_list .type_two dl { width:48%; }
#price_page .price_list .type_two dl dt { margin:0; }
#price_page .price_list .type_two dl dd { margin:0; }






#company_profile { padding:0.1em 0 15em 0; }
#company_profile .content { padding:calc(120vw / 19.2) calc(45vw / 19.2) calc(120vw / 19.2) calc(45vw / 19.2); border-radius:0.5em; }

#company_profile .content .company_profile_img { border-radius:0.5em; margin-block-end:2em; }
#company_profile .content .illust17 { top: calc(-110vw / 19.2); left: calc(40vw / 19.2); }


#company_profile .content .company_profile_table {  }
#company_profile .content .company_profile_table dt {margin: 0; border-bottom: solid 2px #F3C0B4; width: 5em; vertical-align: top;}
#company_profile .content .company_profile_table dd { margin: 0; border-bottom: solid 2px #EBEBE4; padding: 0 0 0 1em;}

#company_profile .content .access_ttl { padding:0.3em 1em 0.3em 1em; font-weight:500; margin:4em 0 2em 0; }
#company_profile .content #gmap { width:100%; height:calc(500vw / 19.2); min-height:300px; }

#company_profile .content .access_table {  }
#company_profile .content .access_table dt { margin:0; padding:1em; width:10em; vertical-align: middle; }
#company_profile .content .access_table dd { margin:0; padding:1em; }


#faq { padding:0.1em 0 15em 0; }


#faq .illust15 { top:-4em; right:0; }

#faq .list {  }
#faq .list dt { margin:0; padding: 0 2em 0 2em; justify-content: flex-start;}
#faq .list dt .slug { margin-right: 1em; }
#faq .list dt p { font-weight: 600; }
#faq .list dd { margin:0; padding: 0 2em 0 2em; justify-content: flex-start; }
#faq .list dd .slug { margin-right: 1em; }
#faq .list dd p {  }



#link { padding:0.1em 0 15em 0; }


#link .illust15 { top:-4em; right:0; }


#link .list {  }
#link .list dt { margin:0; padding: 0 2em 0 2em; }
#link .list dd { margin:0; padding: 0 2em 0 2em; }

#privacy { padding:0.1em 0 15em 0; }
#privacy .illust15 { top:-4em; right:0; }

#privacy .privacy_wrapper { padding:calc(45vw / 19.2) calc(45vw / 19.2) calc(45vw / 19.2) calc(45vw / 19.2); border-radius:0.5em; }

#privacy .list {  }
#privacy .list dt { margin:0; padding: 0 0 1em 0; font-weight: 500; }
#privacy .list dd { margin:0; padding: 0 0 1em 0; }


#contact {
	padding: 0.1em 0 15em 0;
}


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





.contact_form_wrapper { padding:2em 0 2em 0; margin-block-start: 2em; }

#form {  }



#form .box {	}
#form .box dt { width:16em; padding:2em 0 1em 0; vertical-align: top; }
#form .box dt .field {	}
#form .box dt .required { display:inline-block; margin-left:1em; padding:0.3vw 0.4vw 0.3vw 0.4vw; line-height:1; }
#form .box dt .any { display:inline-block; margin-left:1em; padding:0.3vw 0.4vw 0.3vw 0.4vw; line-height:1; }

#form .box dd { padding:1em 1em 1em 2em; }
#form.confirm .box dd { padding:2em 1em 1em 2em; }

#form .box dd input[type="text"], #form .box dd input[type="tel"], #form .box dd input[type="email"] { width: 100%; padding:1em; border: solid 1px #cccccc; }
#form .box dd textarea { width: 100%; padding:1em; border: solid 1px #cccccc; height: 12em; }

#form .box dd input[type="checkbox"] { display: none; }
#form .box dd input[type="checkbox"] + label {
	display: block; position: relative; padding-left: 2em; margin-bottom: 1em; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
}
#form .box dd input[type="checkbox"] + label:last-child { margin-bottom: 0; }
#form .box dd input[type="checkbox"] + label:before {
	content: ''; display: block; width: 1.2em; height: 1.2em; border: 1px solid #50b7b3;
	position: absolute;left: 0; top: 0.4em; opacity: .6; -webkit-transition: all .12s, border-color .08s; transition: all .12s, border-color .08s;
}

#form .box dd input[type="checkbox"]:checked + label:before {
	width: 0.8em; top: 0; left: 0.3em; border-radius: 0; opacity: 1; border-top-color: transparent; border-left-color: transparent; -webkit-transform: rotate(45deg); transform: rotate(45deg);
}


#form .box dd .memo { display:block; margin-block-start:1em; }

#form .next {
	position:relative; width:calc(415vw / 19.2); height:calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center;
	transition:0.5s ease; margin: 2em auto 2em auto; border-radius:50vmax; cursor:pointer;
}
#form .next i { position:absolute; right:0.8em; top:0; line-height: calc(95vw / 19.2); }
#form .next:hover { background-color:#000000; color:#FFFFFF; opacity:1; }


#form .next:hover { opacity:1; background:#FFF; color:#ED9A85; box-shadow:0 0 3px #ED9A85; }
#form .next:hover i.white { opacity:1; color:#ED9A85; }






#form .send_btn {
	position:relative; width: calc(415vw / 19.2); height: calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center;
	transition:0.5s ease; margin: 3.645833vw 4.645833vw 0 0; border-radius:50vmax; cursor:pointer;
}
#form .send_btn i { position:absolute; right:0.8em; top:0; line-height:calc(95vw / 19.2); }
#form .send_btn:hover { background-color:#000000; color:#FFFFFF; opacity:1; }

#form .send_btn:hover { opacity:1; background:#FFF; color:#ED9A85; box-shadow:0 0 3px #ED9A85; }
#form .send_btn:hover i.white { opacity:1; color:#ED9A85; }



#form .back_btn {
	position:relative; width: calc(415vw / 19.2); height: calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center; box-shadow:0 0 3px #ED9A85;
	transition:0.5s ease; margin: 3.645833vw 0 0 4.645833vw; border-radius:50vmax; cursor:pointer; color:#ED9A85;
}
#form .back_btn i { position:absolute; left:0.8em; margin:auto; top:0; bottom:0; line-height:calc(95vw / 19.2); color:#ED9A85; }
#form .back_btn:hover { background-color:#ED9A85; color:#FFFFFF; opacity:1; }
#form .back_btn:hover i,#form .back_btn:hover span { color:#FFF; }

