@charset "UTF-8";
/*
    Template: swell
    Theme Name: Bizlink_Wellbeing_Theme
    Theme URI: https://swell-theme.com/
    Description: ビズリンクウェルビーイング用子テーマ
    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
*/
                                                                                                    
                                                                                                    
                                     /*-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                       
                                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                         
                                 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           
                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                            
                               #@@@@@@@@@.                                                          
                               @@@@@@@@@                                               @@           
                               @@@@@@@@*                                             %@@@           
                               @@@@@@@@*                                           :@@@@@           
                               @@@@@@@@*                                          @@@@@@@           
                   -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                 :@@@@@@@@           
                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@              @@@@@@@@@           
              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            @@@@@@@@@           
             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+          @@@@@@@@@           
            @@@@@@@@@@@@.      @@@@@@@@@                 .%@@@@@@@@@@@-         @@@@@@@@@           
           @@@@@@@@@@          @@@@@@@@*                     +@@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      %@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@*                      #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@@@                       #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@@%                        #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@@@                          #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@@=                           #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@           @@                             #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@                                          #@@@@@@@@         @@@@@@@@@           
           @@@@@@@@@                                          #@@@@@@@@       @@@@@@@@@@.           
           @@@@@@@@@                          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-            
           @@@@@@@@@                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@              
           @@@@@@@@@                       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+               
           @@@@@@@@@                     .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                  
           @@@@@@@@@                                          @@@@@@@@@.                            
           @@@@@@@@@                                          #@@@@@@@@                             
           @@@@@@@@@                                          #@@@@@@@@                             
           @@@@@@@@@                                          #@@@@@@@@                             
           @@@@@@@@@                                          %@@@@@@@@                             
           @@@@@@@@@@                                        +@@@@@@@@@                             
            @@@@@@@@@@@@:                                 #@@@@@@@@@@@:                             
             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                              
              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                
                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                  
                   =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*/                                      
                                                                                                   
                                                                                                    
                                                                                                    

/*========================================▼TOPヒーロースライダー▼==============================================*/ 

.hero{ --wp--style--block-gap: 0 !important; }
.hero .wp-block-group,
.hero .wp-block-columns,
.hero p{ margin-block: 0 !important; }
.hero { 
	background-image: linear-gradient(90deg,#FFF 5%,#775fa8 40%)!important; 
	position: relative; 
	padding-block: clamp(64px, 10vw, 120px); 
	padding-inline: clamp(16px, 4vw, 48px); 
	padding: 5.75em 0 0 0 !important; 
	 overflow: hidden;
}
.hero-inner{
  position: relative;
  display: grid;
}
.hero .hero-photo,
.hero .hero-overlay{
  grid-area: 1 / 1; 
}
.hero .hero-photo {
  display: block !important;
  position: relative;
  width: 95%;
  max-width: none;
  height: clamp(420px, 58vw, 650px);
  margin: 0 0 0 auto;
  overflow: hidden;
  border-radius: 80px 0 0 0;
}
.hero .hero-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}
.hero .hero-photo figure {
  margin: 0 !important;
  height: 100%; 
}
.hero .hero-slider{ 
	position: absolute; 
	inset: 0; --cycle: 16s; 
}
.hero .hero-slider > .slide{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
  opacity: 0;
  animation: heroCrossfade var(--cycle,16s) ease-in-out infinite;
}
.hero .hero-slider > .slide:first-child{ opacity: 1; }

@keyframes heroCrossfade{ 
	0% { opacity: 0; }
	8% { opacity: 1; } 
	28% { opacity: 1; } 
	36% { opacity: 0; } 
	100% { opacity: 0; } } 
.hero .hero-overlay{ 
	position: absolute; 
	inset: 0; 
	display: flex; 
	justify-content: flex-end; 
    align-items: center;
	pointer-events: none; 
	padding-right: clamp(16px, 20vw, 400px); 
	padding-left: clamp(16px, 3vw, 40px); 
	padding-top:clamp(16px, 8vw, 120px);
	z-index: 99;
} 
.hero .hero-overlay > *{ 
	pointer-events: auto; 
  max-width: min(90%, 480px);
	background: transparent;
} 
@keyframes slideInRight{ 
	from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} 
} 
.fadein-right{ animation: slideInRight .8s ease-out .2s both; }

