/*===============================================
●smart.css 画面の横幅が736px以下
===============================================*/
@media screen and (max-width: 979px){

html {
	scroll-behavior: smooth;
	scroll-padding-top: 26vw;
	-webkit-text-size-adjust: 100%;
}

.pc {display: none;}

body::-webkit-scrollbar {  /* Safari 対応 */
        display:none;!important
    }

body {
	font-size: 3.3vw;
	line-height: 1.5em;
	position: relative;
}

body img {
	max-width: 100%;
	display: block;
}


#head {
	width: 100%;
	height: 26vw;
	position: fixed;
	top: 0;
	background: rgb(255 255 255 / 0.7);
	z-index: 10;
}
#head .toplogo {
	width: 44vw;
	height: 10vw;
	background: url(img2025/up-logo.png) center / contain no-repeat;
	position: absolute;
	top: 3vw;
	left: 3vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
#head .gmenu {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 10vw;
	position: absolute;
	bottom: 0;
	left: 0;
}
#head .gmenu li {
	width: 25%;
	height: 10vw;
	box-sizing: border-box;
	border-left: 1px solid #000;
}
#head .gmenu li:nth-of-type {
	border-left: none;
}
#head .gmenu li a {
	display: block;
	text-align: center;
	width: 100%;
	font-size: 3.4vw;
	line-height: 10vw;
}

.contents {
	padding: 26vw 0 0;
	position: relative;
	min-height: calc(100dvh - 26vw - 28vw);
	overflow: auto;
}
.contents.partners {
	overflow: visible;
}

.home .main {
	width: 100%;
}
.home .main .mleft {
	width: 100%;
	height: 94vw;
	background: url(img2025/top-main-obi.svg) center / 102% no-repeat;
	display: flex;
  	justify-content: center;
  	align-items: center;
  	flex-wrap: wrap;
}
.home .main .mleft h1 {
	width: 60dvw;
	height: 45dvw;
	background: url(img2025/top-main-h1.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 0 0 6vw;
}
.home .main .mleft p {
	font-feature-settings: 'palt';
	font-weight: bold;
	font-size: 4dvw;
	line-height: 1.8em;
}
.home .main .slick {
	width: 100%;
  opacity: 0;
  visibility: hidden;
}
.home .main .slick.slick-initialized {
  opacity: 1;
  visibility: visible;
  transition: opacity .3s ease;
}
.home .shop {
	margin: 9vw;
	padding: 22vw 0 0;
	background: url(img2025/home-shop-copy.svg) center top / contain no-repeat;
}
.home .shop h2 {
	width: 82dvw;
	height: 65dvw;
	background: url(img2025/home-shop-h2.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.home .shop ul {
	width: 82vw;
	margin: auto;
}
.home .shop ul p {
	width: 1px;
	height: 1px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.home .shop ul li {
	margin: 6vw 0 0;
}
.home .shop ul li a {
	background: url(img2025/home-shop-bot-arrow.svg) right center / auto 105% no-repeat;
	display: block;
	padding-right: 7%;
	box-sizing: border-box;
	width: 82dvw;
	height: 16dvw;
	text-align: center;
	font-size: 5vw;
	line-height: 16dvw;
	border: 1px solid #000;
}
.home .shop img {
	display: none;
}
.home .news {
	margin: 32vw 0 0;
	background: #FBE334;
	position: relative;
}
.home .news h2 {
	width: 40vw;
	height: 40vw;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: -20vw;
	background: #93CBE1 url(img2025/home-news-h2.svg) center / 19vw auto no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.home .news .more {
	width: 26vw;
	height: 8vw;
	position: absolute;
	bottom: -4vw;
	left: calc(50% - 13vw);
}
.home .news .nwrap {
	padding: 20vw 10vw 10vw;
}
.home .news .nwrap dl {
	width: 100%;
	margin: 8vw 0 0;
}
.home .news .nwrap dl img {
	width: 100%;
	height: 50dvw;
	object-fit: cover;
	object-position: 0 0;
}
.home .news .nwrap dl dt {
	font-size: 4.2vw;
	line-height: 6vw;
	margin: 2vw 0;
}
.home .news .nwrap dl dt span {
	background: #000;
	color: #FFF;
	font-family: serif;
	font-style: italic;
	font-size: 3.75vw;
	line-height: 6vw;
	text-align: center;
	width: 30vw;
	display: inline-block;
}
.home .news .nwrap dl dd {
	font-size: 4vw;
	line-height: 6vw;
	height: 12vw;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home .ambassador {
	margin: 14vw 6vw;
}
.home .ambassador a {
	display: block;
}
.home .c-menu {
	margin: 14vw 6vw;
}
.home .c-menu h2 {
	border: 1px solid #000;
	border-bottom: none;
	margin: auto;
	width: 34vw;
	height: 15vw;
	background: url(img2025/home-menu-h2_sp.svg) center bottom / 19vw auto no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.home .c-menu a {
	display: block;
	margin-top: 8vw;
	padding-left: 29vw;
	height: 24vw;
	position: relative;
	background: url(img2025/home-menu-arrow.svg) right center / 1.5vw auto no-repeat;
}
.home .c-menu a h3 {
	width: 24vw;
	height: 24vw;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.home .c-menu a.zerog h3 {
	background: url(img2025/home-menu-zerog.png) center / contain no-repeat;
}
.home .c-menu a.g10 h3 {
	background: url(img2025/home-menu-10g.svg) center / contain no-repeat;
}
.home .c-menu a.g7 h3 {
	background: url(img2025/home-menu-7g.svg) center / contain no-repeat;
}
.home .c-menu a.g5 h3 {
	background: url(img2025/home-menu-5g.svg) center / contain no-repeat;
}
.home .c-menu a p {
	font-size: 4.2vw;
	line-height: 6.5vw;
	font-feature-settings: 'palt';
	padding: 1vw 0 4vw;
}
.home .c-menu a .taikyu {
	float: left;
	font-size: 3.5vw;
	line-height: 6vw;
	border: 1px solid #000;
	padding: 0 2vw;
	margin-right: 3vw;
}
.home .c-menu a .hours {
	font-size: 3.5vw;
	line-height: 7vw;
}
.home .c-menu a .hours span {
	font-size: 2.8vw;
}
.home .l-jump {
	margin: 14vw 6vw;
}
.home .l-jump li {
	padding-bottom: 6vw;
}
.home .l-jump li.movie {
	background: url(img2025/home-movie-text_pc.svg) center bottom / contain no-repeat;
	margin-bottom: 6vw;
}
.home .l-jump li.product {
	background: url(img2025/home-products-text_pc.svg) center bottom / contain no-repeat;
}
.home .l-jump li a {
	display: block;
}
.home .cases {
	margin: 6vw;
}
.home .cases h2 {
	width: 18vw;
	height: 18vw;
	background: url(img2025/shop-case-h2.svg);
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 6vw auto;
}
.home .cases ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6vw;
}
.home .cases ul::after {
	content: ' ';
	width: 41vw;
	height: 1px;
}
.home .cases ul li {
	width: 39vw;
	padding: 0 0 8.2vw 2vw;
	position: relative;
}
.home .cases ul li a {
	display: block;
	transition: none;
}
.home .cases ul li {
	display: block;
}
.home .cases ul li h3 {
	display: none;
}
.home .cases ul li::before {
	content: ' ';
	width: 24vw;
	height: 22vw;
	position: absolute;
	left: 0;
	bottom: 0;
}
.home .cases ul li.g5::before {
	background: #D95F29;
}
.home .cases ul li.g7::before {
	background: #63AE48;
}
.home .cases ul li.g10::before {
	background: #211816;
}
.home .cases ul li.zero::before {
	background: #000000;
}
.home .cases ul li .grade {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 14vw;
	height: 14vw;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
}
.home .cases ul li.g5 .grade {
	background: url(img2025/home-menu-5g.svg) center / cover no-repeat;
}
.home .cases ul li.g7 .grade {
	background: url(img2025/home-menu-7g.svg) center / cover no-repeat;
}
.home .cases ul li.g10 .grade {
	background: url(img2025/home-menu-10g.svg) center / cover no-repeat;
}
.home .cases ul li.zero .grade {
	background: url(img2025/home-menu-zerog.png) center / cover no-repeat;
}
.home .cases ul li img {
	width: 100%;
	height: 26.5vw;
	object-fit: cover;
	position: relative;
	z-index: 10;
}
.home .cases .more {
	display: block;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	width: 40vw;
	height: 12vw;
	background: url(img2025/home-menu-more.svg) center / 30vw auto no-repeat;
	margin: auto;
}

.shop.contents::before {
	content: ' ';
	width: 100%;
	height: 70vw;
	background: url(img2025/top-main-obi.svg) center 26vw / 100% auto no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.shop .concept {
	font-feature-settings: 'palt';
	font-family: serif;
	font-weight: nomal;
	font-size: 7vw;
	line-height: 1.2em;
	text-align: center;
	letter-spacing: 0.05em;
	padding: 6vw 0;
}
.shop .col01 {
	background: #FFF;
	margin: 0 6vw 10vw;
	position: relative;
}
.shop .col01 h1 {
	padding: 4vw 6vw 0;
	font-weight: bold;
	font-size: 7vw;
	line-height: 1.3em;
}
.shop .col01 h1 span {
	font-size: 5vw;
	line-height: 1.3em;
	display: block;
}
.shop .col01 p.tel {
	font-size: 2.6vw;
	line-height: 1.5em;
	vertical-align: middle;
	padding: 3vw 6vw;
}
.shop .col01 p.tel span {
	display: block;
	font-weight: bold;
	font-size: 4.5vw;
	line-height: 1.5em;
}
.shop .col01 .messege {
	padding: 0 6vw;
	text-align: justify;
	font-size: 3.5vw;
	line-height: 1.8em;
}
.shop .col01 .sns {
	margin: 5vw 6vw;
	display: flex;
	justify-content: space-between;
	width: 40vw;
}
.shop .col01 .sns li {
	width: 8vw;
}
.shop .col01 .sns li a {
	width: 8vw;
	height: 8vw;
	display: block;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.shop .col01 .sns li:nth-of-type(1) a {
	background: url(img2025/shop-icon-hp.svg) center / contain no-repeat;
}
.shop .col01 .sns li:nth-of-type(2) a {
	background: url(img2025/shop-icon-fb.svg) center / contain no-repeat;
}
.shop .col01 .sns li:nth-of-type(3) a {
	background: url(img2025/shop-icon-insta.svg) center / contain no-repeat;
}
.shop .col01 .sns li:nth-of-type(4) a {
	background: url(img2025/shop-icon-x.svg) center / contain no-repeat;
}
.shop .col01 .sns li a.none {
	opacity: 0.3;
}
.shop .col01 .slick {
	position: relative;
}
.shop .col01 .slick .slick-slide img {
	max-height: 65dvw;
	object-fit: cover;
}
.shop .col01 .menulist {
	margin: 12vw 0 6vw;
}
.shop .col01 .menulist h2 {
	width: 37vw;
	height: 5vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(img2025/shop-menu-h2.svg) center bottom / 30vw auto no-repeat;
	border: 1px solid #000;
	border-bottom: none;
}
.shop .col01 .menulist ul {
	display: flex;
	justify-content: space-between;
	margin: 5vw 0;
}
.shop .col01 .menulist ul li {
	width: 19vw;
}
.shop .col01 .menulist ul li img {
	opacity: 0.3;
}
.shop .col01 .menulist ul li a img {
	opacity: 1;
}
.shop .col01 .service h2 {
	font-feature-settings: 'palt';
	font-size: 3.5vw;
	line-height: 1.8em;
}
.shop .col01 .service ul {
	margin: 0;
}
.shop .col01 .service ul li {
	font-size: 3.5vw;
	line-height: 1.8em;
	display: inline-block;
	margin-right: 1em;
}
.shop .col02 {
	padding: 0 6vw;
	margin: auto;
	position: relative;
}
.shop .col02 .contractor {
	padding: 8vw 0;
}
.shop .col02 .contractor h2 {
	width: 28vw;
	height: 24vw;
	box-sizing: border-box;
	padding: 4vw 0;
	margin: 0 auto 4vw;
	font-size: 2.6vw;
	line-height: 1.3em;
	text-align: center;
	color: #FFF;
	background: url(img2025/staff-h2-bg.svg) center / contain no-repeat;
}
.shop .col02 .contractor h2 span {
	font-size: 3.2vw;
	line-height: 1.3em;
}
.shop .col02 .contractor .slick {
	width: 91vw;
}
.shop .col02 .contractor .slick img {
	width: 27vw;
	height: 30vw;
	object-fit: cover;
	object-position: 50% 0;
}
.shop .col02 .contractor .slick p {
	margin: 5px 0 10px;
	font-size: 14px;
	line-height: 20px;
}
.shop .col02 .contractor .slick p span {
	font-size: 17px;
	line-height: 22px;
}
.shop .col02 .data {
	width: 100%;
}
.shop .col02 .data h2 {
	width: 10vw;
	height: 4.2vw;
	background: url(img2025/shop-data-h2.svg) center top / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin-bottom: 4vw;
}
.shop .col02 .data ul {
	font-feature-settings: 'palt';
	font-size: 3.5vw;
	line-height: 1.8em;
}
.shop .col02 .data ul li {
	display: inline-block;
	margin-right: 20px;
}
.shop .col02 .data iframe {
	margin-top: 8vw;
	width: 100%;
	height: 55vw;
}
.shop .col02 .contact {
	width: 50vw;
	margin: 8vw auto;
	text-align: center;
}
.shop .col02 .contact a {
	font-size: 3.8vw;
	line-height: 14vw;
	text-align: center;
	display: block;
	margin: 0;
	background: #93CBE1;
}
.shop .col02 .contact a.formbot {
	background: #E5A2B5;
	margin: 0 0 4vw;
}
.shop .menu {
	margin: 16vw 6vw 10vw;
}
.shop .menu h2 {
	border-bottom: 1px solid #000;
	height: 8vw;
	background: url(img2025/shop-menu-h2.svg) center top / 56vw auto no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.shop .menu .grade {
	margin: 0;
	padding: 8vw 0;
	position: relative;
	border-bottom: 1px solid #000;
}
.shop .menu .grade h3 {
	width: 30vw;
	height: 30vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: auto;
}
.shop .menu #zerog.grade h3 {
	background: url(img2025/home-menu-zerog.png) center / cover no-repeat;
}
.shop .menu #g10.grade h3 {
	background: url(img2025/home-menu-10g.svg) center / cover no-repeat;
}
.shop .menu #g7.grade h3 {
	background: url(img2025/home-menu-7g.svg) center / cover no-repeat;
}
.shop .menu #g5.grade h3 {
	background: url(img2025/home-menu-5g.svg) center / cover no-repeat;
}
.shop .menu .grade .data {
	width: 100%;
	height: 8vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 6vw 0;
}
.shop .menu #zerog.grade .data {
	background: url(img2025/shop-menu-data-zerog_sp.svg) center bottom / contain no-repeat;
}
.shop .menu #g10.grade .data {
	background: url(img2025/shop-menu-data-10g_sp.svg) center bottom / contain no-repeat;
}
.shop .menu #g7.grade .data {
	background: url(img2025/shop-menu-data-7g_sp.svg) center bottom / contain no-repeat;
}
.shop .menu #g5.grade .data {
	background: url(img2025/shop-menu-data-5g_sp.svg) center bottom / contain no-repeat;
}
.shop .menu .grade img {
	width: 100%;
}
.shop .menu .grade h4 {
	font-size: 4.6vw;
	line-height: 1.4em;
	padding: 4vw 0 2vw;
}
.shop .menu .grade p {
	font-size: 3.2vw;
	line-height: 1.8em;
}

.shop #price {
	width: 100%;
	margin: auto;
}
.shop #price h2 {
	margin: auto;
	width: 100%;
	height: 7vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(img2025/lp_price_h2.svg) center / contain no-repeat;
}
.shop #price .tablewrap {
	width: 100%;
	overflow-x: scroll;
	margin: 5vw 0 2vw;
}
.shop #price table {
	width: 170vw;
	margin: 0 7vw;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.shop #price table tr td {
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	width: calc(170vw / 6);
	font-size: 4vw;
	line-height: 6vw;
	text-align: center;
	padding: 2vw 0;
}
.shop #price table tr td span {
	font-size: 17px;
}
.shop #price ul {
	position: relative;
	width: 86vw;
	height: 26vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(img2025/lp_price_off_sp.svg) center / contain no-repeat;
	margin: auto;
}
.shop #price p {
	margin: 2vw 7vw 0;
}

