/*=============================================================
  common.css
---------------------------------------------------------------

1. common layout
2. header
3. footer
4. home
5. polishing
6. coating
7. diamond-9h
8. nq-s96
9. kubebond
10. crystal su
11. headlight repair
12. contact
13. thanks
14. company
15. media query
16. helper

===============================================================
1. common layout
=============================================================*/
.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}
.pc {
	display: inline-block;
}
.sp {
	display: none;
}
#contents {
	position: relative;
	z-index: 1;
}
#visual {
	width: 100%;
	overflow: hidden;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}
#icon-scroll {
	position: absolute;
	left: 40px;
	bottom: 40px;
	z-index: 2;
    transition: all ease 1400ms;
    transition-delay: 900ms;
    opacity: 0;
}
.loaded #icon-scroll {
    opacity: 0.9999;
}
#icon-scroll img {
    display: block;
	width: 120px;
	padding-left: 20px;
}
#icon-scroll span {
	display: block;
	width: 2px;
	height: 8px;
	background: #fff;
	position: absolute;
	z-index: 1;
}
.loaded #icon-scroll span:nth-of-type(1) {
	animation: scroll-dot linear infinite 1500ms;
}
.loaded #icon-scroll span:nth-of-type(2) {
	animation: scroll-dot linear infinite 1500ms 120ms;
}
.loaded #icon-scroll span:nth-of-type(3) {
	animation: scroll-dot linear infinite 1500ms 240ms;
}
.loaded #icon-scroll span:nth-of-type(4) {
	animation: scroll-dot linear infinite 1500ms 360ms;
}
.loaded #icon-scroll span:nth-of-type(5) {
	animation: scroll-dot linear infinite 1500ms 480ms;
}
.loaded #icon-scroll span:nth-of-type(6) {
	animation: scroll-dot linear infinite 1500ms 600ms;
}

@keyframes scroll-dot {
	0%{ top: -30px; opacity: 0; transform: rotate(45deg) rotateY(0); }
	30%{ top: 0px; opacity: 1; }
	60%{ top: 30px; opacity: 0; transform: rotate(45deg) rotateY( 360deg ); }
	100%{ top: 30px; opacity: 0; }
}
#video,
.black {
    min-width: 100%;
    min-height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    background: #000;
}
#video-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
}
#video {
    z-index: 0;
}
.mobile #video {
	display: none;
}
.black {
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.6;
	z-index: 1;
}

.box-video {
    margin-bottom: 40px;
}
.box-video.mb-plus {
    margin-bottom: 50px;
}
.box-video,
.box-video video {
    width: 100%;
}
.central {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX( -50% ) translateY( -50% );
	-webkit-transform: translateX( -50% ) translateY( -50% );
	-moz-transform: translateX( -50% ) translateY( -50% );
	-ms-transform: translateX( -50% ) translateY( -50% );
}
.central-y {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY( -50% );
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
}
#loading {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	z-index: 100;
	transition: all ease 1000ms;
}
.pages.loaded #loading {
	opacity: 0;
	visibility: hidden;
}
.inner {
	width: 90%;
	margin: 60px auto;
}
.inner.mt-0 {
    margin-top: 0;
}
.inner.mb-0 {
    margin-bottom: 0;
}
.inner.mb-super-minus {
    margin-bottom: 10px;
}
.inner > h1 {
	margin-bottom: 25px;
	line-height: 1.6;
	text-align: center;
	font-size: 30px;
	font-weight: normal;
	letter-spacing: 3px;
}
.inner > h1.mb-minus {
    margin-bottom: 20px;
}
.inner > h1.mb-minus-more {
    margin-bottom: 15px;
}
.inner > h1.mb-minus-super {
    margin-bottom: 10px;
}
.inner > h1.mb-minus-super-ex {
    margin-bottom: 5px;
}
.inner > h1.mb-0 {
    margin-bottom: 0;
}
.inner > h1 span {
	font-size: 17px;
	position: relative;
	top: -9px;
}
.inner > h2 {
	margin-bottom: 22px;
	text-align: center;
	font-size: 24px;
	line-height: 1.7;
	letter-spacing: 3px;
	font-weight: normal;
}

.inner .mini-section {
    margin-bottom: 32px;
}

.inner .mini-section h1 {
    margin-bottom: 20px;
    line-height: 1.6;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 2px;
    text-align: center;
}

.inner .mini-section h1.mb-plus {
    margin-bottom: 30px;
}

.inner .mini-section h1.mb-plus-more {
    margin-bottom: 40px;
}

.inner p,
.simple-list-01 li,
.inner dl {
	font-size: 17px;
	text-align: center;
	line-height: 2.2;
	letter-spacing: 3px;
}
.simple-list-01 li {
    text-align: left;
}
.simple-list-01.flexible li {
    font-size: clamp(17px,1.4vw,27px);
}
.inner p {
	margin-bottom: 18px;
}
.inner p.mb-plus {
	margin-bottom: 30px;
}
.inner p.mb-0 {
	margin-bottom: 0;
}

.inner p.mini {
	font-size: 16px;
}

.box-img {
	width: 50%;
	height: 100%;
	position: absolute;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
a {
	color: #fff;
	text-decoration: none;
}
a:hover {
	color: rgba( 0, 87, 82, 1 );
}
a.text-link {
	text-decoration: underline;
}
img {
	width: 100%;
}
.note-list {
	margin-bottom: 27px;
	text-align: center;
	font-size: 13px;
	color: #fff;
	opacity: 0.65;
	line-height: 2;
	letter-spacing: 2px;
}
.note-list li::before {
	display: inline-block;
	content: "＊";
}
.line {
	position: relative;
	display: block;
	width: 100%;
	height: 1px;
	padding-bottom: 1px;
}
.line::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 1px;
	background: rgba( 255,255,255,0.2 );
	position: absolute;
	top: 0;
	left: 50%;
	transition: all ease 400ms;
	transition-delay: 400ms;
}
.active.line::after {
	width: 100%;
	left: 0;
}

/*
* text style
*/

.yellow {
	font-weight: bold;
	color: #EAD100;
}



/*
* motion part
*/
.motion {
	transform: translateY( 40px );
	transition: all ease 700ms;
	opacity: 0;
}
.motion.active {
	transform: translateY( 0 ) ;
	opacity: 1;
}
.delay-01 {
	transition-delay: 200ms;
}
.delay-02 {
	transition-delay: 400ms;
}
.delay-03 {
	transition-delay: 600ms;
}

/*
* banner-area
*/

#contact #part-banner-area,
#mail #part-banner-area,
#thanks #part-banner-area {
    display: none;
}

#part-banner-area {
    border-top: solid 1px rgba( 255,255,255,0.2 );
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#part-banner-area aside {
    max-width: 1200px;
    margin: 0 auto;
}

#part-banner-area ul {
    display: flex;
    flex-direction: row;
}

#part-banner-area p {
    text-align: center;
}

#part-banner-area ul li {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

#part-banner-area ul li:nth-of-type( 1 ) {
    padding-right: 15px;
}

#part-banner-area ul li:nth-of-type( 2 ) {
    padding-left: 15px;
}

#part-banner-area ul li a {
    display: block;
}

#part-banner-area ul li a,
#part-banner-area ul li a:hover {
    color: #fff;
}

#part-banner-area ul li span {
    width: 100%;
    display: inline-block;
    font-size: clamp( 14px, 1.5vw, 17px );
    line-height: 1.6;
    letter-spacing: 1px;
}

#part-banner-area .box-img {
    width: 100%;
    height: auto;
    padding-top: 55%;
    margin-bottom: 15px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#part-banner-area .box-img::before {
    width: 100%;
    height: 100%;
    display: inline-block;
    content: "";
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 4px rgba( 66, 164, 158, 0.9 );
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    transition: all ease 300ms;
    transform: scale( 0.95 );
    border-radius: 40px;
    opacity: 0;
}

#part-banner-area a:hover .box-img::before {
    border: solid 5px rgba( 66, 164, 158, 0.9 );
    transform: scale( 1.00001 );
    border-radius: 0;
    opacity: 0.99999;
}

#part-banner-area ul li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/shared/banner-01.jpg );
}

#part-banner-area ul li:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/shared/banner-02.jpg );
    background-position: center top;
}

/*
 * .flex-wrapper
 */

.flex-wrapper {
    display: flex;
    flex-direction: row;
}

.flex-wrapper li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.flex-wrapper.bottle-desc li {
    display: flex;
    flex-direction: row;
    width: 50%;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    text-align: left;
}

