/*------------------------------
Re・De 製品ページ
テンプレート スタイルシート
※ 適宜複製・改変し使用してください
------------------------------*/
footer {
margin: 0 !important;
}
:root {
	--color-black: #111111;
	--color-common: #333333;
	--color-d-grey: #5d5d5d;
	--color-grey: #999999;
	--color-l-grey: #cccccc;
    --color-bg-grey: #f0f0f0;
	--color-bg: #f5f5f5;
	--color-white: #ffffff;
	--color-transparent: #ffffff00;

    --icon-arrow: url(../img/icons/icon-arrow.svg);
    --icon-cart: url(../img/icons/icon-cart.svg);
    --icon-circle: url(../img/icons/icon-circle.svg);
    --icon-download: url(../img/icons/icon-download.svg);
    --icon-facebook: url(../img/icons/icon-facebook.svg);
    --icon-instagram: url(../img/icons/icon-instagram.svg);
    --icon-link: url(../img/icons/icon-link.svg);
    --icon-note: url(../img/icons/icon-note.svg);
    --icon-popup: url(../img/icons/icon-popup.svg);
    --icon-search: url(../img/icons/icon-search.svg);
    --icon-twitter: url(../img/icons/icon-twitter.svg);
    --icon-twitter-x: url(../img/icons/icon-twitter-x.svg);

	--font-common: 游ゴシック, YuGothic, "hiragino kaku gothic pron", sans-serif;
    --font-poppins: 'Poppins', 游ゴシック, YuGothic, "hiragino kaku gothic pron", sans-serif;
	--font-stix: 'STIX Two Text', serif;
}

/*------------------------------COMMON*/
* {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
*::-webkit-scrollbar {
	display: none;
}

main .h1 {
	font-size: 240%;
}
main .h2 {
	font-size: 200%;
}
main :is(.h3, .h4) {
	font-size: 160%;
}

@media screen and (min-width: 768px) {
    main .h1 {
        font-size: 280%;
    }
    main .h2 {
        font-size: 240%;
    }
    main .h3 {
        font-size: 200%;
    }
}

main a {
    transition-duration: .3s;
}

@media screen and (hover: hover) {
    main a:hover {
        opacity: .8;
    }
}

main button {
    background: unset;
    border: unset;
    color: inherit;
    cursor: pointer;
    letter-spacing: inherit;
    padding: unset;
}

main figure {
    height: 100%;
    margin: unset;
    width: 100%;
}

main img[src*="svg"] {
	height: 1em;
	padding: 0 0 .2em;
	vertical-align: middle;
    width: auto;
}

main [class^="inner"] {
	margin: auto;
	max-width: 1200px;
	padding: 0 5dvw;
	width: 100%;
}
main .inner-full {
    max-width: unset;
}
main .inner-narrow {
	max-width: 1024px;
}
main .inner-wide {
	max-width: 1360px;
}

:is(#top-head, #middle-head).fixed {
    /*position: unset;*/
}

/*------------------------------見出し*/
[class*="heading"] {
    line-height: 1;
    position: relative;
}
[class*="heading"] > .sub {
    display: block;
    font-family: var(--font-common);
    font-size: 35%;
    font-weight: 600;
    letter-spacing: .05em;
    margin-bottom: .5em;
}

.heading-border {
    padding-bottom: 1.6rem;
}
.heading-border::after {
    border-bottom: 2px solid var(--color-common);
    content: "";
    display: block;
    position: absolute;
        bottom: 0;
        left: 0;
    width: 3.2rem;
}
.heading-border.text-center:not(.width-full)::after {
    left: calc(50% - 1.6rem);
}
.heading-border.text-right:not(.width-full)::after {
    left: calc(100% - 3.2rem);
}

.heading-border.width-full {
    padding-bottom: 0;
}
.heading-border.width-full::after {
    border-bottom-width: 1px;
    bottom: -.22em;
    width: 100%;
}
.heading-border.width-full.font-stix::after {
    bottom: .22em;
}

@media screen and (max-width:767px) {
    .heading-border.text-center-sp:not(.width-full)::after {
        left: calc(50% - 1.6rem);
    }
    .heading-border.text-right-sp:not(.width-full)::after {
        left: calc(100% - 3.2rem);
    }
}

@media screen and (min-width:768px) {
    .heading-border.text-center-pc:not(.width-full)::after {
        left: calc(50% - 1.6rem);
    }
    .heading-border.text-right-pc:not(.width-full)::after {
        left: calc(100% - 3.2rem);
    }
}

/*------------------------------アイコン*/
[data-icon]::before {
    content: "";
    margin-right: .4em;
}
[data-icon]::before, [class*="icon"] {
    aspect-ratio: 1/1;
    background-image: var(--icon-circle);
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
    width: .8em;
}
[data-icon^="arrow"]::before, [class*="icon-arrow"] {
    background-image: var(--icon-arrow);
}
[data-icon="arrow-top"]::before, .icon-arrow-top {
    transform: rotate(-90deg);
}
[data-icon="arrow-bottom"]::before, .icon-arrow-bottom {
    transform: rotate(90deg);
}
[data-icon="arrow-left"]::before, .icon-arrow-left {
    transform: rotate(180deg);
}
[data-icon="cart"]::before, .icon-cart {
    background-image: var(--icon-cart);
}
[data-icon="download"]::before, .icon-download {
    background-image: var(--icon-download);
}
[data-icon="link"]::before, .icon-link {
    background-image: var(--icon-link);
}
[data-icon="popup"]::before, .icon-popup {
    background-image: var(--icon-popup);
}
[data-icon="search"]::before, .icon-search {
    background-image: var(--icon-search);
}

/*SNS*/
[data-icon="facebook"]::before, .icon-facebook {
    background-image: var(--icon-facebook);
}
[data-icon="instagram"]::before, .icon-instagram {
    background-image: var(--icon-instagram);
}
[data-icon="note"]::before, .icon-note {
    background-image: var(--icon-note);
}
[data-icon="twitter"]::before, .icon-twitter {
    background-image: var(--icon-twitter);
}
[data-icon="x"]::before, .icon-x {
    background-image: var(--icon-twitter-x);
}

/*------------------------------ラベル*/
[class^="label"] {
	background: var(--color-common);
	border: 1px solid var(--color-common);
    border-radius: 2px;
    color: var(--color-white);
    display: inline-block;
    line-height: 1;
	padding: .8em;
    vertical-align: middle;
	width: fit-content;
}

.label-wired {
	background: var(--color-transparent);
	border-color: var(--color-common);
    color: var(--color-common);
}

.unit-label {
    display: flex;
}
.unit-label > [class^="label"]:not(:last-of-type) {
    border-radius: 0;
    border-right-width: 0;
}
.unit-label > [class^="label"]:first-of-type {
    border-radius: 2px 0 0 2px;
}
.unit-label > [class^="label"]:last-of-type {
    border-radius: 0 2px 2px 0;
}

/*------------------------------ボタンとテキストリンク*/
main [class^="button"] {
    margin-right: 0.5em;
    margin-left: 0.5em;
    max-width: calc(100% - 4em);
    position: relative;
    width: auto;
}
main [class^="button"] > * {
    background: var(--color-common);
	border: 1px solid var(--color-common);
    border-radius: 2px;
    color: var(--color-white);
    display: block;
    line-height: 1;
	padding: 1em 2em;
    text-align: center;
    transition-duration: .3s;
    width: 100%;
}
main .button.color-white > * {
    background: #ffffffee;
    border-color: var(--color-white);
    color: var(--color-common);
}

main .button-border {
    width: fit-content;
}
main .button-border > * {
    background: none;
    border-radius: 0;
    border-width: 0 0 2px 0;
    color: var(--color-common);
    padding: 1em 3em .5em;
}
main .button-border.color-white > * {
    border-color: var(--color-white);
    color: var(--color-white);
}

main .button-wired > * {
    background: none;
    color: var(--color-common);
}
main .button-wired.color-white > * {
    border-color: var(--color-white);
    color: var(--color-white);
}

main [class^="button"][data-icon]::before {
    filter: contrast(0);
    mix-blend-mode: plus-lighter;
    position: absolute;
        top: 1.05em;
        left: 1em;
    z-index: 2;
    width: 1em;
}
main .button[data-icon].color-white::before {
    filter: unset;
    mix-blend-mode: unset;
}
main :is(.button-border, .button-wired)[data-icon]::before {
    filter: contrast(1);
}
main :is(.button-border, .button-wired)[data-icon].color-white::before {
    filter: contrast(0);
}
main .button-border[data-icon] > * {
    padding: 1em 5em .5em;
}
.lineadd a {
	background: #06C755;
	border-color: #06C755;
}

.section-banner .button {
	margin-top: 3em;
}

@media screen and (hover:hover) {
    main [class^="button"] > *:hover {
        opacity: .8;
    }
    main .button-border:not([data-icon]) > *:hover {
        padding: 1em 2em .5em;
    }
    main .button-wired > *:hover {
        opacity: .5;
    }
}

@media screen and (orientation: landscape) {
    main [class^="button"]:not(.button-border) {
        max-width: calc(calc(100% - 3.2rem) / 3);
    }
}

.unit-button {
    display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 1.6rem;
        justify-content: center;
    width: 100%;
}

main [class^="link"] {
    background: none;
    display: inline-block;
    line-height: 1;
    padding: 0 0 .5em;
    position: relative;
    text-decoration: none;
    width: fit-content;
}
main [class^="link"]::after {
    border: solid var(--color-common);
	border-width: 0 1px 1px 0;
    content: "";
    display: block;
    height: 0;
    position: absolute;
        bottom: .25em;
        left: 0;
    transform-origin: bottom left;
    transition-duration: .3s;
    width: 100%;
}
main [class^="link"].color-white {
    color: var(--color-white);
}
main [class^="link"].color-white::after {
    border-color: var(--color-white);
}
main [class^="link"][data-icon].color-white::before {
    filter: contrast(0);
    mix-blend-mode: plus-lighter;
}

main .link-arrow::after {
    bottom: 0;
    height: .4rem;
    transform: skewX(56deg);
    width: calc(100% + 1em);
}

@media screen and (hover:hover) {
    main [class^="link"]:hover {
        opacity: .8;
    }
    main .link-arrow:hover::after {
        width: calc(100% + 1.5em);
    }
}

/*------------------------------リスト*/
main ul[class^="list-"] {
    padding-left: .8em;
}
main ul[class^="list-"] > li {
    padding-left: 1em;
    text-indent: -1em;
}
main ul[class^="list-"] > li::before {
    content: "・";
    display: inline-block;
    text-align: center;
    width: 1em;
}
main ul[class^="list-"] > li + li {
    margin-top: 1em;
}

main ul:is(.list-icon, .list-sns) {
    display: flex;
        align-items: center;
        gap: 1em;
        justify-content: center;
    padding: unset;
}
main ul:is(.list-icon, .list-sns) > li {
    padding: unset;
    text-indent: unset;
}
main ul:is(.list-icon, .list-sns) > li::before {
    display: none;
}
main ul:is(.list-icon, .list-sns) > li + li {
    margin-top: unset;
}

main ul.list-note > li {
    text-indent: -1.2em;
}
main ul.list-note > li::before {
    content: "※";
}

main .news {
    padding: 0 var(--spacing-common);
}
main .news dl {
    margin: unset;
}

/*------------------------------テーブル*/
.table-spec {
    /*padding: 0 5dvw;*/
    width: 100%;
}

/*------------------------------画像 & 動画*/
main figure[class*="overlay"] {
    background: var(--color-black);
}
main figure[class*="overlay"] :is(img, video) {
    opacity: .6;
}
main figure.overlay-lv1 :is(img, video){
    opacity: .3;
}
main figure.overlay-lv2 :is(img, video){
    opacity: .6;
}
main figure.overlay-lv3 :is(img, video){
    opacity: .8;
}

main figcaption * + :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4),
main figcaption :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4) + * {
    margin-top: 0;
}
main * + figcaption {
    margin-top: 1em;
}