.shop .cases {
	margin: 6vw;
}
.shop .cases h2 {
	width: 18vw;
	height: 18vw;
	background: url(img2025/shop-case-h2.svg);
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 6vw auto;
}
.shop .cases ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6vw;
}
.shop .cases ul::after {
	content: ' ';
	width: 41vw;
	height: 1px;
}
.shop .cases ul li {
	width: 39vw;
	padding: 0 0 8.2vw 2vw;
	position: relative;
}
.shop .cases ul li a {
	display: block;
	transition: none;
}
.shop .cases ul li {
	display: block;
}
.shop .cases ul li h3 {
	display: none;
}
.shop .cases ul li::before {
	content: ' ';
	width: 24vw;
	height: 22vw;
	position: absolute;
	left: 0;
	bottom: 0;
}
.shop .cases ul li.g5::before {
	background: #D95F29;
}
.shop .cases ul li.g7::before {
	background: #63AE48;
}
.shop .cases ul li.g10::before {
	background: #211816;
}
.shop .cases ul li.zero::before {
	background: #000000;
}
.shop .cases ul li .grade {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 14vw;
	height: 14vw;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
}
.shop .cases ul li.g5 .grade {
	background: url(img2025/home-menu-5g.svg) center / cover no-repeat;
}
.shop .cases ul li.g7 .grade {
	background: url(img2025/home-menu-7g.svg) center / cover no-repeat;
}
.shop .cases ul li.g10 .grade {
	background: url(img2025/home-menu-10g.svg) center / cover no-repeat;
}
.shop .cases ul li.zero .grade {
	background: url(img2025/home-menu-zerog.png) center / cover no-repeat;
}
.shop .cases ul li img {
	width: 100%;
	height: 26.5vw;
	object-fit: cover;
	position: relative;
	z-index: 10;
}
.shop .cases .more {
	display: block;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	width: 20vw;
	height: 12vw;
	background: url(img2025/shop-case-more.svg) center / 9.5vw auto no-repeat;
	margin: auto;
}

.shop #contact {
	background: #E9E6E3;
	padding: 8vw;
	min-width: auto;
	width: 100vw;
	box-sizing: border-box;
}
.shop #contact h2 {
	font-size: 5.5vw;
	font-weight: bold;
	line-height: 1.4em;
	text-align: center;
}
.shop #contact p.intro {
	text-align: center;
	font-size: 3.5vw;
	line-height: 1.5em;
	margin: 3vw 0 7vw;
}
.shop #contact ul.tab-menu {
	text-align: center;
	margin-bottom: 8.6vw;
	display: flex;
	justify-content: space-between;
}
.shop #contact ul.tab-menu li {
	width: 40vw;
	height: 12vw;
	margin: 0;
	display: block;
	position: relative;
	border: 1px solid #000;
	font-size: 3.5vw;
	line-height: 12vw;
	background: #FFF;
}
.shop #contact ul.tab-menu li.active {
	background: #000;
	color: #FFF;
}
.shop #contact ul.tab-menu li.active:after {
	content: " ";
	display: block;
	width: 1px;
	height: 8.6vw;
	border-left: 1px solid #000;
	position: absolute;
	left: 20vw;
	bottom: -8.6vw;
}
.shop #contact dl {
	width: 100%;
	margin: auto;
	display: block;
}
.shop #contact dl dt {
	padding: 7vw 0 4vw;
	border-top: 1px solid #000;
}
.shop #contact dl dd {
	padding: 0 0 7vw;
	width: 100%;
	border-top: none;
}
.shop #contact dl dt h4 {
	font-weight: bold;
	font-size: 4.5vw;
	line-height: 5vw;
	padding: 0 0 0 4.3vw;
	background: url(img2025/lp_form_arrow.svg) left 0.4vw / auto 4.3vw no-repeat;
}
.shop #contact dl dt h4 span {
	display: inline-block;
	background: #FFF;
	padding: 0 6px;
	margin: 0 0 0 2vw;
	font-weight: normal;
	font-size: 3.2vw;
	width: fit-content;
}
.shop #contact dl dt p {
	margin: 10px 0 0;
	width: 100%;
	font-size: 3.4vw;
	line-height: 1.5em;
	text-align: justify;
}
.shop #contact dl dt.full {
	width: 100%;
	padding: 7vw 0 4vw;
}
.shop #contact dl dd.full {
	width: 100%;
	border-top: none;
	padding: 0;
}
.shop #contact dl dd {
	font-size: 4vw;
	line-height: 6vw;
}
.shop #contact dl dd .memo {
	font-size: 3vw;
}
.shop #contact dl dd .memo.block {
	display: block;
}
.shop #contact dl dd ul li {
	margin: 4vw 0 0;
}
.shop #contact dl dd ul li:nth-of-type(1) {
	margin: 0;
}
.shop #contact dd .course .wpcf7-list-item, .shop #contact dd .options .wpcf7-list-item {
	display: block;
	width: auto;
	font-size: 4vw;
}
.shop #contact dl dt.flex {
	width: 100%;
}
.shop #contact dl dd.flex {
	width: 100%;
}
.shop #contact dl dd.flex ul li {
	display: block;
}
.shop #contact dl dd.flex ul li .xname {
	width: auto;
	text-align: left;
}
.shop #contact dl dd.flex ul li .xinput {
	width: auto;
	padding-left: 0;
	text-align: left;
}
.shop #contact .options label {
	display: inline-block;
}
.shop #contact .wpcf7-form dl textarea {
	padding: 5px 10px;
	font-size: 15px;
	line-height: 1.5em;
	width: 100%;
	box-sizing: border-box;
	background: #FFF;
}
.shop #contact .wpcf7-form dl dd input {
	font-size: 15px;
	line-height: 40px;
	background: #FFF;
	padding: 0 10px;
	width: calc(100% - 20px);
}
.shop #contact .wpcf7-form dl dd input#zip {
	width: 10em;
	margin-bottom: 20px;
}
.shop #contact .wpcf7-form span.wpcf7-list-item {
	padding: 2vw 4vw;
	margin: 0 0 5vw 0;
	background: #FFF;
	display: inline-block;
}
.shop #contact .wpcf7-form dl dd.flex ul li span.wpcf7-list-item {
	margin: 0;
}
.shop #contact .wpcf7-form dl dd select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
	line-height: 40px;
	padding: 0 50px 0 10px;
	background: #FFF url(img/lp_contac_pd_arrow.svg) center right 10px / 15px no-repeat;
	overflow: hidden;
}
.shop #contact .wpcf7-form dl dd input[type="checkbox"] {
  position: relative;
  padding: 0;
  width: 3vw;
  height: 3vw;
  border: 1px solid #000;
  vertical-align: -1px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.shop #contact .wpcf7-form dl dd input[type="checkbox"]:checked:before {
  position: absolute;
  top: 0;
  left: 0.4vw;
  transform: rotate(50deg);
  width: 1vw;
  height: 2vw;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}