.flex-wrapper.bottle-desc li section {
    width: 100%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

.flex-wrapper.bottle-desc li:nth-child( odd ) section {
    padding-right: 20px;
}

.flex-wrapper.bottle-desc li:nth-child( even ) section {
    padding-left: 20px;
}

.flex-wrapper.bottle-desc li img,
.flex-wrapper.bottle-desc li .box-text {
    float: left;
}

.flex-wrapper.bottle-desc li img {
    width: 25%;
    height: auto;
}

.flex-wrapper.bottle-desc li .box-text {
    width: calc( 75% - 30px );
    padding-top: 2em;
    padding-left: 30px;
}

.flex-wrapper.bottle-desc li:nth-child( odd ) .box-text {
}

.flex-wrapper.bottle-desc li .box-text h1,
.flex-wrapper.bottle-desc li .box-text p {
    text-align: left;
}

/*
 *  .row
 */

.row {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.row.with-img .inner {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

/*
 * .row.with-img
 */

/*
.row.with-img .inner.divi {
    width: 95%;
    max-width: initial !important;
}

.row.with-img.img-right .inner.divi {
    margin-left: 5%;
    margin-right: 0;
}

.row.with-img.img-left .inner.divi {
    margin-left: 0;
    margin-right: 0;
}
*/

.row.with-img {
    overflow: hidden;
}

.row.with-img .inner.divi .box-img {
    width: 60%;
}

.row.with-img .inner > .box-img {
    width: 50%;
}

.row.with-img .box-img {
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.row.with-img .box-text {
    width: 45%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.row.with-img .box-text h1,
.row.with-img .box-text p {
    text-align: left;
}

.row.with-img .box-text h1 {
    margin-bottom: 30px;
    font-size: clamp(19px, 2.5vw, 33px);
    font-weight: normal;
    line-height: 1.6;
}

.row.with-img.img-left .inner.divi .box-text {
    width: 42%;
    margin-left: 58%;
}

.row.with-img.img-left .inner.divi > .box-img {
    left: -10%;
}

.row.with-img.img-right .inner > .box-img {
    left: 50%;
}

/*
 * .pa-wrapper
 */

.row .pa-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.row .pa-wrapper .box-img {
    width: 100%;
    height: 100%;
    padding-top: 0;
    -webkit-background-size: contain;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.row.with-img.img-left .box-text {
    width: 45%;
    margin-left: 55%;
}

/*
 *  .row.fit-double
 */
.row.fit-double .lefter,
.row.fit-double .righter {
    width: 50%;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

.row.fit-double .lefter {
    padding-top: 50%;
    background-image: url( /common/img/coating/nq-s96/car-drop-img.jpg?v01 );
}

.row.fit-double .righter {
    height: 100%;
    background-image: url( /common/img/coating/nq-s96/back-paper.jpg );
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    overflow: hidden;
}

.row.fit-double .righter .img-cap {
    padding: 1vw;
    border: solid 1px #fff;
    margin: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    line-height: 1;
    font-size: 1.2vw;
    color: #fff;
    white-space: nowrap;
}

.row.fit-double .righter .box-cap {
    width: 100%;
    padding: 3vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;
    text-align: left;
}

.row.fit-double .righter .box-cap h1,
.row.fit-double .righter .box-cap p {
    line-height: 1;
    white-space: nowrap;
}

.row.fit-double .righter .box-cap h1 {
    margin-bottom: 1vw;
    color: #47afc3;
    font-size: clamp( 20px, 2.8vw, 80px );
}

.row.fit-double .righter .box-cap p {
    font-size: clamp( 14px, 1.9vw, 30px );
}

.row.fit-double .righter .car-body {
    width: 100%;
    height: 100%;
    background: url( /common/img/coating/nq-s96/metal.png?01 ) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

/*
@keyframes drop-flow {
    0%{ transform: translateY( -110% ); padding-top: 100%; opacity: 0; }
    1%{ transform: translateY( -110% ); padding-top: 100%; opacity: 0; }
    2%{ transform: translateY( -110% ); padding-top: 100%; opacity: 0.99999; }
    99%{ transform: translateY( 300% ); padding-top: 180%; opacity: 0.99999; }
    100%{ transform: translateY( 300% ); padding-top: 180%; opacity: 0; }
}
*/

.row.fit-double .righter .drop-asset {
    width: 40%;
    position: absolute;
    top: 14%;
    left: -40%;
    z-index: 2;
    opacity: 0;
    overflow: hidden;
}

.row.fit-double .righter .drop-asset img {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    vertical-align: top;
}

.row.fit-double .righter .drop-asset img:nth-of-type( 2 ) {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    transform: translateX( 10% ) rotate( 20deg ) scale( 0.8 );
    opacity: 0.99;
}

@keyframes drop-flow-02 {
    0%{ top: 8%; left: -40%; opacity: 0; }
    1%{ top: 8%; left: -40%; opacity: 0; }
    2%{ top: 8%; left: -40%; opacity: 0.99999; }
    99%{ top: 48%; left: 110%; opacity: 0.99999; }
    100%{ top: 48%; left: 110%; opacity: 0; }
}

.loaded-alt .row.fit-double .righter .drop-asset {
    animation: drop-flow-02 ease infinite 8000ms;
}

@keyframes drop-light-02 {
    0%{ transform: translateX( 10% ) rotate( 20deg ) scale( 0.8 ); opacity: 0.99; }
    100%{ transform: translateX( -13% ) rotate( -280deg ) scale( 0.8 ); opacity: 0.99; }
}

.loaded-alt .row.fit-double .righter .drop-asset img:nth-of-type( 2 ) {
    animation: drop-light-02 ease-in-out infinite 8000ms;
}

.row.fit-double .righter .dust-asset {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0.00001;
    overflow: hidden;
}

.loaded-alt .row.fit-double .righter .dust-asset {
    animation: dust-appear linear infinite 8000ms;
}

@keyframes dust-appear {
    0%{ opacity: 0.00001; }
    4%{ opacity: 0.99; }
    90%{ opacity: 0.99; }
    100%{ opacity: 0.00001; }
}

.row.fit-double .righter .dust-asset .dust-outer {
    width: 17%;
    height: 17%;
    position: absolute;
    z-index: 2;
    /* overflow: hidden; */
}

.row.fit-double .righter .dust-asset .dust-outer img {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 1 ) {
    top: 41%;
    left: 10%;
}

.row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 2 ) {
    top: 45%;
    left: 30%;
}

.row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 3 ) {
    top: 53%;
    left: 50%;
}

.row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 4 ) {
    top: 56%;
    left: 70%;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 1 ) {
    animation: dust-flow-01 ease infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 1 ) img {
    animation: dust-turn-right-01 ease-in-out infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 2 ) {
    animation: dust-flow-02 ease infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 2 ) img {
    animation: dust-turn-right-02 ease-in-out infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 3 ) {
    animation: dust-flow-03 ease infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 3 ) img {
    animation: dust-turn-right-03 ease-in-out infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 4 ) {
    animation: dust-flow-04 ease infinite 8000ms;
}

.loaded-alt .row.fit-double .righter .dust-asset .dust-outer:nth-of-type( 4 ) img {
    animation: dust-turn-right-04 ease-in-out infinite 8000ms;
}

@keyframes dust-flow-01 {
    0%{ transform: translateX( 0 ) translateY( 0 ); }
    5%{ transform: translateX( 0 ) translateY( 0 ); }
    15%{ transform: translateX( 0 ) translateY( 0 ); }
    90%{ transform: translateX( 600% ) translateY( 80% ); }
    100%{ transform: translateX( 600% ) translateY( 80% ); }
}

@keyframes dust-flow-02 {
    0%{ transform: translateX( 0 ) translateY( 0 ); }
    5%{ transform: translateX( 0 ) translateY( 0 ); }
    22%{ transform: translateX( 0 ) translateY( 0 ); }
    90%{ transform: translateX( 600% ) translateY( 120% ); }
    100%{ transform: translateX( 600% ) translateY( 120% ); }
}

@keyframes dust-flow-03 {
    0%{ transform: translateX( 0 ) translateY( 0 ); }
    5%{ transform: translateX( 0 ) translateY( 0 ); }
    29%{ transform: translateX( 0 ) translateY( 0 ); }
    90%{ transform: translateX( 600% ) translateY( 100% ); }
    100%{ transform: translateX( 600% ) translateY( 100% ); }
}

@keyframes dust-flow-04 {
    0%{ transform: translateX( 0 ) translateY( 0 ); }
    5%{ transform: translateX( 0 ) translateY( 0 ); }
    36%{ transform: translateX( 0 ) translateY( 0 ); }
    90%{ transform: translateX( 600% ) translateY( 100% ); }
    100%{ transform: translateX( 600% ) translateY( 100% ); }
}

@keyframes dust-turn-right-01 {
    0%{ transform: rotate( 0deg ); }
    18%{ transform: rotate( 0deg ); }
    70%{ transform: rotate( 660deg ); }
    100%{ transform: rotate( 660deg ); }
}

@keyframes dust-turn-right-02 {
    0%{ transform: rotate( 0deg ); }
    25%{ transform: rotate( 0deg ); }
    70%{ transform: rotate( 660deg ); }
    100%{ transform: rotate( 660deg ); }
}

@keyframes dust-turn-right-03 {
    0%{ transform: rotate( 0deg ); }
    32%{ transform: rotate( 0deg ); }
    70%{ transform: rotate( 660deg ); }
    100%{ transform: rotate( 660deg ); }
}

@keyframes dust-turn-right-04 {
    0%{ transform: rotate( 0deg ); }
    39%{ transform: rotate( 0deg ); }
    70%{ transform: rotate( 660deg ); }
    100%{ transform: rotate( 660deg ); }
}

.row.fit-double .righter .dust-remain {
    width: 100%;
    height: 33.33333%;
    position: absolute;
    top: 33.33333%;
    left: 0;
    z-index: 1;
    transform: translateY( 0 );
    opacity: 0;
    overflow: hidden;
}

.loaded-alt .row.fit-double .righter .dust-remain {
    animation: dust-remain-flow ease-in-out infinite 8000ms;
}

@keyframes dust-remain-flow {
    0%{ transform: translateY( 0 ); opacity: 0; }
    5%{ transform: translateY( 0 ); opacity: 0.99; }
    48%{ transform: translateY( 0 ); opacity: 0.99; }
    75%{ transform: translateY( 110% ); opacity: 0.99; }
    96%{ transform: translateY( 110% ); opacity: 0.99; }
    100%{ transform: translateY( 110% ); opacity: 0; }
}

.row.fit-double .righter .dust-remain img {
    height: auto;
    position: absolute;
    z-index: 1;
}

.row.fit-double .righter .dust-remain img:nth-of-type( 1 ) {
    width: 2%;
    left: 5%;
    top: 74%;
}

.loaded-alt .row.fit-double .righter .dust-remain img {
    animation: dust-remain-turn-left ease-in-out infinite 8000ms;
}

@keyframes dust-remain-turn-left {
    0%{ transform: rotate( 0deg ); }
    49%{ transform: rotate( 0deg ); }
    80%{ transform: rotate( -560deg ); }
    100%{ transform: rotate( -560deg ); }
}

/*
* pages
*/
.pages #main-header #logo-box {
	max-width: 400px;
	top: 30px;
	left: 30px;
}
.pages #icon-scroll {
	left: 40px;
	bottom: 40px;
}
.pages #main-header h1 img:nth-of-type(1),
.pages #main-header h1 span {
	display: none;
}
.pages #visual::before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba( 0,0,0,0.5 );
}
.pages #visual > h1 {
	width: 50%;
	max-width: 900px;
}
.pages #visual > h1 img {
	width: 100%;
	opacity: 0;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.pages #visual > h1 img:nth-of-type(1) {
	position: relative;
	top: 30px;
	transition: all ease 400ms;
	transition-delay: 1200ms;
}
.pages.loaded #visual > h1 img:nth-of-type(1) {
	top: 0;
	opacity: 1;
}
.pages #visual > h1 img:nth-of-type(2) {
	position: absolute;
	top: 40px;
	left: 0;
}
.pages.loaded #visual > h1 img:nth-of-type(2) {
	animation: visual-lines ease-out forwards 1100ms;
	animation-delay: 600ms;
	-webkit-animation-delay: 600ms;
}
@keyframes visual-lines {
	0% { opacity: 0; top: 200%; height: 0; }
	50% { opacity: 1; top: -20%; height: 200%; }
	100% { opacity: 0; top: -140%; height: 0; }
}