.ratio-1v1 {
    aspect-ratio: 1/1;
}
.ratio-2v1 {
    aspect-ratio: 2/1;
}
.ratio-3v1 {
    aspect-ratio: 3/1;
}
.ratio-3v4 {
    aspect-ratio: 3/4;
}
.ratio-4v1 {
    aspect-ratio: 4/1;
}
.ratio-4v3 {
    aspect-ratio: 4/3;
}
.ratio-4v5 {
    aspect-ratio: 4/5;
}
.ratio-5v4 {
    aspect-ratio: 5/4;
}
.ratio-5v8 {
    aspect-ratio: 5/8;
}
.ratio-8v5 {
    aspect-ratio: 8/5;
}
.ratio-9v16 {
    aspect-ratio: 9/16;
}
.ratio-16v9 {
    aspect-ratio: 16/9;
}

.thumb-video {
    position: relative;
}
.thumb-video::after {
    background-image: url('data:image/svg+xml,<svg id="icon-play" xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80"><circle id="bg" cx="40" cy="40" r="40" fill="rgba(17,17,17,0.1)"/><g id="border" fill="none" stroke="%23fff" stroke-width="2"><circle cx="40" cy="40" r="40" stroke="none"/><circle cx="40" cy="40" r="39" fill="none"/></g><path id="path" d="M12,0,24,20H0Z" transform="translate(52 28) rotate(90)" fill="%23fff"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: clamp(4rem, 2.545rem + 7.27vw, 8rem);
    position: absolute;
        top: 50%;
        left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(4rem, 2.545rem + 7.27vw, 8rem);
}
/*------------------------------Animation*/
[data-anim] {
    opacity: 0;
    transition-duration: 1s;
    visibility: hidden;
}
[data-anim].is-show {
    opacity: 1;
    visibility: visible;
}
[data-anim="fadeup"] {
    transform: translateY(30%);
}
[data-anim="fadeup"].is-show {
    transform: translateY(0%);
}

[data-delay="lv1"] {
    transition-delay: .3s;
}
[data-delay="lv2"] {
    transition-delay: .6s;
}
[data-delay="lv3"] {
    transition-delay: .9s;
}
[data-delay="lv4"] {
    transition-delay: 1.2s;
}
[data-delay="lv5"] {
    transition-delay: 1.5s;
}


/*------------------------------duoclear-ipl*/
body.ipl p {font-size: 14px;line-height: 2;}
body.ipl p.lTxt {font-size: 16px;line-height: 2;}
.color_ye {color:#FFFCAC;}
.cntArea {
	text-align: center;
}
body.ipl .wrap-main img.svg {
	width: 100%;
	height: auto;
}
.flex {
	display: flex;
}
.flex.flx-end {
	justify-content: flex-end;
}
.flex.bespace {
	justify-content: space-between;
}
body.ipl .smallTxt { font-size: 12px;}
p.enTitle,
h1.enTitle,
h2.enTitle ,.enTitle {
	font-family: var(--font-poppins);
}
@media screen and (max-width:1200px) {
	/*body.ipl h2 {
	font-size: 160%;
	}*/
}
@media screen and (max-width:768px) {
	body.ipl p {font-size: 1.4rem;}
}
@media screen and (max-width:640px) {
	body.ipl h2 {
	font-size: 17px;
	}
	body.ipl .smallTxt {
	font-size: 11px;
	}
	body.ipl p.lTxt {
	font-size: 14px;
	}
}
#top .section {
	margin-top: 20rem;
}
body#top #mvArea {
	position: relative;
	width: 100%;
	opacity: 0;
}
body.loaded#top #mvArea {
	opacity: 1;
	transition: opacity 1s 0s linear;
}
#top #mvArea .titleArea {
	display: flex;

}
#top #mvArea .titleTxt {
    width: 100%;
    min-height: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	align-items:center;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
	top: 0;
	left: 0;
}
body#top #mvArea h1.titleLgo {
	width: 40%;
	margin: 0;
	padding: 0;
	position: relative;
	opacity: 0;
}
body.loaded#top #mvArea h1.titleLgo {
	opacity: 1;
	transition: opacity 1s 0.4s ease-in;
}
body#top #mvArea img.titleTxtsub {
	width: 45%;
	position: absolute;
	top: 6%;
	right: 2%;
	opacity:0;
}
body.loaded#top #mvArea img.titleTxtsub {
	opacity: 1;
	transition: opacity 1s 0.8s ease-in;
}
#top #mvArea img {
	width: 100%;
	height: auto;
}
#top #top01.section {
	position: relative;
	aspect-ratio: 960 / 367;
}
#top #top01.section .textArea {
	width: 30%;
	position: absolute;
	left: 54%;
	top: 50%;
	opacity: 0;
	transform: translateY(-50%);
}
#top #top01.section.is-show .textArea {
	opacity: 1;
	transition: opacity 0.5s 0.4s linear;
}
#top #top01.section {
	margin-top: 0;
}
#top01.section .textArea p{
	font-size: 14px;
	margin-top: 5.8rem;
	line-height: 2;
}
#top01.section .textArea p.note {
	margin: 2rem 0 0 0;
	font-size: 12px;
	color: #FFFCAC;
}
@media screen and (max-width:1560px) {
	#top #top01.section .textArea {
	width: 40%;
	}
	#top01.section .textArea p br {
	display: none;
	}
}

