@charset "utf-8";
.top-tl{
	text-align: center;
	padding: 6px 0;
}

.blue-dott-bg{
	background: #0CA6EA;
	border-top: 5px solid #ffffff;
	border-bottom: 5px solid #ffffff;
}

.blue-dott-bg::before{
	content: "";
	background-image: radial-gradient(circle, #ffffff 3px, transparent 3px), radial-gradient(circle, #ffffff 3px, transparent 3px);
	background-position: 0 0, 7px 14px;
	background-size: 13px 26px;
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	mix-blend-mode: multiply;
}

.top-tl span{
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
	display: block;
	position: relative;
}

.top-mv{
	background: #E86119;
	gap: 15px;
}

.top-mv .img{
	width: 48%;
}

.top-mv .txt{
	text-align: center;
}

.top-mv .txt .p1{
	font-size: 26px;
	font-weight: 800;
	margin-bottom: 10px;
}

.top-mv .txt .p2{
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 15px;
}

.top-mv .txt .label-white{
	background: #ffffff;
	border-radius: 20px;
	color: #E86218;
	font-size: 23px;
	padding: 3px 18px;
	margin: 0 3px;
}

.top-mv .txt .p3{
	font-size: 48px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 10px;
}

.top-mv .txt .p4{
	font-size: 50px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.top-mv .txt .c-yellow{
	color: #F2E700;
}

.wrapping-price{
	padding: 10px 0;
}

.price-img-list{
	gap: 10px;
}

.main-contents section{
	padding: 30px 0;
}

.news-box{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 6px;
	overflow: hidden;
}

.news-box h2{
	background: #E21152;
	color: #ffffff;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 17px 0;
	width: 130px;
}

.news-box .news-box-list{
	padding: 0 35px;
	width: calc(100% - 130px);
}

.news-box .news-box-list a{
	gap: 15px;
}

.news-box .news-box-list a::after{
	content: "\f105";
	font-family: "Fontawesome";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.news-box .news-box-list time{
	font-size: 14px;
	font-weight: 600;
}

.news-box .news-box-list h3{
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.label-tl{
	background: #3E3E36;
	border-radius: 30px;
	color: #ffffff;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 15px;
	height: 60px;
	padding: 0 30px;
	width: max-content;
	display: flex;
	align-items: center;
	justify-content: center;
}

.o-scroll{
	overflow: auto;
	scrollbar-color: #e86119 transparent;
	scrollbar-width: thin;
}

.case-sec .o-scroll,
.voice-sec .o-scroll,
.blog-sec .o-scroll{
	width: calc(100% + ((100vw - 100%) / 2));
}

.case-list,
.blog-list{
	gap: 23px;
	width: max-content;
}

.case-list li,
.blog-list li{
	width: 360px;
}

.blog-list li{
	border: 3px solid #111111;
	border-radius: 12px;
	background: #ffffff;
	padding: 15px;
}

.case-list li .case-imgs{
	outline: 3px solid #ffffff;
	outline-offset: -3px;
}

.blog-list li .blog-img{
	border-radius: 6px;
	overflow: hidden;
}

.case-list li .cate,
.blog-list li .cate{
	background: #0CA6EA;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	padding: 3px 8px;
	position: absolute;
	left: 0;
	top: 0;
}

.case-list li h3{
	background: #ffffff;
	border: 2px solid #111111;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	margin-top: 12px;
	padding: 12px 15px;
}

.blog-list li h3{
	font-size: 14px;
	font-weight: 700;
	margin-top: 12px;
}

.blog-list li time{
	font-size: 14px;
	font-weight: 600;
	margin-top: 5px;
	text-align: right;
}

.txt-link{
	font-size: 18px;
	font-weight: 700;
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 20px 10px;
	width: max-content;
}

.txt-link::before{
	content: "";
	background-image: repeating-linear-gradient(90deg, #111111, #111111 3px, transparent 3px, transparent 9px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 3px;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 100%;
}

.txt-link::after{
	content: "\f105";
	font-family: "Fontawesome";
	color: #E21152;
}

.case-sec .txt-link,
.voice-sec .txt-link,
.blog-sec .txt-link{
	position: absolute;
	right: 0;
	top: 20px;
}

.case-slider-sec h2{
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 30px;
}

.case-slider-sec h2 > span{
	display: block;
	font-size: 48px;
	font-weight: 700;
	display: table;
	margin: 0 auto;
	-webkit-text-stroke: 12px #ffffff;
	text-stroke: 12px #ffffff;
	paint-order: stroke;
}

.case-slider-sec h2 > span::before {
	content: attr(data-text);
	position: absolute;
	left: 4px;
	top: 4px;
	color: transparent;
	-webkit-text-stroke: 12px #111111;
	text-stroke: 12px #111111;
	paint-order: stroke;
	z-index: -1;
	width: 100%;
}

.auto-slide-imgs{
	background: #ffffff;
	padding: 6px 0;
}

.auto-slide-imgs ul + ul{
	margin-top: 6px;
}

.auto-slide-imgs ul li{
	margin: 0 3px;
}

.link-btns{
	gap: 15px;
}

.link-btn{
	background: #E21152;
	border: 3px solid #111111;
	border-radius: 5px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	height: 60px;
	max-width: 420px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.link-btn::after{
	content: "\f105";
	font-family: "Fontawesome";
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}

.reason-box{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 5px;
	padding: 40px 60px;
}

.reason-box h2{
	font-size: 48px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin-bottom: 30px;
	text-align: center;
}

.reason-box h2 .mini{
	font-size: 30px;
	margin-left: 10px;
}

.reason-list .blo{
	background: #F0F8F8;
	border-radius: 8px;
	padding: 30px 20px 40px;
	width: calc(33% - 10px);
}

.reason-list .blo .img{
	margin: 0 auto 15px;
	min-height: 135px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.reason-list .blo h3{
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin: 0 auto 15px;
	text-align: center;
}

.white-bar-tl{
	background: #ffffff;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 30px;
	text-align: center;
	padding: 13px 0;
}

.price-list-box{
	gap: 30px 0;
}

.price-list-box .blo .txt{
	background: #ffffff;
	border: 4px solid #111111;
	margin-left: 25px;
	width: 274px;
}

.price-list-box .blo .txt h3{
	background: #111111;
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 5px 0;
}

.price-list-box .blo .txt .part-box{
	border-bottom: 1px solid #111111;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 5px;
}

.price-list-box .blo .txt .part-box span{
	font-size: 14px;
	display: block;
}

.price-list-box .blo .txt .price-box{
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 5px;
}

.price-list-box .blo .txt .price-box span{
	font-size: 54px;
	font-weight: 700;
}

.notice-list li{
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.03em;
	position: relative;
	padding-left: 1rem;
}

.notice-list li::before{
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}

.meikun-design-tl h2{
	background: #ffffff;
	border-radius: 30px;
	font-size: 39px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.38;
	margin-left: 30px;
	padding: 10px 30px;
}

.meikun-design-tl h2::after {
	content: "";
	position: absolute;
	top: 80%;
	left: 3px;
	border-style: solid;
	border-width: 0 30px 18px 0;
	border-color: transparent #ffffff transparent transparent;
	translate: -100% calc(-50% - 0.4px);
	transform: skew(0, 12deg);
	transform-origin: right;
}

.design-price-box{
	background: #ffffff;
	border: 4px solid #111111;
}

.design-price-box .blo > *{
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	width: 50%;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.design-price-box h3{
	background: #111111;
	color: #ffffff;
	font-size: 20px;
}

.design-price-box .txt{
	font-size: 22px;
}

.design-price-box .txt span{
	font-size: 34px;
	font-weight: 700;
	margin: 0 10px;
}

.design-price-box .blo:not(:last-child) h3{
	border-bottom: 1px solid #ffffff;
}

.design-price-box .blo:not(:last-child) .txt{
	border-bottom: 1px solid #111111;
}

.contact-box-sec .contact-box{
	background: #105BBC;
	border-radius: 24px;
	padding: 20px 60px 60px;
	text-align: center;
}

.contact-box-sec .contact-box h2{
	font-size: 32px;
	font-weight: 900;
	letter-spacing: -0.03em;
	margin-bottom: 20px;
}

.contact-box-sec .contact-box .contact-box-inner{
	background: #ffffff;
	border: 3px solid #111111;
	padding: 40px;
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), rgba(210,238,215,0.5) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(210,238,215,0.5) calc(100% - 1px));
	background-size: 17px 17px;
	background-repeat: repeat;
	background-position: center center;
}

.contact-box-sec .contact-box .link-btn{
	font-size: 16px;
	max-width: 350px;
}

.link-btn{
	gap: 13px;
}

.link-btn.line{
	background: #03CA41;
}

.link-btn i{
	font-size: 21px;
}

.contact-box-sec .contact-box .tel{
	margin: 30px auto 0;
	gap: 10px;
	width: max-content;
}

.contact-box-sec .contact-box .tel p{
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
}

.contact-box-sec .contact-box .tel p span{
	display: block;
	font-size: 48px;
	font-weight: 600;
}

.contact-box-sec .contact-box .tel::before {
    content: "\f095";
    font-family: "Fontawesome";
    background: #0CA6EA;
    border: 2px solid #111111;
    border-radius: 50%;
    font-size: 27px;
    color: #ffffff;
    height: 48px;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.contact-box-sec .contact-box .meikun{
	position: absolute;
	right: 15px;
	bottom: 0;
}

.label-tl.label-tl-center{
	margin: 0 auto 30px;
	max-width: 406px;
	width: 100%;
}

.flow-list .blo{
	width: calc(20% - 10px);
	display: flex;
	flex-direction: column;
	position: relative;
}

.flow-list .blo.wide{
	width: 40%;
}

.flow-list .blo:not(:last-child)::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 9px solid #111111;
	border-right: 0;
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translateY(-50%);
}

.flow-list .blo .num{
	background: #0CA6EA;
	border-radius: 25px;
	color: #ffffff;
	font-style: italic;
	font-size: 18px;
	font-weight: 700;
	height: 30px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.case-flow-sec .flow-list .blo .num{
	background: #E21152;
}

.flow-list .blo .main{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 8px;
	padding: 30px 14px;
	flex: 1;
}

.flow-list .blo .main .img{
	display: table;
	margin: 0 auto 25px;
}

.flow-list .blo .main h3{
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
	margin-bottom: 15px;
	min-height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flow-list .blo .main p{
	font-weight: 600;
}

.flow-list .blo .main .notice-list li{
	color: #0561A5;
	font-size: 12px;
	font-weight: 600;
}

.white-bg-box{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 8px;
	padding: 30px 60px;
}

.movie-box h4{
	font-size: 48px;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin-bottom: 20px;
}

.white-bg-box.rel .label-tl{
	position: relative;
	top: -60px;
	margin: 0 auto -30px;
}

.place-list .blo{
	padding: 10px 0;
}

.place-list blo:first-child{
	padding-top: 0;
}

.place-list .blo::after{
	content: "";
	background-image: repeating-linear-gradient(90deg, #c1c1c1, #c1c1c1 7px, transparent 7px, transparent 14px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
}

.place-list .blo h3{
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 5px;
}

.qa-list .blo{
	background: #F2F8FA;
	padding: 20px 30px;
}

.qa-list .blo:not(:last-child){
	margin-bottom: 15px;
}

.qa-list .blo .q,
.qa-list .blo .a{
	font-weight: 700;
	letter-spacing: 0.04em;
	position: relative;
	padding-left: 35px;
}

.qa-list .blo .q{
	font-size: 18px;
	cursor: pointer;
}

.qa-list .blo .a{
	display: none;
	font-size: 16px;
	margin-top: 35px;
}

.qa-list .blo .q::before,
.qa-list .blo .q::before{
	font-family: "Inter", sans-serif;
	position: absolute;
	left: 0;
	font-size: 36px;
	font-weight: 500;
}

.qa-list .blo .q::before{
	content: "Q";
	color: #0CA6EA;
	top: -7px;
}

.qa-list .blo .a::before{
	content: "A";
	color: #E21152;
	top: -15px;
}

.qa-list .blo .q::after{
	content: "\f107";
	font-family: "Fontawesome";
	position: absolute;
	right: 0;
	top: 5px;
}

.lower-tl{
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.03em;
	padding: 60px 0;
	text-align: center;
}

.lower-tl.btm-wide{
	padding-bottom: 90px;
}

.page-scroll-list{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 14px;
	padding: 20px 30px;
}

.page-scroll-list li{
	background: #E21152;
	border: 3px solid #111111;
	border-radius: 5px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	height: 60px;
	width: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
}

.page-scroll-box{
	position: relative;
	top: -60px;
}

.white-bg-box.rel .label-tl.set-left{
	margin: 0 0 -30px;
}

.main-contents section.carwrapping-ex-sec{
	padding-top: 100px;
}

.carwrapping-ex-sec h3{
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.65;
	margin-bottom: 20px;
}

.carwrapping-ex-sec p{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.625;
}

.carwrapping-ex-sec .img{
	position: absolute;
	right: -35px;
	top: -115px;
}

.carwrapping-ex-sec .meikun{
	position: absolute;
	right: -30px;
	bottom: -25px;
}

.carwrapping-detail-sec .top .txt{
	max-width: 563px;
	width: calc(100% - 520px);
}

.carwrapping-detail-sec .top .img{
	width: 503px;
}

.shadow-tl{
	margin-bottom: 50px;
	display: flex;
	align-items: center;
	gap: 15px;
}

.shadow-tl span{
	color: #ffffff;
	font-size: 52px;
	font-weight: 700;
	letter-spacing: -0.03em;
	-webkit-text-stroke: 9px #0CA5EA;
	text-stroke: 9px #0CA5EA;
	paint-order: stroke;
}

.shadow-tl::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 17px solid #e21152;
	border-right: 0;
}

.carwrapping-detail-sec .top .txt p{
	font-size: 16px;
	font-weight: 700;
	line-height: 1.625;
}

.price-table{
	background: #ffffff;
	border: 4px solid #111111;
	border-collapse: collapse;
	width: 100%;
}

.price-table tr > *{
	padding: 6px 0;
	width: calc(100% / 3);
}

.price-table thead th{
	background: #111111;
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.price-table thead th:not(:last-child){
	border-right: 1px solid #ffffff;
}

.price-table tbody td{
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-align: center;
}

.price-table tbody tr td:first-child{
	font-size: 18px;
}

.price-table tbody tr{
	border-bottom: 1px solid #111111;
}

.price-table tbody td:not(:last-child){
	border-right: 1px solid #111111;
}

.notice-list.f-16-list li{
	font-size: 16px;
	font-weight: 500;
}

.diamond-tl{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 15px;
}

* + .diamond-tl{
	margin-top: 40px;
}

.diamond-tl::before{
	content: "◆";
}

.border-top-sec .inner{
	padding-top: 60px;
	position: relative;
}

.border-top-sec .inner::before{
	content: "";
	background-image: repeating-linear-gradient(90deg, #111111, #111111 7px, transparent 7px, transparent 14px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 3px;
	position: absolute;
	left: 0;
	top: 0;
	height: 3px;
	width: 100%;
}

.shadow-tl span.sub-tl{
	color: #0CA6EA;
	font-size: 20px;
	font-weight: 700;
	position: relative;
	top: 15px;
	-webkit-text-stroke: unset;
	text-stroke: unset;
}

.onecolor-sec .img{
	max-width: 443px;
}

.onecolor-sec .txt{
	max-width: 503px;
	width: calc(100% - 450px);
}

.onecolor-sec h3{
	color: #105BBC;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.03em;
	margin-bottom: 20px;
}

.onecolor-sec p{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.625;
}

.onecolor-sec .notice-list li{
	font-size: 12px;
	font-weight: 500;
}

.company-ex-sec .txt{
	max-width: 491px;
	width: 100%;
}

.company-ex-sec .txt h2{
	font-size: 48px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.39;
	margin-top: 40px;
}

.company-ex-sec .txt h3{
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.03em;
}

.company-ex-sec .txt p{
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.65;
	margin-top: 20px;
}

.about-table .rows{
	background: #ffffff;
	border: 3px solid #111111;
	border-radius: 8px;
	padding: 20px 30px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 30px;
}

.about-table .rows:not(:last-child){
	margin-bottom: 12px;
}

.about-table .rows .th p{
	background: #3E3E36;
	border-radius: 25px;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	height: 32px;
	width: 162px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-table .rows .td{
	width: calc(100% - 192px);
}

.about-table .rows .td p{
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.03em;
}

.about-table .rows .td * + p{
	margin-top: 12px;
}

.about-table .rows .td .g-map-link{
	background: #E21152;
	border-radius: 4px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: -0.03em;
	padding: 3px 8px;
	margin-left: 15px;
}

.about-table .rows .td .g-map-link::after{
	content: "\f35d";
	font-family: "Fontawesome";
	margin-left: 3.5px;
}

/*------------------------------------------------------------
	レスポンシブ
------------------------------------------------------------*/
@media all and (min-width: 0) and (max-width: 767px){
	
}