.shop #contact .wpcf7-form dl dd .wpcf7-date {
		width: 28vw !important;
		margin: 0;
		padding-left: 4vw;
		position: relative;
		background: #FFF url(img/lp_contac_cal.svg) 3vw center / 4vw no-repeat;;
	}
.shop #contact .wpcf7-form dl dd .wpcf7-date::before{
		content: '　';
}
.shop #contact input[type="submit"] {
	width: 46vw;
	font-weight: bold;
    font-size: 5vw;
    color: #FFF;
	display: block;
    padding: 3vw 0px;
    margin: 15vw auto 10px;
    text-align: center;
	background-color: #000;
    border: 1px solid #000;
    border-radius: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 1s;
}
.shop #contact .note {
	font-weight: bold;
	font-size: 4vw;
	line-height: 1.5em;
	text-align: center;
}

/*タブ切り替え全体のスタイル*/
.shop #contact .tabs {
	text-align: center;
	margin-bottom: 8.6vw;
}
/*タブのスタイル*/
.shop #contact .tab_item {
  	width: 40vw;
	height: 12vw;
	margin: 0;
	display: inline-block;
	position: relative;
	border: 1px solid #000;
	font-feature-settings: 'palt';
	font-size: 3.5vw;
	line-height: 12vw;
	background: #FFF;
}
.shop #contact .tab_item:nth-of-type(1) {
	float: left;
}
.shop #contact .tab_item:nth-of-type(2) {
	float: right;
}
/*ラジオボタンを全て消す*/
.shop #contact input[name="tab_item"] {
  display: none;
}
/*タブ切り替えの中身のスタイル*/
.shop #contact .tab_content {
  display: none;
  padding: 8.6vw 0 0;
  clear: both;
  overflow: hidden;
  text-align: left;
}
/*選択されているタブのコンテンツのみを表示*/
#reservation:checked ~ #reservation_content,
#contactus:checked ~ #contactus_content,
#design:checked ~ #design_content {
  display: block;
}
/*選択されているタブのスタイルを変える*/
.shop #contact .tabs input:checked + .tab_item {
  background-color: #000;
  color: #FFF;
}
.shop #contact .tabs input:checked + .tab_item::after {
	content: " ";
	display: block;
	width: 1px;
	height: 8.6vw;
	border-left: 1px solid #000;
	position: absolute;
	left: 20vw;
	bottom: -8.6vw;
}

.shop #contact ul.tab-menu {
	text-align: center;
	margin-bottom: 8.6vw;
	display: flex;
	justify-content: space-between;
}
.shop #contact ul.tab-menu li {
	width: 40vw;
	height: 12vw;
	margin: 0;
	display: block;
	position: relative;
	border: 1px solid #000;
	font-size: 3.5vw;
	line-height: 12vw;
	background: #FFF;
}
.shop #contact ul.tab-menu li.active {
	background: #000;
	color: #FFF;
}
.shop #contact ul.tab-menu li.active:after {
	content: " ";
	display: block;
	width: 1px;
	height: 8.6vw;
	border-left: 1px solid #000;
	position: absolute;
	left: 20vw;
	bottom: -8.6vw;
}