@media screen and (max-width:1475px) {
	#top01.section .textArea p{
	font-size: 14px;
	}
}
@media screen and (max-width:1280px) {
	body#top #mvArea h1.titleLgo {
	width: 48%;
	}
	body#top #mvArea img.titleTxtsub {
	width: 48%;
	top: 5%;
	right: 2%;
	}
	#top .section {
	margin-top: 14rem;
	}
	#top01.section {
    margin-top: 0;
	}
	#top01.section .textArea h2 {
	font-size: 172%;
	}
}
@media screen and (max-width:1050px) {
	#top #top01.section {
     aspect-ratio: 105 / 44;
	}
	#top01.section .textArea {
	width: 45%;
	left: 50%;
	}
	#top01.section .textArea p{
	margin-top: 2.4rem;
	}
}
@media screen and (max-width:960px) {
	#top01.section .textArea h2 {
	font-size: 146%;
	margin-bottom:0;
	}
	#top01.section .textArea p{
	margin-top: 2rem;
	}
}
@media screen and (max-width:840px) {
	#top .section {
	margin-top: 10rem;
	}
	body#top #mvArea {
	height: calc(100dvh - 134px);
	background: url("../../common/img/top/mv_sp.jpg")
    center / cover;
	}
	#top #mvArea  .mv_bg {
	display: none;
	}
	#top #mvArea .titleTxt {
	justify-content: flex-end;
	}
	body#top #mvArea img.titleTxtsub {
	width: 60%;
	position: static;
	order: 1;
	margin-bottom: 2rem;
	}
	body.loaded#top #mvArea h1.titleLgo {
	display: flex;
	flex-direction: column-reverse;
	padding: 0 0 14% 5%;
	width: 60%;
	min-width: auto;
	}
	#top #mvArea .titleTxt {
	align-items: flex-start;
	}
	#top01.section .textArea h2 {
	font-size: 140%;
	}
	#top01.section .textArea p:last-of-type {
	font-size: 12px;
	}
}
@media screen and (max-width:768px) {
	#top .section {
	margin-top: 8rem;
	}
	#top #mvArea .titleTxt {
	justify-content: flex-end;
	}
	body#top #mvArea img.titleTxtsub {
	width: 64%;
	position: static;
	order: 1;
	margin-bottom: 2rem;
	}
	body.loaded#top #mvArea h1.titleLgo {
	display: flex;
	flex-direction: column-reverse;
	padding: 0 0 10% 5%;
    width: 60%;
	min-width: auto;
	}
	#top #mvArea .titleTxt {
	align-items: flex-start;
	position: static;
	}
}
@media screen and (max-width:430px) {
	body#top #mvArea {
	height: calc(100dvh - 169px);
	}
    body.loaded#top #mvArea h1.titleLgo {
    width: 70%;
	padding: 0 0 20% 5%;
    }
	body#top #mvArea img.titleTxtsub {
	width: 68%;
	}
}
@media screen and (max-width:390px) {
    body.loaded#top #mvArea h1.titleLgo {
    width: 70%;
	padding: 0 0 30% 5%;
	}
}
@media screen and (max-width:375px) {
    body.loaded#top #mvArea h1.titleLgo {
	padding: 0 0 8% 5%;
    }
}

#top02.section { overflow-x: clip; }
.section .spsInner {
	max-width: 1280px;
	margin: 0 auto;
	padding-inline: clamp(32px, 4vw, 72px);
}
#top02.section .flex {
	display: flex;
	align-items: center;
	gap: clamp(24px, 3vw, 64px);
}
#top02.section .flex:first-of-type {
	margin-bottom: 10rem;
}
#top02 .textArea {
	flex: 0 0 clamp(400px, 24vw, 440px);
	padding: 0;
}
#top05.section .imageArea,
#top04.section .imageArea {
  width: 50%;
  position: relative;
}
#top02.section .imageArea {
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
}
#top02 .flex.reverse .imageArea {
	margin-right: 0;
}
#top02 .reverse{ flex-direction: row-reverse; }

