@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.post_content { margin-top: 0!important; }
.l-content { margin-bottom: 0; }

img { pointer-events: none; } /* edge「画像検索」非表示 */

/*WP-members===============================================*/

/*見出し*/
legend { 
	color: #3e8cb0;
	margin-bottom: 5rem!important; }

/*フィールド*/
fieldset {
margin: 100px auto 100px 200px!important;
font-size: 14px!important;
width: 75%; }

/*ボタン*/
.buttons { padding: 5px 50px; }
.button_div { 
	margin-top: 1.5rem; 	
	margin-bottom: 4rem; } 

/*必須マーク*/
#wpmem_reg .req { display: none!important; }

/*リンク案内*/
.link-text { text-align: left!important; }

/*メッセージ上下余白*/
.wpmem_msg { margin: 250px 0 250px 0!important; }

/*会員専用ページ-------------------*/
#wpmem_restricted_msg {
	font-size: 16px;
	font-weight: bold;
	margin-left: 200px!important;}

/*.page-id-206 .post_content { padding-top: 80px; }*/

/*check box*/
#rememberme { position: static; }

label[for="rememberme"] { margin-right: 17px; }

/*はじめての方はこちら 新規ユーザー登録*/
.page-id-206 .link-text-register { display: none; } 

/*SP表示*/
@media (max-width: 850px) {
	fieldset { 
		margin-left: 14%!important; 
		width: 100%;}
	#wpmem_restricted_msg { margin-left: 11%!important; }
	label[for="rememberme"] { margin-right: 0px; }
	#wpmem_login .button_div, #wpmem_reg .button_div { text-align: left;  margin-top: 65px; }	
}



/*非表示項目-----------------------------------------*/
.l-footer { display: none; } 


/* 右上タイトル--------------------------------------*/
h2 {
  /*font-family: 'Noto Sans JP'; 
  font-weight: bold;*/
  color: #323333; }

.post_content h2 { margin:0; }


  .l-content { padding-top: 0!important; }
  .post_content h2 { font-size: 7.5em; }


.block {
  text-align: right;
  line-height: 1.2;
  margin-bottom: 0;
  position: relative;
  right: 2%;}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{ display: inline; }

.text-split {
  overflow: hidden;
  font-family: 'Noto Sans JP'; 
  span {
    display: inline-block;
    min-width: .15em; } }

.mi02 { font-size: 2em; }

.text-split { span { .block & { opacity: 0; } } }

.is-active .text-split span {
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.12, 0, 0.39, 0); }

.is-active .text-split span[data-random="1"] { transition-delay: 0s; }
.is-active .text-split span[data-random="2"] { transition-delay: 0.03s; }
.is-active .text-split span[data-random="3"] { transition-delay: 0.06s; }
.is-active .text-split span[data-random="4"] { transition-delay: 0.09s; }
.is-active .text-split span[data-random="5"] { transition-delay: 0.12s; }
.is-active .text-split span[data-random="6"] { transition-delay: 0.15s; }
.is-active .text-split span[data-random="7"] { transition-delay: 0.18s; }

/* 見出しエフェクト-------------------------------------------*/
@keyframes slideInUp {
    from { transform: translateY(30px); }
    to { transform: translateY(0); }
}

.slide-in-up {
    transform: translateY(30px);
    transition: transform 0.6s ease-out; }

.slide-in-up.visible { transform: translateY(0); }

.future-highlight, .future-highlight02 {
    color: inherit;
    transition: color 0.5s ease-in; }