.slist .contents::before {
	display: block;
	content: ' ';
	width: 100%;
	height: 4vw;
	background: url(img2025/top-main-obi.svg) center / cover no-repeat;
}
.slist .special {
	margin: 10vw 4vw;
}
.slist .special h2 {
	font-family: serif;
	font-size: 8.6vw;
	line-height: 1.2em;
	text-align: center;
	margin-bottom: 6vw;
}
.slist .special ul {
	border-top: 1px solid #000;
}
.slist .special ul li {
	border-bottom: 1px solid #000;
	overflow: auto;
	position: relative;
	min-height: 195px;
}
.slist .special ul li a {
	display: block;
	padding: 0 0 4vw;
}
.slist .special ul li a img {
	width: 88vw;
	height: 41vw;
	object-fit: cover;
	margin: auto;
}
.slist .special ul li a h3 {
	font-weight: bold;
	font-size: 5.6vw;
	line-height: 1.4em;
	vertical-align: middle;
	margin: 4vw 2vw 2vw;
}
.slist .special ul li a h3 span {
	font-size: 3.1vw;
	display: inline-block;
}
.slist .special ul li a p {
	font-size: 3.6vwx;
	line-height: 1.8em;
	margin: 2vw;
	text-align: justify;
}
.slist .general {
	margin: 6vw 4vw;
}
.slist .general h2 {
	font-family: serif;
	font-size: 6.8vw;
	line-height: 1.2em;
	text-align: center;
	margin-bottom: 2vw;
}
.slist .general h1 {
	width: fit-content;
	font-size: 4.8vw;
	line-height: 7vw;
	padding: 0 2vw;
	margin: 2vw auto;
	background: #000;
	color: #FFF;
}
.slist .general ul {
	margin-top: 6vw;
}
.slist .general ul li {
	border-bottom: 1px solid #000;
	overflow: auto;
	position: relative;
	margin-bottom: 8vw;
}
.slist .general ul li a {
	display: block;
	padding: 0 0 8vw;
}
.slist .general ul li a .contractor img {
	width: calc(100% - 35px);
	height: 40vw;
	object-fit: cover;
}
.slist .general ul li a .contractor p {
	position: absolute;
	top: 0;
	right: 0;
	width: 35vw;
	height: 40vw;
	background: #000;
	color: #FFF;
	text-align: center;
	font-size: 4.6vw;
	line-height: 1.5em;
	padding-top: 9vw;
	box-sizing: border-box;
}
.slist .general ul li a .contractor p span {
	font-size: 6.7vw;
	line-height: 1.2em;
}
.slist .general ul li a h3 {
	font-weight: bold;
	font-size: 5.2vw;
	line-height: 1.4em;
	vertical-align: middle;
	margin: 4vw 0 4vw 2vw;
}
.slist .general ul li a h3 span {
	font-size: 3.8vw;
	line-height: 1.4em;
	display: block;
}
.slist .general ul li a p.addr {
	font-size: 3.8vw;
	line-height: 1.5em;
	margin: 4vw 2vw;
}
.slist .general ul li a p.service {
	font-feature-settings: 'palt';
	font-size: 3.8vw;
	line-height: 1.5em;
	margin: 4vw 2vw;
}
.slist .general ul li .cmenu {
	width: 68vw;
	margin: 4vw 2vw 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.slist .general ul li .cmenu img {
	width: 14vw;
}
.slist .general ul li .cmenu img.none {
	opacity: 0.2;
}
.slist .general ul li.notfound p {
	padding: 15vw 0;
	text-align: center;
}
.slist .back a {
	display: block;
	width: fit-content;
	padding: 0 4vw;
	text-align: center;
	font-size: 5.2vw;
	line-height: 12vw;
	background: #000;
	color: #FFF;
	margin: 13vw auto;
}

.ss-pref .titlebg, .ss-word .titlebg {
	background: url(img2025/ss-pref-titlebg_sp.jpg) center / cover no-repeat;
	height: 60vw;
	position: relative;
}
.ss-pref .titlebg h2, .ss-word .titlebg h2 {
	width: 54vw;
	height: 13vw;
	background: url(img2025/ss-pref-title-h2.svg) center / cover no-repeat;
	position: absolute;
	bottom: -1vw;
	left: calc(50% - 135px);
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.ss-pref .switch, .ss-word .switch {
	margin: 9vw 6vw;
	display: flex;
	justify-content: space-between;
}
.ss-pref .switch h1 {
	box-sizing: border-box;
	width: 40vw;
	font-size: 4vw;
	line-height: 1.5em;
	padding: 3vw 0;
	text-align: center;
	background: #93CBE1;
}
.ss-pref .switch a {
	box-sizing: border-box;
	width: 40vw;
	font-size: 4vw;
	line-height: 1.5em;
	padding: 3vw 0;
	text-align: center;
	background: #FFF;
	border: 1px solid #000;
	opacity: 0.5;
}
.ss-pref .preflist {
	margin: 9vw 6vw 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.ss-pref .preflist li {
	width: 40vw;
	margin-bottom: 9vw;
}
.ss-pref .preflist li h3 {
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	font-size: 4vw;
	line-height: 1em;
	padding-top: 4vw;
	text-align: center;
	margin-bottom: 4vw;
}
.ss-pref .preflist li a {
	display: block;
	width: fit-content;
	font-size: 3.5vw;
	line-height: 9vw;
	padding-right: 4vw;
	background: url(img2025/ss-pref-a-arrow.svg) right center / auto 3vw no-repeat;
}

.ss-word .switch h1 {
	box-sizing: border-box;
	width: 40vw;
	font-size: 4vw;
	line-height: 1.5em;
	padding: 3vw 0;
	text-align: center;
	background: #FBE334;
}
.ss-word .switch a {
	box-sizing: border-box;
	width: 40vw;
	font-size: 4vw;
	line-height: 1.5em;
	padding: 3vw 0;
	text-align: center;
	background: #FFF;
	border: 1px solid #000;
	opacity: 0.5;
}
.ss-word .sagasu {
	margin: 0 6vw;
	font-size: 4vw;
	line-height: 6vw;
}
.ss-word .sform {
	margin: 0 6vw;
	position: relative;
}
.ss-word .sform p {
	font-size: 3.4vw;
	line-height: 2em;
	padding: 1vw 0;
}
.ss-word .sform form input[type="text"] {
	width: 66vw;
	border: 1px solid #000;
	box-sizing: border-box;
	padding: 0 4vw;
	font-size: 4vw;
	line-height: 14vw;
}
.ss-word .sform form input[type="submit"] {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20vw;
	text-align: center;
	font-size: 4vw;
	line-height: 14vw;
	color: #FFF;
	background: #000;
	border: 1px solid #000;
}


.outline h1 {
	width: 53vw;
	padding: 9vw 0 0;
	margin: 11vw auto 5vw;
	font-size: 3.4vw;
	line-height: 4vw;
	text-align: center;
	background: url(img2025/outline-h1.svg) center top / contain no-repeat;
}
.outline dl {
	margin: 5vw 6vw 0vw;
	text-align: center;
}
.outline dl dt {
	display: block;
	padding: 3vw 0;
	background: #FBE334;
	border-top: 1px solid #000;
	font-size: 3.4vw;
	line-height: 1.5em;
}
.outline dl dd {
	padding: 5vw 0;
	display: block;
	border-top: 1px solid #000;
	font-size: 3.8vw;
	line-height: 1.6em;
}
.outline dl dd ul li {
	font-feature-settings: 'palt';
}


.ambassador .intro {
}
.ambassador .intro h1 {
	width: 100dvw;
	height: 54dvw;
	background: url(img2025/ambassador-main_sp.jpg) center / cover no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.ambassador .intro p {
	font-size: 3.8dvw;
	line-height: 7dvw;
	margin: 6vw;
	text-align: justify;
}
.ambassador .comment {
	margin: 10vw auto;
}
.ambassador .slick {
	margin: 10vw 6vw;
}
.ambassador .slick-next {
	width: 12vw;
	height: 12vw;
	right: -6vw;
}
.ambassador .slick-prev {
	width: 12vw;
	height: 12vw;
	left: -6vw;
	z-index: 99;
}
.ambassador .comment h2 {
	width: 88vw;
	height: 18vw;
	background: url(img2025/ambassador-comment-h2_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 8vw auto 6vw;
}
.ambassador .comment p {
	font-size: 3.8dvw;
	line-height: 7dvw;
	margin: 6vw;
	text-align: justify;
}
.ambassador .anb-movie {
	background: red;
	padding: 10vw 6vw;
}
.ambassador .anb-movie h2 {
	width: 88vw;
	height: 6vw;
	background: url(img2025/ambassador-movie-h2.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 0 auto 6vw;
}
.ambassador .anb-movie ul {
}
.ambassador .anb-movie ul li {
	width: 100%;
	padding-top: 6vw;
}
.ambassador .anb-movie ul li p {
	font-feature-settings: 'palt';
	font-size: 3.4dvw;
	line-height: 5dvw;
	color: #FFF;
	padding-top: 2vw;
}
.ambassador .profile {
	padding: 10vw 6vw 4vw;
}
.ambassador .profile h2 {
	width: 68dvw;
	height: 15dvw;
	background: url(img2025/ambassador-prof-h2_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 0 auto;
}
.ambassador .profile .card {
	width: 54vw;
	margin: 6vw auto 10vw;
	box-sizing: border-box;
	background: #000;
	color: #FFF;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	position: relative;
}
.ambassador .profile .card img {
	width: 54vw;
	height: 44vw;
	object-fit: cover;
}
.ambassador .profile .card h3 {
	font-size: 5.4dvw;
	height: 7.4dvw;
	display: block;
	padding: 5vw 6vw 0;
}
.ambassador .profile .card h3 span {
	font-size: 3.6vw;
}
.ambassador .profile .card p.rome {
	font-size: 3vw;
	height: 5vw;
	padding: 0 6vw 3vw;
}
.ambassador .profile .card p {
	font-size: 3.4vw;
	line-height: 5.4vw;
	padding: 0 6vw 4vw;
}
.ambassador .profile dl {
}
.ambassador .profile dl dt {
	width: 100%;
	padding: 6vw 2vw 3vw;
	box-sizing: border-box;
	border-top: 1px solid #000;
}
.ambassador .profile dl dd {
	width: 100%;
	padding: 3vw 2vw;
	box-sizing: border-box;
	border-top: 1px dotted #000;
}


.casetop::before {
	position: absolute;
	top: 26vw;
	left: 0;
	content: ' ';
	width: 100%;
	height: 58vw;
	background: url(img2025/case-top-bg.jpg) center / cover no-repeat;
	z-index: -1;
}
.casetop h1 {
	width: 74vw;
	height: 58vw;
	background: url(img2025/case-h1_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: auto;
}
.casetop form {
	background: #F3F2F1;
	padding: 10vw 6vw;
}
.casetop form input, .casetop form button, .casetop form textarea, .casetop form select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.casetop .searchandfilter ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.casetop .searchandfilter ul li {
	padding: 0;
}
.casetop .searchandfilter ul li:nth-child(n+2):nth-child(-n+5) {
	display: block;
	width: 43vw;
	padding: 5vw 0 0;
}
.casetop .sf-field-search label {
	display: block;
	margin: 0 auto;
	border: 1px solid #AAA;
	height: 12vw;
	background: #FFF url(img2025/serchbot2.png) left no-repeat;
	background-size: 12vw;
	padding-left: 12vw;
}
.casetop .searchandfilter input[type="text"] {
	border: none;
	border-left: 1px solid #AAA;
	padding: 0 4vw;
	font-size: 3.4vw;
	line-height: 12vw;
	width: 66vw;
	position: relative;
}
.casetop .searchandfilter h4 {
	width: 13vw;
	margin-right: 0px;
	padding: 0;
	text-align: left;
	font-size: 3vw;
	line-height: 10vw;
	display: inline-block;
}
.casetop .searchandfilter li label {
	width: calc(100% - 16vw);
}
.casetop .searchandfilter li:nth-of-type(1) label {
	width: auto;
}
.casetop .searchandfilter select.sf-input-select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: #FFF url(https://haniwaman.com/wp-content/uploads/2018/12/form-css-arrow.png) no-repeat center right 3vw / 3vw 3vw;
  border: 1px solid #AAA;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  line-height: 10vw;
  padding: 0 0.8em;
	width: 100%;
	min-width: 18vw;
  box-sizing: border-box;
  display: inline-block;
}
.casetop .screen-reader-text {
	display: none;
}
.casetop .searchandfilter select::-ms-expand {
  display: none;
}
.casetop .sf-field-submit {
	width: 44vw;
	margin: 6vw auto 0;
}
.casetop .searchandfilter input[type="submit"] {
	padding: 0;
	line-height: 12vw;
	font-weight: bold;
	font-size: 1em;
	width: 100%;
	background: #000;
	color: #FFF;
	text-align: center;
}
.casetop .cases {
	margin: 10vw 6vw 4vw;
}
.casetop .cases h2 {
	width: 18vw;
	height: 18vw;
	background: url(img2025/shop-case-h2.svg);
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 6vw auto;
}
.casetop .cases ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6vw;
}
.casetop .cases ul::after {
	content: ' ';
	width: 41vw;
	height: 1px;
}
.casetop .cases ul li {
	width: 39vw;
	padding: 0 0 8.2vw 2vw;
	position: relative;
}
.casetop .cases ul li a {
	display: block;
	transition: none;
}
.casetop .cases ul li {
	display: block;
}
.casetop .cases ul li h3 {
	display: none;
}
.casetop .cases ul li::before {
	content: ' ';
	width: 24vw;
	height: 22vw;
	position: absolute;
	left: 0;
	bottom: 0;
}
.casetop .cases ul li.g5::before {
	background: #D95F29;
}
.casetop .cases ul li.g7::before {
	background: #63AE48;
}
.casetop .cases ul li.g10::before {
	background: #211816;
}
.casetop .cases ul li.zero::before {
	background: #000000;
}
.casetop .cases ul li .grade {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 14vw;
	height: 14vw;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 6;
}
.casetop .cases ul li.g5 .grade {
	background: url(img2025/home-menu-5g.svg) center / cover no-repeat;
}
.casetop .cases ul li.g7 .grade {
	background: url(img2025/home-menu-7g.svg) center / cover no-repeat;
}
.casetop .cases ul li.g10 .grade {
	background: url(img2025/home-menu-10g.svg) center / cover no-repeat;
}
.casetop .cases ul li.zero .grade {
	background: url(img2025/home-menu-zerog.png) center / cover no-repeat;
}
.casetop .cases ul li img {
	width: 100%;
	height: 26.5vw;
	object-fit: cover;
	position: relative;
	z-index: 5;
}

.casetop .pagenation ul {
	padding: 0;
	margin: 0 0 10vw;
	text-align: center;
	position: relative;
}
.casetop .pagenation ul li {
	line-height: 7.6vw;
	display: inline-block;
	font-family: serif;
}
.casetop .pagenation a, .casetop .pagenation span {
	display: inline-block;
	padding: 0 2vw;
	margin: 0 1vw;
	border-radius: 3px;
	font-size: 4vw;
	line-height: 6vw;
}
.casetop .pagenation span {
	opacity: 0.4;
}
.casetop .pagenation ul li .prev, .casetop .pagenation ul li .next {
	display: block;
	width: 12vw;
	height: 7.6vw;
	background: url(img2025/page-prev_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	padding: 0;
	position: absolute;
	top: 1vw;
	left: 5vw;
	z-index: 10;
}
.casetop .pagenation ul li .next {
	background: url(img2025/page-next_sp.svg) center / contain no-repeat;
	float: right;
	left: auto;
	right: 5vw;
}

.casetop.serch::before {
        height: 77vw;
}
.casetop.serch h1 {
	width: auto;
	height: 2em;
	background: none;
	text-indent: 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5em;
	margin: 6vw auto -6vw;
}
.casetop.serch form {
        background: rgb(255 255 255 / 0.7);
        padding: 8vw 6vw;
}


.casesingle .toplink {
	display: block;
	width: 20vw;
	margin: 8vw auto 6vw;
}
.casesingle h1 {
	text-align: center;
	font-size: 1.8em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
.casesingle .date {
	text-align: center;
	margin: 1vw 0 10vw;
}
.casesingle .before-after, .casesingle .before-after2, .casesingle .after {
	margin: 6vw;
}	
.casesingle .after img {
	max-width: 100%;
	height: auto;
}
.casesingle .base {
	width: auto;
	margin: 0;
	padding: 0 7vw;
	position: relative;
}
.casesingle .base ul {
	width: auto;
	float: none;
}
.casesingle .base ul li {
	font-size: 1em;
	line-height: 1.4em;
	padding: 0 0 5px;
}
.casesingle .base .emb {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 7vw;
	width: 50px;
}
.casesingle .base .comment {
	padding: 7% 0 0;
	margin: 0;
}
.casesingle .base .comment p {
	font-size: 1em;
	line-height: 2em;
	margin: 0 0 1em;
	text-align: justify;
}
.casesingle .base .back {
	position: relative;
	display: block;
	width: 50vw;
	line-height: 14vw;
	background: #FFF;
	color: #000;
	border: 1px solid #000;
	text-align: center;
	margin: 7vw auto 10vw;
}
.casesingle .data {
	border-top: 1px solid #000;
	width: auto;
	margin: 0 7vw;
	padding: 7vw 0;
	overflow: auto;
}
.casesingle .data .shopname {
	float: none;
	width: auto;
}
.casesingle .data h2 {
	font-size: 1.2em;
	line-height: 1.5em;
	margin: 0 0 3vw;
}
.casesingle .data h3 {
	font-size: 1.5em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
.casesingle .data .company {
	margin: 0;
}
.casesingle .data dl {
	width: auto;
	padding: 0;
	margin: 6vw 0;
}
.casesingle .data dl dt {
	float: left;
	width: 20vw;
	font-feature-settings: "palt";
}
.casesingle .data dl dd {
	margin: 0 0 1vw 20vw;
}
.casesingle .data .shopphoto img {
	width: 100%;
	height: auto;
}
.casesingle .data .forshop {
	position: relative;
	display: block;
	width: 50vw;
	line-height: 14vw;
	background: #000;
	color: #FFF;
	text-align: center;
	margin: 9vw auto 3vw;
}


.partners .main {
	padding: 5vw 0 3vw;
	overflow: auto;
	background: #000;
}
.partners .main h1 {
	height: 17vw;
	background: url(img2025/partners-h1_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.partners .main p {
	color: #FFF;
	padding: 3vw 6vw 3vw;
	font-size: 3.4vw;
	line-height: 5vw;
	letter-spacing: 0.07em;
	text-align: justify;
}
.partners .main img {
	width: 100%;
	object-fit: cover;
}
.partners .intro {
	position: relative;
}
.partners .intro p {
	text-align: center;
	width: auto;
	margin: 5vw auto;
	font-size: 4.25vw;
	line-height: 6.75vw;
}
.partners .intro img {
	min-height: auto;
	width: 100%;
}
.partners .intro p {
	width: auto;
	margin: 5vw 5vw 4vw;
	font-size: 4.25vw;
	line-height: 6.75vw;
	text-align: justify;
}
.partners .intro img.deed {
	min-height: auto;
	width: 28vw;
	position: relative;
	bottom: 0;
	right: auto;
	rotate: -5deg;
	margin: 3vw 8vw;
}
.partners .merit {
	width: auto;
	margin: 7vw 5vw;
	padding: 0;
	position: relative;
}
.partners .merit .float01 {
	width: 55vw;
	height: auto;
	position: absolute;
	right: -5vw;
	top: -30vw;
}
.partners .merit h2 {
	width: 31.5vw;
	height: 15.75vw;
	overflow: hidden;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-h2-merit_sp.svg) center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0;
}
.partners .merit ul li {
	margin: 5vw 0 0;
	padding-left: 0;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-merit1_sp.svg) left top / 10vw auto no-repeat;
	text-align: justify;
}
.partners .merit ul li:nth-of-type(2) {
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-merit2_sp.svg) left top / 10vw auto no-repeat;
}
.partners .merit ul li:nth-of-type(3) {
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-merit3_sp.svg) left top / 10vw auto no-repeat;
}
.partners .merit ul li h3 {
	margin: 0 0 1vw 11.25vw;
	font-size: 6.25vw;
	line-height: 7.5vw;
	padding: 3.75vw 0;
}
.partners .merit ul li:nth-of-type(1) h3 {
	padding: 0;
}
.partners .merit ul li p {
	margin: 0;
	font-size: 3.75vw;
	line-height: 6.25vw;
}
.partners .shop-voice {
	width: auto;
	margin: 10vw 5vw;
	position: relative;
}
.partners .shop-voice h2 {
	width: 60vw;
	height: 17.5vw;
	overflow: hidden;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-shopvoice-h2.svg) center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto 3vw;
}
.partners .shop-voice h3 {
	margin: 3vw 0;
	font-weight: bold;
	font-size: 5.25vw;
	line-height: 6.5vw;
}
.partners .shop-voice h3 span {
	font-size: 4vw;
	line-height: 1.5em;
	display: block;
}
.partners .shop-voice ul {
	margin: 6vw 0 0;
	font-weight: bold;
	font-size: 3.75vw;
	line-height: 6vw;
}
.partners .shop-voice p {
	margin: 6vw 0 0;
	font-size: 3.5vw;
	line-height: 6vw;
	text-align: justify;
}
.partners .shop-voice a {
	display: block;
	width: 58vw;
	margin: 6vw auto;
	font-size: 3.5vw;
	line-height: 15vw;
	text-align: center;
	color: #FFF;
	background: #000;
}
.partners .shop-voice img.shopimg01 {
	position: relative;
	width: 100%;
	top: 0;
	right: 0;
	margin: 4vw 0;
}
.partners .shop-voice img.shopimg02 {
	position: relative;
	width: 52.5vw;
	top: auto;
	right: 0;
	left: -5vw;
}
.partners .shop-voice img.shop-flag {
	position: absolute;
	width: 31vw;
	top: auto;
	bottom: -10vw;
	right: 2vw;
}
.partners .col.voice {
	padding: 20vw 0;
	margin: 12vw 0;
	max-width: auto;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-voice-bg_sp.jpg) center top / cover no-repeat;
}
.partners .voice .wrap {
	box-sizing: border-box;
	width: 80vw;
	padding: 7.5vw;
	margin: auto;
	background: #FFF;
}
.partners .voice h2 {
	width: 33vw;
	height: 26vw;
	overflow: hidden;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-voice-h2.svg) center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto 6vw;
}
.partners .voice ul {
	border-top: 1px solid #000;
}
.partners .voice ul li {
	font-size: 3.75vw;
	line-height: 6.25vw;
	text-align: justify;
	margin-top: 6vw;
}
.partners .col.message {
	width: auto;
	margin: 10vw 6vw;
	position: relative;
}
.partners .message h2 {
	width: 82vw;
	height: 7.8vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-messege-h2.svg) center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto 5vw;
}
.partners .message p {
	width: auto;
	text-align: justify;
	font-size: 3.75vw;
	line-height: 6.25vw;
}
.partners .message h3 {
	width: 71vw;
	height: 11.6vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025--messege-h3-tougo.svg) left center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 7vw 0 4vw;
}
.partners .message img.float03 {
	height: 75.25vw;
	width: 43vw;
	object-fit: cover;
	object-position: 100% 0;
	float: left;
	margin: 14vw 0 0 -6vw;
}
.partners .message img.togo-long {
	position: relative;
	width: 46vw;
	height: 91vw;
	object-fit: cover;
	object-position: 100% 0;
	margin: 7vw 0 7vw 42vw;
}
.partners .col.program {
	width: auto;
	margin: 15vw auto;
	padding: 0;
	position: relative;
}
.partners .program h2 {
	width: 84.2vw;
	height: 21.92vw;
	background: url(img2025/partners-program-h2_sp.svg) center / auto 19vw no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto 4vw;
}
.partners .program p.visit {
	font-size: 4.25vw;
	line-height: 6.25vw;
	margin: 6vw 0;
	text-align: center;
}
.partners .program p.visit span {
	font-size: 3.25vw;
	line-height: 4.5vw;
}
.partners .program ul {
	margin: auto;
	width: 85vw;
}
.partners .program ul li {
	position: relative;
	margin: 0 0 10vw;
	padding-left: 0;
	border-left: none;
}
.partners .program ul li .label {
	position: relative;
	top: auto;
	right: auto;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
	border-bottom: 1px solid #000;
}
.partners .program ul li:nth-of-type(1) .label {
	width: 100%;
	height: 10.25vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-program-h3-basis_sp.svg) left top / auto 10.5vw no-repeat;
}
.partners .program ul li:nth-of-type(2) .label {
	width: 100%;
	height: 10.25vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-program-h3-10g_sp.svg) left top / auto 10.5vw no-repeat;
}
.partners .program ul li:nth-of-type(3) .label {
	width: 100%;
	height: 10.25vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-program-h3-zerog_sp.svg) left top / auto 10.5vw no-repeat;
}
.partners .program ul li h3 {
	font-size: 6vw;
	line-height: 7.25vw;
	margin: 4vw 0;
}
.partners .program ul li p {
	font-size: 3.5vw;
	line-height: 6vw;
	margin: 0;
}
.partners .program ul li dl {
	display: block;
	flex-wrap: wrap;
}
.partners .program ul li dl dt {
	position: relative;
	font-size: 3.5vw;
	line-height: 6vw;
	width: auto;
	margin: 1em 0 0;
}
.partners .program ul li dl dt span {
	position: relative;
	padding-right: 0;
	background-color: transparent;
}
.partners .program ul li dl dt::before {
	content: "【";
	display: inline;
	width: auto;
	position: relative;
	margin-top: 0;
	border-top: none;
	font-feature-settings: 'palt';
}
.partners .program ul li dl dt::after {
	content: "】";
}
.partners .program ul li dl dd {
	font-size: 3.5vw;
	line-height: 6vw;
	padding: 0;
	margin: 0 0 0.8em;
}
.partners .program ul li img.float04 {
	position: absolute;
	width: 40vw;
	top: 60vw;
	left: auto;
	right: -7.5vw;
}
.partners .program ul li img.float05 {
	position: absolute;
	width: 40vw;
	top: 66vw;
	left: auto;
	right: -7.5vw;
}
.partners .program ul li img.float06 {
	position: relative;
	display: none;
}
.partners .program ul li img.float07 {
	position: absolute;
	width: 40vw;
	top: 47vw;
	left: auto;
	right: -7.5vw;
}
.partners .col.other {
	width: 85vw;
	margin: -5vw auto -30vw;
	position: relative;
}
.partners .other ul li {
	margin: 19vw 0 0;
}
.partners .other ul li img {
	width: 100%;
	display: block;
	margin: 0 0 4vw;
}
.partners .other ul li:nth-of-type(3) img {
	width: 97vw;
	margin: 0 auto 2vw;
	padding-left: 2vw;
}
.partners .other ul li h2 {
	font-size: 5vw;
	line-height: 1.1em;
	display: inline-block;
}
.partners .other ul li .zuiji {
	font-feature-settings: 'palt';
	font-weight: bolder;
	font-size: 3.5vw;
	line-height: 5vw;
	display: inline-block;
	padding: 0 0.5em;
	background: #000;
	color: #FFF;
	transform: translate(0.5em, -0.2em);
}
.partners .other ul li h3 {
	font-weight: bold;
	font-size: 3.5vw;
	line-height: 5.75vw;
	margin: 0 0 -3vw;
}
.partners .other ul li p {
	font-size: 3.5vw;
	line-height: 5.75vw;
	text-align: justify;
	margin: 3vw 0;
}
.partners .other ul li:nth-of-type(3) a {
	font-size: 4.25vw;
	line-height: 10vw;
	border: 1px solid #000;
	width: fit-content;
	display: block;
	padding: 0 1.7em;
	margin: 5vw auto 0;
}
.partners .other img.othertogo {
	position: relative;
	display: none;
}
.partners .other img.othersign {
	position: relative;
	display: none;
}