#top02.section .imageArea img {
	width: 100%;
	display: block;
	position: relative;
	z-index: 2;
	transform: translateX(clamp(20px, 3vw, 50px));
}
#top02 .flex.reverse .imageArea img{
	transform: translateX(clamp(-50px, -3vw, -20px));
}
#top02.section .imageArea::before {
	width: 300px;
	height: 213px;
	aspect-ratio: 25 / 21;
	content:'';
	display: block;
	background:#FFFCAC;
	position: absolute;
	bottom: -60px;
	right: -10px;
}
#top02.section  .flex.flx-end .imageArea::before {
	width: 180px;
	height: 200px;
	bottom: auto;
	top: -38px;
	right: auto;
	left: 10px;
	z-index: 3;
	mix-blend-mode: multiply;
}
#top #detailwindow {
	width: 100vw;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	flex-direction: column;
    align-items: center;
    justify-content: center;
	background: #F2F2F2;
	z-index: 4;
	pointer-events: none;
	opacity: 0;
}
#top #detailwindow.opn {
	pointer-events: auto;
	cursor: pointer;
	opacity: 1;
	transition: opacity 0.2s 0s linear;
}
#top #detailwindow .flex {
	width: 50%;
	flex-direction: column;
    justify-content: center;
}
#top #detailwindow .flex .txt {
	padding: 0 14% 10rem 14%;
}
#top #detailwindow img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}
#top #detailwindow div.closebtnOuter {
	position: absolute;
    top: 7rem;
    right: 5%;
    display: inline-block;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
}
.closeBtn {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
}
.closeBtn::before, .closeBtn::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 30px;
  background: #333;
}
.closeBtn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.closeBtn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (max-width:840px) {
    #top #top03.section,
    #top #top01.section {
	aspect-ratio: 195 / 280;
	overflow: hidden;
    }
    #top #top01.section .textArea {
    width: 60%;
    left: 5%;
    top: 10%;
	z-index: 2;
	padding: 40px 0;
	transform: translateY(0);
    }
    #top01.section .textArea h2 {
     font-size: 154%;
    }
    #top01.section .textArea p{
    margin-top: 4rem;
    font-size: 92.9%;
    }
    #top #top01.section img {
	position: absolute;
    top: -30%;
    height: auto;
    min-height: 100%;
    }

    #top #top01.section img {
    position: static;
    top: auto;
    height: 100%;
	min-height: 100%;
    }

}


#top03.section .titleArea {
	position: relative;
}
#top03.section h2 {
	position: absolute;
	text-align: center;
	margin: 0;
	font-size: 5.4vw;
	letter-spacing: 0.025em;
	left: 50%;
	bottom: 0;
	transform: translate(-50% , 32%);
}
#top03.section .cntArea {
	padding-top: 5rem;
}
#top03.section .cntArea p:last-of-type{
	padding-top: 4rem;
}
#top03.section h3 {
	font-size: 200%;
}
@media screen and (max-width:1660px) {
	#top02.section .textArea {
	width: 50%;
	}
	#top #detailwindow .flex {
	width: 60%;
	}
}
@media screen and (max-width:1560px) {
	#top #detailwindow .flex {
		width: 70%;
	}
}
@media screen and (max-width:1220px) {
	#top03.section h2 {
	font-size: 7vw;
	}
	#top02.section .flex.flx-end .imageArea::before {
    top: -30px;
    left: -10px;
	}

}
@media screen and (max-width:1024px) {
	#top #detailwindow .flex {
		width: 80%;
	}
}
@media screen and (max-width:840px) {
	.section .spsInner {
    padding-inline: 0;
	}
    #top02.section .flex {
    flex-direction: column;
    }
	#top02.section .textArea {
    width: 100%;
    padding: 0 10%;
    }
    #top02.section .flex.flx-end .textArea {
	width: 100%;
	margin-right: 0;
    margin-left: 0;
    }
    #top02.section .textArea {
    flex: 0 0 clamp(30px, 4vw, 60px);
    }
	#top02.section .imageArea {
    width: 84%;
    position: relative;
    aspect-ratio: 1 / 1;
	margin: 6rem auto 0;
	}
	#top02 .flex.reverse .imageArea {
    margin-right: auto;
	}
	#top02.section .flex.flx-end .imageArea::before {
    width: 50%;
    height: auto;
    aspect-ratio: 1 / 1;
	left: -9%;
	top: -10%;
	}
	#top02.section .imageArea::before {
    width: 70%;
    height: auto;
    aspect-ratio: 214 / 227;
    bottom: -40px;
    right: -10%;
   }
   #top02 .flex.reverse .imageArea img,
   #top02.section .imageArea img {
    transform: translateX(0);
	}
   #top03.section h2 {
   	width: 100%;
   	font-size: 4.6rem;
   	bottom: auto;
   	top: 70%;
   	left: 0;
   	transform: translate(0, 0);
   }
   #top03.section h2 + div.txt_sp {
   	display: block;
   	color: #FFF;
   	position: absolute;
   	width: 100%;
   	padding:0 5%;
   	bottom: 11%;
   	z-index: 2;
   	text-align: center;
   }
   #top03.section h2 + div.txt_sp .moerBtn a::after {
   background: #FFF;
   }
   #top03.section div.txt_pc {
   	display: none;
   }
	#top #detailwindow .flex {
	width: 90%;
	}
	#top #detailwindow .flex .txt {
    padding: 0 5% 10rem 5%;
	}
}
@media screen and (max-width:768px) {
   #top03.section {
   	margin-top: 16rem;
   }
   #top03.section h2 + div.txt_sp {
   	bottom: 9%;
   }
}
@media screen and (max-width:640px) {
    #top #top01.section {
        aspect-ratio: 195 / 380;
	}
	#top #top01.section .textArea{
	width: 100%;
	padding: 0 5%;
	left: 0;
	top: 6%;
	}
    #top01.section .textArea h2 {
	font-size: 136%;
    }
    #top01.section .textArea p {
	margin-top: 2.5rem;
    }
    #top01.section .textArea p.note {
     font-size: 11px;
     margin-top: 1rem;
    }
   #top03.section h2 + div.txt_sp {
   	bottom: 9%;
   }
	#top02.section .imageArea {
	margin: 12% auto 0;
	}
   #top03.section h2 {
   	top: 58%;
   }
	#top #detailwindow .flex {
	width: 100%;
	}
	#top #detailwindow .flex .txt {
    padding: 8rem 8% 4rem 8%;
    font-size: 13px;
	}
}
@media screen and (max-width:390px) {
    #top01.section .textArea h2 {
	font-size: 126%;
    }
	#top03.section h2 + div.txt_sp {
	bottom: 5%;
	}
}

#top05.section .flex,
#top04.section .flex {
	align-items: center;
}
#top04.section .flex .textArea {
	width: 30%;
	margin-left: 8%;
}
#top05.section .flex .textArea {
	width: 30%;
	margin-right: 8%;
}
#top04.section h2.enTitle,
#top05.section h2.enTitle {
	font-size: 5.4vw;
	letter-spacing: 0.025em;
	position: absolute;
	margin: 0;
	line-height: .7;
	top: 0;
}
#top04.section h2.enTitle {
	right: 3%;
	top: 0;
}
#top05.section h2.enTitle {
	left: 3%;
	top: 0;
}

#topGallery{
	padding: 30rem 0 18rem;
}
#topGallery .slick-dots li button:before {
    font-size:10px;
}
#topGallery .slick-dots {
	bottom: -60px;
}
#topGallery .item-slider {
    padding: 0 32px;
}
.section-links {
    margin-bottom: 8rem;
}
.section-links .inner-narrow {
    max-width: 1024px;
}
#top04.section .flex .img_pc {
	display: block;
	margin-top: 0;
}
#top04.section .flex .img_sp {
	display: none;
}
@media screen and (max-width:1360px) {
	#top04.section h2.enTitle {
	}
}
@media screen and (max-width:1023px) {
	#top04.section .flex .textArea {
    width: 36%;
    margin-left: 5%;
	}
	#top05.section .flex .textArea {
	width: 36%;
	margin-right: 5%;
	}
}