@media (max-width: 1200px){
  .hero .hero-photo{
    height: clamp(460px, calc(650px + (1200px - 100vw) * 0.65), 90vh);
  }
}
@media (max-width: 960px){
  .hero .hero-photo{ height: clamp(480px, 65vw, 80vh); }
}
@media (max-width: 600px){
  .hero .hero-photo{ height: clamp(520px, 70vh, 88vh); }
}
@media (max-width: 480px){
  .hero .hero-photo{
    height: clamp(520px, 78vh, 92vh);
  }
}

@media (max-width: 781px){
	.hero{ 
		padding-block:40px;
		padding-top:3.5em!important;
		background-image: linear-gradient(90deg,#FFF 15%,#775fa8 80%)!important; 

	} 
	.hero .hero-photo{ 
		width:95%; 
		height: clamp(320px, 60vh, 560px);
	} 
	 .hero .hero-overlay{
    display: flex;
    align-items: flex-start; 
    justify-content: flex-end;
    padding-right: clamp(12px, 4vw, 24px);
    padding-left: clamp(12px, 3vw, 24px);
    padding-top: 100px;
  }
  .hero .hero-overlay > *{
    max-width: min(90%, 480px); 
    padding-top: 0 !important;
  }
	.top_btn{ opacity:.9; width:80%!important;margin:auto!important; }
    .top_btn a{width:70%;}
} 
.hero + .wp-block-group,
.hero + .wp-block-columns{ margin-top: 0 !important; }
.top_btn{ opacity:.8; width:100%; margin:0; }
.top_btn a{width:100%;}



/*========================================▲TOPヒーロースライダー▲==============================================*/

/*===========================================▼ループスライダー▼================================================*/
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 2rem;
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 20s infinite linear;
}