.future-highlight.active, .future-highlight02.active { color: #3e8cb0; /* ブルーに変化 */ }


/* 1画面スクロール -------------------------------------------------*/

.box02 { height: 97vh; }
.box03 { height: 100vh; }

/* 投稿ページ 横幅 ============================================================*/
.post-template-default .l-content {
  max-width: 1300px; 
  margin: 50px auto 100px auto!important; }

.post-template-default .l-topTitleArea__body { max-width: 1300px; } 

.p-articleMetas { display: none; } /* カテゴリアイコン */


/*footer =======================================================================*/
.l-footer__inner { background: #fff; }
.pc-py-60 {padding-bottom: 2em!important; }
.w-beforeFooter { margin: 0; }
.ticss-96ba4367 { z-index: 9;}

.swell-block-linkList__link { color: #fff; }

.ft02 {
	  border-right: 1px #6d6e72 solid;
    border-left: 1px #6d6e72 solid!important; }

/*.ewimg01 { margin-bottom: 14em!important;}*/

/*フッター右*/
.wlog01, .expertly { margin-left: 32px!important; } /*E-WINDロゴ*/

.f01 {
	height: 620px!important;
    display: flex;
    align-items: flex-end; }


.f03 {
   height: 620px!important;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

/*.fmenu01, .fmenu02, .fmenu03{
    padding-bottom: 0.8em; 
    border-bottom: 1px solid #3d85a7; 
    margin-bottom: 0.5em!important; }*/

.fmenu02 { font-size: 1em!important; }

@media screen and (max-width: 960px){
	.f01 {
		height: auto!important;
		display: flex;
		align-items: center; }

    .f02 { padding-left: 4.3em!important; }

	.box04 { height: auto!important; }
}

@media screen and (max-width: 960px){
	.f02, .ft02, .f03 { padding-left: 0!important; }
	.f01, .fcop{ padding-left: 2em!important;}
	.f03 { height: auto!important; }
	.wlog01 { margin-top: 5em!important; }
}

/*section縦幅 (smooth)=================================================================*/
.section01 { 
	height: 100vh;
    padding-top: 80px!important; }

@media only screen and (max-width: 768px) { /* SP表示 */
.section01 { 	
	height: auto;
    padding-top: 0px!important; }
}

/* レスポンシブ設定========================================================*/

@media screen and (max-width: 980px){  
	.h2-sp1{ font-size: 37px!important; }
	.sub-t1 { font-size: 85% !important; }
	.p-fixBtnWrap { display: none;} /*TOPへ戻るボタン*/
	.mi01 { font-size: 2.7em !important; }
	.mi02 { font-size: 85% !important; }
	.box-sp { height: 70vh; }
	.h2-sp2 { font-size: 1.4em !important; line-height: 1.4!important; font-weight: 700!important;}
	.btn01 { text-align: center!important; }
	.wpcf7-form { 
		width: 100%!important;
	    top: 40%!important; }
}


/* スマホ以外ヘッダー */
@media screen and (min-width: 768px){ .l-header, .l-header-shadow {display:none;} }

/* パンくずリスト */
#breadcrumb { display: none; } 

/* ページタイトル */
h1.c-pageTitle { display: none; }

.d-none { display: none; }

/* 投稿ページ 日付 ==========================================================*/

.dateList { background: transparent !important; }
.dateList__item { color: #fff !important; }

/* コピーライト ======================================*/

.l-footer .copyright{
	height: 20px;
	font-size: 14px;
	margin-top: 85px;}

/* ナビメニュー =====================================*/

.main-navi { 
    /*position:relative;*/
	margin-top: 4rem!important; 
	display: flex; 
	justify-content: center;
	/*margin:0 6%; */}

.glo_navi {
    display: block;
    position: relative;
    z-index: 1;
    cursor: pointer;
	margin-top: 1.5rem !important;
    border-style: solid;
    border-color: transparent;
    padding: 15px 0px 15px 0px; }

ul.c-nav { list-style-type: none; }

.u-none-pc { margin-bottom: 149px; } 

/* メニューボタン ==============================================================*/

.img_home, .img_descript, .img_develop, .img_vision, .img_member, .img_contact{ 
	width:300px;
	height:30px; }

/* メニューボタン画像 =========================================================*/

.img_home{
	background: url('/wp-content/uploads/2025/05/home_off-05c3dc.svg'); 
	background-repeat:no-repeat; } 

.img_home:hover{ background: url('/wp-content/uploads/2025/05/home_on-8ae3bd.svg');
	transition : 0.3s;}

.img_descript{
	background: url('/wp-content/uploads/2025/05/support_off-3a8812.svg');  
	background-repeat:no-repeat; } 
.img_descript:hover{ background: url('/wp-content/uploads/2025/05/support_on-95118a.svg'); 
	transition : 0.3s;}

.img_develop {
	background: url('/wp-content/uploads/2025/03/services_off-929cde.svg');  
	background-repeat:no-repeat; } 
.img_develop:hover { background: url('/wp-content/uploads/2025/03/services_on-26af3a.svg'); 
	transition : 0.3s;}

.img_vision{
	background: url('/wp-content/uploads/2025/07/vision_off-1699a9.svg'); 
	background-repeat:no-repeat; } 
.img_vision:hover{ background: url('/wp-content/uploads/2025/07/vision_on3-2c4ffa.svg');
	transition : 0.3s;}

.img_member{
	background: url('/wp-content/uploads/2025/04/members_off-c85a5d.svg'); 
	background-repeat:no-repeat; } 
.img_member:hover{ background: url('/wp-content/uploads/2025/04/members_on-d2cc80.svg');
	transition : 0.3s;}

.img_contact{
	background: url('/wp-content/uploads/2025/05/contact_off-63dd60.svg'); 
	background-repeat:no-repeat; } 
.img_contact:hover{ background: url('/wp-content/uploads/2025/05/contact_on-fd780d.svg');
	transition : 0.3s;}


/* フェードインアニメ ===================================*/

.wsg, .fut_btn, .c-nav { animation: fadein 4s forwards; }

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1} }

.c-nav{ 
    display:block; 
    position: fixed;
	right:6.5%;
	top:49%;
    z-index: 99; }

/* 見出し設定 ==========================================*/

.content h2 { line-height: 1.2 !important; }

.sub-titl { 　
	margin-left: 10px;
	color: #3e93ba; 
	font-weight: 600;
	margin-bottom: 5%; }


/* 投稿ページ アイキャッチ画像下部余白 ====================*/

.viral { margin-bottom: 60px; }

.btn__link-normal { 
    border-radius: 0;
	padding: 10px 30px;
	color: #3e93ba!important; }

.btn__link-normal:hover { 
	color: #fff!important;
	background:#3e93ba!important; }


/* 非表示 切り替え ========================================== */

/* PC → class= "pc" を表示 */ 
.pc { display: block !important; } 
.sp { display: none !important; } 

/* スマホ → class= "sp" を表示 */ 
@media only screen and (max-width: 768px) { 
.pc { display: none !important; } 
.sp { display: block !important; } }

@media screen and (max-width: 768px){
	.tex-1 { padding: 0!important; } } /* 見出しh2下部 説明文 */


/* 地図 波紋 ===================================================================== */

/* 拠点1 (E-WIND/五島風力発電) Pink -----------------*/
.ripples1 div {
	position: absolute;
	left: 25.1%;
	top: 36.6%!important;
	width: 0;
	height: 0;
	border: solid 2px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples_anim 3.5s linear infinite;
    z-index:99; }

@keyframes ripples_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-200px,-180px);
		width: 400px;
		height: 400px;
		opacity: 0; } }

@keyframes ripples-v_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-200px,-180px);
		width: 400px;
		height: 400px;
		opacity: 0; } }