.partners .sticky {
	width: 100%;
	height: auto;
	overflow: visible;
}
.partners .stickymenu {
	width: 45vw;
	position: sticky;
	left: calc(100% - 45vw);
	top: 0;
	bottom: 5vw;
}
.partners .stickymenu li {
	margin: 2.5vw 0;
}
.partners .stickymenu li a {
	display: block;
	padding: 0 0 0 4.5vw;
	color: #FFF;
	font-weight: bolder;
	font-size: 4.25vw;
	line-height: 15vw;
	letter-spacing: 0.4em;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/ptns2025-rbot-bg.svg) left center / cover no-repeat;
}


/*craftsman*/
.craftsman h1 {
	width: 100%;
	height: 56.5dvw;
	background: url(img2025/craftsman-h1_sp.jpg) center / cover no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
}
.craftsman .maincopy h2 {
	margin: 6vw 0 6vw;
	height: 13vw;
	background: url(img2025/craftsman-main-h2_sp.svg) center / contain no-repeat;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
}
.craftsman .maincopy p {
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: left;
	padding: 0 7%;
	text-align: justify;
}
.craftsman .maincopy ul {
	margin: 8vw 6vw;
	width: auto;
	flex-wrap: wrap;
	justify-content: space-around;
}
.craftsman .maincopy ul li {
	position: relative;
	margin: 0 0 2vw;
	overflow: auto;
}
.craftsman .maincopy ul li img {
	width: 72vw;
	height: 30vw;
	object-fit: cover;
}
.craftsman .maincopy ul li:nth-of-type(2) img {
	margin-left: 16vw;
}
.craftsman .maincopy ul li p {
	width: 26vw;
	position: absolute;
	text-align: center;
	font-size: 4vw;
	line-height: 16vw;
	top: 7vw;
	right: 0;
	background: #E5A2B5;
	padding: 0;
}
.craftsman .maincopy ul li:nth-of-type(2) p {
	right: auto;
	left: 0;
	background: #FBE334;
}
.craftsman .maincopy ul li:nth-of-type(3) p {
	background: #93CBE1;
}