@media screen and (max-width:965px) {
	#top04.section h2.enTitle {
	}
}

@media screen and (max-width:840px) {
	#top04.section .flex {
    flex-direction: column;
    }
    #top05.section .flex {
    flex-direction: column-reverse;
    }
    #top05.section .flex .textArea,
    #top04.section .flex .textArea,
    #top05.section .imageArea,
    #top04.section .imageArea {
    width: 84%;
    }
    #top05.section .imageArea,
    #top04.section .imageArea {
    aspect-ratio: 54 / 61;
    margin-bottom: 2.5rem;
    }
    #top04.section .flex .textArea {
    margin-left: 0;
    }
    #top05.section .flex .textArea{
    margin-right: 0;
    }
    #top05.section .flex .textArea,
    #top04.section .flex .textArea {
	padding-top: 2rem;
	}
	#top04.section h2.enTitle {
	text-align: center;
	width: 100%;
	}
	#top04.section h2.enTitle,
	#top05.section h2.enTitle {
	font-size: 5rem;
	right: auto;
	}
	#top04.section h2.enTitle{
	z-index: 2;
	}
	#topGallery{
	padding: 15rem 0 10rem;
	}
	#top04.section ul.img_sp {margin: 0;padding: 0;}
	#top04.section ul.img_sp li:first-child {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	animation: sliderfd 8s linear infinite;
	animation-delay: -8.5s;
	}
	#top04.section .flex .img_sp {
	display: block;
	}
	#top04.section .flex .img_pc {
	display: none;
	}
}
@media screen and (max-width:640px) {
	#top03.section h2,
	#top04.section h2.enTitle,
	#top05.section h2.enTitle {
	font-size: 4.5rem;
	}
	#top05.section h2.enTitle {
	}
	#topGallery .item-slider {
    padding: 0 12px;
	}
}
@keyframes sliderfd {
  0% {
    opacity: 0;
  }
  12.5% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  62.5% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* MV*/
body #lower_mvArea .mvInnerBox {
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 192 / 73;
	margin-bottom: 5rem;
	opacity: 0;
}
body.loaded #lower_mvArea .mvInnerBox {
	opacity: 1;
	transition: opacity 1s 0.2s linear;
}
body #lower_mvArea .mvInnerBox h1 {
	position: absolute;
	bottom: 0;
	font-size: 5vw;
	left: 50%;
	margin:0; 
	line-height: 1;
	transform: translate(-50%, 15.5%);
}

body #lower_mvArea .cntArea {
	opacity: 0;
}
body.loaded #lower_mvArea .cntArea {
	opacity: 1;
	transition: opacity 1s 1.4s linear;
}
body.loaded #lower_mvArea .cntArea p.lTxt {
	font-size: 114.3%;
}
.note {color:#A3A3A3;}

/*bottom Area*/
#uvInfoArea {
	position: relative;
}
#uvInfoArea > div.flex {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    flex-direction: column;
    justify-content: center;
}
#uvInfoArea .flex .textArea {
	width: 100%;
	padding-left: 40%;
}
#uvInfoArea .flex .textArea + p {
	margin-top: 2rem;
}
#uvInfoArea .flex .textArea .titleArea  {
	width: 70%;
	max-width: 600px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
}
#uvInfoArea .flex .textArea p.note {
	font-size: 11px;
	margin-top: 2.4rem;
	line-height: 1.5;
	
}
#uvInfoArea p.note {
	color: var(--color-grey);
}
#uvInfoArea > div.flex .zu {
	width: 60%;
	max-width: 540px;
	margin-top: 4rem;
}
#uvInfoArea > div.flex .zu .imgBlock {
	width: 50%;
}
#uvInfoArea > div.flex .zu .imgBlock p.note{
	margin-top: 0.8rem;
	white-space: nowrap;
	color:#242424;
}
#uvInfoArea > div.flex ul.flex {
	gap: 5%;
	align-items: center;
	text-align: center;
}
#uvInfoArea > div.flex ul.flex div {
	position: relative;
}
#uvInfoArea > div.flex ul.flex p {
	text-align: left;
	font-size: 12px;
	padding-top: 0.6em;
}
#uvInfoArea h2 {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
#uvInfoArea .enMarkArea {
	width: 130px;
	display: flex;
	flex-direction: column;
	align-items:center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: #FFFCAC;
	border-radius: 50%;
	margin-top: -5%;
}
#uvInfoArea .enMarkArea p {
	line-height: 1.4;
	margin: 0;
	font-size: 13px;
	text-align: center;
	color:#676869;
}
#uvInfoArea .enMarkArea p{
	font-size: 30px;
	letter-spacing: 0;
}
#uvInfoArea .enMarkArea p span {
	font-size: 17px;
}
#uvInfoArea .enMarkArea p b {
	display: inline-block;
	font-size: 36px;
	font-weight: 400;
}
#uvInfoArea .bgBox {
	width: 100%;
	height: 100%;
	aspect-ratio: 384 / 173;
}
@media screen and (max-width:1400px) {
	#uvInfoArea .enMarkArea {
	width: 120px;
	}
	#uvInfoArea .zu .enMarkArea p b {
    font-size: 34px;
	}
}
@media screen and (max-width:1360px) {
	#uvInfoArea > div.flex .zu {
	margin-top: 2rem;
	}
	#uvInfoArea .flex .textArea h2 {
	font-size: 160%;
	line-height: 2;
	}
	#uvInfoArea .flex .textArea .titleArea + p {
	margin-top: 2rem;
	}
	#uvInfoArea .enMarkArea {
	width: 120px;
	margin-top: -3vw;
	}
}

