@charset "utf-8";
/*
Theme Name: protech
Theme URI: http://webforart.net/
Description: yonezakiサイトテーマ。
Author: Web for Art
Author URI: http://webforart.net/
Version: 0.5.0
*/
/* リセットCSS */
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}main{display:block}h1,h2,h3,h4,h5,h6{font-size:inherit;line-height:inherit;font-weight:bold;}a{text-decoration:none;color:inherit;transition:all .3s ease-in-out}img{display: block;max-width:100%;height:auto;vertical-align: middle;}ol,ul{list-style:none}table{border-collapse:collapse}input,textarea,select{font:inherit;line-height:inherit;border:1px solid #ccc;padding:8px;}textarea{resize:vertical}button{padding: 0;font-family: inherit;appearance: none;cursor: pointer;background-color: transparent;border: none;}fieldset{border:0;padding:0;margin:0;min-width:0}legend{display:block;width:100%;max-width:100%;padding:0;white-space:normal;}[hidden],template{display:none}:focus-visible{outline:2px solid #000}

/* 投稿一覧
===================================================== */
.posts-list{display:grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 40px;margin-top: 56px;}
.posts-list li{position:relative}
.posts-img{width:100%;aspect-ratio:16/9;border-radius: 16px;overflow: hidden;margin-bottom:8px;}
.posts-img img{width:100%;height:100%;object-fit:cover}
.posts-update{font-family:var(--en-font);font-weight:700;}
.posts-tit{margin-top: .5em;line-height: 1.4;}
.posts-more{width:fit-content;margin-left:auto;margin-top: auto;padding-top: 16px;}

.article-wrap{width: 800px;max-width: 100%;margin-inline:auto;}
.posts-list-content{position:relative;display:flex;flex-direction:column;}
/* ページネーション */
.pagination{margin-top: 80px;}
.nav-links ul{position: relative;display:flex;gap: 8px;align-items: center;justify-content: center;width: 100%;flex-wrap: wrap;font-family: var(--en-font);line-height: 1;}
.nav-links li .page-numbers{width:40px;aspect-ratio:1;border: 1px solid;display:grid;place-items:center;position:relative;}
.nav-links li .page-numbers.current{background-color: var(--font-color);color: #fff;border: none;}


/* 記事
===================================================== */

/* 投稿者情報 */
.author-info{padding-block: 40px;padding-inline: 24px;background-color: var(--gray-color);}
.author-name{width:fit-content;}
.author-name img{width: 240px;filter: brightness(0);}
.author-data{margin-top: 1em;}
.author-data-head{font-size:12px;}
.author-data-body{margin-top:1em;font-size: 12px;}
.author-googlemap{margin-top: 8px;}
.author-googlemap a{font-size:14px;font-family:var(--en-font);line-height:1;display:inline-block;padding:8px 24px;background-color: #fff;}
.author-contact{margin-top: 1em;}

.single-content-wrap{width:calc(100% - 48px);padding-block:80px;margin-block: 40px;margin-inline:auto;background-color:#fff;border-radius:16px;}
.single-content-item{margin-top:40px;}
.shingle-update{font-family:var(--en-font)}
.single-title{font-size: 24px;margin-bottom: 1em;color: var(--main-color);}
.single-thumbnail{margin-bottom: 40px;}

/* 記事コンテンツ内部 */
.single-content h2{font-size: 24px;padding-block:8px;padding-inline:8px;margin-block:1em;background-color:var(--gray-color)}
.single-content h3{font-size: 24px;padding-block:8px;margin-block:1em;border-bottom:1px solid var(--font-color);}
.single-content h4{font-size: 24px;color: var(--main-color);margin-block: 1em 4px;padding-top: .5em;border-top:1px solid var(--font-color);}
.single-content h5{font-size: 16px;font-weight: 700;margin-block:1em}
.single-content a {text-decoration:underline;text-underline-offset:4px;}
.single-content img{display:block;}

/* レイアウト用 */
/* 文字に蛍光ペンで引いたような下線 */
.marker{background:linear-gradient(transparent 65%, #fff366 65%);display:inline;font-weight:600}

.single-posts-nav{margin-block: 40px;}
.single-posts-nav ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:40px;}
.single-posts-nav ul li a{display:block;padding-inline:24px;position: relative;}
.single-posts-nav ul li a::after{content:'';position:absolute;width:10px;aspect-ratio:1/1;border-top:1px solid;border-right:1px solid;top: 24px;}
.single-posts-nav ul li.single-next{text-align:right;}
.single-posts-nav ul li.single-next a::after{rotate:45deg;right:0;}
.single-posts-nav ul li.single-previous a::after{rotate:225deg;left:0;}
.single-posts-nav ul li.single-previous{border-right:1px solid}
.single-prev-txt,
.single-next-txt{font-size:12px;}

.single-more{width:fit-content;margin-top:40px;margin-inline:auto}
/* 記事ページネーション */
.single-pagination{width:400px;max-width: calc(100% - 32px);margin:64px auto 0;}
.single-pagination ul{display:flex;justify-content: space-between;gap: 16px;}
.single-pagination li a{display:block;font-size:14px;font-weight: bold;padding: 4px 24px;border:1px solid #000;text-align:center;position:relative;line-height: 1;}
.single-pagination li.single-previous,
.single-pagination li.single-next{width: 97px;font-size:12px;font-family: var(--en-font);font-weight:bold;}
.single-pagination li.single-previous a::before{content:'';display:inline-block;width: 8px;height: 8px;border-bottom:1px solid #000;border-left:1px solid #000;margin-right:8px;transform: rotate(45deg);vertical-align: 1px;}
.single-pagination li.single-next a::after{content:'';display:inline-block;width: 8px;height: 8px;border-top:1px solid #000;border-right:1px solid #000;margin-left:8px;transform: rotate(45deg);vertical-align: 1px;}

@media(max-width:767px) {
	.posts-list{grid-template-columns:repeat(2,1fr);gap: 40px 16px;}
	.posts-img{aspect-ratio: 1/1;border-radius: 8px;}
	.single-title{font-size:22px;}
}

/* 汎用CSS
===================================================== */

/* スマホでテキストの折り返し用 */
.ib {display: inline-block}

/* フォーム */
label {margin-bottom:8px;}
select,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
textarea {width: 100%;max-width: 100%;padding: 8px 16px;background-color: #fff;margin-top: 4px;}
select,input,textarea {line-height: 1.1;font-family: inherit;font-size: inherit;font-weight: inherit;}

input[type="submit"],
input[type="button"]{padding: 12px 16px;}

:root {
	--font-color: #111;
	--main-color: #35BCEF;
	--gray-color: #E4EDF0;
	--main-font:"Noto Sans JP", serif;
	--en-font: "Jost", sans-serif;
	--hover-transform:all .3s ease-in-out;
	--hamburger-transform:display .5s ease-in-out;
	--show-anime:opacity 1s , translate 1.2s;
	--clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
	--clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
	--clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
	--clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
	--clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
	--clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
	--clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
	--clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

::selection {background-color: var(--main-color);color:#fff;}

/* 基本レイアウト
===================================================== */

html{height: -webkit-fill-available;}
body{min-height: 100vh;min-height: -webkit-fill-available;}

body {font-size: 16px;font-family: "Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height: 1.8;letter-spacing: .01em;color: var(--font-color);text-align: justify;font-feature-settings: "palt";}
body.fix {position: fixed;overflow: hidden;width: 100vw;height: 100vh;}

#page{overflow:hidden;}
.container{width: 1148px;max-width: 100%;padding-inline: 24px;margin-inline: auto;position: relative;z-index:11;}
.page-content{padding-block: 120px;}
.content-bg{position:relative;}
.content-bg::before{content: '';position: fixed;inset:0;margin:auto;background:url(./images/content-bg-1.jpg)no-repeat center / cover;transition: opacity 1s ease;z-index: -2;}
.content-bg::after{content: '';position: fixed;inset:0;margin:auto;background:url(./images/content-bg-2.jpg)no-repeat center / cover;opacity: 0;transition: opacity 1s ease;z-index: -1;}
.content-bg.bg-second::after {opacity: 1;}
.loding-end .loding{opacity:0;z-index:-1;pointer-events:none;}

@media(max-width:720px){
	body{font-size:14px;}
}


/* ヘッダー
===================================================== */
.header-content{position: fixed;top:0;left:0;right:0;display:grid;grid-template-columns: auto minmax(0 , 1fr);align-items: center;padding-block: 12px;padding-inline: 40px 16px;z-index: 1111;transition:var(--hover-transform)}
.header-logo{position:relative;}
.header-logo img{width: 254px;}
.header-logo .header-des{position:absolute;bottom: -38px;font-size: 12px;color: #fff;letter-spacing: .1em;}
.header-logo .header-des span{font-size: 19px;margin-inline: .3em .05em;}
.nav_header_menu{display:flex;gap: 40px;align-items: center;justify-content:flex-end;}
.header_Menu_list{display:flex;gap: 40px;align-items: center;justify-content:flex-end;}
.header_Menu_list li{position:relative}
.header_Menu_list li .sub-menu{position: absolute;top: 100%;left: -15px;width: 200px;padding-inline: 16px;padding-bottom: 16px;opacity: 0;pointer-events: none;transition: opacity .4s cubic-bezier(.39,.575,.565,1);}
.header_Menu_list li .sub-menu li:first-child{margin-top: 1em;}
.header_Menu_list li .sub-menu li:not(:first-child){margin-top:.5em;}
.header_Menu_list li .sub-menu li a{text-decoration:underline;text-underline-offset: 4px;}
.header_Menu_list li a{font-size:14px;font-weight: bold;color:#fff;}
.header-contact{display:flex;gap:8px;}
.header-contact a{display:block;font-size:14px;font-weight: bold;color:#fff;width: 193px;padding-block: 20px;padding-inline:24px;border-radius:20px;background: linear-gradient(to right, #179ADB, #3373E6, #4853EF);transition:var(--hover-transform);position:relative;}
.header-contact a::before{content:'';position:absolute;clip-path:var(--clip-triangle-right);background-color:#fff;width: 6px;aspect-ratio:1/1;right: 25px;top: calc(50% - 3px);}
.header-contact a::after{content:'';position:absolute;width:20px;aspect-ratio:1/1;border-radius:1000px;border:2px solid #fff;right: 19px;top:calc(50% - 10px);transition:var(--hover-transform);}
.is-scrollActive .header-content{background-color:#fff;}
.is-scrollActive .header-logo img{filter:invert(100%)}
.is-scrollActive .header-des{opacity:0}
.is-scrollActive .header-content li a{color:#000}
.is-scrollActive .header_Menu_list li .sub-menu{background-color:#fff;}

/* ハンバーガーメニュー */
.header-hamburger{display:none}
.hamburgerbutton {position: fixed;display: block;text-decoration: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;border: none;cursor: pointer;height: 62px;width: 74px;background-color: transparent;padding: 0;margin:0 auto;top: 0;right: 0;z-index: 111;}
.hamburgerbutton-line {position: absolute;inset:0;margin: auto;width: 24px;height: 2px;-webkit-transition: inherit;transition: inherit;background-color: #fff;}
.hamburgerbutton-line::before,
.hamburgerbutton-line::after {position: absolute;display: block;width: 100%;height: 100%;background-color: inherit ;content: '';-webkit-transition: inherit;transition: inherit;transition: transform .2s;}
.hamburgerbutton-line::before {top: -10px;width: 32px;}
.hamburgerbutton-line::after {top: 10px;width: 15px;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line {background-color: transparent;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before,
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {top: 0;background-color: var(--main-color);}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before {transform: rotate(45deg);width: 32px;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {transform: rotate(-45deg);width: 32px;}
.visuallyHidden {position: absolute;white-space: nowrap;width: 1px;height: 1px;overflow: hidden;border: 0;padding: 0;clip: rect(0 0 0 0);clip-path: inset(50%); margin: -1px;}
.nav_hamburger_menu{position:fixed;inset: 0;margin: auto;width: 100%;height: 100dvh;overflow: auto;transition: opacity .5s;align-items: center;pointer-events: none;}

.hamburger-content{width: 640px;max-width: 89%;height: 100%;margin-left: auto;background-color: var(--gray-color);padding-inline: 20px;padding-block: 40px;overflow: auto;opacity:0;transition: opacity .5s cubic-bezier(0.14,1,0.34,1);}
.hamburger-logo .hamburger-site-logo{width:264px;}
.hamburger-logo .hamburger-site-logo img{filter:invert(100%)}
.hamburger_Menu{margin-top: 40px;}
.hamburger_Menu li:not(:first-child){margin-top: 1em;}
.hamburger_Menu li a{display:block;font-size: 16px;font-weight: bold;padding-inline: 8px;padding-bottom: 16px;border-bottom: 1px solid;}
.hamburger_Menu li .sub-menu{margin-top:24px;}
.hamburger_Menu li .sub-menu li:not(:first-child){margin-top: .5em;}
.hamburger_Menu li .sub-menu a{border-bottom:none;}
.hamburger_Menu li .sub-menu a::before{content:'';display:inline-block;width:16px;height:1px;background-color:var(--main-color);vertical-align:middle;margin-right:8px;}
.hamburger_Menu li.hamburger-contact a{display:block;padding-block:16px;padding-inline:16px;background-color:var(--main-color);color:var(--font-color);text-align:center;border:none;margin-top:24px;}
.hamburger-contact{margin-top:40px;}
.hamburger-contact .hamburger-more + .hamburger-more{margin-top:16px;}
.hamburger-more a{display:block;font-size:16px;font-weight: bold;color:#fff;width: 280px;padding-block: 20px;padding-inline:24px;border-radius:16px;background: linear-gradient(to right, #179ADB, #3373E6, #4853EF);position:relative;}
.hamburger-more a::before{content:'';position:absolute;clip-path:var(--clip-triangle-right);background-color:#fff;width: 6px;aspect-ratio:1/1;right: 25px;top: calc(50% - 3px);}
.hamburger-more a::after{content:'';position:absolute;width:20px;aspect-ratio:1/1;border-radius:1000px;border:2px solid #fff;right: 19px;top:calc(50% - 10px);}


.is-drawerActive .hamburgerbutton{z-index: 1112;background-color:transparent}
.is-drawerActive .nav_hamburger_menu{pointer-events: auto;}
.is-drawerActive .hamburgerbutton{z-index: 1112;background-color:transparent}
.is-drawerActive .nav_hamburger_menu{display: flex;}
.is-drawerActive .hamburger-content{opacity:1}

.is-drawerActive .sec-header{position:absolute;width:100%;z-index: 1111;}

.is-scrollActive .hamburgerbutton-line{background-color:var(--font-color)}

/* フッター
---------------------------- */
.contact-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.contact-item{width: 100%;padding-block: 160px;background: linear-gradient(to right, #35BCEF, #3373E6, #363BEF);position: relative;}
.contact-item .more{width:fit-content;margin-inline:auto;}
.contact-item .more span{font-size:24px;font-family: var(--main-font);color:#fff;}
.contact-item .more span::before{background-color:#fff;}
.contact-item .more span::after{border-color:#fff;}

.sec-footer{padding-block: 140px 120px;background:url(./images/footer-bg.jpg)no-repeat center / cover;color: #fff;}
.footer-logo img{width:254px}
.footer-content{display:grid;grid-template-columns: minmax(0,1fr) auto;gap: 40px;}
.footer-info{margin-top:24px}
.footer-address{font-size:14px;}
.footer-tel{margin-top:40px;}
.footer-tel dl:not(:first-of-type){margin-top:8px;}
.footer-tel dl div{display:grid;grid-template-columns:86px minmax(0,1fr)}
.footer-tel dl dt,
.footer-tel dl dd{font-family:Var(--en-font);}
.footer_Menu_list{display:flex;gap:40px;margin-top:40px;}
.footer-more:nth-child(2){margin-top:8px;}
.footer-more a{display:block;font-size:14px;font-weight: bold;color:#fff;width: 193px;padding-block: 20px;padding-inline:24px;border-radius:20px;background: linear-gradient(to right, #179ADB, #3373E6, #4853EF);position:relative;}
.footer-more a::before{content:'';position:absolute;clip-path:var(--clip-triangle-right);background-color:#fff;width: 6px;aspect-ratio:1/1;right: 25px;top: calc(50% - 3px);}
.footer-more a::after{content:'';position:absolute;width:20px;aspect-ratio:1/1;border-radius:1000px;border:2px solid #fff;right: 19px;top:calc(50% - 10px);}
.footer-bottom{display:flex;justify-content:space-between;margin-top:40px;padding-top:40px;border-top:1px solid;}
.footer-bottom-nav{display:flex;gap:1em;font-size:12px;}
.site-generator{font-size:12px;}

/* 下層ヘッダー
---------------------------- */
.page-herder{padding-top:120px;}

/* パンくず
---------------------------- */
.bread_crumb {padding-inline:40px;;margin-inline: auto;display:flex;align-items:center;flex-wrap:wrap;color: #fff;}
.bread_crumb li{font-size:12px;line-height: 1;}
.bread_crumb li:after {content: '';display: inline-block;width: 32px;height: 1px;background-color:#fff;margin-inline:16px;vertical-align: middle;}
.bread_crumb li:last-child::after {display: none;}
.bread_crumb li.current{text-decoration:underline;text-underline-offset:4px;}

@media(max-width:1240px){
	.header-content{padding-inline:16px;}
	.header_Menu_list{gap:24px;}
	.nav_header_menu{gap:24px;}
	.header-contact a{width:140px;}
}

@media(max-width:1024px){
	.header-content{padding-inline: 16px 72px;}
	.header_Menu_list{display:none;}
	.header-contact a{padding-block:8px;padding-inline:24px;}
	.header-hamburger{display:block;}
	.footer-content{grid-template-columns:minmax(0,1fr)}
	.footer-contact{display:grid;grid-template-columns:193px 193px;gap:24px;}
	.footer-more:nth-child(2){margin:0}
}

@media(max-width:767px){
	.header-content{padding-block: 20px 24px;}
	.header-logo img{width: 200px;}
	.header-logo .header-des{font-size:10px;bottom: -25px;}
	.header-logo .header-des span{font-size: 11px;margin-inline: 0;}
	.header-contact{display:none}
	.sec-footer{padding-block:80px 24px}
	.footer_Menu_list{flex-direction:column;gap:8px;}
	.bread_crumb{padding-inline:24px;}
}

@media(max-width:560px){
	.footer-contact{grid-template-columns:minmax(0,1fr);gap:8px}
	.footer-bottom{flex-direction:column;gap:8px;}
}

/*-------------------------------------
/* 共通
--------------------------------------- */
.en-font{font-family:var(--en-font)}
.com-tit-en{font-size:40px;font-family: var(--en-font);text-transform:uppercase;font-weight: 500;line-height: 1;}
.tit-under{display:flex;align-items: flex-end!important;gap: 1em!important;}
.tit-under::after{content:'';display:inline-block;width:120px;height:2px;background-color:#000;margin-bottom:7px}
.link-over{position:absolute;inset: 0;margin: auto;z-index: 1;}
.more span,
.more a{display: block;text-transform:uppercase;font-family: var(--en-font);font-weight: 500;line-height: 1;padding-right: 30px;position:relative;}
.more span::before,
.more a::before{content:'';position:absolute;clip-path:var(--clip-triangle-right);background-color:#111;width: 6px;aspect-ratio:1/1;right: 6px;top: calc(50% - 3px);}
.more span::after,
.more a::after{content:'';position:absolute;width:20px;aspect-ratio:1/1;border-radius:1000px;border: 2px solid #111;right: 0px;top:calc(50% - 10px);}
.more.l-circle a,
.more.l-circle span{padding-right: 56px;}
.more.l-circle a::before,
.more.l-circle span::before{width:10px;right:14px;top: calc(50% - 5px);}
.more.l-circle a::after,
.more.l-circle span::after{width:40px;top: calc(50% - 20px);}
.sp-only{display:none}
.noPost{text-align:center;}

.fadeUP{opacity: 0;translate: 0 50px;transition:var(--show-anime);}
.fadeLeft{opacity: 0;translate: -50px 0;transition:var(--show-anime);}
.fadeRight{opacity: 0;translate: 50px 0;transition:var(--show-anime);}
.show .fadeUP{opacity:1;translate:0}
.show .fadeLeft{opacity:1;translate:0}
.show .fadeRight{opacity:1;translate:0}
.show .delay2{transition-delay:.2s}
.show .delay4{transition-delay:.4s}
.show .delay6{transition-delay:.6s}

@keyframes show {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@media(max-width:767px){
	.com-tit-en{font-size:28px;}
	.sp-only{display:block}
}

/*-------------------------------------
/* ホバースタイル
--------------------------------------- */
.link-over ~ figure img{transition:var(--hover-transform)}
.more span::before, .more a::before{transition:var(--hover-transform)}
.more span::after, .more a::after{transition:var(--hover-transform)}

@media (hover: hover){
	.header_Menu_list li:has(.sub-menu):hover .sub-menu{opacity: 1;pointer-events: all;}
	.header-contact a:hover{;background: linear-gradient(to right, #3373E6, #3373E6, #3373E6)}
	.header-contact a:hover::after{scale:1.2}
	.service-list li:has(.link-over:hover){background-color:var(--main-color);color:#fff}
	.service-list li:has(.link-over:hover)::before{color:#fff}
	.service-list li:has(.link-over:hover) .more{color:#fff}
	.service-list li:has(.link-over:hover) .more span::before{background-color:#fff}
	.service-list li:has(.link-over:hover) .more span::after{border-color:#fff}
	.link-over:hover ~ figure img{scale:1.1}
	.link-over:hover ~ .more span::before,
	.link-over:hover ~ .more a::before{scale:1.2}
	.link-over:hover ~ .more span::after,
	.link-over:hover ~ .more a::after{scale:1.2}
}


/* TOP
===================================================== */
.opening-show {opacity: 1 !important;}
.mv{height: 100vh;min-height: 720px;position: relative;background: url('./images/mv-1.jpg') center/cover no-repeat;transition: background 1s ease;z-index: 11;}
.opening-text{position: absolute;inset: 0;margin: auto;font-size: 40px;font-weight:bold;letter-spacing:.1em;color: #fff;white-space: nowrap;display: flex;align-items: center;justify-content: center;}
.opening-text-inner{display: inline-block;width: 2.3em;text-align:center;letter-spacing: .2em;}
.mv-text{position:absolute;right: 128px;top: 160px;writing-mode:vertical-rl;text-orientation: upright;font-size:14px;font-weight:bold;color:#fff;letter-spacing:.1em;line-height:2}
.top-info-item-in{position:absolute;bottom: 0;right: 0;display:grid;grid-template-columns:auto auto auto;gap:24px;width: fit-content;padding-block: 8px;padding-inline: 18px;background-color: #fff;}
.top-info-tit,
.top-info-update,
.top-info-posts-tit{font-size:14px;font-weight: bold;text-transform:uppercase;}

.sec-service{padding-block: 80px;border-top: 20px solid #fff;}
.service-item{padding-block:56px;padding-inline: 5%;background-color:#fff;}
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px;}
.service-list li{width:100%;aspect-ratio:1/1.2;padding-block: 72px;padding-inline: 7%;background-color: var(--gray-color);border-radius:16px;display: flex;flex-direction: column;gap: 40px;counter-increment: num;position: relative;}
.service-list li::before{content: '0'counter(num);font-size: 48px;font-family: var(--en-font);font-weight: bold;color: #35BCEF;line-height: 1.4;border-bottom: 2px solid;width: fit-content;margin-inline: auto;}
.service-list h3{font-size:24px;text-align:center;}
.service-list li .more{margin-top:auto;text-align: right;}

.sec-products{padding-block:24px;padding-inline: 24px;position: relative;z-index: 111;}
.products-box{padding-block:80px;padding-inline: 24px;background-color:var(--gray-color);border-radius:16px;}
.sec-products .container{width:1300px}
.products-item{display:grid;grid-template-columns: 400px minmax(0,1fr);gap: 7%;align-items: end;}
.products-tab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px;}
.products-tab-list li a{display:block;padding-block: 2.5em;padding-inline:1em;text-align:center;background-color:#fff;border-radius:16px;}
.products-img-active a{background:url(./images/products-tab-bg.jpg)no-repeat center / cover;}
.products-img-item li figure{border-radius:16px;overflow:hidden}
.products-img-item li p{font-size:14px;font-weight:bold;letter-spacing:.1em;margin-top:1em;}

.sec-works{padding-block:80px;padding-inline: 24px;}
.works-item{width:1480px;max-width:100%;margin-inline:auto;position: relative;}
.works-des-item{display:flex;justify-content:space-between;align-items: center;}
.works-list{display:grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 40px;margin-top: 56px;}
.works-list li{position:relative}
.works-list-content{display:flex;flex-direction:column;position: relative;}
.works-img{width:100%;aspect-ratio:16/9;border-radius: 16px;overflow: hidden;}
.works-img img{width:100%;height:100%;object-fit:cover}
.works-cat-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:1em}
.works-cat-list li{font-size:14px;color:#35BCEF;padding-inline:1em;border-radius:4px;border:1px solid;mix-blend-mode: color-dodge;}
.works-tit{margin-top: .5em;}
.works-more{width:fit-content;margin-top: auto;margin-left:auto;padding-top: 20px;}
.sec-column{padding-inline:24px;padding-bottom: 80px;}
.column-box{padding-block: 120px;padding-inline: 24px;background:url(./images/column-bg.jpg)no-repeat center / cover;border-radius: 16px;}
.column-item .com-tit-en{color:#fff;}
.column-item .tit-under::after{background-color:#fff;}
.column-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap: 8px 40px;margin-top:56px;}
.column-list li{display:grid;grid-template-rows: subgrid;grid-row: span 2;}
.column-update{font-weight: 500;color:#fff;}
.column-content{padding-block:24px;padding-inline:24px;background-color:#fff;border-radius: 16px;display: grid;position: relative;}
.column-img{overflow:hidden;border-radius:8px;}
.column-des{margin-top:16px;}
.column-ex{font-size:14px;margin-block: 14px 24px;}
.column-content .more{margin-top:auto;}
.column-content .more span{display:block;width:fit-content;margin-left:auto}

.sec-pr-service{padding-block: 120px 80px;position: relative;}
.sec-pr-service::after{content:'';position:absolute;width:100%;height:200px;background-color:#fff;bottom:0;left:0;right:0;}
.pr-service-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
.pr-service-item{padding-block: 40px;padding-inline: 56px;border-radius:16px;background-color:#fff;box-shadow: 4px 2px 10px 0px rgba(0,0,0,0.1);position: relative;}
.pr-tit{display:grid;}
.pr-tit h2{order:2;font-size: 28px;line-height: 1;color: #35BCEF;}
.pr-tit p{order:1;font-size:20px;font-family:Var(--en-font);font-weight: 500;text-transform:uppercase;}
.pr-service-item .more{margin-top: 120px;}
.pr-service-item .more span{text-align: right;}

@media(max-width:1240px){
	.products-item{gap:40px;}
	.products-tab-list{margin-top:40px;}
}

@media(max-width:1024px){
	.mv{min-height:480px}
	.mv-text{writing-mode:rl;;right: 40px;line-height: 1.6;}
	.service-item .com-tit-en{width:640px;max-width:100%;margin-inline:auto}
	.service-list{grid-template-columns:minmax(0,1fr);margin-top: 40px;}
	.service-list li{aspect-ratio:auto;width:480px;max-width: 100%;margin-inline:auto;padding-block: 48px 32px;}
	.products-item{width: 640px;max-width: 100%;margin-inline: auto;grid-template-columns:minmax(0,1fr)}
	.products-tab-list{grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px 8px;}
	.products-tab-list li a{padding-block:24px;}
	.works-list{grid-template-columns:repeat(2,minmax(0,1fr))}
	.column-item .com-tit-en{width:640px;max-width:100%;margin-inline:auto}
	.column-list{grid-template-columns:minmax(0,1fr);width: 480px;max-width:100%;margin-inline:auto;margin-top: 40px;gap: 24px;}
	.column-list li{gap:8px;}
	.contact-item{padding-block:120px}
	.contact-item .more span{font-size:18px;position: relative;}
	.more.l-circle a::after, .more.l-circle span::after{width:32px;top: -9px;right: 4px;}
}

@media(max-width:767px){
	.mv-text{top: 20vh;right:20px;}
	.opening-text{font-size:24px;}
	.top-info-item-in{right:auto;left:0;bottom: -5px;width: 100%;grid-template-columns: 82px auto auto;gap: 0;padding-block: 4px 8px;}
	.top-info-tit{grid-column: 1/4;}
	.products-box{padding-inline:0;padding-block: 80px;}
	.service-list li{gap:24px;}
	.service-list h3{font-size:20px;}
	.works-list{gap:40px 16px}
	.works-img{aspect-ratio: 1/1;border-radius: 8px;}
	.works-item{padding-bottom:80px;}
	.works-item .more.l-circle{position:absolute;bottom:0;left:50%;translate:-50% 0}
	.column-box{padding-inline:0;padding-block:80px}
	.contact-box{grid-template-columns:minmax(0,1fr);background-color:#fff;gap:4px;}
	.contact-item{padding-block:40px;padding-inline:24px;}
	.contact-item .more{width:100%;}
	.contact-item .l-circle span::after{top: -7px;}
}

@media(max-width:560px){
	.products-tab-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
	.works-cat-list li{font-size: 11px;}
	.works-more{padding-top:8px}
}

/* サービス共通
===================================================== */
.com-service-content{width:80%;min-width:1024px;margin-inline:auto;padding-inline: 24px;}
.com-service-content .com-tit-en{color:#fff;}
.com-service-content .com-tit-en::after{background-color:#fff;}
.com-service-item{display:grid;grid-template-columns:60% minmax(0,1fr);align-items: center;gap: 6%;margin-top:56px;}
.com-service-item figure img{width: 100%;height: 100%;object-fit: cover;box-shadow:4px 2px 10px 0px rgba(0,0,0,0.1)}
.com-service-des{/* padding-top:33%; */}
.com-service-des h3{font-size: clamp(1.5rem, 1.588rem + 1.18vw, 2rem);color:#fff;letter-spacing:.1em;line-height:1.4;}
.com-service-des p{margin-top:2em;color:#fff;}

.page-service-list{padding-top:120px;}
.page-service-list-item{padding-block:56px;padding-inline: 56px;background-color:#fff;}
.page-service-list-item .service-list{margin-top:0}
.page-service-list-item .service-list li{padding-top:40px;aspect-ratio: auto;}
.page-service-list-item .service-list li figure{border-radius:16px;overflow:hidden}

.page-service-products{padding-top: 160px;}
.service-products-head{margin-top:40px;}
.service-products-head h3{font-size:24px;}
.service-products-head p{margin-top:1em}
.service-products-item{margin-top:80px;}
.service-products-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.service-products-list li{padding-block: 56px 40px;padding-inline:24px;background-color:#fff;position: relative;}
.service-products-in{padding-inline:24px;}
.service-products-list li figure{width:100%;aspect-ratio:29/21;}
.service-products-list li figure img{width:100%;height:100%;object-fit:cover;border-radius:16px;}
.products-slug-txt{font-family:var(--en-font);text-transform:uppercase;margin-top: 32px;display:flex;align-items: center;gap:1em}
.products-slug-txt::after{content:'';flex:1;height:1px;background-color:var(--font-color);}
.service-products-in .products-tit{font-size:24px;color:var(--main-color);margin-top: 16px;}
.service-products-in .products-copy{font-weight:bold;margin-top: 8px;}
.service-products-in .products-des{margin-top:.5em;line-height: 1.5;}
.service-products-list li .more{margin-top:56px;text-align:right}

@media(max-width:1024px){
	.com-service-content{width:640px;max-width:100%;margin-inline:auto;min-width: auto;}
	.com-service-item{grid-template-columns:minmax(0,1fr);gap: 24px;}
	.page-service-list-item{width: 840px;max-width: 100%;margin-inline: auto;padding-inline:24px;}
}

@media(max-width:767px){
	.com-service-item{margin-top:40px;}
	.com-service-des h3{font-size:24px;color:var(--font-color)}
	.com-service-des p{color:var(--font-color)}
	.service-list li::before{font-size:32px;}
	.service-products-list{grid-template-columns:minmax(0,1fr);width:640px;max-width:100%;margin-inline:auto}
	.service-products-list li{padding-block:40px;}
	.products-slug-txt{margin-top:16px;}
	.service-products-in .products-tit{font-size:20px;margin-top: 8px;}
	.service-products-in{padding-inline:0}
	.service-products-list li .more{margin-top:40px;}
	.service-products-list li .more{margin-top:40px;}
}

/* 製品詳細
===================================================== */
.single-products-content .service-products-in{padding-inline: 0;color:#fff;}
.single-products-content .products-slug-txt::after{background-color:#fff;}
.single-products-content .service-products-in .products-tit{font-size:32px;;color:#fff;}
.single-products-content .service-products-in .products-copy{font-size:18px;letter-spacing:.05em}
.products-more a{display:block;font-size:18px;color:#fff;line-height:1.5;background: linear-gradient(to right, #35BCEF, #3373E6, #363BEF);padding-block:56px;padding-inline:24px;border-radius:16px;position:relative;}
.products-more a::before{content:'';position:absolute;clip-path:var(--clip-triangle-right);background-color:#fff;width: 10px;aspect-ratio:1/1;right: 46px;top: calc(50% - 3px);}
.products-more a::after{content:'';position:absolute;width:40px;aspect-ratio:1/1;border-radius:1000px;border: 2px solid #fff;right: 32px;top:calc(50% - 19px);}

.products-spec.scroll{overflow-x:scroll}
.products-spec table{width: 719px;margin-inline:auto;table-layout: fixed;}
.products-spec table tr{border-left:1px solid;}
.products-spec table tr:last-of-type{border-bottom:1px solid;}
.products-spec table th{font-size:14px;font-weight:normal;text-align:center;padding-block:1em;padding-inline:8px;border-top: 1px solid var(--font-color);border-right: 1px solid var(--font-color);}
.products-spec table td{font-size:14px;text-align:center;padding-block:1em;padding-inline:8px;background-color: #fff;border-top:1px solid;border-right:1px solid;}
.products-spec-top{background-color: #008ED7;color: #fff;}
.products-spec.scroll::-webkit-scrollbar {height: 10px;}
.products-spec.scroll::-webkit-scrollbar-thumb {background-color: var(--main-color);border-radius: 10px}
.flow-tit{aspect-ratio:1/1;display: flex;align-items: center!important;justify-content: center!important;}
.products-flow .elementor-heading-title span{display:block;font-size:12px;margin-top:8px;}
.products-faq .e-n-accordion-item-title::before{content:'Q';position:absolute;font-size: 20px;font-family:var(--en-font);font-weight:bold;top: 14px;left: 26px;}
.products-faq .faq-a::before{content:'A';position:absolute;font-size: 20px;font-family:var(--en-font);font-weight:bold;top: -2px;left: -37px;}

@media(max-width:767px){
	.single-products-content .service-products-in .products-tit{color:var(--font-color)}
	.single-products-content .service-products-in{color:var(--font-color)}
	.single-products-content .products-slug-txt::after{background-color:var(--font-color)}
	.products-spec.scroll{padding-bottom:24px}
	.products-spec-note{margin-top:8px;}
	.flow-tit{width: 100%;margin-inline:auto;aspect-ratio: 7/2;}
}

/* 会社概要
===================================================== */
.page-company-toc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;;width:560px;max-width:100%;margin-inline:auto;}
.page-company-toc-list li a{display:block;font-size:18px;font-weight:bold;text-align:center;padding-block:1em;padding-inline:.1em;background-color:#fff;border-radius:16px;}
.page-company-toc-list li a:hover{background-color:#a0b8c4}
.page-company-outline{padding-block:80px;}
.page-company-outline-content{padding-block:80px;padding-inline:80px;background-color:#fff;}
.company-outline-item{margin-top:100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;}
.company-outline-item-des h3{font-size:24px;color:var(--main-color);}
.company-outline-item-des-head{margin-top:40px;font-size:20px;font-weight:bold;}
.company-outline-item-des-body{margin-top:2em}
.company-outline-table{margin-top: 56px;width: 800px;max-width: 100%;margin-inline: auto;}
.company-outline-table th{width: 200px;padding-block: 24px;vertical-align: top;border-bottom:1px solid var(--gray-color)}
.company-outline-table td{padding-block: 24px;border-bottom:1px solid var(--gray-color)}
.company-outline-map{margin-top:40px;}
.company-outline-map iframe{width:100%;height:auto;aspect-ratio:16/9}
.page-company-history{padding-block:80px;}
.page-company-history-content{padding-block:80px;padding-inline:80px;background-color:var(--gray-color);}
.company-history-item{margin-top:80px;}
.company-history-item h3{font-size:24px;color:var(--main-color);}
.company-history-item-des{width: 800px;max-width: 100%;margin-top:40px;margin-inline: auto;}
.company-history-item-des dl div{display:flex;}
.company-history-item-des dl div dt{width:90px;margin-right: 56px;font-size: 24px;font-family: var(--en-font);color: #008ED7;text-align: right;line-height: 1.3;}
.company-history-item-des dl div dd{flex: 1;padding-bottom: 57px;padding-left: 64px;position:relative}
.company-history-item-des dl div dd::before{content:'';position:absolute;width:4px;height:100%;background-color:var(--main-color);left:0;top:5px}
.company-history-item-des dl div dd::after{content:'';position:absolute;width: 32px;aspect-ratio:1/1;background-color:#fff;border:2px solid var(--main-color);border-radius:1000px;left: -14px;top: -1px;}
.company-history-item-des dl:last-of-type dd{padding-bottom: 24px;}
.company-history-item-des dl:last-of-type dd::before{height: 0;}
.tofuture-txt{font-size: 24px;font-family: var(--en-font);color: #008ED7;text-transform:uppercase;padding-left:72px;}
.page-company-client{padding-top:80px;}
.page-company-client-content{padding-block:80px;padding-inline:80px;background-color:#fff;}
.company-client-item{margin-top: 80px;}
.company-client-item h3{font-size:24px;color:var(--main-color);}
.company-client-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width: 800px;max-width: 100%;margin-top:40px;margin-inline: auto;}
.company-client-list li{font-size:14px;padding-bottom:4px;border-bottom:1px solid;margin-top:8px;}
.company-client-list li:nth-child(even){padding-left:1em;border-left:1px solid;}

.com-table{width:100%;text-align:left;}
.com-table tr{border-top:1px solid  #DBDBDB;border-right:1px solid #DBDBDB}
.com-table tr:last-of-type{border-bottom:1px solid #DBDBDB}
.com-table th{font-weight: normal;width:160px;vertical-align:middle;padding-block:1em;padding-inline:1.5em;border-left:1px solid #DBDBDB;background-color: var(--gray-color);}
.com-table td{padding-block:1em;padding-inline:1.5em;background-color:var(--bg-color);border-left:1px solid #DBDBDB}

@media(max-width:1024px){
	.company-outline-item{margin-top:40px;width: 640px;max-width: 100%;margin-inline: auto;grid-template-columns:minmax(0,1fr);gap: 24px;}
}

@media(max-width:767px){
	.page-company-outline{padding-block:40px}
	.page-company-outline-content{padding-block:80px;padding-inline:24px}
	.company-outline-item-des h3{font-size:20px;}
	.company-outline-item-des-head{font-size:18px;margin-top:24px;}
	.company-outline-table tr:not(:first-of-type){border-top:24px solid #fff;}
	.company-outline-table th,
	.company-outline-table td{display:block;width:100%;text-align:center;background-color:var(--gray-color);}
	.company-outline-table th{border-radius: 16px 16px 0 0;padding-bottom:8px;padding-inline: 24px;position:relative;}
	.company-outline-table th::after{content:'';position:absolute;width:80%;height:1px;background-color:var(--font-color);bottom:0;left:50%;translate:-50% 0}
	.company-outline-table td{border-radius: 0 0 16px 16px;padding-top:8px;padding-inline:24px;}
	.company-outline-map iframe{aspect-ratio:3/2}
	.page-company-history-content{padding-inline:24px}
	.page-company-history{padding-block:40px}
	.company-history-item{margin-top:40px;}
	.company-history-item h3{font-size:20px;}
	.company-history-item-des dl div dt{width: 50px;margin-right:24px;font-size: 20px;}
	.company-history-item-des dl div dd{padding-left: 30px;padding-bottom: 40px;}
	.company-history-item-des dl div dd::before{width:2px;}
	.company-history-item-des dl div dd::after{width:24px;left: -11px;}
	.tofuture-txt{padding:0;text-align:center;}
	.page-company-client{padding-top:40px}
	.page-company-client-content{padding-inline:24px;}
	.company-client-item{margin-top:40px;}
	.company-client-item h3{font-size:20px}
	.company-client-list{grid-template-columns:minmax(0,1fr)}
	.company-client-list li:nth-child(even){padding-left:0;border-left:none}
}
@media(max-width:540px){
	.page-company-toc-list{grid-template-columns:minmax(0,1fr);gap:8px;}
	.page-company-toc-list li a{font-size:14px;}
}

/* 施工事例一覧
===================================================== */
.works-seach{margin-bottom:80px;}
.works-seach fieldset + fieldset{margin-top:40px;}
.works-seach fieldset legend{font-size:20px;font-weight:bold;display:flex;align-items:center;gap:16px;}
.works-seach fieldset legend::after{content:'';flex:1;height:1px;background-color:var(--font-color)}
.checkbox-list{display:flex;gap: 8px 24px;flex-wrap: wrap;margin-top: 16px;}
.check{display: table-cell;width: 20px;height: 20px;position: relative;}
.check input[type="checkbox"]{display:none;}
.check label{position: absolute;top: 0;bottom: 0;margin:auto;width: 20px;height: 20px;border: 2px solid #111;border-radius: 1000px;background-color: #fff;margin: 0;cursor: pointer;}
.info label{cursor: pointer;padding-left:8px;margin:0}
.info{display: table-cell;vertical-align: middle;line-height: 1;}
.check input:checked + label{background:#000 url(./images/check.svg)no-repeat center / 10px auto}
.works-search-button{text-align:center;margin-top:40px;margin-inline: auto;}
.works-search-button button{padding-block:16px;padding-inline: 40px;background-color:var(--main-color);color:#fff;}
.no-results{padding-block:40px 160px;}

/* 施工事例詳細
===================================================== */
.single-works-spec{width:100%;margin-bottom: 80px;}
.single-works-spec tr{border-bottom:1px solid;}
.single-works-spec tr:not(:first-of-type) th,
.single-works-spec tr:not(:first-of-type) td{padding-top:16px;}
.single-works-spec th{font-weight:normal;width:160px;padding-bottom:8px;position:relative;}
.single-works-spec th::after{content:'';position:absolute;right:0;bottom:0;height:32px;width:1px;background-color:var(--font-color)}
.single-works-spec td{padding-left:40px;padding-bottom:8px;}
.single-works-des-img{margin-block:24px 40px;}
.single-works-movie{width:100%;margin-top: 80px;}
.single-works-movie video{width:100%;aspect-ratio: 16/9;}
.single-works-related{margin-top:80px;}
.single-works-related-list{display:grid;gap: 32px;grid-template-columns:repeat(2,minmax(0,1fr))}
.single-works-related-list li{position:relative}
.single-works-related-tit{font-size: 24px;color: var(--main-color);margin-block:1em .5em;padding-top: .5em;border-top:1px solid var(--font-color);}
.single-works-related-item{display:grid;grid-template-columns: 160px minmax(0,1fr);gap: 16px;}
.single-works-related-img{width:100%;aspect-ratio:3/2;}
.single-works-related-img img{width:100%;height:100%;object-fit:cover;}
.single-works-related-des{display:flex;flex-direction:column;}
.single-works-related-des h4{line-height:1.2}
.single-works-related-des .more{width:fit-content;margin-top:auto;margin-left:auto;}

@media(max-width:767px){
	.single-works-spec th,
	.single-works-spec td{display:block;width:100%;text-align: center;padding-bottom: 16px;}
	.single-works-spec th{border-bottom:1px solid var(--gray-color)}
	.single-works-spec th::after{display:none}
	.single-works-spec td{padding-left:0;padding-block: 16px;}
	.single-works-spec tr:not(:first-of-type) th{margin-top: 24px;}
	.single-works-related-list{grid-template-columns:minmax(0,1fr)}
	.single-works-related-item{grid-template-columns:120px minmax(0,1fr)}
}

/* お問い合わせ
===================================================== */
.page-contact-item{padding-block:80px;padding-inline:80px;background-color:#fff;}
.page-contact-des{margin-top:40px;}
.page-contact-des-note{margin-top:24px;font-size:12px;}
.page-contact-des-note ul{padding-left:2em;list-style:circle}

.c-table {width: 800px;max-width:100%;margin: 56px auto 0;}
.from-item{display:flex;flex-wrap: wrap;padding-block: 40px;border-top: 1px solid var(--gray-color);}
.c-table .fl{width:240px;padding-block: 4px;display: block;}
.c-table .fr{width:calc(100% - 240px)}
.required{font-size: 12px;color:var(--main-color);margin-left: 8px;vertical-align: 1px;}
.any{font-size: 12px;padding: 4px 8px;background-color: #b4b5b5;margin: 0 16px 0 0;vertical-align: 1px;}
.example{font-size: 14px;letter-spacing: -1px;}
.from-item .wpcf7-list-item{margin:0}
.from-item .wpcf7-list-item:not(:last-of-type){margin: 0 1.5em 0 0;display: inline-block;}
.from-item input[type=email]{width:100%}
.from-item input[type=tel]{width:310px;}
.from-item textarea {height: 140px;width:100%}
.from-note{width: 420px;max-width: 100%;text-align:center;margin:40px auto 0;padding: 32px 16px;border: 1px solid;}
.from-note p{color:#000;}
.from-note .acceptance-wrap{font-weight:bold;margin:16px 0 0}
.from-note .doui{width: 18px;height: 18px;margin: 0 8px 0 0;border: none;vertical-align: -3px;}
.wpcf7-submit:disabled{opacity: 0.3;pointer-events: none}
.formsubmit{margin: 60px auto 0;position:relative;width:fit-content;}
.formsubmit .wpcf7-submit{width: 300px;max-width:100%;margin-inline: auto;padding-block: 24px;background-color: var(--main-color);line-height:1;color: #fff;text-align: center;position: relative;font-size: 20px;transition:var(--hover-transform)}
.wpcf7-spinner{display:block;margin:16px auto}
.policy-link{padding:0 8px;text-decoration: underline;}

@media(max-width:767px){
	.page-contact-item{padding-inline:24px;}
	.c-table .fl,
	.c-table .fr{width:100%;}
	.from-item{padding-block:24px;}
}


/* privacypolicy
===================================================== */
.privacypolicy-item .com-tit-en{margin-bottom:80px;}
.privacypolicy-item{padding-block:80px;padding-inline:80px;background-color:#fff;}
.privacypolicy-item h3{font-size:20px;margin-block:40px 8px}
.privacypolicy-item h4{font-size:18px;margin-block:32px 8px}
.privacypolicy-item h4::before{content:'';display:inline-block;width:16px;aspect-ratio: 1/1;background-color: var(--font-color);margin-right:8px;}
.privacypolicy-item h5{margin-block:24px 8px}
.privacypolicy-item h5::before{content:'';display:inline-block;width:16px;height:1px;background-color: var(--font-color);margin-right:8px;vertical-align: 6px;}
.privacypolicy-item ul,
.privacypolicy-item ol{margin-block:16px}
.privacypolicy-item li{position:relative;padding-left: 24px;}
.privacypolicy-item li::before{content:'';position: absolute;width:10px;height:10px;border-radius:10px;background-color: var(--font-color);margin-right:8px;top: 8px;left: 4px;}

.tokushoho-item{padding-block:80px;padding-inline:80px;background-color:#fff;}
.tokushoho-item h2{font-size: 24px;color: var(--main-color);}

@media(max-width:1024px){
}

@media(max-width:767px){
	.page-content{padding-block: 40px;}
	.com-table th,
	.com-table td{display:block;width:100%;}
	.com-table th{padding-bottom:.5em;}
	.com-table td{padding-top:.5em;}
	.privacypolicy-item{padding-inline:24px;}
	.privacypolicy-item .com-tit-en{margin-bottom:40px;}
	.privacypolicy-item h3{font-size:18px;}
	.privacypolicy-item h4{font-size:16px;}
	.privacypolicy-item h4::before{width:8px;margin-right: 4px;}
	.tokushoho-item{padding-inline:24px;}
	.tokushoho-item h2{font-size:20px;}
	.company-outline-table{margin-top:40px;}
	.tokushoho-item .company-outline-table th{text-align:left;}
	.tokushoho-item .company-outline-table th::after{width:calc(100% - 48px)}
	.tokushoho-item .company-outline-table td{text-align:left;}
}

/* お見積りシミュレーション
===================================================== */
.page-estimete-fields{width:calc(100% - 48px);padding-block:80px;margin-block: 40px;margin-inline:auto;background-color:#fff;border-radius:16px;}
.page-estimete-des{margin-top:40px;}
.page-estimete-des h3{font-size:24px;}
.page-estimete-des p{margin-top:1em}
.page-estimete-item{margin-top: 40px;padding-block: 40px;padding-inline: 40px;background-color:#E8EEF1;}

#fbuilder #fieldlist_1 .led-construction .led-construction-case-tit h4{font-size:28px;}
#fbuilder #fieldlist_1 .led-construction .led-construction-case > label{font-size: 24px;color: #35BCEF;font-weight:bold;display: block;width: fit-content;margin-inline:auto;margin-bottom: 0;}
#fbuilder #fieldlist_1 .led-construction .led-construction-case > label span{display:none}
#fbuilder #fieldlist_1 .led-construction .led-construction-case .side_by_side{float:none;margin-inline: 12px;width: 240px;}
#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield{display: flex;justify-content:center;margin-top: 40px;gap: 16px;}
#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield input[type="radio"]{display:none}
#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield label{text-align:center;margin:0;padding-block:.5em;padding-inline:16px;background-color:#A0B8C4;font-size:20px;font-weight:bold;border-radius:16px;display: inline-block;width: 100%;}
#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield label:has(input[type="radio"]:checked){background-color:#fff}

/* 屋外型LEDビジョン */
#fbuilder #fieldlist_1 .led-construction .led-construction-type{margin-top: 80px;}
#fbuilder #fieldlist_1 .led-construction .led-construction-type .three_column{width:100%;margin: 0;}
#fbuilder #fieldlist_1 .led-construction .led-construction-type .dfield{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 16px;padding: 0;}
#fbuilder #fieldlist_1 .led-construction .led-construction-type input[type="radio"]{width:100%;height: 100%;aspect-ratio: 3/2;margin: 0;border: none;box-shadow: none;border-radius: 8px;opacity:.5;background-position:center;background-repeat:no-repeat;background-size:cover;}
#fbuilder #fieldlist_1 .led-construction .led-construction-type input[type="radio"]:checked{opacity:1}
#fbuilder #fieldlist_1 .led-construction .led-construction-type input[type="radio"]:checked::before{display:none}
#fbuilder #fieldlist_1 .led-construction .led-construction-type  .three_column span{display:block;font-weight:bold;text-align:center;margin-top:8px;}

#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="ポールサイン型"]{background-image:url(./images/works/pole.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="屋上サイン型"]{background-image:url(./images/works/rooftop.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="キューブ型"]{background-image:url(./images/works/cube.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="ガラスサイン型"]{background-image:url(./images/works/glass.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="スタンド型"]{background-image:url(./images/works/stand.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="壁面型"]{background-image:url(./images/works/wall-outdore.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-outdore .led-construction-type input[aria-label="建植型"]{background-image:url(./images/works/planting.jpg)}

/* 屋内型LEDビジョン */
#fbuilder .led-construction #fieldname15_1{margin-top:40px;}
#fbuilder .led-construction #fieldname15_1 .three_column{width:100%;margin: 0;}
#fbuilder .led-construction #fieldname15_1 .dfield{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding: 0;}
#fbuilder .led-construction #fieldname15_1 input[name="fieldname16_1"]{width:100%;height: 100%;aspect-ratio:3/2;margin: 0;border: none;box-shadow: none;border-radius: 16px;background:url(./images/noimg.jpg)no-repeat center / cover!important;opacity:.5}
#fbuilder .led-construction #fieldname15_1 input[name="fieldname16_1"]:checked{opacity:1}
#fbuilder .led-construction #fieldname15_1 input[name="fieldname16_1"]:checked::before{display:none}
#fbuilder .led-construction #fieldname15_1 .two_column span{display:block;text-align:center;}

#fbuilder #fieldlist_1 .led-construction .led-construction-indore .led-construction-type input[aria-label="壁面型"]{background-image:url(./images/works/wall-indore.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-indore .led-construction-type input[aria-label="床面型"]{background-image:url(./images/works/floor.jpg)}
#fbuilder #fieldlist_1 .led-construction .led-construction-indore .led-construction-type input[aria-label="吊り下げ型"]{background-image:url(./images/works/hanging.jpg)}

#fbuilder #fieldlist_1 .led-construction .led-construction-des{width:800px;max-width:100%;border-radius:16px;margin-top: 40px;margin-inline:auto;padding-block: 80px;padding-inline:24px;background-color:#fff;}
#fbuilder #fieldlist_1 .led-construction legend{font-size:20px;font-weight:bold;display:flex;align-items:center;gap:16px;}
#fbuilder #fieldlist_1 .led-construction legend::after{content:'';flex:1;height:1px;background-color:var(--font-color)}
#fbuilder #fieldlist_1 .led-construction-des > div{width:640px;max-width:100%;margin-inline:auto;}
#fbuilder #fieldlist_1 .led-construction-des > div > .fields:not(:first-of-type){margin-top:24px;}
#fbuilder #fieldlist_1 .led-construction-des fieldset{border:none;border-radius: 0;padding-block: 0;padding-inline: 10px;}
#fbuilder #fieldlist_1 .led-construction-des fieldset legend{font-size:18px;border:none;padding:0;margin: 0;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-place .side_by_side{margin-right:24px;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-place input{width: 20px;height: 20px;border: 2px solid #111;border-radius: 1000px;background-color: #fff;margin-block: 0;margin-inline: 0 8px;vertical-align: -4px;cursor: pointer;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-place input:checked{background:#000 url(./images/check.svg)no-repeat center / 10px auto}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-place input[type="radio"]:checked::before{display:none}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-size .column2{width: 188px;margin-right: 40px;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-size .column2 .dfield{width: 90%;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-size .led-construction-case-size-cm .dfield::after{content:'cm';position: absolute;right: -32px;bottom: -9px;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-contents .side_by_side{margin-right:24px;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-contents input{width: 20px;height: 20px;border: 2px solid #111;border-radius: 1000px;background-color: #fff;margin-block: 0;margin-inline: 0 8px;vertical-align: -4px;cursor: pointer;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-contents input:checked{background:#000 url(./images/check.svg)no-repeat center / 10px auto}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-contents input[type="radio"]:checked::before{display:none}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-contents .dfield .uh{font-style:normal;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated > label{font-size:28px;font-weight:bold;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated input{background-color: transparent;border: none;border-radius: 0;font-size: 48px;font-family: var(--en-font);text-align: right;line-height: 1;padding-inline: 40px 112px;border-bottom: 2px solid;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated .dfield{position:relative}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated .dfield::after{content: '円（税別）';position:absolute;right:8px;top: 29px;font-size:24px;font-weight:bold;}
#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated .dfield .uh{font-style:normal;margin-top:4px;}

/* お客様情報 */
#fbuilder #fieldlist_1 .led-estimate-client{width: 640px;max-width:100%;margin-top: 40px;margin-inline: auto;padding-inline: 24px;}
#fbuilder #fieldlist_1 .led-estimate-client fieldset{border:none;}
#fbuilder #fieldlist_1 .led-estimate-client fieldset legend{border:none;margin-bottom: 0;padding: 0;}
#fbuilder #fieldlist_1 .led-estimate-client input[type="email"],
#fbuilder #fieldlist_1 .led-estimate-client input[type="text"]{margin-inline: 0;}
#fbuilder #fieldlist_1 .cff-form-buttons-container{text-align:center}
#fbuilder #fieldlist_1 .pbSubmit{width: 300px;max-width:100%;margin-inline: auto;padding-block: 24px;border: none;background-color: var(--main-color);line-height:1;color: #fff;text-align: center;position: relative;font-size: 20px;transition:var(--hover-transform)}

@media(max-width:767px){
	.page-estimete-item{padding-inline: 16px;}
	.page-estimete-des h3{font-size:20px}
	#fbuilder #fieldlist_1 .led-construction .led-construction-case > label{font-size:20px;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield{margin-top:24px;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-case .dfield label{font-size:14px;border-radius:8px}
	#fbuilder #fieldlist_1 .led-construction .led-construction-type{margin-top: 0;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-type .dfield{grid-template-columns:repeat(2,minmax(0,1fr));gap: 8px;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-type .three_column span{margin-top:4px;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-des{padding-block:40px;padding-inline: 8px;}
	#fbuilder #fieldlist_1 .led-construction .led-construction-case-tit h4{font-size:20px;}
	#fbuilder #fieldlist_1 .led-construction-des fieldset legend{font-size:16px;}
	#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated > label{font-size:18px;}
	#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated input{font-size: 28px;padding-inline: 8px 63px;}
	#fbuilder #fieldlist_1 .led-construction-des .led-construction-case-calculated .dfield::after{font-size:14px;top: 21px;right: 0;}
	#fbuilder #fieldlist_1 .led-estimate-client{padding-inline:0}
}