.loop-slider .swell-block-column figure {
    width: 200px;
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%;
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 200px;
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*===========================================▲ループスライダー▲================================================*/


/*===========================================▼出現テキスト▼================================================*/

.pInfoHead,
.pInfoHead::before,
.pInfoHead::after{
  all: initial;
  font: inherit;
  font-size: 40px;
  letter-spacing: normal;
  line-height: inherit;
  color: inherit;

  text-shadow: none;
  text-transform: none;
  text-decoration: none;
  -webkit-text-stroke: 0;
  -webkit-text-fill-color: initial;
  filter: none;
  mix-blend-mode: normal;
  transform: none;
  animation: none;
  transition: none;

  box-sizing: border-box;
  margin: 0!important;
  padding: 0;
  background: none;
  border: 0;
}


.pInfoHead{
  --base:  #FFF;
  --step1: #775fa8;
  --step2: #424142;
  --d1: 600ms;
  --d2: 600ms;
  --delay: 20ms;
  --lag: -250ms;
  --safe-x: 1.5em; 
  --safe-y: 1.5em; 

  position: relative;
  display: inline-block;
  line-height: 1.3;
  color: var(--base);
  width:100%;
  contain: layout style;
  overflow: visible;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  padding-inline: var(--safe-x) !important;
  padding-block:  var(--safe-y) !important;
}

.pInfoHead::before,
.pInfoHead::after{
  content: attr(data-text);
  position: absolute;
  inset: 0; 
  pointer-events: none;

  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0%;
  will-change: background-size;
}

.pInfoHead::before{
  background-image: linear-gradient(var(--step1), var(--step1));
  animation: pInfo-fill var(--d1) ease-out var(--delay) forwards;
}

.pInfoHead::after{
  background-image: linear-gradient(var(--step2), var(--step2));
  animation: pInfo-fill var(--d2) ease-out calc(var(--delay) + var(--d1) + var(--lag)) forwards;
}

@keyframes pInfo-fill{
  to{ background-size: 100% 100%; }
}

@media (prefers-reduced-motion: reduce){
  .pInfoHead::before,
  .pInfoHead::after{ animation: none; background-size: 100% 100%; }
  .pInfoHead{ color: var(--step2); }
}

.pInfoHead::before,
.pInfoHead::after{ animation-play-state: paused; }
.pInfoHead.is-inview::before,
.pInfoHead.is-inview::after{ animation-play-state: running; }

@media (max-width: 781px){
.pInfoHead,
.pInfoHead::before,
	.pInfoHead::after{
		font-size: 30px;
	}
	
}
/*===========================================▲出現テキスト▲================================================*/


/*===========================================▼テキストループスライダー▼================================================*/
  :root{
    --stroke-color: #a582c9;
    --stroke-width: 1px;
    --fill-color: #fff;
    --speed: 12s;
  }
  *{ box-sizing: border-box; }
  .scroll-list{
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    overflow: hidden;
    white-space: nowrap;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  .marquee-item{
    display: grid; 
    margin: 0;
    padding: 0 1em 0 0;
    animation: marquee-left var(--speed) linear infinite;
    will-change: transform;
  }
  .txt{
    grid-area: 1 / 1;
    position: relative;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
    font-size: clamp(24px, 8vw, 96px);
	margin-bottom: 15px;
  }
  .txt--fill{
    z-index: 2;
    color: var(--fill-color);
    -webkit-text-fill-color: var(--fill-color);
  }
  .txt--stroke{
    z-index: 1;
    pointer-events: none; 
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: var(--stroke-width) var(--stroke-color);
    text-stroke: var(--stroke-width) var(--stroke-color);
  }
  @supports not (-webkit-text-stroke: 1px black){
    .txt--stroke{
      text-shadow:
        1px 0 var(--stroke-color), -1px 0 var(--stroke-color),
        0 1px var(--stroke-color),  0 -1px var(--stroke-color),
        1px 1px var(--stroke-color), -1px 1px var(--stroke-color),
        1px -1px var(--stroke-color), -1px -1px var(--stroke-color);
    }
  }
  @media (max-width: 599.98px){
    :root{ --stroke-width: 1px; }
  }
  @keyframes marquee-left{
    from{ transform: translateX(0); }
    to  { transform: translateX(-100%); }
  }
  @media (prefers-reduced-motion: reduce){
    .marquee-item{ animation: none; }
  }
/*===========================================▲テキストループスライダー▲================================================*/


/*===========================================▼FCフレーム▼================================================*/
.fc-frame {
  position: relative;
  width: 100%;
  margin: 50px auto;
  padding:3.5em;
  color: #fff;
}
/* 右上 */
.fc-frame::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 70%;
  border: 2px solid #fff;
  border-left: none;
  border-bottom: none;
}
/* 左下 */
.fc-frame::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 70%;
  border: 2px solid #fff;
  border-right: none;
  border-top: none;
}
/*===========================================▲FCフレーム▲================================================*/

/*===========================================▼見出し裏タイトル▼================================================*/
.title_1 {
  position: relative;
  font-size: 20px;
  color: #775fa8;
  z-index: 1;
  vertical-align:bottom;
}

.title_1::before {
  content: "ABOUT US";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 80px;
  font-weight: 900;
  color: rgba(119, 95, 168, 0.15);
  z-index: -1;
  white-space: nowrap;
}

.title_2 {
  position: relative;
  font-size: 20px;
  color: #775fa8;
  z-index: 1;
  vertical-align:bottom;
}

.title_2::before {
  content: "NEWS";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px; 
  font-weight: 900;
  color: rgba(119, 95, 168, 0.15);
  z-index: -1;
  white-space: nowrap; 
}

.title_3 {
  position: relative;
  font-size: 20px;
  color: #FFF;
  z-index: 1;
  vertical-align:bottom;
}

.title_3::before {
  content: "INQUIRY";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.15);
  z-index: -1; 
  white-space: nowrap;
}

.title_4 {
  position: relative;
  font-size: 20px;
  color: #775fa8;
  z-index: 1;
  vertical-align:bottom;
}

.title_4::before {
  content: "PHILOSOPHY";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;  
  font-weight: 900;
  color: rgba(119, 95, 168, 0.15);
  z-index: -1;  
  white-space: nowrap;
}

.title_5 {
  position: relative;
  font-size: 20px;
  color: #FFF;
  z-index: 1;
  vertical-align:bottom;
}

.title_5::before {
  content: "FIVE VALUE";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;  
  font-weight: 900;
  color: rgba(255, 255, 255, 0.15);
  z-index: -1; 
  white-space: nowrap; 
}