@media screen and (max-width:1200px) {
	#uvInfoArea .flex .textArea h2 + p {
	margin-top: 1rem;
	padding-right: 20%;
	}
	#uvInfoArea > div.flex .zu {
	width: 70%;
	}
	#uvInfoArea > div.flex .zu .imgBlock {
	position: relative;
	width:100%;
	}
	#uvInfoArea .bgBox {
    aspect-ratio: 384 / 240;
	}
}
@media screen and (max-width:1200px) {
	#uvInfoArea .flex .textArea h2 {
	font-size: 160%;
	line-height: 1.8;
	}
	#uvInfoArea .flex .textArea h2 + p {
	font-size: 100%;
	}
	#uvInfoArea .flex .textArea h2 + p br{
	display: none;
	}
	#uvInfoArea > div.flex .zu {
    margin-top: 2.5rem;
	}
    #uvInfoArea > div.flex .zu .imgBlock {
     position: relative;
      width: 70%;
    }
	#uvInfoArea .flex .textArea p.note {
	    margin-top: 1rem;
	}
	#uvInfoArea > div.flex ul.flex p {
	padding-top: 0;
	}
	#uvInfoArea .flex .textArea p.note{
    margin-top: 1.5rem;
	}
	#uvInfoArea .flex .textArea .titleArea {
    width: 100%;
	}
	#uvInfoArea .enMarkArea p b {
    font-size: 30px;
	}
}
@media screen and (max-width:1024px) {
	#uvInfoArea > div.flex .zu {
	width: 90%;
	}
    #uvInfoArea > div.flex .zu .imgBlock {
        position: relative;
        width: 60%;
    }
}
@media screen and (max-width:900px) {
    #uvInfoArea .enMarkArea {
        width: 100px;
        transform: translate(0, 10%);
    }
	#uvInfoArea .enMarkArea p b {
	font-size: 2.2rem;
	}
}
@media screen and (max-width:840px) {
	#uvInfoArea > div.flex {
	justify-content: flex-end;
	padding-bottom: 24vw;
	}
	#uvInfoArea .flex .textArea {
	padding:0 10% 5%;
	}
    #uvInfoArea .flex .textArea h2 + p {
	margin-top: 2rem;
    padding-right: 0;
    }
	#uvInfoArea > div.flex .zu {
	position: relative;
	margin-top: 5rem;
	}
	#uvInfoArea > div.flex ul.flex {
    align-items: flex-start;
   }
    #uvInfoArea .flex .textArea h2 + p {
        font-size: 100%;
        line-height: 2;
    }
    #uvInfoArea .flex .textArea h2 + p br {
        display: block;
    }
    #uvInfoArea .bgBox {
    aspect-ratio: 42 / 78;
    position: relative;
    }
	body #lower_mvArea .mvInnerBox {
	aspect-ratio: 39 / 40;
	}
	body #lower_mvArea .mvInnerBox h1 {
	width: 100%;
	text-align: center;
	font-size: 4.7em;
	}
}
@media screen and (max-width:769px) {
	body #lower_mvArea .mvInnerBox h1 {
	font-size: 3.4em;
	}
	#uvInfoArea > div.flex {
	padding-bottom: 0;
	}
    #uvInfoArea .enMarkArea {
	transform: translate(0, 0);
    }
}
@media screen and (max-width:640px) {
	body #lower_mvArea .mvInnerBox {
	aspect-ratio: 39 / 58;
	}
	#uvInfoArea {
	}
    #uvInfoArea .bgBox {
        aspect-ratio: 13 / 30;
    }
    #uvInfoArea .flex .textArea {
	padding: 0 6% 5%;
    }
    #uvInfoArea .flex .textArea h2 + p {
	margin-top: 1.5rem;
    }
	#uvInfoArea > div.flex .zu {
	position: relative;
	width: 100%;
	margin-top: 2.6rem;
	}
	#uvInfoArea .zu .enMarkArea {
	width: 110px;
	transform: translate(50%, -20%);
	}
	#uvInfoArea .flex .textArea h2 {
	font-size: 138%;
	line-height: 1.5;
	margin-bottom: 0;
	}
    #uvInfoArea .zu .enMarkArea p {
     font-size: 13px;
    }
    #uvInfoArea .zu .enMarkArea p:first-of-type {
    font-size: 24px;
    }
	#uvInfoArea .zu .enMarkArea p b {
    font-size: 30px;
    }
    #uvInfoArea > div.flex .zu .imgBlock {
        width: 70%;
    }
}
@media screen and (max-width:430px) {
	#uvInfoArea .zu .enMarkArea {
	transform: translate(50%, -30%);
	}
}
@media screen and (max-width:390px) {
	#uvInfoArea .zu .enMarkArea {
	width: 90px;
	transform: translate(60%, -20%);
	}
	#uvInfoArea .zu .enMarkArea p:first-of-type{
	font-size: 18px;
	}
}

.pgelinkArea {
	width: 100%;
	padding-top: 19rem;
	margin: 0 0 8rem;
}
.pgelinkArea li {
	position: relative;
}
.pgelinkArea li p {
	font-size: 168%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.pgelinkArea li a {
	display: flex;
	width: 100%;
	color: #FFF;
}
.moerBtn a {
	display: inline-block;
	position: relative;
}
.moerBtn a::after {
	width: 100%;
	height: 1px;
	content: '';
	display: block;
	background: #111111;
	position: absolute;
	bottom: 0;
	transform: scale(1);
	transition: transform 0.2s 0s linear;
}
.moerBtn a:hover::after {
	width: 100%;
	height: 1px;
	content: '';
	display: block;
	background: #111111;
	position: absolute;
	bottom: 0;
	transform: scale(0.6);
}
@media screen and (max-width:840px) {
	.pgelinkArea {
	padding-top: 12rem;
	}
	.unit-button {
	flex-direction: column;
	}
	.unit-button li {
	width: 70%;
	}
	body .pgelinkArea li p {
    font-size: 146%;
    }
}
@media screen and (max-width:769px) {
	.pgelinkArea {
	width: 100%;
	padding: 6rem 5% 4rem 5%;
	margin-bottom: 0;
	flex-direction: column;
	gap: 2rem;
	}
    .unit-button li {
     width: 80%;
    }    
}
@media screen and (max-width:640px) {
	body .pgelinkArea li p {
    font-size: 129%;
    }
}

/*-------------------テクノロジー*/
#technology .section {
	margin-top: 16em;
}
#technology main [class^="inner"] {
	padding: 0 7dvw;
}
#technology #lower_mvArea .mvInnerBox {
  background: url("../../common/img/technology/mv.jpg")
    center / cover;
}

#technology #technology01.section .textArea > .innerBx {
	padding: 0 5%;
}
#technology #technology01.section .cntArea {
	margin-bottom: 6.2em;
}
#technology #technology01.section .innerBx .flex {
	gap: 5%;
	margin-bottom: 9.7rem;
	padding: 0 clamp(20px, 8vw, 72px);
}
#technology #technology01.section .innerBx .flex div {
	aspect-ratio: 337 / 351;
	position: relative;
	margin-bottom: 2rem;
}
#technology #technology01.section .innerBx .flex li .arrow{
    height: auto;
    width: 26px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(146%, -50%);
}
#technology #technology01.section .grpArea.innerBx {
	padding: 0 5dvw;
}
#technology #technology01.section .grpArea img {
	height:auto;
	width: 90%;
	margin: 0 auto;
}
#technology #technology01.section .grpArea .slick-dots {
	width: 20px;
	bottom: 20%;
	right: 0;
	transform: translateX(-200%);
	margin-top: 0;
}
#technology #technology01.section .grpArea .slick-dots li {
	margin: 0;
}
#technology #technology01.section .grpArea .slick-dots li button:before {
	font-size: 12px;
}