/*
* box-gallery
*/
.box-gallery ul li {
	width: 33.3%;
	display: inline-block;
}
.box-gallery ul li div {
	position: relative;
	padding-top: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.box-gallery ul li div img {
	position: absolute;
}
.box-gallery ul li div img:nth-of-type(1) {
	width: 0;
	height: 100%;
	opacity: 0.8;
	top: 0;
	left: 0;
}
.box-gallery ul li div:hover img:nth-of-type(1) {
	animation: shooting-star-top ease-in 1200ms forwards; 
}
@keyframes shooting-star-top {
	0% { width: 0; margin-left: -20%; }
	50% { width: 100%; margin-left: 50%; }
	100% { width: 100%; margin-left: 120%; }
}

.box-gallery ul li div a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*
* toggle-img-box
*/
.toggle-img-box {
	width: 100%;
	margin: 0 auto 20px;
}
.toggle-img-box .imgs {
	position: relative;
	margin-bottom: 2.5%;
	overflow: hidden;
}
.toggle-img-box .imgs .toggle-window {
	width: 0;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	transition: all ease 800ms;
}
.toggle-img-box.active .imgs .toggle-window {
	width: 50%;
	transition-delay: 500ms;
}
.toggle-img-box .imgs .toggle-window::after {
	display: block;
	content: "";
	width: 1px;
	height: 100%;
	background: rgba( 0,0,0,0.3 );
	position: absolute;
	top: 0;
	right: 0;
}
.toggle-img-box.active.full-before .imgs .toggle-window {
	width: 100%;
	transition-delay: 0ms;
}
.toggle-img-box.active.no-before .imgs .toggle-window {
	width: 0;
	transition-delay: 0ms;
}
.toggle-img-box .toggle-btn,
.toggle-img-box .toggle-btn span {
	transition: all ease 400ms;
	letter-spacing: 3px;
}
.toggle-img-box .toggle-btn {
	display: inline-block;
	width: 49%;
	padding: 25px 0;
	border: 5px solid #fff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.toggle-img-box .toggle-btn.after-btn {
	left: 2%;
}
.toggle-img-box .toggle-btn:hover {
	background: rgba( 255,255,255,0.4 );
}
.toggle-img-box.full-before .toggle-btn.before-btn,
.toggle-img-box.no-before .toggle-btn.after-btn {
	color: #000;
	background: rgba( 255,255,255,0.8 );
	letter-spacing: 12px;
}

/*
* img-row
*/
.img-row {
	width: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.img-row > img:nth-of-type(2),
.img-row div {
	position: absolute;
	left: 0;
}
.img-row div {
	width: 100%;
	height: 0;
	overflow: hidden;
	transition: all ease-in 500ms;
	transition-delay: 1400ms;
}
.img-row div:nth-of-type(1) {
	top: 0;
}
.img-row div:nth-of-type(2) {
	bottom: 0;
}
.img-row div:nth-of-type(2) img {
	position: absolute;
	left: 0;
	bottom: 0;
}
.img-row > img {
	top: 0;
	opacity: 0;
	transition: all linear 800ms;
	transition-delay: 500ms;
}
.img-row > img:nth-of-type(1) {
	position: relative;
	margin-left: -100%;
	left: -2px;
}
.img-row > img:nth-of-type(2) {
	margin-left: 100%;
	left: 2px;
}

.img-row.active > img {
	margin: 0;
	opacity: 0.13;
}
.img-row.active div {
	height: 100%;
}

/*
* btn-01
*/
.btn-01 {
	display: inline-block;
	height: 78px;
	padding: 0 30px;
    border: none;
    border-radius: 0;
	background: rgba( 0, 87, 82, 0.9 );
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	line-height: 78px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 3px;
	transition: all ease 400ms;
	cursor: pointer;
    -webkit-appearance: none;
}
.btn-01:hover {
	background: #42a49e;
}

/*
* btn-02
*/
.btn-02 {
	display: inline-block;
    width: 25%;
	height: 78px;
	padding: 0;
    border: solid 3px #fff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	line-height: 72px;
	color: #fff;
	font-size: 18px;
    text-align: center;
	letter-spacing: 3px;
	transition: all ease 400ms;
	cursor: pointer;
}
.btn-02.w100 {
    width: 100%;
}
.btn-02:hover {
	background: rgba( 255,255,255,0.9 );
    color: rgba( 0, 87, 82, 1 );
}

/*
* simulator
*/
.simulator {
	text-align: center;
	font-size: 17px;
	letter-spacing: 2px;
}
.simulator form {
	margin-bottom: 40px;
}
.simulator form > span {
	display: inline-block;
	margin: 0 10px;
}
.simulator form input {
	display: inline-block;
	width: 170px;
	padding: 10px 20px;
	border: solid 3px #fff;
	border-radius: 0;
	-webkit-appearance: none;
	text-align: center;
	color: #fff;
	font-size: 17px;
	margin: 0 6px;
	background: none;
	transition: all ease 300ms;
}
.simulator form input:focus {
	background: rgba( 255,255,255,0.7 );
	color: #333;
}
.simulator form .coating-layer-row {
    padding-top: 30px;
    position: relative;
}
.simulator form .select-row {
    display: inline-block;
    width: 280px;
    border: 3px solid #fff;
    position: relative;
    letter-spacing: 0;
    font-size: 0;
    overflow: hidden;
}
.simulator form .select-row::before,
.simulator form .select-row::after {
	content: '';
    display: block;
}
.simulator form .select-row::before {
	width: 0px;
	height: 0px;
    background: transparent;
	position: absolute;
	top: 21px;
	right: 12px;
    z-index: 1;
	padding: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #fff;
	pointer-events: none;
}
.simulator form .select-row::after {
    width: 1px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 40px;
    z-index: 1;
}
.simulator form select {
    width: 100%;
    padding: 12px 20px 12px 53px; 
    border: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    border-radius: 0;
    outline: none;
    color: #fff;
    font-size: 17px;
    text-overflow: ellipsis;
    cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
    overflow: hidden;
}
.simulator form select::-ms-expand {
    display: none;
}
.simulator form select option {
    text-align: center;
    color: #000;
}
.simulator .calc-button-wrapper {
	width: 960px;
	margin: 0 auto 31px;
	position: relative;
}
.simulator .calc-button-wrapper span,
.simulator .calc-button-wrapper div {
	display: inline-block;
	background: rgba( 255,255,255,1 );
	position: absolute;
	transition: all ease 300ms;
}
.simulator .calc-button-wrapper span {
	width: 1px;
	height: 0;
	top: 0;
	left: 50%;
}
.simulator .calc-button-wrapper div {
	width: 0;
	height: 1px;
	top: -20px;
	left: 50%;
}
.simulator .calc-button:hover + span,
.simulator .calc-button:focus + span {
	height: 32px;
	top: -16px;
}
.simulator .calc-button:hover + span + div,
.simulator .calc-button:focus + span + div {
	width: 100%;
	left: 0;
}
.simulator .calc-button {
	display: inline-block;
	padding: 35px 170px;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	background: rgba( 0, 87, 82, 0.7 );
	font-size: 18px;
	color: #fff;
	letter-spacing: 2px;
	cursor: pointer;
	transition: all ease 300ms;
	position: relative;
}
.simulator .calc-button:hover,
.simulator .calc-button:focus {
	background: rgba( 0, 87, 82, 1 );
}
.simulator .result-wrapper {
	max-height: 0;
	padding-top: 3px;
	font-size: 22px;
	transition: all ease 800ms;
	transition-delay: 400ms;
	transform: scale( 0.9 );
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
}
.simulator .result-wrapper.active {
	max-height: 500px;
	opacity: 1;
	transform: scale( 1 );
	visibility: visible;
}
.simulator .result {
	display: inline-block;
	margin-left: 15px;
	position: relative;
}
.simulator .result::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 3px;
	background: rgba( 255,255,255,0.8 );
	position: absolute;
	bottom: -1px;
	left: 0;
	transition: width ease 300ms;
	transition-delay: 700ms;
}
.simulator .result-wrapper.active .result::after {
	width: 100%;
}
.simulator .result-wrapper span {
	display: inline-block;
	padding-bottom: 40px;
}
.simulator .notice-wrapper {
	max-height: 0;
	padding-top: 0;
	overflow: hidden;
	transition: all linear 200ms;
}
.simulator .notice-wrapper.active {
	max-height: 500px;
	padding-top: 3px;
}
.simulator .notice {
	height: 20px;
	transition: all linear 200ms;
	transition-delay: 50ms;
	opacity: 0;
	visibility: hidden;
	margin-bottom: 30px;
}
.simulator .notice-wrapper.active .notice {
	opacity: 1;
	visibility: visible;
	padding-bottom: 5px;
}

/*=============================================================
2. header
=============================================================*/
#main-header {
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
#main-header.active {
	z-index: 100;
}
#main-header #logo-box {
	width: 40%;
	font-style: italic;
	position: absolute;
	top: 30px;
	left: 35px;
}
#main-header #logo-box h1 {
	font-size: 28px;
	font-weight: normal;
}
#main-header h1 br {
	display: none;
}
#main-header #logo-box img {
	width: 100%;
	margin-bottom: 15px;
}

/*
* global nav icon
*/
#main-header #icon-nav,
#main-header #icon-close {
	width: 90px;
	height: 90px;
	background: #000;
	position: fixed;
	top: 0;
	right: 0;
	cursor: pointer;
	transition: all ease 300ms;
	overflow: hidden;
}
#main-header #icon-nav:hover,
#main-header #icon-close {
	background: rgba( 0, 87, 82, 1 );
}
#main-header #icon-nav span,
#main-header #icon-close span {
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 30px;
	transition: all ease 400ms;
}
#main-header #icon-nav span:nth-of-type(1) {
	top: 34px;
}
#main-header #icon-nav span:nth-of-type(2) {
	top: 44px;
	transition-delay: 50ms;
}
#main-header #icon-nav span:nth-of-type(3) {
	top: 54px;
	transition-delay: 100ms;
}
#main-header.active #icon-nav span {
	left: 90px;
}

/*
* icon close
*/
#main-header #icon-close span:nth-of-type(1),
#main-header #icon-close span:nth-of-type(2) {
	top: 44px;
}
#main-header #icon-close span:nth-of-type(1) {
	transform: rotate( 45deg );
	-webkit-transform: rotate( 45deg );
	-moz-transform: rotate( 45deg );
	-ms-transform: rotate( 45deg );
}
#main-header #icon-close span:nth-of-type(2) {
	transform: rotate( -45deg );
	-webkit-transform: rotate( -45deg );
	-moz-transform: rotate( -45deg );
	-ms-transform: rotate( -45deg );
}

/*
* global nav
*/
#main-header nav {
	width: 100%;
	height: 100%;
	background: url( /common/img/shared/nav-bg.jpg ) top center no-repeat;
	background-size: cover;
	-webkit-background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transition: all ease 400ms;
}
#main-header nav.active {
	visibility: visible;
	opacity: 1;
}
#main-header nav #layer-close {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
#main-header nav ul {
	width: 36%;
	max-width: 600px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX( -50% ) translateY( -50% );
	-webkit-transform: translateX( -50% ) translateY( -50% );
	-moz-transform: translateX( -50% ) translateY( -50% );
	-ms-transform: translateX( -50% ) translateY( -50% );

}
#main-header nav ul li {
	display: block;
	position: relative;
	left: -50px;
	transition: all ease 450ms;
	opacity: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#main-header nav.active ul li {
	left: 0;
	opacity: 1;
}
#main-header nav ul li:nth-of-type( 1 ) {
	transition-delay: 200ms;
}
#main-header nav ul li:nth-of-type( 2 ) {
	transition-delay: 300ms;
}
#main-header nav ul li:nth-of-type( 3 ) {
	transition-delay: 400ms;
}
#main-header nav ul li:nth-of-type( 4 ) {
	transition-delay: 500ms;
}
#main-header nav ul li:nth-of-type( 5 ) {
	transition-delay: 600ms;
}
#main-header nav ul li:nth-of-type( 6 ) {
	transition-delay: 700ms;
}
#main-header nav ul li:nth-of-type( 7 ) {
	transition-delay: 800ms;
}
#main-header nav ul li:nth-of-type( 8 ) {
	transition-delay: 900ms;
}

#main-header nav ul li:last-of-type {
	margin-bottom: 0;
}
#main-header nav ul li a {
	display: block;
	padding: 14px 0;
	transition: all ease 400ms;
	opacity: 0.65;
	overflow: hidden;
	background: rgba(0,0,0,0.01);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
#main-header nav ul li a:hover {
	opacity: 1;
}
#main-header nav ul li a img {
	width: 100%;
}

/*=============================================================
3. footer
=============================================================*/
#main-footer {
	width: 100%;
	height: 120px;
    padding-top: 5px;
	background: rgba( 255,255,255,0.1 );
	color: #fff;
	text-align: center;
	line-height: 120px;
	letter-spacing: 3px;
	position: relative;
	z-index: 1;
}
#main-footer p {
	font-size: 12px;
}

/*=============================================================
4. home
=============================================================*/
#home #wrapper .motion {
    transition: none;
    transform: translateY( 0 );
    opacity: 1;
}
#home #wrapper {
	position: relative;
}
#home #main-header #logo-box h1 {
	color: #000;
}
#home #main-header h1 img:nth-of-type(2) {
	display: none;
}
#home #loading {
	transition-delay: 1500ms;
}
#home.loaded #loading {
	opacity: 0;
	visibility: hidden;
}
#home #loading .central {
	width: 25%;
	top: 47%;
	text-align: center;
	font-size: 18px;
	font-style: italic;
	line-height: 1.6;
	letter-spacing: 3px;
}
#home #loading .central img {
	margin-bottom: 15px;
}
#home #loading .central::before,
#home #loading .central::after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
}
#home #loading .central::before {
	opacity: 0.3;
	position: absolute;
	bottom: 0;
	left: 0;
}
#home #loading .central::after {
	animation: the-bar ease-in-out infinite 1000ms;
	-webkit-animation: the-bar ease-in-out infinite 1000ms;
	-moz-animation: the-bar ease-in-out infinite 1000ms;
	-ms-animation: the-bar ease-in-out infinite 1000ms;
}
@keyframes the-bar {
	0% { width: 0; margin-left: 0; }
	40% { width: 100%; margin-left: 0; }
	45% { width: 100%; margin-left: 0; }
	80% { width: 0; margin-left: 100%; }
	100% { width: 0; margin-left: 100%; }
}