.title_6 {
  position: relative;
  font-size: 20px;
  color: #775fa8;
  z-index: 1;
  vertical-align:bottom;
}

.title_6::before {
  content: "COMPANY"; 
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;        
  font-weight: 900;
  color: rgba(119, 95, 168, 0.15); 
  z-index: -1;            
  white-space: nowrap;    
}
/*===========================================▲見出し裏タイトル▲================================================*/
/*===========================================▼固定ページヒーローバナー▼================================================*/

.fw-cutout2{
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(90deg,#a582c9,#775fa8)!important;
  min-height: 420px;
}
.fw-cutout2 .fw-cutout__photo{
  position: absolute;
  inset: 0;
  margin-left: auto;                 
  width: var(--cutout-width, 35vw);  
  right: -5vw;	

  --LT: 20%; 
  --LB: 0%;  
  --RT: 0%;  
  --RB: 20%; 
	
  clip-path: polygon(var(--LT) 0,
                     calc(100% - var(--RT)) 0,
                     calc(100% - var(--RB)) 100%,
                     var(--LB) 100%);
  pointer-events: none;               
}
.fw-cutout2 .fw-cutout__photo img{
  position: fixed;                   
  top: 0;
  right: 0;
  width: var(--img-width, 60vw);
  height: 80vh;                   
  object-fit: cover; 
  object-position: var(--img-pos, 50% 50%); 
  transform: scale(var(--img-zoom, 1)); 
  will-change: transform;
}
.fw-cutout_ovr{
	z-index:99;
}

@media (max-width: 768px){
  .fw-cutout2 .fw-cutout__photo{
    width: var(--cutout-width-sp, 60vw);
    --LT: 16%; --LB: 16%;
    --RT: 10%; --RB: 10%;
  }
  .fw-cutout2 .fw-cutout__photo img{
    width: var(--img-width-sp, 60vw);
	  top: 50px;
  }
}

/*===========================================▲固定ページヒーローバナー▲================================================*/

/*===========================================▼問い合わせフォーム▼================================================*/
.inq_clm{
	padding:3em!important;
	border-radius:15px;
}
.inq_h2 {
    position: relative;
    padding: .5em .7em;
    background-color: #775fa8;
    color: #fff;
}

.inq_h2::before {
    position: absolute;
    top: 100%;
    left: 0;
    border-bottom: solid 10px transparent;
    border-right: solid 20px #674f98;
    content: '';
}

input[type="text"],input[type="password"],input[type="datetime"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],
input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],select,textarea {
    display: block;
    width: 100%;
    height: 45px;
    margin-bottom: 0;
    padding: 0 12px;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    background-color: #F6F8F8;
    color: #5c6b80;
    font-size: 1em;
    vertical-align: middle;
    line-height: 45px;
    transition: background-color 0.24s ease-in-out;
}
table.CF7_table textarea {
    resize: vertical;
    max-width: 100%;
    min-height: 300px;
    line-height: 1.5em;
    padding: 0.5em;
    overflow: auto;
}
.CF7_table input, .CF7_table select, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}
table.CF7_table {
	width: 100%;
	margin: 0 auto;
	border: none !important
}
table.CF7_table th {
  width: 30%;
  background-color: #F6F8F8;
	font-size: 15px;
	vertical-align: middle;
color:#000;
}
table.CF7_table tr,
table.CF7_table th,
table.CF7_table td {
	padding: 0.75rem 0.75rem !important;
	background: none !important;
	border: none !important;
}
.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
	display: table;
}
.CF7_table ::placeholder {
	color: #797979;
}
.CF7_req{
	font-size: .9em;
	padding: 4px 7px;
	background: #a582c9;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}
.CF7_unreq{
	font-size: .9em;
	padding: 4px 7px;
	background: #bdbdbd;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}
@media screen and (max-width: 768px){
	table.CF7_table{
	    width: 100%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
        display: block;
        width: 100% !important;
        line-height: 2.5em;
	}
	.CF7_table th{
	    background-color: #F6F8F8;
	}
	.inq_clm{
		padding:1.5em!important;
	}
}
.wpcf7 input.wpcf7-submit {
	background-image: linear-gradient(90deg,#a582c9,#775fa8);
	color:#fff;
	font-size:1.2em;
	font-weight: bold;
	margin: 0 auto;
	padding: 15px 30px;
	transition: all 0.5s 0s ease;
}
.wpcf7 input.wpcf7-submit:hover {
  background: #fff;
	color: #4c6d70;
}
.CF7_btn{
	text-align: center;
	margin: 20px;
}
.wpcf7-spinner{
	width:0;
	margin:0;
}
.wpcf7-response-output{
color:#FFF;
}

.wpcf7 form.sent .wpcf7-response-output{
	background-color:#775fa8;
	text-align:center;
	border-color:#a582c9!important;
}

/*===========================================▲問い合わせフォーム▲================================================*/

/*===========================================▼フランチャイズページ▼================================================*/
.fc_bp{
	width:80%;
	background-color:#212121;
    outline: 1px solid rgb(80, 194, 194, .8);
    outline-offset: 0px;
	margin:auto;
	padding:1em;
	box-shadow: 0px 0px 15px #50c2c2;

}
.fc_h2{
	margin:1em 0!important;
	font-size:clamp(20px,5vw,40px)!important;
	text-shadow: 0px 0px 20px #FFF;
}
.fc_h2-2{
	    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
	background-color: #775fa8;
	border-radius:15px;
	padding:1em;
}

.fc_bp2{
	font-size:clamp(0.7em,1vw,1em)!important;
}
.tag_li .swell-block-linkList.-flex .swell-block-linkList__item{
	margin:auto!important;
}
.fc_blink{
	width:80%;
	margin:0 auto;
}
.about_be_img img{
}
.nrd li{
	background-color:#FFF;
	padding:1em;
	margin:1em auto;
	border-radius:5px;
	font-size:clamp(16px,5vw,25px);
	padding-left:2.5em;
}
.nrd li::before {
	top: auto !important;
	left:1em;
}
.qa-7 {
    max-width: 100%;
    margin-bottom: 10px;
    border: solid .5px #a782cb;
    border-radius: 25px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
}
.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}
.qa-7 summary::before,
.qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}
.qa-7 summary::before {
    color: #a782cb;
    content: "Q";
}
.qa-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}
.qa-7[open] summary::after {
    transform: rotate(225deg);
}
.qa-7 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}
.qa-7[open] p {
    transform: none;
    opacity: 1;
}
.qa-7 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}