#technology #technology02.section .cntArea {
	margin-bottom: 6.2em;
}
#technology #technology02.section ul.innerBx {
	padding:0 clamp(20px, 10vw, 10em);
	gap: 2%;
	margin: 0 auto;
}
#technology #technology02.section ul.innerBx > li {
	position: relative;
	width: 49%;
}
#technology #technology02.section ul.innerBx > li:last-child > div {
	background: #E2E2E2;
}
#technology #technology02.section ul.innerBx > li .textImg {
	position: absolute;
	z-index: 2;
	width: 43%;
	height: auto;
	top: 50%;
	left: 5%;
	transform: translate(0, -80%);
}
#technology #technology02.section ul.innerBx > li .flex {
	padding: 1em 10% 1em;
	gap: 2%;
}
#technology #technology02.section ul.innerBx > li .flex li > div {
	aspect-ratio: 59 / 66;
	width: 100%;
	height: 100%;
}
#technology #technology02.section ul.innerBx > li p.note {
	font-size: 12px;
	text-align: right;
	line-height: 2;
	margin-top: 0.8rem;
}
#technology #technology02.section ul.innerBx > li:last-child h3 {
	margin: 0;
	background: #FFFCAC;
	font-weight: 600;
	font-size: 100%;
	padding: 0.8em 0;
	line-height: 1;
}
#technology #technology03.section .innerBox{
    padding: 0 clamp(20px, 10vw, 10em);
}
#technology #technology03.section .textArea {
	margin-bottom: 4.5em;
}
#technology #technology03.section .textArea h2 span.lTxt {
	font-size: 140%;
	padding: 0 0.2rem;
}
#technology #technology03.section .textArea h2 span.lineCntl {
	line-height: 1.5;
}
#technology #technology03.section .movieArea {
  width: 100%;
  height: 100%;
  aspect-ratio: 1200 / 677;
  background: url(../../common/img/technology/video.jpg) center / cover;
  position: relative;
  margin: 0 auto;
}
#technology #technology03.section .movieArea .btn img {
	width: 100%;
	height: auto;
}
#technology #technology03.section .movieArea .btn {
	width: 170px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}


@media screen and (max-width:1024px) {	
	#technology #technology01.section .innerBx .flex li .arrow {
	width: 18px;
    transform: translate(150%, -50%);
	}
}
@media screen and (max-width:900px) {	
	#technology #technology01.section .grpArea img {
	width: 90%;
	}
	#technology .section {
	margin-top: 8rem;
	}
	#technology #lower_mvArea .mvInnerBox {
	background: url("../../common/img/technology/mv_sp.jpg")
    center / cover;
	}
}
@media screen and (max-width:769px) {
	#technology #technology01.section .grpArea img {
	width: 100%;
	}
	#technology #technology01.section .cntArea {
    margin-bottom: 3rem;
	}
	#technology #technology01.section .innerBx {
	padding: 0 0 0 4%;
	}
	#technology #technology01.section .innerBx .flex {
	margin-bottom: 5rem;
	padding: 0 5% 0 0;
	overflow-x: scroll;
	}
	#technology #technology01.section .innerBx .flex li{
	min-width: calc(100vw / 6*2);
	}
	#technology #technology01.section .innerBx:last-of-type .sp-scroll{
	overflow-x: scroll;
	}
	#technology #technology01.section .sp-scroll div {
	min-width: calc(100vw / 4*6);
	padding:0 5% 0 0;
	}
	#technology #technology01.section .grpArea h3 {
	width: 95%;
	padding: 0.5em 0;
	box-sizing: border-box;
	text-align: center;
	margin: 0 0 2rem 0;
	}
	#technology #technology02.section .cntArea {
	text-align: left;
	padding: 0 5%;
	margin-bottom: 4rem;
	}
	#technology #technology02.section ul.innerBx {
    gap: 1rem;
    flex-direction: column;
	padding: 0 5%;
	}
	#technology #technology02.section ul.innerBx > li {
    width: 100%;
	}
	#technology #technology02.section ul.innerBx > li .flex li > div {
    height: auto;
	}
	#technology #technology02.section ul.innerBx > li .flex {
    padding: 0 10% 1em;
	}
	#technology #technology02.section ul.innerBx > li p.note {
    text-align: left;
	}
	#technology #technology02.section ul.innerBx > li:last-child h3{
	text-align: center;
	}
	#technology #technology03.section .textArea {
	margin-bottom: 3rem;
	}
	#technology #technology03.section .movieArea .btn {
	width: 70px;
	}
	#technology #uvInfoArea.section {
	margin-top: 0;
	}
	#technology #technology03.section .movieArea {
	width: 100dvw;
	transform: translateX(-5%);
	}
	#technology #technology03.section .innerBox {
	padding: 0 5%;
	}
	#technology03 p .note {
		margin-top: 1em;
		display: block;
		line-height: 1.5;
	}
}
@media screen and (max-width:640px) {	
	#technology #technology01.section .cntArea {
	text-align: left;
	padding: 0 5%;
	}
	body #lower_mvArea .mvInnerBox {
	margin-bottom: 4rem;
	}
	#technology #technology01.section .innerBx .flex {
	gap: 8%;
	}
    #technology #technology01.section .innerBx .flex li .arrow {
	width: 14px;
    transform: translate(150%, -50%);
    }
	#technology #technology02.section ul.innerBx > li p.note {
	font-size: 11px;
	}
}

/*-------------------designー*/
#design .section {
	margin-top: 16em;
}
#design .boxOuter {
	max-width: 1360px;
	margin: 0 auto;
}
#design #lower_mvArea .mvInnerBox {
  background: url("../../common/img/design/mv.jpg")
    center / cover;
}
#design .section#design01 .flex {
    display: flex;
    align-items: center;
}
#design .section#design01 .flex .imgBx {
	width: 50%;
}
#design .section#design01 .flex .textArea {
	width: 50%;
	padding: 0 clamp(20px, 5vw, 60px) ;
}
#design .section#design01 .flex .textArea h2 {
	font-size: clamp(18px, 10vw, 164%) ;
}
@media screen and (max-width:1024px) {
	#design .section#design01 .flex .textArea p br {
	display: none;
	}
	#design .section#design01 .flex:last-of-type .textArea h2 br {
	display: none;
	}
}
@media screen and (max-width:1000px) {
	#design .section {
	margin-top: 14rem;
	}
}
@media screen and (max-width:840px) {
    body.ipl h2 {
        font-size: 140%;
    }
    body.loaded #lower_mvArea .cntArea p.lTxt {
    font-size: 14px;
    }
	#design #lower_mvArea .mvInnerBox{
  	background: url("../../common/img/design/mv_sp.jpg")
    center / cover;
	}
	#design .section {
	margin-top: 8rem;
	}
	body #lower_mvArea .mvInnerBox h1 {
    bottom: -0.2rem;
    }
    #design .section#design01 .flex .textArea p.lTxt{
    font-size: 14px;
    }
}
@media screen and (max-width:768px) {
	#design .section#design01 .flex {
	flex-direction: column;
	margin-top: 5.6rem;
	}
	#design .section#design01 .flex.sp-colr {
	flex-direction: column-reverse;
	}
	#design .section#design01 .flex .imgBx,
	#design .section#design01 .flex .textArea {
    width: 100%;
    padding: 0 5%;
	}
	#design .section#design01 .flex .imgBx {
	margin-bottom: 25px;
	}
	#design .section#design01 .flex:last-of-type .textArea h2 br{
	display: block;
	}
}

/*-------------------howtoー*/
#howto .section {
	margin-top: 16em;
}
#howto #lower_mvArea .mvInnerBox {
  background: url("../../common/img/howto/mv.jpg")
    center / cover;
}
#howto .stepList {
	gap: 3%;
    padding: 8rem clamp(20px, 5vw, 70px) 0;
}
#howto .stepList li {
	width: 30%;
}
#howto .stepList h3 {
	font-size: clamp(13px, 5vw, 14px);
	margin: 0 0 2.5rem;
	align-items: center;
	gap: 1rem;
}
#howto .stepList h3 span.enTitle {
	padding: 0.2rem 1rem;
	background-color: #FFFCAC;
}
#howto .stepList h3 + div.imageArea {
	margin: 0;
	width: 100%;
}
#howto .stepList div.textArea p {
	line-height: 1.5;
	margin-top: 2.5rem;
}
#howto .stepList div.textArea p.note {
	font-size: 12px;
	margin-top: 1rem;
}
#howto .section#howto02 {
	position: relative;
}
#howto .section#howto02 .textArea {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    padding:0 10% 0 54%; 
}
#howto .section#howto02 .textArea .grp {
	padding: 8rem clamp(80px, 5vw, 160px) 0 0;
}