#home #bg-alt {
	display: none;
	width: 100%;
	height: 100%;
	background: url( /common/img/home/bg.gif?v5 ) center top no-repeat;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
}
#home.mobile #bg-alt {
	display: block;
}
#home #visual-asset {
	width: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#home #visual-asset::before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background: #000;
}
#home #visual-asset #visual {
	width: 100%;
	height: 100%;
	transition: all ease 2300ms;
	transform: scale( 0.8 );
	transition-delay: 1700ms;
	opacity: 0;
}
#home.loaded #visual-asset #visual {
	transform: scale( 1 );
	opacity: 1;
}
#home #visual-asset .fullscreen-alt {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform: scale( 1.5 );
	transition: all ease 2000ms;
	transition-delay: 2200ms;
	opacity: 0;
}
#home.loaded #visual-asset .fullscreen-alt {
	transform: scale( 1 );
	opacity: 1;
}
#home .daytime #visual {
	background-image: url( /common/img/home/daytime.jpg?v9 );
}
#home .sunset #visual {
	background-image: url( /common/img/home/sunset.jpg );
}
#home .night #visual {
	background-image: url( /common/img/home/night.jpg?v1 );
}
#home #visual-asset .icon-plus {
	width: 50px;
	height: 50px;
	margin-top: -30px;
	margin-left: -30px;
	background: rgba( 0, 87, 82, 0.85 );
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: rotate( 45deg );
	-webkit-transform: rotate( 45deg );
	-moz-transform: rotate( 45deg );
	-ms-transform: rotate( 45deg );
	transition: all ease 300ms;
	cursor: pointer;
}
#home #visual-asset .icon-plus:hover {
	background: rgba( 0, 87, 82, 1 );
}
#home #visual-asset .icon-plus.active {
	background: #42a49e;
}

#home #visual-asset .icon-plus:nth-of-type(1) {
	top: 56%;
	left: 58%;
}
#home #visual-asset .icon-plus:nth-of-type(2) {
	top: 37%;
	left: 50%;
}
#home #visual-asset .icon-plus:nth-of-type(3) {
	top: 60%;
	left: 35%;
}
#home #visual-asset.sunset .icon-plus:nth-of-type(1) {
	top: 60%;
	left: 42%;
}
#home #visual-asset.sunset .icon-plus:nth-of-type(2) {
	top: 37%;
	left: 50%;
}
#home #visual-asset.sunset .icon-plus:nth-of-type(3) {
	top: 56%;
	left: 58%;
}

#home #visual-asset .icon-plus > span {
	display: block;
	width: 100%;
	height: 100%;
	transition: all ease 500ms;
	transform: rotate( -45deg );
}
#home #visual-asset .icon-plus:hover > span {
	transform: rotate( 135deg );
}
#home #visual-asset .icon-plus span span {
	display: inline-block;
	width: 18px;
	height: 1px;
	margin-left: -9px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
}
#home #visual-asset .icon-plus span span:nth-of-type(1) {
	transform: rotate( 90deg );
}

#home #visual-asset .detail {
	width: 300px;
	margin-top: -50px;
	margin-left: -150px;
	background: rgba( 255, 255, 255, 1 );
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: scale( 0.7 );
	transition: all ease 900ms;
	opacity: 0;
	visibility: hidden;
}
#home #visual-asset .detail.active {
	opacity: 1;
	margin-top: -50px;
	transform: scale( 1 );
	visibility: visible;
}
#home #visual-asset .detail div {
	padding: 30px 30px 20px;
}
#home #visual-asset .detail h1 {
	margin-bottom: 10px;
	font-size: 19px;
	color: #333;
	font-weight: normal;
	text-align: center;
}
#home #visual-asset .detail p {
	font-size: 13px;
	color: #333;
	line-height: 1.6;
}
#home #visual-asset .detail a {
	display: block;
	width: 100%;
	height: 50px;
	background: #42a49e;
	position: relative;
	text-align: center;
	line-height: 50px;
	transition: all ease 400ms;
}
#home #visual-asset .detail a:hover {
    color: #fff;
}
#home #visual-asset .detail a span {
	position: relative;
	z-index: 0;
}
#home #visual-asset .detail a:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba( 0, 87, 82, 0 );
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	transform: scale( 0.6 );
	transition: all ease 300ms;
}
#home #visual-asset .detail a:hover:before {
	background: rgba( 0, 87, 82, 1 );
	transform: scale( 1 );
}
#home #visual-asset .detail:nth-of-type(1) {
	top: 59%;
	left: 75%;
}
#home #visual-asset .detail:nth-of-type(2) {
	top: 31%;
	left: 30%;
}
#home #visual-asset .detail:nth-of-type(3) {
	top: 55%;
	left: 17%;
}
#home #visual-asset.sunset .detail:nth-of-type(1) {
	top: 59%;
	left: 25%;
}
#home #visual-asset.sunset .detail:nth-of-type(2) {
	top: 27%;
	left: 66%;
}
#home #visual-asset.sunset .detail:nth-of-type(3) {
	top: 55%;
	left: 74%;
}

#home #visual-asset .btn-01 {
	display: inline-block;
	height: 78px;
	padding: 0 120px 0 90px;
	background: rgba( 0, 87, 82, 0.9 );
	line-height: 78px;
	font-size: 16px;
	position: absolute;
	z-index: 3;
	right: -45px;
	bottom: 0;
	z-index: 1;
	transform: skewX( -45deg );
	transition: all ease 400ms;
}
#home #visual-asset .btn-01 span {
	display: inline-block;
	transform: skewX( 45deg );
}
#home #visual-asset .btn-01:hover {
	background: #42a49e;
}

#home .black {
	transition: all ease 1000ms;
	opacity: 0.5;
}
#home.mobile .black {
	opacity: 0.2;
}
#home.hide .black {
	opacity: 0;
}
#home .hide-for-video {
	transition: all ease 1000ms;
	visibility: visible;
}
#home.hide .hide-for-video {
	transform: scale( 0.6 );
	opacity: 0;
	visibility: hidden;
}
#home #back-from-video-wrapper {
	width: 100%;
	height: 94px;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 10;
	overflow: hidden;
	visibility: hidden;
}
#home.hide #back-from-video-wrapper {
	visibility: visible;
}
#home #back-from-video {
	display: inline-block;
	padding: 35px 100px 35px 70px;
	background: rgba( 0, 87, 82, 0.9 );
	position: absolute;
	bottom: 0;
	right: -300px;
	cursor: pointer;
	letter-spacing: 3px;
	transition: all ease 500ms;
	transform: skewX(-45deg);
}
#home #back-from-video:hover {
	background: #42a49e;
}
#home.hide #back-from-video {
	right: -45px;
}
#home #back-from-video p {
	transform: skewX(45deg);
	line-height: 1;
}

#home #part-01 .row {
	margin-top: 30px;
	text-align: center;
}
#home.mobile #part-01 .row {
	display: none;
}
#home #part-01 #icon-video-full-wrapper {
	display: inline-block;
	width: 13%;
	max-width: 200px;
	min-width: 150px;
	padding: 2px;
	border: solid 3px #fff;
	overflow: hidden;
	cursor: pointer;
}
#home #part-01 #icon-video-full-wrapper span {
	display: block;
	border: solid 1px #fff;
	overflow: hidden;
}
#home #part-01 #icon-video-full-wrapper img {
	transition: all ease 300ms;
	background: rgba( 0,0,0,0.01 );
}
#home #part-01 #icon-video-full-wrapper:hover img {
	transform: scale( 1.2 )
}

#home #part-02 {
	position: relative;
	background: rgba( 255,255,255,0.06 );
}
#home #part-02 .box-img {
	background-image: url( /common/img/home/campaign/carfilm/visual.jpg?v01);
	background-position: center center;
	left: 0;
	top: 0;
}
#home #part-02 .inner {
	width: 50%;
	padding: 5%;
	margin: 0;
	float: right;
	box-sizing: border-box;
}
#home #part-02 .inner p {
    text-align: center;
}

#home #part-02 h2.yellow {
	font-size: 2em;
}

#home #part-02 h3 {
	font-size: 2em;
	text-align: center;
	padding-bottom: 10px;
	line-height: 1.5;
}

#home #part-02 .box-gallery ul li:nth-of-type(1) div {
	background-image: url(/common/img/home/campaign/headlight/01.jpg);
}
#home #part-02 .box-gallery ul li:nth-of-type(2) div {
	background-image: url(/common/img/home/campaign/headlight/02.jpg);
}
#home #part-02 .box-gallery ul li:nth-of-type(3) div {
	background-image: url(/common/img/home/campaign/headlight/03.jpg);
}

#home #part-03 {
	padding: 60px 0 30px;
}
#home #part-03.bt {
    border-top: solid 1px rgba( 255,255,255,0.2 );
}
#home #part-03 .inner {
	margin-top: 0;
	margin-bottom: 0;
}
#home #part-03 dt {
	font-size: 11px;
}
#home #part-03 dd {
	margin-bottom: 20px;
}
#home #part-03 a {
	color: #fff;
	transition: all ease 250ms;
}
#home #part-03 a:hover {
	color: #42a49e;
}

/*=============================================================
5. polishing
=============================================================*/
#polishing .black {
	opacity: 0.7;
}
#polishing #visual {
	background-image: url(/common/img/polishing/visual.jpg);
	background-position: center bottom;
}
#polishing #visual::before {
	background: rgba( 0,0,0,0.4 );
}
#polishing #bg {
	background-image: url(/common/img/polishing/bg.jpg);
}

/*=============================================================
6. coating
=============================================================*/
#coating .black {
	opacity: 0.65;
}
#coating #visual {
	background-image: url(/common/img/coating/visual.jpg);
	background-position: center center;
}
#coating #visual::before {
	background: rgba( 0,0,0,0.1 );
}
#coating #bg {
	background-image: url(/common/img/coating/bg.jpg);
	background-position: center top;
}

/* ↓コーティングページ追加後に削除 */
#coating .inner .parts-desc,
#coating .inner .parts-desc dl {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 17px;
    letter-spacing: 3px;
    line-height: 1.6;
}
#coating .inner .parts-desc br {
    display: none;
}
#coating .parts-desc li {
    padding: 20px 10px;
    margin-bottom: 1px;
}
#coating .parts-desc li:nth-of-type( 1 ) {
    background: rgba( 216,107,146,0.5 );
}
#coating .parts-desc li:nth-of-type( 2 ) {
    background: rgba( 197,42,82,0.5 );
}
#coating .parts-desc li:nth-of-type( 3 ) {
    background: rgba( 180,180,180,0.5 );
}
/* ↑コーティングページ追加後に削除 */