/* 拠点1 (テクノ興和/Y'sBESPOKE) Blue ---------------------------*/
.ripples-h div {
	position: absolute;
	left: 31.9%;
	top: 33.7%!important;
	width: 0;
	height: 0;
	border: solid 1px #3e93ba;
	border-radius: 50%;
	opacity: 0;
	animation: ripples-h_anim 6s linear infinite;
	animation-delay: 1.6s; /* 遅延 */
    z-index:99; }

@keyframes ripples-h_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/* 拠点2 (豊島メック) Pink ------------------------- */
.ripples2 div {
	position: absolute;
	left: 36.3%;
	top: 53.3%!important;
	width: 0;
	height: 0;
	border: solid 1px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples2_anim 4.5s linear infinite;
    z-index:99; }

@keyframes ripples2_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/* 拠点3 (鹿児島事務所) Pink ------------------ */
.ripples3 div {
	position: absolute;
	left: 34.1%;
	top: 49.8%!important;
	width: 0;
	height: 0;
	border: solid 1px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples3_anim 4s linear infinite;
    z-index:99; }

@keyframes ripples3_anim {
	0% { opacity: 1; } 
	50% { 	
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

@keyframes ripples4_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/* 拠点5 (室蘭事務所) pink------------------ */
.ripples5 div {
	position: absolute;
	left: 76%;
	top: 26.3%!important;
	width: 0;
	height: 0;
	border: solid 1px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples5_anim 4s linear infinite;
	z-index:99; }

@keyframes ripples5_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/* 拠点6 (栗林商会) blue------------------ */
.ripples6 div {
	position: absolute;
	left: 76%;
	top: 26.3%!important;
	width: 0;
	height: 0;
	border: solid 1px #3e93ba;
	border-radius: 50%;
	opacity: 0;
	animation: ripples5_anim 4.7s linear infinite;
	animation-delay: 1.6s; /* 遅延 */
	z-index:99; }

/* 拠点9 (栗林運輸) pink------------------ */
.ripples9 div {
	position: absolute;
	left: 77.6%;
	top: 25.8%!important;
	width: 0;
	height: 0;
	border: solid 1px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples9_anim 4s linear infinite;
    animation-delay: 1s; /* 遅延 */
	z-index:99; }

@keyframes ripples9_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/* 拠点7 (九州テン Pink) ------------------ */
.ripples7 div {
	position: absolute;
	left: 35%;
	top: 21.6%!important;
	width: 0;
	height: 0;
	border: solid 1px #bc1e87;
	border-radius: 50%;
	opacity: 0;
	animation: ripples7_anim 4.5s linear infinite;
    z-index:99; }

@keyframes ripples7_anim {
	0% { opacity: 1; }

	50% {		
		transform: translate(-100px,-90px);
		width: 200px;
		height: 200px;
		opacity: 0; } }

/*エコー電子 Blue-------------------------*/
.ripples8 div {
	position: absolute;
	left: 35%;
	top: 21.6%!important;
	width: 0;
	height: 0;
	border: solid 1px #3e93ba;
	border-radius: 50%;
	opacity: 0;
	animation: ripples8_anim 4s linear infinite;
	animation-delay: 1.6s; /* 遅延 */
	z-index:99; }

@keyframes ripples8_anim {
	0% { opacity: 1; }
	50% {		
		transform: translate(-50px,-40px);
		width: 100px;
		height: 100px;
		opacity: 0; } }


/* 波紋 位置調整 レスポンシブ ===================== */
@media screen and (max-width: 1850px){
	.ripples1 div, .ripples-v div { top: 42%; } 
	.ripples2 div { top: 58.8%; } 
	.ripples3 div { top: 56.0%; } 
	.ripples4 div { top: 90%; } }

@media screen and (max-width: 1800px){
	.ripples3 div { top: 56%; } 
	.ripples4 div { top: 88.1%; } }

@media screen and (max-width: 1750px){
	.ripples1 div, .ripples-v div{ top: 42%; } 
	.ripples-h div { top:35%!important; }
	.ripples2 div { top: 59%; } 
	.ripples4 div { top: 81.5%!important; }
	.ripples5 div, .ripples6 div { top: 33.1%; } 
	.ripples7 div, .ripples8 div { top: 23.6%!important; }
	.ripples9 div { top: 26.5%!important; } }

@media screen and (max-width: 1700px){
	.ripples-h div { top:35%!important; }
	.ripples1 div, .ripples-v div { left: 25.3%; } 
	.ripples2 div { top: 58.6%; left: 36%; } 
	.ripples3 div { top: 56%; left: 33.9%; }
	.ripples5 div, .ripples6 div { top: 32.8%; left: 76.2%; }
	.ripples9 div { top: 26.9%!important; } }
	

@media screen and (max-width: 1650px){
	.ripples1 div, .ripples-v div { top: 43%; left: 24%; } 
	.ripples2 div { top: 58.9%; }
	.ripples3 div { top: 55%; left: 33.3%; }
	.ripples4 div { top: 80%!important; left: 53.9%;}	
	.ripples5 div, .ripples6 div { top: 28%!important; left: 76%; } 
	.ripples7 div, .ripples8 div { top: 28.4%; left: 34.5%; }
	.ripples9 div { left: 78.2%; } 	
}	

@media screen and (max-width: 1600px){
	.ripples1 div, .ripples-v div { top: 42.6%; left: 23%; } 
	.ripples-h div { left: 30.5%;}
	.ripples2 div { top: 57.4%; left: 35%; } 
	.ripples3 div { top: 54.5%; left: 32.9%; }
	.ripples4 div { top: 86.2%; left: 53.9%;}	
	.ripples5 div, .ripples6 div { top: 27.8%!important; left: 77%; }
	.ripples9 div { left: 78.9%; } 	
}	

@media screen and (max-width: 1550px){
	.ripples1 div, .ripples-v div { top: 42.2%; left: 22%; } 
	.ripples2 div { top: 57.2%; left: 34.5%; } 
	.ripples3 div { top: 55.5%; left: 32%; }
	.ripples4 div { top: 85.9%; left: 53.9%;}	
	.ripples5 div, .ripples6 div { top: 32.5%; left: 77.7%; } 
	.ripples7 div, .ripples8 div { top: 24%!important; left: 33.5%; }
	.ripples9 div { left: 79.8%; } 	
}	

@media screen and (max-width: 1500px){
	.ripples1 div, .ripples-v div { top: 42%; left: 21.6%; } 
	.ripples-h div { left: 29.7%; }
	.ripples2 div { top: 57.6%; left: 34%; } 
	.ripples3 div { top: 56.4%; left: 32.5%; }
	.ripples5 div, .ripples6 div { top: 32.6%; left: 79.2%; }
	.ripples9 div { left: 80.9%; } 	
}

@media screen and (max-width: 1450px){
	.ripples1 div, .ripples-v div { top: 42.2%; left: 21.5%; } 
	.ripples-h div { left: 29%; }	
	.ripples2 div { top: 57.5%; left: 33.9%; } 
	.ripples3 div { top: 55.7%; left: 31.4%; }
	.ripples4 div { top: 86.1%; left: 54.3%;}	
	.ripples5 div, .ripples6 div { top: 32.7%; left: 80%; }
	.ripples7 div, .ripples8 div { top: 28.4%; left: 32.6%; }
	.ripples9 div { left: 82.3%; } 	
}	

@media screen and (max-width: 1400px){
	.ripples1 div, .ripples-v div { top: 42.8%; left: 19.6%; } 
	.ripples-h div { left: 28.1%; }
	.ripples2 div { top: 57.8%; left: 33.2%; } 
	.ripples3 div { top: 55.7%; left: 31%; }
	.ripples5 div, .ripples6 div { top: 32.5%; left: 81.1%; }
	.ripples7 div, .ripples8 div { top: 28.4%; left: 31.6%; }
	.ripples9 div { left: 83.6%; } 	
}		

@media screen and (max-width: 1350px){
	.ripples1 div, .ripples-v div { top: 42.3%; left: 20%; } 
	.ripples-h div { left: 27.2%; }
	.ripples2 div { top: 57.9%; left: 32.3%; } 
	.ripples3 div { top: 55.3%; left: 29.6%; }
	.ripples4 div { left: 54.9%; }	
	.ripples5 div, .ripples6 div { top: 32.9%; left: 82%; }
	.ripples7 div, .ripples8 div { top: 28.4%; left: 30.9%; } 
	.ripples9 div { left: 84.5%; } 	
}	

@media screen and (max-width: 1300px){
	.ripples1 div, .ripples-v div { top: 42.2%; left: 17.6%; } 
	.ripples-h div { left: 26.3%; }
	.ripples2 div { top: 58%; left: 32.2%; } 
	.ripples3 div { top: 55%; left: 29.4%; }
	.ripples4 div { left: 54.9%; }	
	.ripples5 div, .ripples6 div { top: 32.6%; left: 83%; } 
	.ripples9 div { left: 85.8%; } 	
}		

@media screen and (max-width: 1250px){
	.ripples1 div, .ripples-v div { top: 42.5%; left: 16%; } 
	.ripples-h div { left: 25.1%; }
	.ripples2 div { top: 57.3%; left: 30.9%; } 
	.ripples3 div { top: 54.8%; left: 29%; }
	.ripples4 div { left: 54.9%; }	
	.ripples5 div, .ripples6 div { top: 32.4; left: 84.6%; }
	.ripples7 div, .ripples8 div { top: 28.4%; left: 29.8%; } 
	.ripples9 div { left: 87.3%; } 	
}	

@media screen and (max-width: 1200px){
	.ripples1 div, .ripples-v div { top: 43.6%; left: 15%; } 
	.ripples-h div { left: 24%; }
	.ripples2 div { top: 57.4%; left: 30.6%; } 
	.ripples3 div { top: 54.8%; left: 27%; }
	.ripples4 div { top: 86.5%; left: 55.2%; }	
	.ripples5 div, .ripples6 div { top: 32.5%; left: 86.2%; } 
	.ripples7 div, .ripples8 div { top: 28.4%; left: 28%; } 
	.ripples9 div { left: 88.5%; } 	
}		

@media screen and (max-width: 1150px){
	.ripples1 div, .ripples-v div { top:42.2%; left: 12.9%; } 
	.ripples-h div { left: 23.1%; }
	.ripples2 div { top: 57.3%; left: 29.8%; } 
	.ripples3 div { top: 55.1%; left: 26.6%; }
	.ripples4 div { top: 86.5%; left: 55.5%; }	
	.ripples5 div, .ripples6 div { top: 32.6%; left: 88%; } 
	.ripples9 div { left: 91%; } 	
}	

@media screen and (max-width: 1100px){
	.ripples1 div, .ripples-v div { top: 42.5%; left: 10.9%; } 
	.ripples-h div { left: 22.1%; }
	.ripples2 div { top: 57.6%; left: 28.4%; }
	.ripples3 div { top: 54.8%; left: 24.8%; }
	.ripples5 div, .ripples6 div { top: 32.9%; left: 89.7%; } 
	.ripples9 div { left: 93%; } 
}	

@media screen and (max-width: 1050px){
	.ripples1 div, .ripples-v div { top: 42.5%; left: 8.1%; } 
	.ripples-h div { left: 20.2%; }
	.ripples2 div { top: 57%; left: 27%; }
	.ripples3 div { top: 55%; left: 24.3%; }
	.ripples4 div { top: 85.9%; left: 56%; }	
	.ripples5 div, .ripples6 div { top: 32.5%; left: 91.5%; }
	.ripples7 div, .ripples8 div { top: 28.4%; left: 26%; }
	.ripples9 div { left: 94.6%; } 	
}	
	
@media screen and (max-width: 980px){
	.ripples1 div, .ripples-v div { top: 41%; left: 6.5%; } 
	.ripples-h div { left: 18%; }
	.ripples2 div { top: 57.8%; left: 25.6%; } 
	.ripples3 div { top: 55%; left: 22.3%; }
	.ripples4 div { top: 86.9%; left: 56.4%; }	
	.ripples5 div, .ripples6 div { top: 32.4%; left: 96%; } 
	.ripples9 div { left: 97%; } 	
}


/* 970px以下で波紋非表示  ============================== */
@media screen and (max-width: 970px){ 
	.ripples1 div, .ripples-v div, .ripples-h div, .ripples2 div, .ripples3 div, .ripples4 div, .ripples5 div, .ripples6 div, .ripples7 div, .ripples8 div, .ripples9 div { display:none; } 
    .top #content { padding-top: 0; }
	.l-content { margin: 0; } 
    .w-frontBottom { display:none; } }

/* 右上見出しレスポンシブ <新規参入支援> ================ */
@media screen and (max-width:1500px){ 
    #philo, #ws_info { right: 30px !important; } 
	.sup_fix { width:440px !important; right: 152px!important; }
	.philo_fix { width:530px; }
	.info_fix { width:600px; } }

@media screen and (max-width: 980px){
    #philo{ right: -118px !important; } 
	#ws_info { right: -160px !important; }
	.sup_fix { width:300px !important; } 
	.philo_fix { width:380px !important; }
	.info_fix { width:410px; } }

@media screen and (max-width: 767px){
	.sup_fix { width:250px !important; top:120px!important; } }	

/* 右上見出しレスポンシブ ============================== */
@media screen and (max-width: 1500px){
	.develo { width: 600px!important; } }

@media screen and (max-width: 980px){
	.develo { width: 400px!important; } }

@media screen and (max-width: 767px){
	.develo { width: 250px!important; top: 120px!important; } }	

/*ナビメニュースクロールアニメ------------------------------*/
.fade-block {
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.fade-block.fade-out { opacity: 0; }

/*home波紋(NEW)---------------------------------------------------------*/
/*<div class="ripple-circle" style="top: 200px; left: 300px; --circle-size: 300px;"></div>*/

@keyframes ripple {
    0% {
        transform: scale(0.87);
        opacity: 0.5;
    }
    50% {
        transform: scale(3.1);
        opacity: 0.2;
    }
    100% {
        transform: scale(0.87);
        opacity: 0.5;
    }
}

.ripple-circle {
    position: absolute;
    width: var(--circle-size, 300px); /* 大きさを変更可能 */
    height: var(--circle-size, 300px);
    background-color: #e6e6e4; 
    border-radius: 50%;
    animation: ripple 12s infinite ease-in-out;
    pointer-events: none; /* クリックを妨げないように */
}

/* SWELL向けハンバーガーメニューCSS**********************************/

[type="checkbox"]:checked,
[type="checkbox"]:not(:checked){
  position: absolute;
  left: -9999px;
}

.custom-hamburger-wrapper {
  position: relative;
  z-index: 9999;
}

/* ハンバーガーアイコン */
.menu-icon:checked + label,
.menu-icon:not(:checked) + label {
  position: fixed;
  top: 62px;
  left: 75px;
  display: block;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 999999
}

.menu-icon:checked + label:before,
.menu-icon:not(:checked) + label:before {
  content: '';
  position: absolute;
  width: 30px;
  height: 20px;
  border-top: 2px solid #ececee;
  border-bottom: 2px solid #ececee;
  z-index: 10000;
  transition: border-width 100ms 1500ms ease, 
              top 100ms 1600ms cubic-bezier(0.23, 1, 0.32, 1),
              height 100ms 1600ms cubic-bezier(0.23, 1, 0.32, 1), 
              background-color 200ms ease,
              transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}

.menu-icon:checked + label:after,
.menu-icon:not(:checked) + label:after {
  content: '';
  position: absolute;
  width: 22px;
  height: 2px;
  background-color: #ececee;
  top: 10px;
  right: 4px;
  z-index: 10000;
  transition: width 100ms 1750ms ease, 
              right 100ms 1750ms ease,
              margin-top 100ms ease, 
              transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}

.menu-icon:checked + label:before {
  top: 10px;
  transform: rotate(45deg);
  height: 2px;
  background-color: #ececee;
  border-width: 0;
  transition: border-width 100ms 340ms ease, 
              top 100ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
              height 100ms 300ms cubic-bezier(0.23, 1, 0.32, 1), 
              background-color 200ms 500ms ease,
              transform 200ms 1700ms cubic-bezier(0.23, 1, 0.32, 1);
}

.menu-icon:checked + label:after {
  width: 30px;
  margin-top: 0;
  right: 0;
  transform: rotate(-45deg);
  transition: width 100ms ease,
              right 100ms ease,  
              margin-top 100ms 500ms ease, 
              transform 200ms 1700ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* ナビ本体（メニュー） */
.nav {
  position: fixed;
  top: 33px;
  left: 50px;
  width: 80px;
  height: 80px;
  background-color: #3e8cb0;
  box-shadow: 0 8px 30px 0 rgba(0,0,0,0.3);
  z-index: 100000;
  overflow: hidden;
  animation: border-transform 7s linear infinite;
  transition: top 350ms 1100ms cubic-bezier(0.23, 1, 0.32, 1),  
              left 350ms 1100ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 250ms 1100ms ease,
              width 650ms 400ms cubic-bezier(0.23, 1, 0.32, 1),
              height 650ms 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes border-transform {
  0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
  14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
  28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
  42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
  56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
  70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
  84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}

/* 展開時 */
.menu-icon:checked ~ .nav {
  animation-play-state: paused;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200%;
  height: 200%;
  z-index: 99999 !important; /* ← 展開時に確実に最前面に */
  transition: top 350ms 700ms cubic-bezier(0.23, 1, 0.32, 1),  
              left 350ms 700ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 250ms 700ms ease,
              width 750ms 1000ms cubic-bezier(0.23, 1, 0.32, 1),
              height 750ms 1000ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* メニュー内リスト */
.nav ul {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 10001;
}

.nav ul li {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: all 250ms linear;
  pointer-events: none;
  margin: 10px 0;
}

.nav ul li:nth-child(1){ transition-delay: 200ms; }
.nav ul li:nth-child(2){ transition-delay: 150ms; }
.nav ul li:nth-child(3){ transition-delay: 100ms; }
.nav ul li:nth-child(4){ transition-delay: 50ms; }

.nav ul li a {
  font-size: 9vh;
  font-weight: 800;
  text-transform: uppercase;
  color: #ececee;
  font-family: 'Montserrat', sans-serif;
  position: relative;
  z-index: 10002;
  transition: all 250ms linear;
}

.nav ul li a:hover {
  color: #ffeba7;
}

.nav ul li a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 2vh;
  margin-top: -1vh;
  background-color: #353746;
  opacity: 0.8;
  transition: width 250ms linear;
}

.nav ul li a:hover:after {
  width: 100%;
}

/* メニュー表示アニメーション */
.menu-icon:checked ~ .nav ul li {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 350ms ease, transform 250ms ease;
}
.menu-icon:checked ~ .nav ul li:nth-child(1){ transition-delay: 1400ms; }
.menu-icon:checked ~ .nav ul li:nth-child(2){ transition-delay: 1480ms; }
.menu-icon:checked ~ .nav ul li:nth-child(3){ transition-delay: 1560ms; }
.menu-icon:checked ~ .nav ul li:nth-child(4){ transition-delay: 1640ms; }

/* モバイル対応 */
@media screen and (max-width: 991px) {
  .menu-icon:checked + label,
  .menu-icon:not(:checked) + label {
    left: 20px;
  }
  .nav {
    left: 20px;
  }
  .nav ul li a {
    font-size: 8vh;
  }
}

/*横スクロール(PC)********************************/
.horizontal-scroll-section {
  position: relative;
  height: 400vh; /* パネル数 x 100vh */
}

.horizontal-wrapper {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  will-change: transform;
  margin: 0!important;
  padding: 0!important;
  box-sizing: border-box;
  width: auto; /* ここを auto に変更 */
}

.panel {
  flex: 0 0 100vw;
  height: 100vh!important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 60px!important;
  box-sizing: border-box;
  background: #f0f0f0;
  border: 1px solid #ddd;
}

/*lixy*************************/

html, body {
  height: 100%;
}

#luxy {
	
  position: relative;
  overflow: visible;
}