.col .youtube {
  position: relative;
  width: 88%;
  height: auto;
  margin: 6vw auto;
  padding-top: 49.5%;
}
.col .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


.craftsman .craftman {
	background: #E8E5E2;
	margin: 10vw 0 0;
	padding: 10vw 0 8vw;
}
.craftsman .craftman h2.hikaku {
	font-size: 1.5em;
	line-height: 1.5em;
	margin: 0 auto 4vw;
	text-align: center;
}
.craftsman .craftman .hikaku span {
	font-size: 0.85em;
	margin: 0 0.5em;
}
.craftsman .craftman p {
	margin: 4vw 7vw 0;
	text-align: justify;
}
.craftsman .craftman .hikaku {
	width: 280px;
	margin: 0 auto;
}
.craftsman .craftman .hikaku img {
	width: 280px;
}
.craftsman .craftman ul {
	width: auto;
	margin: 6vw 7vw 4vw;
	overflow: auto;
}
.craftsman .craftman ul li {
	width: 100%;
	float: left;
	padding: 6vw 0;
	border-top: 1px solid #000;
}
.craftsman .craftman ul li:nth-child(2) {
	padding: 6vw 0 0;
}
.craftsman .craftman ul li h3 {
	font-size: 1.2em;
	line-height: 2em;
	padding: 0 0.5em;
	margin: 6vw auto 0;
	width: fit-content;
	background: #000;
	color: #FFF;
}
.craftsman .craftman ul li p {
	margin: 4vw 0 0;
	text-align: center;
}
.craftsman .craftman ul li img {
	width: 90%;
	height: 22.5vw;
	object-fit: cover;
	object-position: 0 50%;
	display: block;
	margin: 0 auto;
}
.craftsman .craftman ul li:nth-of-type(2) img {
	object-position: 100% 50%;
}
.craftsman .craftman a {
	display: block;
	height: 30px;
	width: 220px;
	margin: 20px auto;
	border: 1px solid #000;
}
.craftsman .craftman a img {
	height: 30px;
}


.craftsman .base {
	margin: 0;
	width: auto;
	padding: 7vw;
}
.craftsman .base h2 {
	font-size: 1.5em;
	margin: 7vw 0 4vw;
}
.craftsman .base p {
	float: none;
	width: auto;
}
.craftsman .base ul {
	flex-wrap: wrap;
	justify-content: space-between;
	float: none;
	width: auto;
	padding: 2% 0 0;
}
.craftsman .base ul li {
	width: 49%;
}
.craftsman .base ul li img {
	width: 100%;
	margin: 2% 0;
	display: block;
}

.craftsman .glass {
	margin: 0 0 10vw;
	width: auto;
	padding: 0 7vw;
}
.craftsman .glass .right {
	float: none;
	width: 100%;
}
.craftsman .glass h2 {
	font-size: 1.5em;
	margin: 0 0 4vw;
	padding: 0;
	font-feature-settings: 'palt';
}
.craftsman .glass .mech {
	border-top: 1px solid #000;
	display: block;
	width: 85%;
	padding: 7vw 15vw 0 0;
	margin: 7vw auto 0;
}
.craftsman .glass a.tomenu {
	height: 30px;
	margin: 30px auto 10px;
}
.craftsman .glass a.tomenu img {
	width: 60vw;
	display: block;
	margin: 10vw auto;
}

.craftsman .glass a.bnr700 {
	margin: auto;
	width: 100%;
	border: none;
}
.craftsman .glass a.bnr700 img {
	height: auto;
}