#coating #part-01 > .inner:nth-of-type(1) {
	/* margin-bottom: 40px; */
}
#coating #part-01 > .inner:nth-of-type(2) {
	margin-top: 0;
}
#coating #part-01 .figure-wrapper,
#coating #part-01 .figure-wrapper .rows-wrapper,
#coating #part-01 .figure-wrapper .row {
	position: relative;
}
#coating #part-01 .figure-wrapper {
	margin-bottom: 23px;
}
#coating #part-01 .figure-wrapper .row {
	margin-bottom: 1px;
	text-align: center;
}
#coating #part-01 .figure-wrapper .row.riding {
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
	transform: translateY( -50% );
}
#coating #part-01 .figure-wrapper .row .figure-bar {
	display: inline-block;
	width: 50%;
	height: 70px;
	background: #fff;
	opacity: 0.3;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#coating #part-01 .figure-wrapper .row .figure-bar.doubble {
    background: none;
    position: relative;
}
#coating #part-01 .figure-wrapper .row .figure-bar.doubble::before,
#coating #part-01 .figure-wrapper .row .figure-bar.doubble::after {
    display: inline-block;
    content: "";
    width: 100%;
    height: 34px;
    background: #8cfbff;
    position: absolute;
    left: 0;
    z-index: 1;
}
#coating #part-01 .figure-wrapper .row .figure-bar.doubble::before {
    top: 0;
}
#coating #part-01 .figure-wrapper .row .figure-bar.doubble::after {
    bottom: 0;
}
#coating #part-01 .figure-wrapper .row.trigger-more {
	cursor: pointer;
}
#coating #part-01 .figure-wrapper .row.trigger-more.active .figure-bar {
	animation: blinker ease infinite 1100ms;
}
@keyframes blinker {
	0%{ opacity: 0.3 }
	50%{ opacity: 0.7 }
	100%{ opacity: 0.3 }
}
#coating #part-01 .figure-wrapper .row.body .figure-bar {
	background: #642525;
	opacity: 0.7;
}
#coating #part-01 .figure-wrapper .row.riding .figure-bar {
	height: auto;
	background: none;
}
#coating #part-01 .figure-wrapper .row.riding .figure-bar img {
	display: block;
	vertical-align: baseline;
	background: rgba( 0,0,0,0.01 );
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#coating #part-01 .figure-wrapper .row .desc {
	width: 25%;
	position: absolute;
	top: 50%;
	z-index: 1;
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
	transform: translateY( -50% );
	line-height: 1.6;
	font-size: 17px;
	letter-spacing: 2px;
	transition: all ease 600ms;
	transition-delay: 300ms;
	opacity: 0;
	overflow: hidden;
}
#coating #part-01 .figure-wrapper .row .desc.left {
	left: 100px;
	text-align: right;
}
#coating #part-01 .figure-wrapper .row .desc.right {
	right: 100px;
	text-align: left;
}
#coating #part-01 .active .figure-wrapper .row .desc.left,
#coating #part-01 .active .figure-wrapper .row .desc.right {
	opacity: 1;
}
#coating #part-01 .active .figure-wrapper .row .desc.left {
	left: 0;
}
#coating #part-01 .active .figure-wrapper .row .desc.right {
	right: 0;
}
#coating #part-01 .figure-wrapper .row .desc span {
	display: inline-block;
	width: 65%;
}
#coating #part-01 .figure-wrapper .row .desc.left span {
	float: left;
}
#coating #part-01 .figure-wrapper .row .desc.right span {
	float: right;
}
#coating #part-01 .figure-wrapper .row .desc span::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
	transform: translateY( -50% );
	transition: all ease 600ms;
	transition-delay: 300ms;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#coating #part-01 .figure-wrapper .row .desc.left span::after {
	right: 0;
}
#coating #part-01 .figure-wrapper .row .desc.right span::after {
	left: 0;
}
#coating #part-01 .active .figure-wrapper .row .desc.left span::after,
#coating #part-01 .active .figure-wrapper .row .desc.right span::after {
	width: 32%;
}
#coating #part-01 .desc-more-wrapper {
	position: relative;
	padding-bottom: 75px;
}
#coating #part-01 .desc-more-wrapper .desc-init,
#coating #part-01 .desc-more-wrapper .desc-more {
	line-height: 1.9;
	transition: all ease 500ms;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#coating #part-01 .desc-more-wrapper .desc-init {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	visibility: visible;
}
#coating #part-01 .desc-more-wrapper .desc-init.delete,
#coating #part-01 .desc-more-wrapper .desc-more {
	width: 100%;
	position: absolute;
	top: 20px;
	left: 0;
	visibility: hidden;
	opacity: 0;
}
#coating #part-01 .desc-more-wrapper .desc-more.active {
	opacity: 1;
	visibility: visible;
	top: 0;
}

#coating #part-05 .inner {
	width: 80%;
	padding-bottom: 20px;
}
#coating #part-05 p:last-of-type {
	margin-bottom: 60px;
}
#coating #part-05 #img-wrapper {
	position: relative;
}
#coating #part-05 #img-wrapper img {
	display: block;
	transition: all ease 1000ms;
	transition-delay: 800ms;
	opacity: 0;
	visibility: hidden;
	background: rgba( 0,0,0,0.01 );
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#coating #part-05 #img-wrapper.active img {
	opacity: 1;
	visibility: visible;
}
#coating #part-05 #card-wrapper {
	width: 40%;
}
#coating #part-05 #card-wrapper img {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 15px;
	background: #fff;
	position: relative;
	left: 10%;
	transform: rotate( 12deg );
}
#coating #part-05 #img-wrapper.active #card-wrapper img {
	transform: rotate( -3deg );
}
#coating #part-05 #copy-wrapper {
	width: 52%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}
#coating #part-05 #copy-wrapper img {
	position: absolute;
}
#coating #part-05 #copy-wrapper img:nth-of-type(1),
#coating #part-05 #copy-wrapper img:nth-of-type(2) {
	width: 80%;
	opacity: 0.4;
	z-index: 1;
}
#coating #part-05 #copy-wrapper img:nth-of-type(1) {
	left: 17%;
	top: 5%;
}
#coating #part-05 #img-wrapper.active #copy-wrapper img:nth-of-type(1) {
	left: 0;
}
#coating #part-05 #copy-wrapper img:nth-of-type(2) {
	right: 12%;
	bottom: 5%;
}
#coating #part-05 #img-wrapper.active #copy-wrapper img:nth-of-type(2) {
	right: -5%;
}
#coating #part-05 #copy-wrapper img:nth-of-type(3) {
	width: 113%;
	left: -15%;
	top: 50%;
	-webkit-transform: translateY( -50% ) scale( 0.7 );
	-moz-transform: translateY( -50% ) scale( 0.7 );
	-ms-transform: translateY( -50% ) scale( 0.7 );
	transform: translateY( -50% ) scale( 0.7 );
}
#coating #part-05 #img-wrapper.active #copy-wrapper img:nth-of-type(3) {
	-webkit-transform: translateY( -50% ) scale( 1 );
	-moz-transform: translateY( -50% ) scale( 1 );
	-ms-transform: translateY( -50% ) scale( 1 );
	transform: translateY( -50% ) scale( 1 );
}

.price {
	margin-top: 40px;
}

.price .btn-01 {
	width: 50%;
}

/*=============================================================
7. diamond-9h
=============================================================*/
#diamond-9h .black {
	opacity: 0.7;
}
#diamond-9h #visual {
	background-image: url(/common/img/coating/diamond-9h/visual.jpg);
	background-position: center center;
}
#diamond-9h #visual::before {
	background: rgba( 0,0,0,0.4 );
}
#diamond-9h #bg {
	background-image: url(/common/img/coating/diamond-9h/bg.jpg);
	background-position: center bottom;
}

#diamond-9h #part-01 .inner > h1.mb-plus {
    margin-bottom: 42px;
}

#diamond-9h .bottle-row {
    margin-bottom: 40px;
}

#diamond-9h .bottle-row ul li {
    width: 16.66666%;
    padding: 0 2.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    transition: all ease 900ms;
    transform: translateY( 60px );
    opacity: 0;
}

#diamond-9h .bottle-row ul li:nth-of-type( 2 ) {
    transition-delay: 150ms;
}

#diamond-9h .bottle-row ul li:nth-of-type( 3 ) {
    transition-delay: 300ms;
}

#diamond-9h .bottle-row ul li:nth-of-type( 4 ) {
    transition-delay: 450ms;
}

#diamond-9h .bottle-row ul li:nth-of-type( 5 ) {
    transition-delay: 600ms;
}

#diamond-9h .bottle-row ul li:nth-of-type( 6 ) {
    transition-delay: 750ms;
}

#diamond-9h .bottle-row.active ul li {
    transform: translateY( 0 );
    opacity: 1;
}

#diamond-9h .adjuster {
    display: inline-block;
    margin-left: 2.3em;
}

/*=============================================================
xx. nq-s96
=============================================================*/
#nq-s96 #visual {
	background-image: url(/common/img/coating/nq-s96/visual.jpg);
}
#nq-s96 #visual::before {
    background: rgba( 0,0,0,0.2 );
}
#nq-s96 #visual .central {
    top: 49%;
}
#nq-s96 #bg {
	background-image: url(/common/img/coating/nq-s96/bg.jpg);
}

#nq-s96 .inner .parts-desc,
#nq-s96 .inner .parts-desc dl {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 17px;
    letter-spacing: 3px;
    line-height: 1.6;
}
#nq-s96 .inner .parts-desc br {
    display: none;
}
#nq-s96 .parts-desc li {
    padding: 20px 10px;
    margin-bottom: 1px;
}
#nq-s96 .parts-desc li:nth-of-type( 1 ) {
    background: rgba( 216,107,146,0.5 );
}
#nq-s96 .parts-desc li:nth-of-type( 2 ) {
    background: rgba( 197,42,82,0.5 );
}
#nq-s96 .parts-desc li:nth-of-type( 3 ) {
    background: rgba( 180,180,180,0.5 );
}

/*=============================================================
09. kubebond
=============================================================*/
#kubebond #visual {
	background-image: url(/common/img/coating/kubebond/visual.jpg);
}
#kubebond #visual::before {
    background: rgba( 0,0,0,0.35 );
}
#kubebond #visual .central {
    top: 49%;
}
#kubebond #bg {
	background-image: url(/common/img/coating/kubebond/bg.jpg);
}
#kubebond .black {
    opacity: 0.8;
}

#kubebond .inner .parts-desc,
#kubebond .inner .parts-desc dl {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 17px;
    letter-spacing: 3px;
    line-height: 1.6;
}
#kubebond .inner .parts-desc br {
    display: none;
}
#kubebond .parts-desc li {
    padding: 20px 10px;
    margin-bottom: 1px;
}
#kubebond .parts-desc li:nth-of-type( 1 ) {
    background: rgba( 216,107,146,0.5 );
}
#kubebond .parts-desc li:nth-of-type( 2 ) {
    background: rgba( 197,42,82,0.5 );
}
#kubebond .parts-desc li:nth-of-type( 3 ) {
    background: rgba( 180,180,180,0.5 );
}
#kubebond #part-03 .row .box-img {
    background-image: url( /common/img/coating/kubebond/img-01.jpg );
}
#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 1 ),
#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    transform: translateY( -35% );
    transition: all ease 1200ms;
    opacity: 0;
}

#kubebond #part-04.active .row .pa-wrapper .box-img:nth-of-type( 1 ),
#kubebond #part-04.active .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    transform: translateY( 0 );
    opacity: 0.99999;
}

#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 3 ) {
    transform: scale( 0.7 );
    transition: all ease 1200ms;
    opacity: 0;
}

#kubebond #part-04.active .row .pa-wrapper .box-img:nth-of-type( 3 ) {
    transform: scale( 0.99999 );
    opacity: 0.99999;
}

#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/coating/kubebond/cst-surface.png );
    transition-delay: 100ms;
}

#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/coating/kubebond/cst-ion.png?v02 );
    transition-delay: 400ms;
}

#kubebond #part-04 .row .pa-wrapper .box-img:nth-of-type( 3 ) {
    background-image: url( /common/img/coating/kubebond/cst-desc.png );
    transition-delay: 1300ms;
}

#kubebond #part-05 .row .pa-wrapper {
    overflow: hidden;
}

#kubebond #part-05 .row .pa-wrapper .box-img:nth-of-type( 1 ),
#kubebond #part-05 .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    transform: translateY( -105% );
    transition: all ease 3000ms;
}