@media (max-width: 781px){
	.fc_blink{
	width:90%;
	}
}
.wpfx-flow {
  --wpfx-bg:;
  --wpfx-card:#fff;
  --wpfx-ink:#0e2a6b;
  --wpfx-muted:#5872a3;
  --wpfx-accent:#775FA8;
  --wpfx-accent-2:#A782CB;
  --wpfx-shadow: 0 6px 18px rgba(6,31,74,.08);
  --wpfx-radius:20px;

  background:var(--wpfx-bg);
  color:var(--wpfx-ink);
  padding:0;
}
.wpfx-flow__wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.wpfx-flow__title{margin:0 0 10px;font-weight:800;letter-spacing:.02em;font-size:clamp(20px,2.5vw,28px)}
.wpfx-flow__sub{margin:0 0 24px;color:var(--wpfx-muted)}
.wpfx-flow__list{
  display:flex; gap:18px; align-items:stretch;
  counter-reset: wpfx-step;
}
.wpfx-step{
  position:relative; flex:1; min-width:160px; background:var(--wpfx-card);
  border-radius:var(--wpfx-radius); box-shadow:var(--wpfx-shadow);
  padding:16px 14px 18px; isolation:isolate; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.wpfx-step:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(6,31,74,.14) }
.wpfx-step::before{
  counter-increment: wpfx-step;
  content: counter(wpfx-step, decimal-leading-zero);
  position:absolute; left:-8px; top:14px;
  background:linear-gradient(135deg,var(--wpfx-accent),var(--wpfx-accent-2));
  color:#fff; font-weight:800; font-size:12px; line-height:1;
  padding:10px 12px; border-radius:12px 12px 12px 4px;
  box-shadow:0 6px 14px rgba(42,127,255,.25);
}
.wpfx-step::after{
  content:"";
  position:absolute; right:-10px; top:50%; transform:translateY(-50%);
  width:20px; height:6px; border-radius:6px;
  background: radial-gradient(currentColor 2px,transparent 3px) left/8px 6px repeat-x;
  color:#c7d6ff; opacity:.9;
}
.wpfx-step:last-child::after{display:none}
.wpfx-step__illus{
  height:110px; border-radius:16px; margin-bottom:12px;
  border:2px dashed #e5edff;
  background:
    linear-gradient(145deg,#f3f7ff,#fff) padding-box,
    conic-gradient(from 0turn at 60% 40%, var(--wpfx-accent) 0 25%,
      var(--wpfx-accent-2) 0 50%, #b6cbff 0 75%, #e2f6ff 0 100%) border-box;
  display:grid; place-items:center;
}
.wpfx-step__emoji{font-size:34px; filter:drop-shadow(0 2px 2px rgba(0,0,0,.08))}
.wpfx-step__emoji img{margin: .1em;width: 100px;}
.wpfx-step__label{
  font-size:clamp(14px,1.6vw,16px); font-weight:700; text-align:center;
  line-height:1.35; letter-spacing:.02em;
}
.wpfx-step__note{color:var(--wpfx-muted); font-size:12px; text-align:center; margin-top:6px}


/* fc_tag_area 内の swell-block-linkList の hover スタイルを完全無効化 */
.fc_tag_area .swell-block-linkList a,
.fc_tag_area .swell-block-linkList .swell-block-linkList__item {
  transition: none !important;
  animation: none !important;
  background: inherit !important; /* 元の背景色を維持 */
  color: inherit !important;      /* 元の文字色を維持 */	
	border-radius:100px;
		background: #333 !important;

}


.fc_tag_area .swell-block-linkList a:hover,
.fc_tag_area .swell-block-linkList .swell-block-linkList__item:hover {
  transform: none !important;
  background: inherit !important; /* hover 時も背景色を変えない */
  color: inherit !important;      /* hover 時も文字色を変えない */
		border-radius:100px;
		background: #333 !important;
}



@media (max-width:860px){
  .wpfx-flow__list{flex-wrap:wrap}
  .wpfx-step{flex:1 1 calc(50% - 9px)}
	.gimon img{width:80%;}
}
@media (max-width:520px){
  .wpfx-step{flex-basis:100%}
  .wpfx-step::after{display:none}
}

/*===========================================▲フランチャイズページ▲================================================*/

/*===========================================▼その他コンテンツ▼================================================*/
.c-gnav > li:hover > a, .c-gnav > .-current > a {
background-color:rgba(255, 255, 255, 0.8);
	color:#775fa8;
font-weight:bold;
transition: all .3s;
}

.c-headLogo__img{
	  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));

}
.company_tbl th{
	line-height:5em;
}