/*zero-G*/
.zero-g .inner {
	background: #000 url(img2025/zero-g-bgimg.jpg) 0vw 29vw / 125vw no-repeat;
	position: relative;
	min-width: 100%;
	width: 100%;
	padding: 1px 0;
}
.zero-g .intro {
	position: relative;
	margin: 14vw 6vw;
	width: 88vw;
	height: 120vw;
}
.zero-g .intro p {
	position: absolute;
	bottom: 25vw;
	left: 2vw;
	width: 16vw;
	height: 48vw;
	background: url(img2025/zero-g-intro-copy_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.zero-g .intro img {
	position: absolute;
	top: 0;
	right: 22vw;
	width: 17vw;
	height: 15vw;
}
.zero-g .intro .work {
	position: absolute;
	top: 0;
	right: 0;
	width: 20vw;
	height: 15vw;
	background: url(img2025/zero-g-work_sp.svg) right center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.zero-g .logo {
	position: absolute;
	top: 12vw;
	left: 7vw;
	display: block;
	width: 43vw;
	margin: auto;
}
.zero-g h1 {
	margin: auto;
	width: 80vw;
	height: 13vw;
	background: url(img2025/zero-g-h1title.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.zero-g .difference {
	margin: 6vw auto;
	width: 90%;
}
.zero-g .difference h2 {
	width: 88vw;
	height: 8vw;
	margin: auto;
	background: url(img2025/zero-g-difference-h2.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.zero-g .difference .coatimg {
	margin: 6vw 0 6vw;
	padding: 6vw 0 0;
	background: url(img2025/zero-g-difference-img-title.svg) center top / 21vw auto no-repeat;
}
.zero-g .difference .coatimg img {
	width: 100%;
}
.zero-g .difference p {
	font-weight: normal;
	font-size: 3.2vw;
	line-height: 1.8em;
	text-align: justify;
	margin: auto;
	width: 70vw;
	color: #FFF;
}
.zero-g ul.point {
	text-align: center;
	margin: 40px auto;
	height: auto;
}
.zero-g ul.point li {
	font-size: 0;
	width: 88vw;
	display: inline-block;
	margin: 0 5vw 9vw;
}
.zero-g ul.point li h3 {
	width: 88vw;
	height: 7vw;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.zero-g ul.point li:nth-of-type(1) h3 {
	background: url(img2025/zero-g-point01.svg) center / auto 3vw no-repeat;
}
.zero-g ul.point li:nth-of-type(2) h3 {
	background: url(img2025/zero-g-point02.svg) center / auto 3vw no-repeat;
}
.zero-g ul.point li:nth-of-type(3) h3 {
	background: url(img2025/zero-g-point03.svg) center / auto 3vw no-repeat;
}
.zero-g ul.point li p {
	display: table-cell;
	width: 88vw;
	height: 17vw;
	background: #FFF;
	font-weight: normal;
	font-size: 3.3vw;
	line-height: 1.5em;
	vertical-align: middle;
}
.zero-g .prtitle {
	margin: 10vw auto 0;
	width: 10vw;
	height: 12vw;
	background: url(img2025/zero-g-price-h2.svg) center bottom / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}

.zero-g .price {
	width: auto;
	margin: 10vw 0;
}
.zero-g .price sankou {
	display: block;
	text-align: center;
	border: 1px solid #333;
	padding: 4vw 0;
	margin: 0 5vw 5vw;
	font-size: 1.3em;
	line-height: 1.5em;
}
.zero-g .price sankou span {
	display: block;
	font-feature-settings: 'palt';
	font-size: 0.6em;
	line-height: 1.5em;
}
.zero-g .price ul {
	display: flex;
	flex-wrap: wrap;
	margin: 10px 5% 20px;
	border-right: none;
}
.zero-g .price ul li {
	padding: 10px 0;
	text-align: center;
	width: 49%;
	font-size: 1.2em;
	line-height: 1.2em;
	border-left: none;
}
.zero-g .price ul li:nth-child(odd) {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.zero-g .price ul li:nth-child(even) {
	border-bottom: 1px solid #000;
}
.zero-g .price ul li:nth-child(-n+2) {
	padding: 5px 0 10px;
}
.zero-g .price ul li:nth-last-child(1) {
	padding: 10px 0 5px;
	border-right: 1px solid #000;
	border-bottom: none;
}
.zero-g .price ul li size {
	display: block;
	line-height: 1.2em;
}
.zero-g .price ul li span {
	font-size: 1.4em;
}
.zero-g a.tomenu img {
	width: 60vw;
	display: block;
	margin: 10vw auto;
}


.menu h1 {
	width: 100%;
	height: 46vw;
	background: url(img2025/menu-h1_sp.jpg) center / cover no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.menu .intro {
	margin: 6vw 6vw 0;
	padding-bottom: 8vw;
}
.menu .intro h2 {
	font-size: 5.4vw;
	line-height: 8vw;
	letter-spacing: 0.3em;
	padding-left: 0.3em;
	margin: 2vw auto 0;
	text-align: center;
}
.menu .intro p {
	margin: 4vw 0;
	font-size: 3.8vw;
	line-height: 7.6vw;
	text-align: justify;
}
.menu .intro ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.menu .intro ul li {
	width: 42vw;
	padding-top: 10vw;
	position: relative;
	margin-bottom: 4vw;
}
.menu .intro ul li h3 {
	position: absolute;
	top:0;
	left: calc(50% - 7.6vw);
	width: 15.2vw;
	height: 15.2vw;
	background: url(img2025/menu-feature01.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu .intro ul li:nth-of-type(2) h3 {
	background: url(img2025/menu-feature02.svg) center / contain no-repeat;
}
.menu .intro ul li:nth-of-type(3) h3 {
	background: url(img2025/menu-feature03.svg) center / contain no-repeat;
}
.menu .intro ul li:nth-of-type(4) h3 {
	background: url(img2025/menu-feature04.svg) center / contain no-repeat;
}
.menu .details {
	margin: 0 6vw;
}
.menu .details .detail {
	padding: 10vw 0;
	position: relative;
	border-top: 1px solid #000;
}
.menu .details .detail h3 {
	width: 30vw;
	height: 30vw;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu .details .detail:nth-of-type(1) h3 {
	background: url(img2025/home-menu-zerog.png)center / cover no-repeat;
}
.menu .details .detail:nth-of-type(2) h3 {
	background: url(img2025/home-menu-10g.svg)center / cover no-repeat;
}
.menu .details .detail:nth-of-type(3) h3 {
	background: url(img2025/home-menu-7g.svg)center / cover no-repeat;
}
.menu .details .detail:nth-of-type(4) h3 {
	background: url(img2025/home-menu-5g.svg)center / cover no-repeat;
}
.menu .details .detail p.meta {
	width: 30vw;
	height: 24vw;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0;
}
.menu .details .detail:nth-of-type(1) p.meta {
	background: url(img2025/menu-meta-zerog.svg)center / contain no-repeat;
}
.menu .details .detail:nth-of-type(2) p.meta {
	background: url(img2025/menu-meta-10g.svg)center / contain no-repeat;
}
.menu .details .detail:nth-of-type(3) p.meta {
	background: url(img2025/menu-meta-7g.svg)center / contain no-repeat;
}
.menu .details .detail:nth-of-type(4) p.meta {
	background: url(img2025/menu-meta-5g.svg?1218)center / contain no-repeat;
}
.menu .details .detail dl {
	padding-top: 2vw;
	width: 94vw;
}
.menu .details .detail dl dt {
	float: left;
	height: 9vw;
	width: 16vw;
	background: url(img2025/menu-point1.svg) center / auto 5vw no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu .details .detail dl dt:nth-of-type(2) {
	background: url(img2025/menu-point2.svg) center / auto 5vw no-repeat;
}
.menu .details .detail dl dt:nth-of-type(3) {
	background: url(img2025/menu-point3.svg) center / auto 5vw no-repeat;
}
.menu .details .detail dl dd {
	display: block;
	margin-bottom: 7px;
	padding: 0 6vw 0 16vw;
	font-feature-settings: 'palt';
	font-weight: bold;
	font-size: 3.8vw;
	line-height: 9vw;
	color: #FFF;
	width: fit-content;
	background: url(img2025/menu-point-bg-10g.svg) right center / auto 9vw no-repeat;
}
.menu .details .detail:nth-of-type(1) dl dd {
	background: url(img2025/menu-point-bg-zerog.png) right center / auto 9vw no-repeat;
}
.menu .details .detail:nth-of-type(3) dl dd {
	background: url(img2025/menu-point-bg-7g.svg) right center / auto 9vw no-repeat;
}
.menu .details .detail:nth-of-type(4) dl dd {
	background: url(img2025/menu-point-bg-5g.svg) right center / auto 9vw no-repeat;
}
.menu .details .detail .chart {
	position: absolute;
	top: 10vw;
	right: 0;
	width: 50vw;
	height: 42.3vw;
	background: url(img2025/menu-chart-zerog.svg) top right / contain no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu .details .detail:nth-of-type(2) .chart {
	background: url(img2025/menu-chart-10g.svg) top right / contain no-repeat;
}
.menu .details .detail:nth-of-type(3) .chart {
	background: url(img2025/menu-chart-7g.svg) top right / contain no-repeat;
}
.menu .details .detail:nth-of-type(4) .chart {
	background: url(img2025/menu-chart-5g.svg) top right / contain no-repeat;
}
.menu .details .detail h4 {
	margin: 4vw 0;
	width: 88vw;
	height: 61.3vw;
	background: url(img2025/menu-img-zerog_sp.jpg) center / cover no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu .details .detail:nth-of-type(2) h4 {
	background: url(img2025/menu-img-10g_sp.jpg) center / cover no-repeat;
}
.menu .details .detail:nth-of-type(3) h4 {
	background: url(img2025/menu-img-7g_sp.jpg) center / cover no-repeat;
}
.menu .details .detail:nth-of-type(4) h4 {
	background: url(img2025/menu-img-5g_sp.jpg) center / cover no-repeat;
}
.menu .details .detail p {
	margin: 4vw 0;
	font-size: 3.8vw;
	line-height: 6.2vw;
	text-align: justify;
}
.menu .details .detail .more {
	display: block;
	width: 72vw;
	height: 10vw;
	margin: 5vw auto;
}
.menu .sankou {
	display: block;
	text-align: center;
	border: 1px solid #333;
	padding: 4vw 0;
	margin: 0 0 5vw;
	font-family: serif;
	font-size: 1.3em;
	line-height: 1.8em;
}
.menu .sankou span {
	display: block;
	font-feature-settings: 'palt';
	font-size: 0.6em;
	line-height: 1.5em;
}
.menu ul.price {
	font-family: serif;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	border-right: none;
}
.menu ul.price li {
	padding: 3vw 0 1vw;
	text-align: center;
	width: 49%;
	font-size: 1.2em;
	line-height: 1.8em;
	border-left: none;
}
.menu ul.price li:nth-of-type(odd) {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.menu ul.price li:nth-of-type(even) {
	border-bottom: 1px solid #000;
}
.menu ul.price li:nth-of-type(-n+2) {
	padding: 2vw 0 1vw;
}
.menu ul.price li:nth-last-of-type(1) {
	padding: 3vw 0 0vw;
	border-right: 1px solid #000;
	border-bottom: none;
}
.menu ul.price li size {
	display: block;
	line-height: 1.2em;
}
.menu ul.price li span {
	font-size: 1.4em;
}


.movies h1 {
	width: 100%;
	height: 46vw;
	background: url(img2025/movies-h1_sp.jpg) center / cover no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.movies .movlist {
	margin: 3vw 6vw;
}
.movies .movlist ul {
	margin-bottom: 10vw;
}
.movies .movlist ul li {
	width: 100%;
	padding-top: 6vw;
}
.movies .movlist ul li img {
	width: 100%;
	height: 49.5vw;
	object-fit: cover;
}
.movies .movlist ul li p {
	font-feature-settings: 'palt';
	font-size: 3.4dvw;
	line-height: 5dvw;
	padding-top: 2vw;
}
.movies .pagenation ul {
	padding: 0;
	margin: 10vw 0 10vw;
	text-align: center;
	position: relative;
}
.movies .pagenation ul li {
	line-height: 7.6vw;
	display: inline-block;
	font-family: serif;
}
.movies .pagenation a, .movies .pagenation span {
	display: inline-block;
	padding: 0 2vw;
	margin: 0 1vw;
	border-radius: 3px;
	font-size: 4vw;
	line-height: 6vw;
}
.movies .pagenation ul li .prev, .movies .pagenation ul li .next {
	display: block;
	width: 12vw;
	height: 7.6vw;
	background: url(img2025/page-prev_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	padding: 0;
	position: absolute;
	top: 1vw;
	left: 5vw;
	z-index: 10;
}
.movies .pagenation ul li .next {
	background: url(img2025/page-next_sp.svg) center / contain no-repeat;
	float: right;
	left: auto;
	right: 5vw;
}


.concept .main {
	width: 100%;
	height: 46dvw;
	background: url(img2025/concept-main.jpg) center / cover no-repeat;
	position: relative;
}
.concept .main::after {
	width: 100%;
	height: 7vw;
	content: ' ';
	background: url(img2025/concept-main-after.svg) right center / cover no-repeat;
	position: absolute;
	bottom: -3.5vw;
	left: 0;
}
.concept .main h1 {
	width: 51vw;
	height: 13.5vw;
	background: url(img2025/concept-h1.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	position: absolute;
	top: calc(50% - 6.75vw);
	left: calc(50% - 25.5vw);
}
.concept .intro {
	margin: 12vw auto 8vw;
}
.concept .intro h2 {
	width: 27vw;
	height: 5.5vw;
	margin: 6vw auto;
	background: url(img2025/concept-intro-h2.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.concept .intro p {
	font-size: 3.8vw;
	line-height: 7vw;
	text-align: justify;
	margin: 6vw 6vw 8vw;
}
.concept .scene {
	margin: 6vw;
	border-top: 1px solid #000;
}
.concept .scene li {
	padding: 6vw 0;
	border-bottom: 1px solid #000;
	overflow: auto;
}
.concept .scene li img {
	width: 100%;
}
.concept .scene li h3 {
	width: 100%;
	height: 14vw;
	background: url(img2025/concept-scene01-h3.svg) left center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 5vw 0;
}
.concept .scene li:nth-of-type(2) h3 {
	background: url(img2025/concept-scene02-h3.svg) left center / contain no-repeat;
}
.concept .scene li p {
	font-size: 3.8vw;
	line-height: 6.2vw;
	text-align: justify;
}
.concept .tomenu {
	display: block;
	width: 50vw;
	margin: 14vw auto 0;
}


/*contact*/
.contact {
	width: auto;
	margin: 0 7%;
}
.contact h1 {
	width: 53vw;
	padding: 9vw 0 0;
	margin: 11vw auto 5vw;
	font-size: 3.4vw;
	line-height: 4vw;
	text-align: center;
	background: url(http://www.up-coat.com/main/wp-content/themes/sonar/img/contact-title.png) center top / auto 7vw no-repeat;
}
.contact .col {
	width: auto;
	margin: 20px auto;
}

.contact .col .contactcopy {
	text-align: left;
	margin: 20px 0;
	font-size: 1.2em;
	line-height: 1.6em;
}
.contact .col .contactcopy span {
	display: inline;
}

.contact .wpcf7-form dl dt {
	margin: 0px;
	padding: 0;
	float: none;
	width: auto;
	clear: left;
	text-align: left;
}

.contact .wpcf7-form dl dd input {
	border: 1px solid #000;
	width: 100%;
	font-size: 1.2em;
	line-height: 1.5em;
	padding: 10px;
	box-sizing: border-box;
}
.contact .wpcf7-form dl dd input[type="text"] {
	border: 1px solid #000;
}
.contact .wpcf7-form dl dd input[type="email"] {
	border: 1px solid #000;
}
.contact .wpcf7-form dl dd input[type="tel"] {
	border: 1px solid #000;
}
.contact .wpcf7-form dl dd input[type="checkbox"] {
	width: auto;
}
.contact .wpcf7-form dl dd select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
	border: 1px solid #000;
	line-height: 2.35em;
	padding: 5px 50px 5px 10px;
	background: url(http://www.up-coat.com/main/wp-content/themes/sonar/img/contact-select-allow.png) center right 14px no-repeat;
	background-size: 10px;
	width: 100%;
	overflow: hidden;
	font-size: 1.2em;
	margin: -5px 0 0;
}
.contact .wpcf7-form dl .accept {
	padding: 10px 0;
}
.contact .wpcf7-form dl .accept .center {
	text-align: center;
	margin: 0px 0 10px;
}
.contact .wpcf7-form dl .accept .pvp {
	margin: 0 20px;
	border: 1px solid #000;
	height: 160px;
	overflow: auto;
}
.contact .wpcf7-form input[type=submit] {
	border: 1px solid #000;
	text-align: center;
	margin: 0 0 20px 260px;
	padding: 10px 60px;
	font-size: 14px;
	line-height: 20px;
	color: #000;
	background: #FFF;
}

.contact span.wpcf7-list-item {
	padding: 3px 10px 0 0;
	margin: 0;
}
.contact .wpcf7-form dl dt.nopad {
	padding: 0;
}
.contact .wpcf7-form dl dt span {
	font-size: 0.8em;
}
.contact .wpcf7-form dl  dd{
	width: 100%;
	margin: 0;
	padding: 0 0 20px;
}
.contact .wpcf7-form dl dd select {
	margin: 0;
	width: 100%;
}
.contact .wpcf7-form dl dd textarea {
	width: 100%;
	box-sizing: border-box;
}
.contact .wpcf7-form dl .accept {
	padding: 0 0 0 2px;
	line-height: 1.5em;
}
.contact .wpcf7-form dl .accept .center {
	text-align: left;
	margin: 0px 0 10px;
}
.contact .wpcf7-form input[type=submit] {
	display: block;
	margin: 6vw auto;
	padding: 0 2em;
	font-size: 1.2em;
	line-height: 10vw;
}


/*privacy*/
.privacy {
	width: auto;
	margin: 0 7vw;
}
.privacy h1 {
	width: 53vw;
	padding: 9vw 0 0;
	margin: 11vw auto 5vw;
	font-size: 3.4vw;
	line-height: 4vw;
	text-align: center;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/privacy-title.png) center top / auto 7vw no-repeat;
}
.privacy .col {
	width: auto;
	margin: 6vw auto;
}
.privacy h2 {
	padding: 0;
	margin: 6vw 0 2vw;
}
.privacy p {
	margin: 0 0 1em;
}
.privacy h4 {
	margin: 2vw 0 0;
}
.privacy h4.nomargin {
	margin: -0.7em 0 0;
}


/*allpost*/
.allpost h1 {
	height: 10vw;
	display: block;
	padding: 8vw 0 0;
	margin: 0 auto 6vw;
	background: url(https://www.up-coat.com/main/wp-content/themes/sonar/img/news-release-title.png) center bottom / auto 10vw no-repeat;	width: 100%;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
}
.allpost {
	width: auto;
	margin: 0 auto 0;
}
.allpost .category-list, .category-list {
	overflow: auto;
	width: 88%;
	margin: 0 0 30px 6%;
	border-right: 1px solid #000;
	box-sizing: border-box;
}
.allpost .category-list li, .category-list li {
	display: block;
	float: left;
	margin: 0;
	width: 33.33%;
	border: 1px solid #000;
	border-right: none;
	box-sizing: border-box;
}
.allpost .category-list li a, .category-list li a {
	display: block;
	border: none;
	margin: 0;
	width: 100%;
	text-align: center;
	font-size: 1em;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-style: italic;
	line-height: 25px;
}
#contents.allpost .col {
	margin: 0px;
	padding: 0;
}
.allpost .col ul {
	margin: 0 auto;
	width: 88vw;
	overflow: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.allpost .col ul li {
	width: 41vw;
	height: auto;
	margin: 0 0 6vw;
	text-align: justify;
}
.allpost .col ul li img {
	width: 100%;
	height: 34vw;
	object-fit: cover;
}
.allpost .col ul li .date {
	font-size: 0.9em;
	margin: 5px 0 0;
}
.allpost .col ul li h2 {
	line-height: 1.4em;
}
.allpost .pagenation {
	padding: 0;
	margin: 5vw 0 10vw;
	text-align: center;
	position: relative;
}
.allpost .pagenatio {
	line-height: 7.6vw;
	display: inline-block;
	font-family: serif;
}
.allpost .pagenation a, .allpost .pagenation span {
	display: inline-block;
	padding: 0 2vw;
	margin: 0 1vw;
	border-radius: 3px;
	font-size: 4vw;
	line-height: 6vw;
	vertical-align: middle;
}
.allpost .pagenation a.prev, .allpost .pagenation a.next {
	width: 12vw;
	height: 7.6vw;
	background: url(img2025/page-prev_sp.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	padding: 0;
	position: absolute;
	top: 1vw;
	left: 5vw;
	z-index: 10;
}
.allpost .pagenation a.next {
	background: url(img2025/page-next_sp.svg) center / contain no-repeat;
	float: right;
	left: auto;
	right: 5vw;
}


/*newssingle*/
.newssingle {
	width: auto;
	margin: 0 7%;
}
.newssingle .aplink {
	width: 100%;
	padding: 8vw 0 0;
	text-align: center;
}
.newssingle .aplink img {
	height: 10vw;
	display: block;
	margin: 0 auto 6vw;
}
.newssingle .category-list {
	width: 100%;
	margin: 0 0 30px;
}
.newssingle .title {
	display: block;
	margin: 10px auto 0;
	height: 25px;
}
.newssingle .date {
	text-align: center;
	margin: 5px 0 10px;
}
.newssingle h1 {
	text-align: center;
	font-size: 1.8em;
	line-height: 1.5em;
	margin: 4vw auto;
	padding: 0;
}
.newssingle p {
	width: auto;
	margin: 1em 0;
}
.newssingle img {
	display: block;
	margin: auto;
	width: auto;
	height: auto;
	max-width: 100%;
}
.newssingle .pagebot {
	width: auto;
	padding: 0;
	overflow: auto;
	display: block;
	margin: 7% auto;
}
.newssingle .pagebot li {
	float: right;
}
.newssingle .pagebot li:first-child {
	float: left;
}
.newssingle .pagebot li img {
	height: 30px;
}


.send .inner {
	text-align: center;
	margin: calc(40dvh - 5em) auto 0;
}
.send .inner p {
	font-size: 1.2em;
	line-height: 2em;
}
.send .inner input {
	line-height: 3em;
	padding: 0 2em;
	margin-top: 1em;
	border: 1px solid #000;
	background: #FFF;
}


.backtotop {
	position: relative;
	left: 84vw;
	width: 16vw;
	height: 16vw;
	margin: 0 0 4vw;
}
.backtotop a {
	display: block;
	width: 16vw;
	height: 16vw;
	background: url(img2025/back-to-top.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	border-radius: 3vw;
}


#foot {
	border-top: 1px solid #000;
	height: 28vw;
	position: relative;
}
#foot h2 {
	width: 45vw;
	height: 7vw;
	background: url(img2025/up-logo-bk.svg) center / contain no-repeat;
	text-indent: 100%;
	white-space:nowrap;
	overflow:hidden;
	margin: 5vw auto 3vw;
}
#foot .copyright {
	font-size: 3.2vw;
	line-height: 1.5em;
	text-align: center;
}

/*ALL MENU*/

.hbgmenu {
	position: fixed;
	top: 0;
	right: 0;
	width: 8vw;
	padding: 3.5vw;
	z-index: 9999;
	cursor: pointer;
}

#allmenu2025 {
	background: #EEE;
	visibility: hidden;
	opacity:0;
	position:fixed;
	top: -5vw;
	width: 100%;
	height: 100%;
	transition: all .2s ease-out;
	z-index: 99999;
	overflow: scroll;
	padding: 3vw 5vw 5vw;
	box-sizing: border-box;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
#allmenu2025::-webkit-scrollbar {
	display: none;
}
#allmenu2025.open{
	visibility: visible;
	opacity:1;
	top: 0;
}
#allmenu2025 h3 {
	border-bottom: 1px solid #FFF;
	font-weight: bold;
	font-size: 3.2vw;
	line-height: 1.5em;
	padding: 5vw 3vw 2vw 3vw;
}
#allmenu2025 ul li {
	border-bottom: 1px solid #FFF;
	font-size: 4vw;
	line-height: 1.5em;
}
#allmenu2025 ul li.nohr {
	border-top: none;
}
#allmenu2025 ul li a {
	display: block;
	padding: 3vw 3vw 3vw 6vw;
	background: url(img2025/menu-icon-arrow.svg) 2vw center / auto 3vw no-repeat;
}

#allmenu2025 .close {
	position: fixed;
	top: 0;
	right: 0;
	width: 8vw;
	padding: 3.5vw;
	z-index: 9999;
	cursor: pointer;
}

#end{}
}