#kubebond #part-05.active .row .pa-wrapper .box-img:nth-of-type( 1 ),
#kubebond #part-05.active .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    transform: translateY( 0 );
}

#kubebond #part-05.active .row .pa-wrapper .box-img:nth-of-type( 3 ) {
    animation: legoMotion ease infinite 3500ms;
    animation-delay: 2600ms;
    opacity: 0;
    visibility: hidden;
}

@keyframes legoMotion {
    0%{ visibility: hidden; opacity: 0; transform: translateY( -24% ); }
    40%{ visibility: visible; opacity: 0.99999; transform: translateY( 0 ); }
    80%{ visibility: visible; opacity: 0.99999; transform: translateY( 0 ); }
    90%{ visibility: hidden; opacity: 0; transform: translateY( 0 ); }
    100%{ visibility: hidden; opacity: 0; transform: translateY( -24% ); }
}

#kubebond #part-05 .row .pa-wrapper .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/coating/kubebond/lego-01.png?v02 );
    transition-delay: 100ms;
}

#kubebond #part-05 .row .pa-wrapper .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/coating/kubebond/lego-02.png );
    transition-delay: 600ms;
}

#kubebond #part-05 .row .pa-wrapper .box-img:nth-of-type( 3 ) {
    background-image: url( /common/img/coating/kubebond/lego-03.png );
    transform: translateY( -22% );
    opacity: 0;
    visibility: hidden;
}
#kubebond #part-06 .row .box-img {
    background-image: url( /common/img/coating/kubebond/img-02.jpg );
}

/*=============================================================
10. crystal su
=============================================================*/
#crystal-su #visual {
	background-image: url(/common/img/coating/crystal-su/visual.jpg);
}
#crystal-su #visual::before {
    background: rgba( 0,0,0,0.2 );
}
#crystal-su #visual .central {
    top: 49%;
}
#crystal-su #bg {
	background-image: url(/common/img/coating/crystal-su/bg.jpg);
}
#crystal-su .black {
    opacity: 0.35;
}
#crystal-su #part-02 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-01.jpg);
}
#crystal-su #part-03 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-02.jpg);
}
#crystal-su #part-04 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-03.jpg);
}
#crystal-su #part-04 .box-img {
    width: 56%;
    overflow: hidden;
}
#crystal-su #part-04 .box-img p {
    position: absolute;
    top: 5%;
    left: 0;
    z-index: 1;
    text-align: center;
    overflow: hidden;
    opacity: 0;
    transition: all ease 800ms;
    transition-delay: 300ms;
    transform: translateY( 50% );
}
#crystal-su #part-04.active .box-img p {
    opacity: 0.99999;
    transform: translateY( 0 );
}
#crystal-su #part-04 .box-img p img {
    width: 50%;
}
#crystal-su #part-04 .box-img .belt-asset {
    width: 100%;
    height: 0;
    padding-top: 66.5%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    overflow: hidden;
    line-height: 0;
    font-size: 0;
}
#crystal-su #part-04 .box-img .belt-asset img {
    vertical-align: top;
    overflow: hidden;
    opacity: 0;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 1 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 2 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 3 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 4 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 5 ) {
    position: absolute;
    top: 0;
    z-index: 1;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 1 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 3 ) {
    width: 0%;
    height: 100%;
    left: 50%;
    transition: all ease 800ms;
}
#crystal-su #part-04.active .box-img .belt-asset img:nth-of-type( 1 ),
#crystal-su #part-04.active .box-img .belt-asset img:nth-of-type( 3 ) {
    width: 100%;
    left: 0;
    opacity: 0.99999;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 2 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 4 ),
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 5 ) {
    left: 0;
    transition: all ease 800ms;
    transform: translateY( 10% );
}
#crystal-su #part-04.active .box-img .belt-asset img:nth-of-type( 2 ),
#crystal-su #part-04.active .box-img .belt-asset img:nth-of-type( 4 ),
#crystal-su #part-04.active .box-img .belt-asset img:nth-of-type( 5 ) {
    transform: translateY( 0 );
    opacity: 0.99999;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 1 ) {
    transition-delay: 600ms;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 2 ) {
    transition-delay: 900ms;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 3 ) {
    transition-delay: 1200ms;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 4 ) {
    transition-delay: 1500ms;
}
#crystal-su #part-04 .box-img .belt-asset img:nth-of-type( 5 ) {
    transition-delay: 1800ms;
}
#crystal-su #part-05 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-04.jpg);
}
#crystal-su #part-06 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-05.jpg);
}
#crystal-su #part-07 .box-img {
	background-image: url(/common/img/coating/crystal-su/img-06.jpg);
}

/*=============================================================
11. headlight repair
=============================================================*/
#headlight #visual {
	background-image: url(/common/img/headlight/visual.jpg);
}
#headlight #bg {
	background-image: url(/common/img/headlight/bg.jpg);
}
#headlight #part-01 .inner > p:nth-of-type(1),
#headlight #part-01 .wrapper-before-after p:nth-of-type(1) {
	margin-bottom: 50px;
}
#headlight #part-01 .row ol li {
	width: 33.3%;
	float: left;
}
#headlight #part-01 .row ol li article {
	padding: 0px;
	position: relative;
}
#headlight #part-01 .row ol li article h1 {
	margin-bottom: 12px;
	text-align: center;
	font-weight: normal;
	font-size: 25px;
	letter-spacing: 4px;
}
#headlight #part-01 .row ol li article .box-img {
	width: 100%;
	height: auto;
	padding-top: 100%;
	margin-bottom: 30px;
	position: relative;
}
#headlight #part-01 .row ol li:nth-of-type(1) article .box-img {
	background-image: url( /common/img/headlight/step-01.jpg );
}
#headlight #part-01 .row ol li:nth-of-type(2) article .box-img {
	background-image: url( /common/img/headlight/step-02.jpg );
}
#headlight #part-01 .row ol li:nth-of-type(3) article .box-img {
	background-image: url( /common/img/headlight/step-03.jpg );
}

/*=============================================================
12. contact
=============================================================*/
#contact .black {
	opacity: 0.6;
}
#contact #visual {
	background-image: url(/common/img/contact/visual.jpg);
	background-position: center center;
}
#contact #visual::before {
	background: rgba( 0,0,0,0.5 );
}
#contact #bg {
	background-image: url(/common/img/contact/bg.jpg);
}
#contact #part-01 .inner {
	margin-bottom: 30px;
}
#contact #part-02 .inner {
	margin-top: 0;
}
#contact #part-02 .inner p:last-of-type {
	margin-bottom: 50px;
}
#contact #part-02 .row {
	position: relative;
}
#contact #part-02 .row #box-left,
#contact #part-02 .row #box-right {
	width: 48%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#contact #part-02 .row #box-left {
	float: left;
}
#contact #part-02 .row #box-right {
	height: 100%;
	background: url( /common/img/contact/img-01.jpg ) center left no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

/*
* form
*/
#contact #part-02 form table tr {
	display: block;
	margin-bottom: 30px;
}
#contact #part-02 form table th,
#contact #part-02 form table td {
	display: inline-block;
	width: 100%;
}
#contact #part-02 form table th {
	margin-bottom: 7px;
	font-size: 18px;
	font-weight: normal;
	text-align: left;
	letter-spacing: 3px;
}
#contact #part-02 form table th span {
	font-size: 11px;
}
#contact #part-02 form table td div {
	margin-bottom: 10px;
	font-size: 11px;
	color: #42a49e;
	letter-spacing: 2px;
}
#contact #part-02 form input,
#contact #part-02 form textarea {
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border-radius: 0;
}
#contact #part-02 form table input,
#contact #part-02 form table textarea {
	width: 100%;
	padding: 15px;
	border: solid 3px #fff;
	background: none;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	letter-spacing: 3px;
	transition: all ease 350ms;
}
#contact #part-02 form table input:focus,
#contact #part-02 form table textarea:focus {
	color: #333;
	background: rgba( 255,255,255,0.7 );
}
#contact #part-02 form .btn-01 {
	width: 49.85%;
	border: none;
}
#contact #part-02 form .btn-01:nth-of-type(2) {
	float: right;
}

/*=============================================================
10. mail
=============================================================*/
#mail {
    font-size: 120%;
}
#mail .black {
	opacity: 0.75;
}
#mail #bg {
	background-image: url(/common/img/mail/bg.jpg);
}
#mail #contents {
    padding-top: 80px;
}
#mail #main-footer {
    background: none;
}

#mail #formWrap {
    max-width: 1100px;
	margin:0 auto;
	line-height:1.6;
}
#mail table.formTable {
	width:100%;
	margin:0 auto 40px;
	border-collapse:collapse;
}
#mail table.formTable td,
#mail table.formTable th {
	border:1px solid #fff;
	padding:20px;
}
#mail table.formTable th {
	width:30%;
	font-weight:normal;
	background:rgba( 255,255,255,0.8 );
	text-align:left;
    color: #333;
}
#mail table.formTable td {
    color: #fff;
    word-break: break-all;
}
#mail table.formTable td a {
    color: #fff;
    text-decoration: none;
}
#mail .error-box {
    text-align: center;
}
#mail .errm-wrapper {
    margin-bottom: 40px;
}
#mail .error-box h1,
#mail .error-box p.error_messe {
    padding: 20px 0;
    margin-bottom: 0;
    border-bottom: solid 1px rgba( 255,255,255,0.3 );
}
#mail .error-box h1 {
    color: #fff;
    font-weight: normal;
    line-height: 1.7;
}
#mail .error-box p.error_messe {
    color: #fff;
}
#mail .inner {
    margin-bottom: 0;
}
#mail .btn-01 {
    width: 35%;
    max-width: 600px;
    min-width: 210px;
}
#mail .msg-wrapper {
    text-align: center;
}
#mail .msg-wrapper h1 {
    margin-bottom: 6px;
    font-size: 130%;
    letter-spacing: 2px;
}
#mail .btns-wrapper {
    text-align: center;
}


/*=============================================================
13. thanks
=============================================================*/
#thanks #visual {
	background-image: url(/common/img/thanks/visual.jpg);
	background-position: center center;
}
#thanks #visual::before {
	background: rgba( 0,0,0,0.3 );
}
#thanks #main-footer {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 1;
}
#thanks .central {
	width: 100%;
	top: 48%;
	text-align: center;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#thanks .central h1,
#thanks .central p,
#thanks .central div {
	transition: all ease 600ms;
	transform: translateY( 60px );
	opacity: 0;
}
#thanks.loaded .central h1,
#thanks.loaded .central p,
#thanks.loaded .central div {
	transform: translateY( 0 );
	opacity: 1;
}
#thanks .central h1 {
	font-size: 30px;
	font-weight: normal;
	margin-bottom: 5px;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	transition-delay: 100ms;
}
#thanks .inner > h1 span {
	font-size: 30px;
	position: relative;
	top: 0;
}
#thanks .central p {
	transition-delay: 300ms;
}
#thanks .central div {
	transition-delay: 500ms;
}
#thanks .central .btn-01 {
	padding: 0 70px;
}
#thanks .central .btn-01:hover {
    color: #fff;
}