.news-area{
	background-image: linear-gradient(90deg,#a582c9,#775fa8)!important; 
}

.news-area .news-inner{
}

.news-area .news-cont{
	border:solid 5px #775fa8;
	border-radius:15px;
	padding:4em;
	background-color:#FFF;
}

.fc-clm{
  background:#fff;
  border:3px solid #775fa8;
  border-radius:50%;
  aspect-ratio: 1 / 1;  
  width: clamp(160px, 28vw, 320px); 
  box-sizing: border-box;
  display: grid;
  place-items: center;
}
.contact-clm{
	border-radius:15px;
	background-color:#FFF;
	padding:2em;
}
.footer-logo{
	width:200px;
}
.l-content{
	margin-bottom:0!important;
}
.wide_btn a{width:100%;}

.place th span{ 
	padding:.4em 1em;
	border:solid 1px #775fa8;
	background-color:#FFF;
}
.place th{ 
	border:none;
	background-color:#FFF;
	padding:.2em;
}
.place td{
	border:solid 0px;
	padding:.5em 0;
}

@media (max-width: 781px){
	.biz_logo{
		width:600px;
	}
	.biz_favi{
		    flex-basis: 25%!important;
	}
	.biz_favi img{
		width:150px;
	}
	
	.news-area .news-cont{
		padding:2em;
	}
	.tlogo img{
		width:80%;
	}
	.company_tbl th{
		line-height:1.5em;
}
}

/* =======================
   安全版パッチ
   ======================= */

/* 0) iOSの自動文字拡大を抑制（フォーム崩れ防止） */
html { -webkit-text-size-adjust: 100%; }
input, select, textarea { font-size: 16px; }

/* 1) ヒーロー：vhの揺れを抑えて高さを安定（dvh対応＋フォールバック）
   - 既存の clamp(…, …vh, …vh) は残しつつ下限/動的ビューポートを追加 */
@supports (min-height: 100dvh) {
  .hero .hero-photo {
    min-height: 60dvh; /* 縦が極端に小さくならないように底上げ */
  }
}
@supports not (min-height: 100dvh) {
  .hero .hero-photo {
    min-height: 60vh;  /* 古いSafari向けフォールバック */
  }
}
/* clamp() 非対応端末でゼロ高になるのを防ぐための先出しフォールバック */
.hero .hero-photo {
  height: 520px; /* ベース値 */
  height: clamp(420px, 58vw, 650px);
}

/* 2) ヒーローのオーバーレイ余白：極小画面でのはみ出し抑制 */
@media (max-width: 520px){
  .hero .hero-overlay{
    padding-right: 16px;
    padding-left:  16px; /* 20vw → 固定値に寄せて安全に */
  }
  .hero .hero-overlay > *{
    max-width: 100%;
  }
}

/* 3) 固定ページヒーロー（fw-cutout2）画像の position:fixed をSPで抑える
   - iOSでのスクロール時ガタつき＆意図せぬ重なりを回避 */
@media (max-width: 781px){
  .fw-cutout2 .fw-cutout__photo img{
    position: absolute; /* fixed → absolute（親のoverflow: hidden内で安全） */
    height: 60vh;       /* ガタつき軽減。対応端末なら下でdvhに上書き */
  }
}
@media (max-width: 781px) and (hover:none) {
  @supports (height: 100dvh){
    .fw-cutout2 .fw-cutout__photo img{
      height: 60dvh;    /* 新しめiOSはdvhで安定 */
    }
  }
}

/* 4) ループスライダー：横スクロールが出にくい保険（SPだけ） */
@media (max-width: 781px){
  .loop-slider { overflow: hidden; }
  .loop-slider .swell-block-column figure { max-width: 100%; }
}

/* 5) 大きいロゴ/画像のはみ出し抑制（SP時の横スク発生源になりやすい） */
@media (max-width: 781px){
  .biz_logo { width: min(100%, 600px); } /* 既存: 600px 固定 → 収める */
  .footer-logo,
  .about_be_img img,
  .tlogo img { max-width: 100%; height: auto; }
}

/* 6) 丸型カード（.fc-clm）周り：親幅からはみ出さない保険 */
@media (max-width: 520px){
  .fc-clm { width: min(88vw, 320px); }
}

/* 7) 見出し裏タイトル（巨大テキスト）の溢れ対策
   - 中央配置の大きい::beforeが改行無しで溢れることがあるため */
.title_1::before,
.title_2::before,
.title_3::before,
.title_4::before,
.title_5::before,
.title_6::before{
  max-width: 100%;
  overflow: hidden;
  text-overflow: clip;
  /* 必要ならフォントサイズの上限を画面幅に連動（SP時のみ） */
}
@media (max-width: 768px){
  .title_1::before { font-size: clamp(60px, 10vw, 80px); }
  .title_2::before,
  .title_3::before,
  .title_4::before,
  .title_5::before,
  .title_6::before { font-size: clamp(40px, 16vw, 60px); }
}

/* 8) ニュース枠の大きめパディング：極小画面での窮屈さ軽減（見た目維持寄り） */
@media (max-width: 520px){
  .news-area .news-cont{ padding: 2em; }
}

/* 9) 問い合わせテーブル：SPでの横並び崩れ時のはみ出し保険 */
@media (max-width: 768px){
  table.CF7_table { table-layout: fixed; }
  table.CF7_table th, table.CF7_table td { word-break: break-word; }
}

/* 10) 最終防御（どうしても横スクが出る時だけ有効化）
html, body { overflow-x: hidden; }