#howto .section#howto03 .modeInfo {
	position: relative;
	margin-top: 10rem;
}
#howto .section.s_section {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
#howto .section#howto03 .modeInfo .imageArea {
	width: 90%;
	padding: 0 10%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#howto .section#howto03 .modeInfo .imageArea > .imgBx {
	width: 40%;
}
#howto .section#howto03 .modeInfo .imageArea > .imgTxtBx {
	width: 56%;
	position: absolute;
	left: 23.5%;
	top: 3%;
}
#howto .section#howto03 .modeInfo .imageArea > .imgTxtBx img {
	width: 100%;
	height: auto;
}



.pc {display: block !important;}
.sp {display: none;}

@media screen and (max-width:1240px) {
	#howto .section#howto03 .modeInfo .mainBtn li {
	margin-top: 13%;
	}
	#howto .section#howto02 .textArea p{
	font-size: 14px;
	margin-top: 1.5rem;
	}
	#howto .section#howto02 .textArea p br{
	display: none;
	}
}
@media screen and (max-width:1024px) {
	#howto .section#howto02 .textArea .grp {
    padding: 5% 5% 0 0;
	}
	#howto .section#howto03 .modeInfo .imageArea {
	padding: 0 5%;
	}
	#howto .section#howto03 .modeInfo .imageArea > .imgTxtBx {
    width: 66%;
    left: 20%;
    top: 2%;
	}
}
@media screen and (max-width:840px) {
	#howto .section {
    margin-top: 8rem;
	}
	#howto #lower_mvArea .mvInnerBox {
	background: url("../../common/img/howto/mv_sp.jpg")
    center / cover;
	}
   #howto .section#howto03 .modeInfo .imageArea {
	width: 100%;
	padding: 0 5% 0 1%;
	}
	#howto .section#howto03 .modeInfo {
	margin-top: 4rem;
	}
	#howto .section#howto02 .textArea {
    position: static;
    background:#E3E3E3;
	padding: 4rem 10% 10%;
   }
	#howto .section#howto03 .modeInfo .imageArea {
	padding: 0 4% 0 4%;
	}
	#howto .section#howto03 .modeInfo .imageArea > .imgTxtBx {
    width: 66%;
    left: 17.8%;
    top: 0;
	}
	#howto .section#howto04 .textArea {
	padding: 0 5%;
	} 
	#howto .stepList div.textArea p {
	font-size: 92.9%;
	}
	#howto .stepList div.textArea p.note {
	font-size: 11px;
	}
	
}
@media screen and (max-width:980px) {
    #howto .stepList h3 {
	letter-spacing: 0;
    }
	#howto .stepList {
	gap: 5%;
    padding: 8rem clamp(20px, 2vw, 60px) 0;
	}
}
@media screen and (max-width:769px) {
	#howto .pgelinkArea{
	flex-direction: column-reverse;
	}
    #howto .stepList h3 {
        font-size: 1.6rem;
    }
}
@media screen and (max-width:640px) {
	#howto .section#howto03 .modeInfo .imageArea > .imgBx {
	width: 44%;
    margin-left: -2%;
	}
	#howto .section#howto03 .modeInfo .imageArea > .imgTxtBx {
       width: 74%;
       left: auto;
       right: 7%;
	}
	#howto .stepList h3 {
	font-size: 110%;
	}
}
	
#howto .section#howto03 .modeInfo li:first-child {
	margin-top: 0;
}

#howto .section.useInfo h2 {
	background: #FFFCAC;
	border-radius: 4px;
	font-size: 128.6%;
	line-height: 1;
	padding: 0.8em 0;
	margin-bottom: 8rem;
}
#howto .section.useInfo .note {
	font-size: 12px;
}
#howto .section#howto04 .imageArea {
	width: 40%;
	margin: 0 auto 4em;
}
#howto .section#howto05 .box {
	width: 67%;
	margin: 0 auto 4em;
}
#howto .section#howto05 .box h3 {
	font-size:128.6%;
	margin-bottom: 1rem;
}
#howto .section#howto05 .box table.pc {
	display: table !important;
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}
#howto .section#howto05 .box table.sp {
	display: none;
}
#howto .section#howto05 .box table th {
	background: #F5F5F5;
}
#howto .section#howto05 .box table td,
#howto .section#howto05 .box table th {
	text-align: left;
	padding: 1.5em 2em;
	border-collapse: collapse;
	border: 1px solid #707070;
}
@media screen and (max-width:840px) {
.sp {display: block !important;}
.pc {display: none !important;}
    #howto .section#howto02 .textArea .grp {
    padding: 8% 5% 0 0;
    }
    #howto .section#howto05 .box {
    width: 90%;
    }
    #howto .section#howto01 .innerBox {
    padding: 0 0 0 0;
    }
    #howto .stepList {
    margin-bottom: 5rem;
	padding: 3rem 5% 0 5%;
	overflow-x: scroll;
	gap: 4%;
    }
    #howto .stepList li {
    min-width: calc(100vw / 3 * 1.8);
    }
	#howto .section#howto04 .imageArea {
    width: 70%;
    margin: 0 auto 4em;
	}
	#howto .section#howto05 .box table.sp {
	display: table !important;
	width: 90%;
	margin-bottom: 10px;
	border-collapse: collapse;
	}
	#howto .section#howto05 .box table.pc {
	display: none !important;
	}
	#howto .section#howto05 .box table td, #howto .section#howto05 .box table th {
    text-align: left;
    padding: 1.2em 1em;
	vertical-align: middle;
	line-height: 1.5;
	border: 1px solid #707070;
    }
	#howto .section#howto05 .box h3 {
    font-size: 114.3%;
	}
	#howto .section.useInfo h2 {
    font-size: 114.3%;
    margin-bottom: 5rem;
	}
}


.logo-product {
	width: 240px;
}
.localnav {
	margin: 0 0 0 200px;
}
@media screen and (max-width:960px) {
	.logo-product {
	width: 200px;
	}
}
@media screen and (max-width:640px) {
	
	.logo-product {
	width: 180px;
	}
}

.js-letter-ttl span{
	backface-visibility: hidden;
	display: inline-block;
	opacity: 0;
	transform: translateX(-0.6em) scale(0.98);
	will-change: transform, opacity;
}
.js-letter-ttl span.is-show{
	animation: titleCharInX .7s cubic-bezier(.2,.7,.2,1) forwards;
}

@keyframes titleCharInX{
  0%{
    opacity: 0;
    transform: translateX(-0.6em) scale(0.98);
  }
  50%{
    opacity: 0.2;
    transform: translateX(-0.1em) scale(0.995);
  }
  100%{
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}


.spec .content + .content {
    margin-top: calc(var(--spacing-common) * 3);
}
.spec main{
	padding:6rem 0;
}

#ec-head p {
	line-height:normal;
}