/*=============================================================
14. company
=============================================================*/
#company .black {
	opacity: 0.5;
}
#company #visual {
	background-image: url(/common/img/company/visual.jpg);
	background-position: center bottom;
}
#company #visual::before {
	background: rgba( 0,0,0,0.5 );
}
#company #bg {
	background-image: url(/common/img/company/bg.jpg);
}
#company #part-01 dl {
	width: 75%;
	padding-bottom: 20px;
	border-top: solid 1px rgba( 255,255,255,0.2 );
	margin: 0 auto;
}
#company #part-01 dl dt,
#company #part-01 dl dd {
	display: inline-block;
	padding: 15px 0;
	border-bottom: solid 1px rgba( 255,255,255,0.2 )
}
#company #part-01 dl dt {
	width: 40%;
}
#company #part-01 dl dd {
	width: 60%;
	text-align: left;
}
#company #part-02 .inner > h1 {
	margin-bottom: 50px;
}
#company #part-02 #map-wrapper {
	position: relative;
	overflow: hidden;
}
#company #part-02 #map-wrapper::after {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	padding-right: 1px;
	background: #000 url(/common/img/shared/logo-white.png) center center no-repeat;
	background-size: 450px auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all ease 700ms;
	transition-delay: 1000ms;
}
#company #part-02 #map-wrapper.active::after {
	height: 0;
}
#company #part-02 #map {
	width: 100%;
	height: 550px;
	opacity: 0.75;
}

/*=============================================================
15. media query
=============================================================*/
@media screen and ( orientation: portrait ) {
    #nq-s96 #visual {
        background-image: url(/common/img/coating/nq-s96/visual-portrait.jpg);
    }
    #nq-s96 #visual::before {
        background-attachment: rgba( 0,0,0,0 );
    }
    #nq-s96 #visual .central {
        top: 51%;
    }
    #crystal-su #visual {
        background-image: url(/common/img/coating/crystal-su/visual-portrait.jpg);
    }
}

@media screen and ( min-width: 1600px ) {
	.inner p,
	.inner dl {
		font-size: 19px;
	}
	.pages .inner {
		max-width: 1400px;
	}
	/* .img-row {
		width: 90%;
		max-width: 1400px;
	} */
	#home #visual-asset .detail {
		width: 380px;
	}
	#home #visual-asset .detail p {
		font-size: 15px;
	}
	#home #visual-asset .detail:nth-of-type(1) {
		left: 73%;
	}
	#home #visual-asset.sunset .detail:nth-of-type(1) {
		top: 59%;
		left: 25%;
	}
	#home #visual-asset.sunset .detail:nth-of-type(2) {
		top: 20%;
		left: 62%;
	}
	#home #visual-asset.sunset .detail:nth-of-type(3) {
		top: 55%;
		left: 72%;
	}
}

@media screen and ( min-width: 1650px ) {
    #crystal-su #part-04 .box-img {
        width: 60%;
    }
}

@media screen and ( max-width: 1600px ) {
    #part-banner-area aside {
        max-width: 1000px;
    }
}

@media screen and ( max-width: 1500px ) {
    #crystal-su #part-04 .box-img p img {
        width: 70%;
    }
}

@media screen and ( max-width: 1380px ) {
    #crystal-su #part-04 .box-img .belt-asset {
        bottom: 4%;
    }
}

@media screen and ( max-width: 1280px ) {
    #crystal-su #part-04 .box-img .belt-asset {
        bottom: 10%;
    }
}


@media screen and ( max-width: 1260px ) {
	#main-header #logo-box h1 {
		margin-bottom: 10px;
		font-size: 20px;
		font-weight: normal;
	}
	#main-header #logo-box p {
		font-size: 14px;
	}

    .flex-wrapper.bottle-desc li .box-text {
        padding-top: 0;
    }

}

@media screen and ( max-width: 1300px ) {
	#main-header #logo-box h1 {
		margin-bottom: 10px;
		font-size: 20px;
		font-weight: normal;
	}
	#main-header #logo-box p {
		font-size: 14px;
	}
	#company #part-01 dl {
		width: 100%;
	}

    #mail #contents {
        padding-top: 70px;
    }
}

@media screen and ( max-width: 1180px ) {
    .appear-hide-flex {
        display: none;
    }
	.simulator .calc-button-wrapper {
		width: 100%;
	}
	.simulator form input {
		width: 100px;
	}

    #mail table.formTable {
        font-size: 90%;
    }

    #part-banner-area .box-img::before {
        display: none;
    }
}

@media screen and ( max-width: 1024px ) {
	.black {
		opacity: 0.4;
	}
    #nq-s96 .black {
        opacity: 0.5;
    }
    #nq-s96 .note-list {
        opacity: 0.99999;
        color: #ccc;
    }
	.box-gallery ul li div img {
		display: none;
	}
    #home #part-01 .row {
        display: none;
    }
}

@media screen and ( max-width: 1023px ) {

    .flex-wrapper.bottle-desc li section {
        text-align: center;
    }

    .flex-wrapper.bottle-desc li img,
    .flex-wrapper.bottle-desc li .box-text {
        float: none;
    }

    .flex-wrapper.bottle-desc li img {
        width: 45%;
        margin-bottom: 15px;
    }

    .flex-wrapper.bottle-desc li .box-text {
        width: 100%;
        padding-left: 0;
    }

    .flex-wrapper.bottle-desc li .box-text h1 {
        text-align: center;
        font-size: 20px;
    }

}

@media screen and ( min-width: 1300px ) {
    .flex-wrapper.bottle-desc li img {
        width: 20%;
    }
}

@media screen and ( max-width: 820px ) {
	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	}
    .inner.sp-mb-minus,
    .row.with-img.img-left .inner.divi.sp-mb-minus,
    .row.with-img.img-right .inner.divi.sp-mb-minus {
        margin-bottom: 30px;
    }
	.black {
		opacity: 0.3;
	}
    .btn-02 {
        width: 100%;
        font-size: 16px;
    }
    .btn-02:hover {
        background: none;
        color: #fff;
    }
	.box-img {
		position: relative;
		width: 100%;
		padding-top: 100%;
	}
    .row.with-img .box-img {
        margin-bottom: 50px;
    }
    .row.with-img .box-img.spmb-flex {
        margin-bottom: 5%;
    }
    .row .pa-wrapper .box-img {
        margin-bottom: 0;
    }
    .row.with-img .box-img,
    .row.with-img .box-text,
    .row.with-img .inner.divi .box-img,
    .row.with-img.img-left .box-text,
    .row.with-img.img-left .inner.divi .box-text,
    .row.with-img .inner > .box-img,
    #crystal-su #part-04 .box-img {
        width: 100%;
    }
    .row.with-img.img-left .inner.divi .box-text {
        margin-left: 0;
    }
    .row.with-img.img-left .inner.divi > .box-img {
        left: 0;
    }
    .row.with-img.img-left .box-text {
        margin-left: 0;
    }
    .row.with-img .inner > .box-img,
    .row.with-img.img-left .inner > .box-img,
    .row.with-img.img-right .inner > .box-img {
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .row.with-img.img-left .inner.divi,
    .row.with-img.img-right .inner.divi {
        width: 90%;
        margin: 60px auto;
    }
    .row.with-img .box-text h1.sp-ta-c {
        text-align: center;
    }
	.toggle-img-box .toggle-btn {
		font-size: 15px;
	}
	.toggle-img-box.full-before .toggle-btn.before-btn,
	.toggle-img-box.no-before .toggle-btn.after-btn {
		letter-spacing: 3px;
	}
	
	.note-list {
		text-align: left;
	}
	.note-list li {
		margin-left: 0.9em;
		text-indent: -0.6em;
	}
	
	.simulator form > span {
		width: 100%;
		margin: 0 0 15px 0;
	}
	.simulator form > span:last-of-type {
		margin-bottom: 0;
	}
	.simulator form input {
		width: 50%;
		padding: 10px 0;
	}
    .simulator form .select-row {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .simulator form .select-row::before {
        top: 23px;
    }
    .simulator form select {
        padding: 12px;
    }
	.simulator .calc-button {
		width: 100%;
        padding: 25px 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.simulator .result-wrapper span {
		width: 100%;
		padding-bottom: 10px;
		font-size: 26px;
	}
	.simulator .result {
		width: 100%;
		margin-left: 0;
		line-height: 1.7;
		font-size: 20px;
	}
	.simulator .result::after {
		display: none;
	}
	
	#main-header #logo-box {
		width: 57%;
		top: 27px;
	}
	#main-header #logo-box h1 {
		font-size: 11px;
	}
	#main-header #logo-box h1 img {
		margin-bottom: 10px;
	}
	#main-header nav ul {
		width: 85%;
	}
	#main-header nav ul li a img {
	}
	#main-header nav ul li a {
		transition: none;
		opacity: 1;
	}
	#main-header nav ul li a:hover {
		opacity: 1;
	}
	#main-footer p {
	font-size: 10px;
	letter-spacing: 2px;
	}
	#icon-scroll {
		display: none;
	}
	.inner,
	.inner.divi,
    .row.with-img.img-left .inner.divi,
    .row.with-img.img-right .inner.divi {
		width: 80%;
	}
	.inner.spmb-minus,
	.inner.divi.spmb-minus,
    .row.with-img.img-left .inner.divi.spmb-minus,
    .row.with-img.img-right .inner.divi.spmb-minus {
        margin-bottom: 30px;
    }
	.inner.spmt-super-minus {
        margin-top: 5px;
    }
	.inner.spmt-0 {
        margin-top: 0;
    }
	.inner > h1 {
		font-size: 22px;
	}
	.inner > h2 {
		font-size: 18px;
	}
    .inner .mini-section {
        margin-bottom: 26px;
    }
    .inner .mini-section h1 {
        font-size: 22px;
    }
	.inner p {
		text-align: left;
	}
	.inner p .sp-ta-c {
        display: inline-block;
        width: 100%;
        text-align: center;
    }
	.inner p br {
		display: none;
	}
	.inner p,
	.inner dl {
		font-size: 15px;
	}
	
    #home .black {
        opacity: 0.2;
    }
	#home #loading .central {
		width: 70%;
	}
	#home #visual-asset .btn-01:hover {
		background: none;
	}
	#home #visual-asset::before,
	#home #visual-asset #visual {
		height: 500px;
	}
	#home .daytime #visual {
		background-image: url( /common/img/home/daytime-s.jpg?v10 );
	}
	#home .sunset #visual {
		background-image: url( /common/img/home/sunset-s.jpg?v1 );
	}
	#home .night #visual {
		background-image: url( /common/img/home/night-s.jpg?v2 );
	}

	#home #visual-asset .icon-plus {
		display: none;
	}
	#home #visual-asset .fullscreen-alt {
		position: relative;
		height: auto;
		transition: none;
		transform: scale( 1 );
	}
	#home #visual-asset .detail {
		width: 100%;
		padding: 30px 0;
		border-bottom: solid 1px rgba( 255,255,255,0.2 );
		margin: 0;
		position: relative;
		background: rgba( 0,0,0,0.05 );
		opacity: 1;
		visibility: visible;
		transform: scale( 1 );
		transform: none;
	}
	#home #visual-asset .detail:nth-of-type(1),
	#home #visual-asset .detail:nth-of-type(2),
	#home #visual-asset .detail:nth-of-type(3),
	#home #visual-asset .detail:nth-of-type(4),
	#home #visual-asset.sunset .detail:nth-of-type(1),
	#home #visual-asset.sunset .detail:nth-of-type(2),
	#home #visual-asset.sunset .detail:nth-of-type(3),
	#home #visual-asset.sunset .detail:nth-of-type(4) {
		top: 0;
		left: 0;
	}
	#home #visual-asset .detail div {
		width: 80%;
		padding: 0;
		margin: 0 auto;
	}
	#home #visual-asset .detail h1 {
		color: #fff;
	}
	#home #visual-asset .detail p {
		padding-bottom: 10px;
		color: #fff;
	}
	#home #visual-asset .detail a {
		width: 80%;
		margin: 0 auto;
	}
	#home #visual-asset .btn-01 {
		width: 100%;
		height: auto;
		padding: 30px 0;
		border-bottom: solid 1px #333;
		background: rgba( 0,0,0,0.3 );
		position: relative;
		right: 0;
		transform: none;
	}
	#home #visual-asset .btn-01 span {
		width: 80%;
		height: 50px;
		margin: 0 10%;
		transform: none;
		background: #42a49e;
		text-align: center;
		line-height: 50px;
	}
	#home #part-02 {
		padding-bottom: 60px;
        overflow: hidden;
	}
	#home #part-02 .inner {
		width: 80%;
		padding: 0;
		margin: 0 auto;
		float: none;
	}
	#home #part-02 .box-img {
		margin-bottom: 60px;
        background-position: center center;
	}
	#home #part-02 p br {
		display: inline-block;
	}
	
	
	.pages #visual > h1 {
		width: 100%;
        top: 51.5%;
	}

	.img-row div {
		transition: all ease-in 350ms;
		transition-delay: 700ms;
	}
	.img-row > img {
		transition: all linear 600ms;
		transition-delay: 0ms;
	}
	
	#polishing .black {
		opacity: 0.7;
	}
	
	#headlight #part-01 .row ol li {
		width: 100%;
		float: none;
	}
	#headlight #part-01 .row ol li article {
		margin-bottom: 50px;
	}
	#headlight #part-01 .row ol li:last-of-type article {
		margin-bottom: 0;
	}
	
	#coating #visual {
		background-image: url(/common/img/coating/visual-sp.jpg?v1);
	}
	#diamond-9h #visual {
		background-image: url(/common/img/coating/diamond-9h/visual-sp.jpg?v1);
	}
    #diamond-9h .adjuster {
        margin-left: 0;
    }
    .inner p br.sp-valid,
	#coating #diamond-9h-part br.sp,
	#coating #part-01 br.sp,
	#coating #part-02 br.sp,
	#coating #part-03 br.sp,
	#coating #part-04 br.sp,
	#diamond-9h #part-01 br.sp {
		display: inline-block;
	}
	#coating #part-01 .figure-wrapper {
		overflow: hidden;
	}
	#coating #part-01 .figure-wrapper .row .figure-bar {
		width: 100%;
		height: 90px;
	}
    #coating #part-01 .figure-wrapper .row .figure-bar.doubble::before,
    #coating #part-01 .figure-wrapper .row .figure-bar.doubble::after {
        height: 44px;
    }
	#coating #part-01 .figure-wrapper .row .desc {
		width: 100%;
		font-size: 16px;
		z-index: -1;
	}
	#coating #part-01 .figure-wrapper .row .desc.left,
	#coating #part-01 .figure-wrapper .row .desc.right {
		text-align: center;
	}
	#coating #part-01 .figure-wrapper .row .desc span br {
		display: none;
	}
	#coating #part-01 .figure-wrapper .row .desc span {
		width: 100%;
	}
	#coating #part-01 .figure-wrapper .row .desc span::after {
		display: none;
	}
	#coating #part-01 .figure-wrapper .row.riding .figure-bar img {
		height: 20px;
	}
	#coating #part-01 .figure-wrapper .row.riding .desc span {
		position: relative;
		top: -1px;
	}
	#coating #part-01 .figure-wrapper .row.body .desc {
		z-index: 1;
	}
	#coating #part-05 .inner {
		padding-bottom: 0;
	}
	#coating #part-05 #card-wrapper {
		width: 100%;
		margin-bottom: 40px;
	}
	#coating #part-05 #card-wrapper img {
		width: 80%;
		left: 10%;
	}
	#coating #part-05 #copy-wrapper {
		width: 100%;
		padding-top: 100%;
		position: relative
	}
	#coating #part-05 #copy-wrapper img:nth-of-type(3) {
		width: 100%;
		left: 0;
	}

	.price .btn-01 {
		width: 100%;
		text-align: center;
	}

	#contact #part-01 p {
		text-align: center;
	}
	#contact #part-01 p br {
		display: inline-block;
	}
	#contact #part-02 .row #box-right {
		display: none;
	}
	#contact #part-02 .row #box-left {
		width: 100%;
	}
	#contact #part-02 form .btn-01 {
		width: 49%;
	}

    #mail #contents {
        padding-top: 70px;
    }
    
    #mail .error-box {
        text-align: left;
    }

    #crystal-su #part-04 .box-img p img {
        width: 88%;
    }
    #crystal-su #part-04 .box-img .belt-asset {
        bottom: 1%;
    }

    #diamond-9h #part-01 .inner:nth-of-type( 1 ) {
        margin-bottom: 30px;
    }
    #diamond-9h #part-01 .inner:nth-of-type( 3 ) {
        margin-top: 30px;
    }
    #diamond-9h #part-01 .inner > h1.mb-plus {
        margin-bottom: 25px;
    }
    #diamond-9h .bottle-row {
        margin: 0 auto 10px;
    }
    #diamond-9h .bottle-row ul li {
        padding: 0 1%;
        transform: translateY( 40px );
    }

    #crystal-su #visual .central {
        top: 51%;
    }

    #crystal-su .black {
        opacity: 0.25;
    }
	
	#thanks .central {
		top: 45%;
	}
	#thanks .central h1 {
		font-size: 24px;
	}
	#thanks .central p {
		line-height: 2;
		text-align: center;
	}
	#thanks .central .btn-01 {
		width: 100%;
		padding: 0;
	}

	#company #part-01 dl dt,
	#company #part-01 dl dd {
		width: 100%;
	}
	#company #part-01 dl dt {
		font-size: 19px;
		border-bottom: none;
		padding: 20px 0 0;
	}
	#company #part-01 dl dd {
		padding: 0 0 23px;
		text-align: center;
	}
	#company #part-02 .inner > h1 {
		margin-bottom: 45px;
	}
	#company #part-02 #map {
		height: 350px;
	}
	#company #part-02 #map-wrapper::after {
		background-size: 200px auto;
	}

    #mail .btns-wrapper .btn-01.adjust {
        max-width: initial;
        width: calc( 100% - 5px );
        padding: 0;
    }

    #mail .btns-wrapper .btn-01.adjust:last-of-type {
        margin-top: 5px;
    }

}

@media screen and (max-width:767px) {

    .pages #visual > h1 {
        top: 52%;
    }

    .row.fit-double .lefter,
    .row.fit-double .righter {
        width: 100%;
        padding-top: 100%;
    }

    .row.fit-double .righter {
        height: auto;
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .row.fit-double .righter .img-cap {
        padding: 10px;
        letter-spacing: 1px;
        font-size: clamp( 12px, 1.5vw, 20px );
    }

    #part-banner-area ul {
        display: block;
    }

    #part-banner-area ul li {
        width: 100%;
        padding: 0 !important;
        margin-bottom: 30px;
    }

    #part-banner-area ul li:last-of-type {
        margin-bottom: 0;
    }

    #part-banner-area .box-img {
        margin-bottom: 12px;
    }

    #part-banner-area ul li span {
        line-height: 1.8;
    }

    /* ↓コーティングページ 追加後に削除
    #coating .inner .parts-desc,
    #coating .inner .parts-desc dl {
        max-width: initial;
        text-align: center;
        font-size: 15px;
        letter-spacing: 3px;
        line-height: 1.6;
    }

    #coating .inner .parts-desc {
        margin-bottom: 34px;
    }

    #coating .inner .parts-desc .parts-name {
        display: inline-block;
        font-size: 18px;
    }

    #coating .inner .parts-desc dt .parts-name {
        margin-bottom: 5px;
    }

    #coating .inner .parts-desc br {
        display: inline-block;
    }
    ↑コーティングページ追加後に削除 */

    #nq-s96 .inner .parts-desc,
    #nq-s96 .inner .parts-desc dl {
        max-width: initial;
        text-align: center;
        font-size: 15px;
        letter-spacing: 3px;
        line-height: 1.6;
    }

    #nq-s96 .inner .parts-desc {
        margin-bottom: 34px;
    }

    #nq-s96 .inner .parts-desc .parts-name {
        display: inline-block;
        font-size: 18px;
    }

    #nq-s96 .inner .parts-desc dt .parts-name {
        margin-bottom: 5px;
    }

    #nq-s96 .inner .parts-desc br {
        display: inline-block;
    }

    #contact #part-02 form .btn-01 {
        width: 100%;
        float: none;
    }

    #contact #part-02 form .btn-01:last-of-type {
        margin-top: 5px;
    }

    #mail {
        font-size: 100%;
    }
    #mail #contents {
        padding-top: 40px;
    }
    #mail .msg-wrapper h1 {
        font-size: 160%;
    }
    #mail table.formTable {
        font-size: 100%;
    }
    #mail table.formTable th,
    #mail table.formTable td {
        width:auto;
        display:block;
    }
    #mail table.formTable th {
        border-bottom:0;
    }
    #mail table.formTable td {
        border-bottom: none;
    }
    #mail table.formTable tr:last-of-type td {
        border-bottom: solid 1px #fff;
    }
    #mail input[type="submit"], 
    #mail input[type="reset"],
    #mail input[type="button"] {
        display:block;
        width:100%;
    }
}

@media screen and ( max-width: 620px ) {

    .row.with-img .box-text h1 {
        font-size: clamp(19px, 6vw, 30px);
    }

    .flex-wrapper {
        display: block;
    }

    .flex-wrapper.bottle-desc li {
        width: 100%;
        margin-bottom: 30px;
    }

    .flex-wrapper.bottle-desc li:last-of-type {
        margin-bottom: 0;
    }

    .flex-wrapper.bottle-desc li:nth-child( odd ) section {
        padding-right: 0;
    }

    .flex-wrapper.bottle-desc li:nth-child( even ) section {
        padding-left: 0;
    }

    .flex-wrapper.bottle-desc li img {
        width: 30%;
    }

    .simple-list-01.flexible li {
        font-size: 16px;
    }

    #kubebond #part-02 .inner {
        margin-bottom: 50px;
    }

    #kubebond #part-02 .inner .mini-section {
        margin-bottom: 0;
    }

    #kubebond #part-03 .inner.divi {
        margin-top: 0;
    }

}

@media screen and ( max-width: 500px ) {
	.pages #main-header #logo-box {
		top: 32px;
	}
	.black {
		opacity: 0.3;
	}
	#polishing #visual {
		background-image: url(/common/img/polishing/visual-sp.jpg?v1);
		background-position: left bottom;
	}

}

@media screen and ( max-width: 374px ) {
	#main-header h1 {
		line-height: 1.4;
	}
	#main-header #logo-box,
	.pages #main-header #logo-box {
		top: 35px;
		left: 25px;
	}
	#main-header #logo-box h1 img {
		margin-bottom: 5px;
	}
	#main-header h1 br {
		display: inline-block;
	}
    .row.fit-double .righter .box-cap p {
        font-size: clamp( 12px, 1.9vw, 30px );
        letter-spacing: 1px;
    }
}

@media screen and ( max-width: 360px ) {
	.simulator .notice {
		font-size: 16px;
	}
}

@media screen and ( max-width: 359px ) {
    .inner .mini-section h1 {
        font-size: 18px;
    }
    #part-banner-area ul li span {
        font-size: clamp( 12px, 1.5vw, 16px );
    }
}

@media screen and ( max-width: 320px ) {
    #coating .inner .parts-desc,
    #coating .inner .parts-desc dl {
        font-size: 14px;
    }

    #coating .parts-desc li {
        padding: 20px 0;
    }
}
    
@media screen and ( max-width: 319px ) {
    .inner .mini-section h1 {
        font-size: 17px;
        letter-spacing: 1px;
    }
}

/*=============================================================
16. helper
=============================================================*/
.ta-c {
    text-align: center;
}
.clr {
	clear: both;
}

/*
* clear fix
*/
.cf:before,
.cf:after {
	content:"";
	display: block;
	height: 0;
	overflow: hidden;
}
.cf:after {
	clear: both;
}
