@charset "utf-8";
/* ===================================================================

 file name  :common.css
 style info :共通cssファイル
 
=================================================================== */

/*PCサイズ
////////////////////////////////////////////////////*/

@media screen and (min-width:769px) {
html{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body{
	font-size: 14px;
	color: #000;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	line-height: 1.5;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	font-weight: 400;
	background: url("../img/bg.png.webp") repeat;
}
a{
	color: #000;
	text-decoration: none;
	display: block;
	position: relative;
}
a:hover{
	opacity: 0.8;
}
#scroll{
	top: 0;
	left: 0;
	z-index: 10;
}
img{
	width: 100%;
	height: auto;
}


/*//////////       layout       //////////*/
#wrapper{
	width: 100%;
	font-size: 100%;
	position: relative;
}
.cf:after {
	content:" ";
	display:block;
	clear:both;
}
.sp-only{
	display: none;
}
.pc-only{
	display: block;
}
#main_box {
    width: 100%;
	min-width: 980px;
    position: relative;
	left: 0;
	top: 0;
    z-index: 10;
    background: #fff;
}

#main--box{
	position: relative;
}

/*///////////////////////////////////////////////////

ヘッダー（すりガラス対応版）

///////////////////////////////////////////////////*/

#header{
  width: 100%;
  height: 90px;
  position: fixed;
  z-index: 30;
  background: transparent; /* 初期は透過 */
  transition:
    height .25s ease,
    background-color .25s ease,
    backdrop-filter .25s ease,
    -webkit-backdrop-filter .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}
/* スクロール開始時（bodyに.scroll--bodyが付く想定） */
.scroll--body #header{
  height: 80px;
  /* フォールバック（backdrop-filter非対応ブラウザ向け） */
  background-color: rgba(255,255,255,.65);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
/* 対応ブラウザは本物のすりガラスに */
@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .scroll--body #header{
    background-color: rgba(255,255,255,.38);
    backdrop-filter: saturate(160%) blur(10px);
    -webkit-backdrop-filter: saturate(160%) blur(10px);
  }
}
.header{
  max-width: 1420px;
  height: 90px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
	justify-content: space-between;
}
.scroll--body .header{
  height: 80px;
}
.header--logo{
	width: 247px;
}
.hamburger{
  display: none;
}
.header--navigation{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  gap: 30px;
}
.header--navigation__left{
  height: inherit;
	width: 676px;
}
.header--navigation nav{
  height: inherit;
}
.header--navigation a{
  color: #121212;
  font-size: 16px;
  font-weight: 500;
  height: inherit;
  display: block;
  display: flex;
  align-items: center;
}
.header--navigation .header--navigation__box{
  display: flex;
  gap: 24px;
  height: inherit;
}

/* 子メニュー：ヘッダー高さに追従させる */
.navigation--child__box{
  position: absolute;
  top: 112px;
  left: 0;
  width: 100%;
  height: auto;
  background: #F9F1F1;
  padding: 40px 0 48px;
  z-index: 20;
  display: none;
  box-sizing: border-box;
  border: 2px solid #fff;
}
.scroll--body .navigation--child__box{
  top: 80px;
}
.navigation--child__box.active{
  display: block;
}
.navigation--parent{
  height: inherit;
}
.navigation--parent > a{

}
.navigation--parent a{
  height: inherit;
}

.header--navigation__right .header--navigation__right_wp a{
  background: #000;
  padding: 14px 28px 14px 32px;
}
.header--navigation__right .header--navigation__right_contact a{
  background: #EA0029;
  padding: 14px 28px 15px 32px;
}


/*//////////       main visual       //////////*/
.main{
	max-width: 1420px;
	min-width: 980px;
	margin: 0 auto 16px;
	padding-top: 90px;
}
.main--inr{
	width: 100%;
}
.main--inr ul{
	position: relative;
	padding-top: 52%;
}
.main--inr ul li a{
	transition: filter 0.4s ease; /* スムーズに変化させる */
}
.main--inr ul li a:hover {
  filter: grayscale(100%);
}
.main_strong{
	position: absolute;
	top: 0;
	left: 0;
	width: 28.23%;
	height: auto;
	z-index: 1;
}
.main_feature{
	position: absolute;
	top: 0;
	left: 28.23%;
	width: 44.50%;
	height: auto;
	z-index: 1;
}
.main_question{
	position: absolute;
	top: 0;
	left: 72.73%;
	width: 27.25%;
	height: auto;
	z-index: 1;
}
.main_company{
	position: absolute;
	top: 25.15%;
	left: 72.73%;
	width: 27.25%;
	height: auto;
	z-index: 1;
}
.main_subsidy{
	position: absolute;
	top: 50.06%;
	left: 0;
	width: 44.78%;
	height: auto;
	z-index: 1;
}
.main_document{
	position: absolute;
	top: 50.06%;
	left: 44.78%;
	width: 55.21%;
	height: auto;
	z-index: 1;
}


/**************************************************** 
 
ロゴループ

****************************************************/
/* PC版ロゴループ：横幅1420px用 */
#contentsBoxLogoloop {
  width: 1420px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  background: #fff;
}

#contentsBoxLogoloop .loop_box {
  display: flex;
  width: max-content;
  animation: logoLoop1420 40s linear infinite;
}

#contentsBoxLogoloop .loop_list {
  display: flex;
  flex-shrink: 0;
}

#contentsBoxLogoloop .loop_list li {
  list-style: none;
  display: flex;
  align-items: center;
}

#contentsBoxLogoloop .loop_list img {
  width: 2585px;   /* 実画像サイズ */
  height: auto;
  display: block;
  max-width: none; /* 変形防止 */
}

/* アニメーション（シームレスループ） */
@keyframes logoLoop1420 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}







#contents--wrapper{
	width: 1420px;
	margin: 0 auto;
	display: flex;
}
#contents--main{
	width: 1048px;
}
#contents--side{
	width: 372px;
	background: #fff;
}
#contents--side .contents--side_inr{
	position: sticky;
	top: 80px;
	z-index: 1;
	        height: calc(100vh - 80px);
        overflow-y: auto;
}
#contents--side h2{
	background: #000;
	color: #fff;
	text-align: center;
	font-weight: 500;
	font-size: 16px;
	padding: 6px 0;
	margin-bottom: 16px;
}
#contents--side .contents--side_form{
	width: 332px;
	margin: 0 auto;
	box-sizing: border-box;
}


/* お客様の声 */
.interview--wrap{
	min-width: 980px;
	margin-top: 24px;
}
.interview{
	width: 992px;
	margin: 0 auto 140px;
}
.interview .section--ttl h2{
	width: 188px;
	margin: 0 auto 28px;
}
.interview--single{
	background: #fff;
	border-radius: 4px;
	border: 1px solid #DBD2CA;
	padding: 16px;
	box-sizing: border-box;
}
.interview--shop{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.interview--shop .shop--type{
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.07em;
	color: #fff;
	background: #000;
	padding: 10px 8px;
	border-radius: 4px;
}
.interview--shop .shop--target{
	width: 60px;
	height: 60px;
}
.interview--shop .shop--name_staff{
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 0;
}
.interview--single h3{
	font-size: 22px;
	line-height: 1.36;
	font-weight: 500;
	color: #EA0029;
	margin-bottom: 10px;
}
.interview--single .interview--lead p{
	font-size: 17px;
	line-height: 1.47;
}
.interview--single .notice{
	margin-top: 2%;
	text-decoration: underline;
}
.interview .splide__pagination {
	bottom: -40px;
}
#contents--main .splide__pagination__page{
	height: 18px;
	width: 18px;
	opacity: 1;
	margin: 6px;
	box-sizing: border-box;
	border: 1px solid #DBD2CA;
	background: #fff;
}
#contents--main .splide__pagination__page.is-active {
    background: #EA0029;
	box-sizing: border-box;
	border: 1px solid #EA0029;
    transform: scale(1.2);
    z-index: 1;
}

/* 豊富な機能 */
.feature--wrap{
	width: 920px;
	margin: 0 auto 90px;
}
.feature{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	margin-bottom: 16px;
}
.feature .section--ttl{
	width: 38px;
	height: 203px;
	margin-top: 82px;
	margin-left: 38px;
}
.feature--list > ul{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
.feature--list ul li.pickup h3,
.feature--list ul li h3{
	position: relative;
}
.feature--list ul li.pickup h3::before{
	content: "";
	position: absolute;
	top: -66px;
	left: -14px;
	background: url("../img/icon_pickup.svg") ;
	width: 48px;
	height: 59px;
}
.feature--list ul li h3 {
  position: relative;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.feature--list ul li h3:hover{
	opacity: 0.8;
}
.feature--list ul li h3::after {
  content: "";
  position: absolute;
  bottom: -26px;
  left: 1px;
  background: url("../img/icon_open.svg") no-repeat center center / contain;
  width: 17px;
  height: 17px;
  transition: transform 0.3s ease; /* ← アニメーション */
}

/* 開いている状態でアイコンを回転 */
.feature--list ul li.open h3::after {
  transform: rotate(-90deg);
}

.feature--list_common{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
.feature--list_common h3{
	/* margin-top: 45px; */
	margin-left: 24px;
}
.feature--list001 h3{
	width: 19px;
	height: 297px;
}
.feature--list002 h3{
	width: 19px;
	height: 320px;
}
.feature--list003 h3{
	width: 18px;
	height: 137px;
}
.feature--list004 h3{
	width: 16px;
	height: 141px;
}
.feature--list005 h3{
	width: 19px;
	height: 163px;
}
.feature--list006 h3{
	width: 19px;
	height: 186px;
}
.feature--list007 h3{
	width: 19px;
	height: 146px;
}
.feature--list008 h3{
	width: 19px;
	height: 100px;
}
.feature--list009 h3{
	width: 20px;
	height: 87px;
}
.feature--list010 h3{
	width: 17px;
	height: 100px;
}
.feature_subttl01{
	width: 17px;
	height: 45px;
}
.feature_subttl02{
	width: 17px;
	height: 160px;
	margin-right: 28px;
}
.feature--point,
.feature--point ul{
	display: flex;
	flex-wrap: wrap;
}
.feature--point{
	flex-direction: row-reverse;
	background: #fff;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	padding: 40px 16px 22px 24px;
	margin-left: 26px;
}
.feature--point ul{
   flex-direction: row-reverse;
}
.feature--point ul li{
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.2;
	position: relative;
	letter-spacing: 0.15em;
}
.feature--point ul li::before{
	content: "";
	position: absolute;
	top: -11px;
	left: calc(50% - 3px);
	background: url("../img/icon_info.svg");
	width: 10px;
	height: 10px;
}
.feature--point ul li + li{
	margin-right: 18px;
}
.feature--point h4{
	background: #F7F5F2;
	padding: 8px 6px 0 6px;
	border-radius: 2px;
	margin-left: 20px;
}
.feature--attention{
	display: flex;
    justify-content: center;
	margin-bottom: 24px;
	padding-left: 1.5em;
}
.feature--attention div{
	position: relative;
}
.feature--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.feature--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.feature--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.feature--attention p a:hover{
	text-decoration: none;
}
.cv--btn{
	display: flex;
    justify-content: center;
}
.cv--btn a{
	padding: 22px 74px 21px 36px;
	background: #EA0029;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
	text-align: center;
	border-radius: 40px;
	position: relative;
}
.cv--btn a::before{
	content: "";
	position: absolute;
	top: 17px;
	right: 22px;
	background: url("../img/icon_btn-arrow.svg");
	width: 30px;
	height: 30px;
}








/*//////////       特徴と強み       //////////*/
.strong--wrap{
	width: 770px;
	margin: 0 auto 80px;
}
.strong{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;  
}
.strong .section--ttl{
	width: 38px;
	height: 196px;
	position: sticky;
  	top: 120px;
	z-index: 1; 
}
.scroll--body .strong .section--ttl{
  top: 138px;
}
.strong--list{
	width: 640px;
}
.strong--point_01,
.strong--point_02{
	margin-bottom: 55px;
}
.strong--point_01 div,
.strong--point_02 div,
.strong--point_03 div{
	margin-bottom: 30px;
}
.strong--point_03 div{
	width: 502px;
	height: 397px;
	margin: 0 auto 30px;
}
.strong--point_01 h3,
.strong--point_02 h3,
.strong--point_03 h3{
	margin-bottom: 14px;
}
.strong--point_01 h3{
	width: 502px;
	height: 25px;
}
.strong--point_02 h3{
	width: 461px;
	height: 24px;
}
.strong--point_03 h3{
	width: 503px;
	height: 24px;
}
.strong--point_01 p,
.strong--point_02 p,
.strong--point_03 p{
	font-size: 17px;
	line-height: 1.6;
}



/*//////////       資料ダウンロードバナー       //////////*/
.doc--download__wrap{
	width: 100%;
	background: #fff;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin-bottom: 72px;
}
.doc--download{
	border-top: 1px solid #F7F3F1;
	border-bottom: 1px solid #F7F3F1;
}
.doc--download a{
	display: flex;
	flex-wrap: wrap;
	padding: 12px 10px 8px 16px;
	justify-content: space-between;
}
.doc--image__left{
	width: 303px;
	height: 341px;
}
.doc--lead{
	width: 394px;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 30px;
}
.doc--lead h2{
	width: 321px;
	height: 80px;
	margin-bottom: 8px;
}
.doc--lead .doc--lead_assist{
	width: 388px;
	height: 28px;
	margin-bottom: 11px;
}
.doc--lead h3{
	width: 263px;
	height: 77px;
	margin-bottom: 25px;
}
.cv--btn.doc--lead_btn{
	padding: 22px 74px 21px 36px;
	background: #EA0029;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
	text-align: center;
	border-radius: 40px;
	position: relative;
}
.cv--btn.doc--lead_btn::before{
	content: "";
	position: absolute;
	top: 17px;
	right: 22px;
	background: url("../img/icon_btn-arrow.svg");
	width: 30px;
	height: 30px;
}

.doc--image__right{
	width: 302px;
	height: 341px;
}




/*//////////       月額料金       //////////*/
.monthly--wrap{
	width: 828px;
	margin: 0 auto 80px;
}
.monthly{
	margin-bottom: 16px;
}
.monthly .section--ttl{
	width: 152px;
	height: 36px;
	margin: 0 auto 30px;
}
.monthly--list table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.monthly--list {
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 0 0;
  position: relative;
}
.monthly--list td {
  width: 160px;
  border: 1px solid #DBD2CA;
  padding: 14px 0;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  word-break: keep-all;
}
.monthly--list th {
  border: 1px solid #DBD2CA;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  word-break: keep-all;
}
.monthly--list th.d--plan{
	border-radius: 4px 0 0 0;
	border-right: none;
}
.monthly--list th.c--plan{
	border-right: none;
}
.monthly--list th.a--plan{
	border-radius: 0 4px 0 0;
	border-left: none;
}
.monthly--list .monthly--fee th,
.monthly--list .annually--fee th,
.monthly--list .terminals th,
.monthly--list .support--mail th,
.monthly--list .support--phone th{
	border-right: none;
}
.monthly--list .monthly--list_first_hd,
.monthly--list .monthly--list_second_hd{
	border-right: none;
}
.monthly--list .monthly--list_force_hd{
	border-left: none;
}
.monthly--list .monthly--list_first_hd,
.monthly--list .monthly--list_second_hd,
.monthly--list .monthly--list_third_hd,
.monthly--list .monthly--list_force_hd{
	border-bottom: none;
}
.monthly--fee th,
.annually--fee th,
.terminals th,
.support--mail th{
	border-bottom: none;
}
.monthly--list .support--phone .monthly--list_first_hd,
.monthly--list .support--phone .monthly--list_second_hd,
.monthly--list .support--phone .monthly--list_force_hd{
  border-bottom: 1px solid #DBD2CA;
}
.monthly--list .support--phone .monthly--list_third_hd{
  border-bottom: 1px solid #D41414;
}
.monthly--fee td{
	font-size: 26px;
	font-weight: 400;
}
.monthly--fee td span{
	font-size: 15px;
	font-weight: 400;
}
.annually--fee td{
	font-size: 26px;
	font-weight: 400;
}
.annually--fee td span{
	font-size: 15px;
	font-weight: 400;
}
.annually--fee td span.annualyly--fee_parentheses{
	font-size: 16px;
	font-weight: 400;
}
.annually--fee td span.annualyly--fee_how{
	font-size: 20px;
	font-weight: 400;
	vertical-align: 0;
}
.annually--fee td span.annualyly--fee_yen{
	font-size: 15px;
	font-weight: 400;
}

.monthly--list th[scope="row"] {
  font-weight: 500;
  text-align: left;
  width: 147px;
  font-size: 17px;
  line-height: 1.3;
  text-align: center;
}
.monthly--list .monthly--fee th{
	border-radius: 4px 0 0 0;
}
.monthly--list .annually--fee th,
.monthly--list .support--mail th{
	background: #F7F5F2;
}
.monthly--list .annually--fee td{
	line-height: 1;
}
.monthly--list tr:first-child th {
  border-bottom: none;
  background: #ffffff;
  font-weight: 500;
  position: relative;
  z-index: 2;
  font-size: 17px; 
  line-height: 1;
  padding: 16px 0 14px;
}
.monthly--list tr:first-child th:first-child {
  background: transparent;
  box-shadow: none;
  transform: none;
  border: none;
}
.monthly--list tr:first-child th span {
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.monthly--list tr:first-child th.pickup-plan {
  background: #e4002b;
  color: #fff;
  font-size: 19px;
  font-weight: 500;
  width: 200px;
  border: 1px solid #D41414;
  border-radius: 8px 8px 0 0;
  position: relative;
  z-index: 3;
}
.monthly--list tr:first-child th.pickup-plan::before {
	content: "";
	position: absolute;
	top: -16px;
	left: -1px;
	width: 100%;
	height: 30px;
	border-radius: 12px 12px 0 0;
	background: #e4002b;
	border: 1px solid #e4002b;
}
.monthly--list tr:first-child th.pickup-plan::after {
	content: "";
	position: absolute;
	top: -28px;
	right: -13px;
	background: url("../img/icon_pickup02.svg");
	width: 48px;
	height: 59px;
}

.monthly--list td.pickup-plan {
  background: #ffe9ec;
  border-color: #D41414;
}
.monthly--list tr:nth-child(2) td.pickup-plan {
  border-top-color: #e4002b22;
}
.monthly--list .d--plan,
.monthly--list .c--plan,
.monthly--list .a--plan {
  background: #fff;
}
.monthly--list .monthly--fee + td,
.monthly--list .monthly--fee ~ td {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.monthly--list td span {
  font-size: 15px;
  vertical-align: .08em;
  margin-left: 2px;
}
.monthly--list .annually--fee + td,
.monthly--list .annually--fee ~ td {
  font-size: 16px;
  line-height: 1.4;
}
.monthly--list tbody tr:nth-child(odd):not(:first-child) td:not(.pickup-plan) {
  background: #F7F5F2;
}
.monthly--list tbody tr:nth-child(even) td:not(.pickup-plan) {
  background: #fff;
}
.monthly--list .terminals + td,
.monthly--list .terminals ~ td {
  font-weight: 600;
}
.monthly--list tbody tr:last-child td:last-child {
  border-bottom-right-radius: 4px;
}
.monthly--list tbody tr:last-child th[scope="row"] {
  border-bottom-left-radius: 4px;
}
.terminals td,
.support--mail td,
.support--phone td{
	font-size: 17px;
}

/* ===== レスポンシブ（横スクロールで崩れ防止） ===== */
@media (max-width: 960px) {
  .monthly--list {
    overflow-x: auto;
    padding-bottom: 8px;
  }
  .monthly--list table {
    min-width: 820px;
  }
}

.monthly--attention{
	display: flex;
    justify-content: center;
	margin-bottom: 24px;
	padding-left: 1.5em;
}
.monthly--attention div{
	position: relative;
}
.monthly--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.monthly--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.monthly--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.monthly--attention p a:hover{
	text-decoration: none;
}








/*//////////       補助金       //////////*/
.subsidy--wrap{
	width: 828px;
	margin: 0 auto 80px;
}
.subsidy{
	margin-bottom: 12px;
}
.subsidy .section--ttl{
	margin: 0 auto 26px;
}
.subsidy .section--ttl h2{
	width: 378px;
	height: 36px;
	margin: 0 auto 14px;
}
.subsidy .section--ttl p{
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}
.subsidy--list{
	display: flex;
	flex-wrap: wrap;
	width: 738px;
	justify-content: space-between;
	margin: 0 auto;
	text-align: center;
}
.subsidy--list > div{
	width: 230px;
}
.subsidy--point_fukidashi{
	padding: 18px 15px;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	position: relative;
	margin-bottom: 23px;
	display: inline-block;
}
.subsidy--point_fukidashi::after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: calc(50% - 8px);
	transform: translateY(-25%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid currentColor;
	border-radius: 2px;
	color: #EA0029;
}
.subsidy--point_02 .subsidy--point_fukidashi::after {
	color: #EABB00;
}
.subsidy--point_03 .subsidy--point_fukidashi::after {
	color: #006DEA;
}
.subsidy--point_01 .subsidy--point_fukidashi{
	background: #EA0029;
	border-radius: 23px;
}
.subsidy--point_02 .subsidy--point_fukidashi{
	padding: 18px 30px;
	background: #EABB00;
	border-radius: 23px;
}
.subsidy--point_03 .subsidy--point_fukidashi{
	background: #006DEA;
	border-radius: 23px;
}
.subsidy--list {
	margin-bottom: 28px;
}
.subsidy--list .subsidy--point_body{
	background: #fff;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	padding: 3px;
	box-sizing: border-box;

}
.subsidy--list .subsidy--point_body h3{
	background: #F7F5F2;
	border-radius: 2px;
	padding: 18px 0;
	margin-bottom: 18px;
	font-size: 17px;
	line-height: 1.35;
}
.subsidy--list .subsidy--point_03 .subsidy--point_body h3{
	padding: 7px 0;
}
.subsidy--list .subsidy--point_body div{
	margin-bottom: 20px;
}
.subsidy--list .subsidy--point_body p{
	font-size: 15px;
	margin-bottom: 10px;
}
.subsidy--point_01 .subsidy--point_body div{
	width: 198px;
	height: 53px;
	margin: 0 auto 20px;
}
.subsidy--point_02 .subsidy--point_body div{
	width: 204px;
	height: 53px;
	margin: 0 auto 20px;
}
.subsidy--point_03 .subsidy--point_body div{
	width: 204px;
	height: 53px;
	margin: 0 auto 20px;
}

.subsidy--use .ribbon{
	display: block;
	text-align: center;
}
.subsidy--use h3 {
  position: relative;
  display: inline-block;
  margin: 0 auto 24px;
  padding: 10px 28px;
  color: #fff;
  background: #000;
  line-height: 1.4;
  border-radius: 0;
}

.subsidy--use h3::before,
.subsidy--use h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18px;
  background: #F9F7F5;
}

.subsidy--use h3::before {
  left: -1px;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}

.subsidy--use h3::after {
  right: -1px;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

.subsidy--use h3 span{
	display: inline;
}

.subsidy--use_list{
	width: 576px;
	margin: 0 auto 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.subsidy--use_list > div{
	width: 280px;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	background: #fff;
}
.subsidy--use_restaurant{
	margin-bottom: 12px;
}
.subsidy--use_list h4{
	font-size: 17px;
	line-height: 1.3;
	text-align: center;
	margin-bottom:6px;	
}
.subsidy--use_case{
	padding: 0 15px;
	margin-bottom: 16px;
}
.subsidy--use_case dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
}
.subsidy--use_case dl.case_to dd{
	color: #EA0029;
	font-size: 30px;
}
.subsidy--use_case dl.case_to dd span{
	font-size: 15px;
	vertical-align: .08em;
    margin-left: 2px;
}
.subsidy--use_case dl.case_after dd{
	font-size: 22px;
}
.subsidy--use_case dl.case_after dd span{
	font-size: 15px;
	vertical-align: .08em;
    margin-left: 2px;
}
.subsidy--use_case dl dt{
	font-size: 17px;
	letter-spacing: 0.01em;
}
.subsidy--use_case dl dd{
	font-size: 17px;
	letter-spacing: 0.01em;
}
.subsidy--use_case dl dd span{

}
.subsidy--attention{
	display: flex;
    justify-content: center;
	margin-bottom: 24px;
	padding-left: 1.5em;
}
.subsidy--attention div{
	position: relative;
}
.subsidy--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.subsidy--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.subsidy--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.subsidy--attention p a:hover{
	text-decoration: none;
}
.subsidy--wrap{
	width: 828px;
	margin: 0 auto 80px;
}
.subsidy{
	margin-bottom: 12px;
}
.subsidy .section--ttl{
	margin: 0 auto 26px;
}
.subsidy .section--ttl h2{
	width: 378px;
	height: 36px;
	margin: 0 auto 14px;
}




/*//////////       よくあるご質問       //////////*/
.faq--wrap{
	width: 720px;
	margin: 0 auto 80px
}
.faq .section--ttl h2{
	width: 261px;
	height: 40px;
	margin: 0 auto 32px;
}
.faq .tabmenu--btn {
	width: 450px;
	margin: 0 auto 24px;
}
.faq .tabmenu--btn ul {
	width: 100%;
	display: flex;
	padding: 0;
	box-sizing: border-box;
	white-space: nowrap;
	align-items: center;
	justify-content: space-evenly;
	gap: 0;
}
.catfaq--button ul{
	width: 100%;
	display: flex;
	padding: 4% 0 0 4%;
	box-sizing: border-box;
	gap: 0.6em;
}
.catfaq--button li{
	margin-right: 1.5em;
}
.catfaq--button:last-child{
	margin-right: 0;
}
.catfaq--content { /* 初期状態で非表示 */
	display: none;
}
.active { display: block; } /* 表示するタブ */
.catfaq--button:hover{
	opacity: .7;
}
.catfaq--button { 
	display: flex;
	align-items: center;
	padding-bottom: 7px;
	font-size: 17px;
	letter-spacing: 0.1em;
	line-height: 1;
	cursor: pointer;
}
.catfaq--button.active {
	border-bottom: 2px solid #EA0029;
	border-radius: 0;
	box-sizing: border-box;
	color: #EA0029;
}
.catfaq--detail{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.catfaq--list{
	width: 100%;
	background: #fff;
	padding: 22px;
	box-sizing: border-box;
	margin-bottom: 16px;
	border-radius: 4px;
	border: 1px solid #DBD2CA;
}
.catfaq--list:last-child{
	margin-bottom: 0;
}
.catfaq--list h3{
	font-size: 17px;
	margin-bottom: 17px;
	font-weight: 500;
	width: calc(100% - 38px);
	padding-left: 38px;
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1.5;
}
.catfaq--list h3::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/icon_q.svg") no-repeat;
	background-size: contain;
	width: 27px;
	height: 28px;
}
.catfaq--list div{
	padding: 18px;
	display: flex;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	align-items: center;
	background: #F7F5F2;
}
.catfaq--list p{
	line-height: 1.5;
}
.catfaq--list .regi_attention{
	font-size: 12px;
	line-height: 1.5;
	position: relative;
	padding-left: 1.3em;
	display: block;
	margin-top: 3px;
}


/*//////////       運営会社       //////////*/
.company--wrap{
	width: 656px;
	margin: 0 auto 80px
}
.company .section--ttl h2{
	width: 159px;
	height: 38px;
	margin: 0 auto 28px;
}
.company--list{
	width: 656px;
	background: #fff;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	box-sizing: border-box;
}
.company--list table tr{
	border-bottom: 1px solid #DBD2CA;
	box-sizing: border-box;
}
.company--list table tr:last-child{
	border-bottom: none;
}
.company--list table th{
	width: 172px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	border-right: 1px solid #DBD2CA;
	box-sizing: border-box;
	padding: 14px 0 14px 30px;
}
.company--list table td{
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	padding: 14px 0 14px 30px;
}

/*//////////       footer       //////////*/
footer{
	width: 100%;
	min-width: 980px;
	text-align: center;
	padding: 14px 0;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	background: #000;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	align-items: center;
}
footer div a{
	font-size: 16px;
	font-weight: 400;
	color: #fff;
}
footer div a:hover{
	text-decoration: underline;
}



/* ===============================
   YouTube フローティングバナー
   =============================== */
.youtube-fb {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 50;

  /* ▼ フェード制御に必要な初期値 */
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .25s ease, transform .25s ease;

  /* ▼ 非表示中の誤クリック防止 */
  pointer-events: none;
}

/* 表示状態 */
.youtube-fb[data-show="1"] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto; /* クリック復活 */
}

/* 非表示状態（data-showが無い時） */
.youtube-fb:not([data-show="1"]) {
  opacity: 0;
  transform: translateY(12px);
}

.youtube-fb__link {
  display: block;
  text-decoration: none;
  line-height: 0;
}

.youtube-fb__close {
  appearance: none;
  border: none;
  background: none;
  width: 24px;
  height: 24px;
  position: absolute;
  top: -26px;
  right: -24px;
  cursor: pointer;
  padding: 0;
}

.youtube-fb__close:hover { opacity: .8; }

.youtube-fb__close img {
  width: 24px;
  height: 24px;
  pointer-events: none;
}



}


@media screen and (min-width:769px) and (max-width:1419px){
#header {
	width: 100%;
	height: auto;
	padding: 12px 0 5px;
}
.scroll--body .header{
	height: auto;
}
.header {
	width: 980px;
	height: auto;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0;
	justify-content: space-between;
	box-sizing: border-box;
}
.header--navigation {
	display: flex;
	align-items: flex-end;
	height: inherit;
	width: 700px;
	flex-direction: column-reverse;
	flex-wrap: nowrap;
	gap: 16px;
}
.header--navigation .header--navigation__right ul {
	gap: 8px;
}
.header--navigation__right .header--navigation__right_wp a {
        padding: 9px 15px 9px 18px;
}
.header--navigation__right .header--navigation__right_contact a {
        padding: 9px 14px 9px 18px;
}
.header--navigation__right .header--navigation__right_wp a img {
		width: 122px;
}
.header--navigation__right .header--navigation__right_contact a img {
		width: 100px;
}

.main {
	padding-top: 98px;
	width: 980px;
	min-width: 980px;
}

/* PC版ロゴループ：横幅980px用 */
#contentsBoxLogoloop {
  width: 980px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  background: #fff;
}

#contentsBoxLogoloop .loop_box {
  display: flex;
  width: max-content;
  animation: logoLoop980 40s linear infinite;
}

#contentsBoxLogoloop .loop_list {
  display: flex;
  flex-shrink: 0;
}

#contentsBoxLogoloop .loop_list li {
  list-style: none;
  display: flex;
  align-items: center;
}

#contentsBoxLogoloop .loop_list img {
  width: 2585px;   /* 実画像サイズ */
  height: auto;
  display: block;
  max-width: none;
}

/* アニメーション（シームレスループ） */
@keyframes logoLoop980 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

#contents--wrapper {
	width: 980px;
	min-width: 980px;
	margin: 0 auto;
	display: inherit;
}
#contents--main {
	width: 980px;
	min-width: 980px;
}
.interview {
	width: 980px;
}
.feature--wrap{
	min-width: 920px;
}
.strong--wrap{
	min-width: 770px;
}
.doc--download__wrap{
	width: 980px;
	min-width: 980px;
}
.doc--download a {
	padding: 16px 10px 8px 16px;
}
.doc--image__left {
	width: 273px;
	height: 311px;
}
.doc--image__right {
	width: 272px;
	height: 311px;
}
.doc--lead {
	width: 374px;
	margin-top: 20px;
}
.doc--lead h3 {
	margin-bottom: 20px;
}
.doc--lead .doc--lead_assist {
	width: 368px;
	height: 26px;
}
.cv--btn.doc--lead_btn {
	padding: 19px 54px 21px 36px;
	font-size: 18px;
}
.cv--btn.doc--lead_btn::before {
	top: 16px;
	right: 16px;
	width: 26px;
	height: 26px;
	background-size: contain;
}
.monthly--wrap {
	min-width: 828px;
}
.subsidy--wrap {
	min-width: 828px;
}
.faq--wrap {
	min-width: 720px;
}
.company--wrap {
	min-width: 656px;
}
#contents--wrapper {
    display: flex;
    flex-direction: column;
}
#contents--main,
#contents--side {
    display: contents;
}
.interview--wrap { order: 1; }
.feature--wrap { order: 2; }
.strong--wrap { order: 3; }
.doc--download__wrap { order: 4; }
.monthly--wrap { order: 5; }
.subsidy--wrap { order: 6; }
.faq--wrap { order: 7; }
.company--wrap { order: 8; }
.contents--side_inr { order: 9; } 
footer { order: 10; }




#contents--side .contents--side_form {
	width: 100%;
}
#contents--side .contents--side_inr {
	position: inherit;
	width: 656px;
	margin: 0 auto;
	height: auto;
	overflow: inherit;
}
#contents--side h2 {
	font-size: 20px;
	margin-bottom: 36px;
}
#contents--side .contents--side_form {
	width: 500px;
	margin: 0 auto 40px;
}





















}





















/*SPサイズ
////////////////////////////////////////////////////*/
@media screen and (max-width:768px){
html{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body{
	font-size: 14px;
	color: #000;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	line-height: 1.6;
	overflow: hidden;
	background: url("../img/bg.png.webp") repeat;
}
a{
	color: #000;
	text-decoration: none;
	display: block;
}
img{
	width: 100%;
	height: auto;
}

/*//////////       layout       //////////*/
#wrapper{
	width: 100%;
	font-size: 100%;
	position: relative;
}
.cf:after {
	content:" ";
	display:block;
	clear:both;
}
.sp-only{
	display: block;
}
.pc-only{
	display: none;
}

/*//////////       header       //////////*/


/*///////////////////////////////////////////////////

ヘッダー

///////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////

ヘッダー（すりガラス対応版）

///////////////////////////////////////////////////*/

#header{
  width: 100%;
  height: 90px;
  position: fixed;
  z-index: 30;
  background: transparent; /* 初期は透過 */
  transition:
    height .25s ease,
    background-color .25s ease,
    backdrop-filter .25s ease,
    -webkit-backdrop-filter .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}
/* スクロール開始時（bodyに.scroll--bodyが付く想定） */
.scroll--body #header{
  height: 80px;
  /* フォールバック（backdrop-filter非対応ブラウザ向け） */
  background-color: rgba(255,255,255,.65);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
/* 対応ブラウザは本物のすりガラスに */
@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .scroll--body #header{
    background-color: rgba(255,255,255,.38);
    backdrop-filter: saturate(160%) blur(10px);
    -webkit-backdrop-filter: saturate(160%) blur(10px);
  }
}

#header{
	width: 100%;
	height: 112px;
	position: fixed;
	z-index: 30;
}
.scroll--body #header{
	height: 80px;
}
.header{
	max-width: 1480px;
	height: 112px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 48px;
}
.scroll--body .header{
	height: 80px;
}
.hamburger{
	display: none;
}
.header--navigation{
	width: calc(100% - 154px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: inherit;
}
.header--navigation__left{
	height: inherit;
}
.header--navigation nav{
	height: inherit;
}
.navigation--parent{
	height: inherit;
}
.navigation--parent a{
	height: inherit;
}
.header--navigation .header--navigation__right ul{
	gap: 16px;
	align-items: center;
}
.header--navigation__right .header--navigation__right_wp a{
	border-radius: 2px;
	background: #000;
	padding: 5% 0 4%;
	text-align: center;
}
.header--navigation__right .header--navigation__right_contact a{
	border-radius: 2px;
	background: #EA0029;
	padding: 5% 0 4%;
	text-align: center;
}


/* --- ハンバーガーの見た目 --- */
.hamburger{
  display: none; /* PCでは非表示 */
  width: 50px; height: 50px;
  position: relative;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 100;
  background: #fff;
  border-radius: 40px;
}
.hamburger span{
  position: absolute; left: 15px; right: 9px; height: 2px; width: 42%;
  background: #121212; display: block; transition: transform .25s, opacity .2s, top .25s, bottom .25s;
}
.hamburger span:nth-child(1){ top: 17px; }
.hamburger span:nth-child(2){ top: 24px; }
.hamburger span:nth-child(3){ top: 31px; }
.hamburger.is-visible span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.hamburger.is-visible span:nth-child(2){ opacity: 0; }
.hamburger.is-visible span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.header{
	height: 80px; gap: 16px;
	padding: 0 12px;
}
#header{ height: 80px; }
.hamburger{ display: inline-block; margin-left: auto; }

/* PCナビは一旦画面外へ */
.header--navigation{
	position: fixed;
	top: 0; 
	right: -100%;
	width: 100vw;
	height: 100vh;
	background: #fff;
	transition: right .3s ease;
	z-index: 40;
	display: block; /* PCのflexを解除 */
	overflow-y: auto;
	padding: 54px 16px 48px;
	box-sizing: border-box;
}
.header--navigation.is-visible{ right: 0; }

/* 中のレイアウトを縦並びに */
.header--navigation__left,
.header--navigation__right,
.header--navigation nav,
.header--navigation .header--navigation__box{
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
.header--navigation__left{
	margin-bottom: 5%;
}
.header--navigation .header--navigation__box li{
	width: 100%;
	border-bottom: 1px solid #eee;
}
.header--navigation a{
	display: flex;
	padding: 6% 0;
	width: 100%;
    justify-content: center;
}

.header--navigation .header--navigation__box .header--navi__strong img{
	width: 146px;
	height: auto;
}
.header--navigation .header--navigation__box .header--navi__feature img{
	width: 119px;
	height: auto;
}
.header--navigation .header--navigation__box .header--navi__voice img{
	width: 147px;
	height: auto;
}
.header--navigation .header--navigation__box .header--navi__subsidy img{
	width: 149px;
	height: auto;
}
.header--navigation .header--navigation__box .header--navi__question img{
	width: 193px;
	height: auto;
}
.header--navigation .header--navigation__box .header--navi__company img{
	width: 123px;
	height: auto;
}
.header--navigation__right .header--navigation__box .header--navigation__right_wp a img{
	width: 200px;
	height: auto;
}
.header--navigation__right .header--navigation__box .header--navigation__right_contact a img{
	width: 150px;
	height: auto;
}

/* ドロップダウン（必要なら開閉で高さ出るように） */
.navigation--child__box{
	position: static;
	display: none;
	padding: 0 0 12px;
	background: #f9f1f1;
	border: none;
}
.navigation--child__box.active{ display: block; }



/* スクロール固定 */
body.nav-open{ overflow: hidden; }





/**************************************************** 
 
ロゴループ

****************************************************/
#contentsBoxLogoloop {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: #fff;
  margin-bottom: 8%;
}

#contentsBoxLogoloop .loop_box {
  display: flex;
  width: max-content;
  animation: logoLoop 40s linear infinite;
}

#contentsBoxLogoloop .loop_list {
  display: flex;
  flex-shrink: 0;
}

#contentsBoxLogoloop .loop_list li {
  list-style: none;
  display: flex;
  align-items: center;
}

#contentsBoxLogoloop .loop_list img {
  display: block;
  height: auto;
  width: 1344px;      /* 元画像サイズ */
  max-width: 100vw;   /* スマホ時は画面幅いっぱい */
  object-fit: cover;
}

/* アニメーション定義：1枚分の幅を左にずらす */
@keyframes logoLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

  #contentsBoxLogoloop {
    width: 100vw;
  }
  #contentsBoxLogoloop .loop_box {
    animation: logoLoopSP 10s linear infinite;
  }

  @keyframes logoLoopSP {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }




/*//////////       コンテンツ       //////////*/
#contents--wrapper{
	width: 100%;
	        display: flex;
        flex-direction: column;
}
    #contents--main, #contents--side {
        display: contents;
    }
.interview--wrap { order: 1; }
.feature--wrap { order: 2; }
.strong--wrap { order: 3; }
.doc--download__wrap { order: 4; }
.monthly--wrap { order: 5; }
.subsidy--wrap { order: 6; }
.faq--wrap { order: 7; }
.company--wrap { order: 8; }
.contents--side_inr { order: 9; } 

footer { order: 10; }






/*//////////       main visual       //////////*/
.main{
	width: 92%;
	margin: 0 auto 16px;
	padding-top: 90px;
}
.main--inr{
	width: 100%;
}
.main--inr ul{
	position: relative;
	padding-top: 100%;
}
  .main--inr{
    width: 100%;
    max-width: 690px;
    margin: 0 auto;
    aspect-ratio: 690 / 1118;   /* 全体比率を保持（高さは自動算出） */
  }

  .main--inr > ul{
    display: grid;
    grid-template-columns: 1fr 1fr;        /* 左右 345px 等分 */
    /* 行高を元画像比率で分配（307/357/294/160） */
    grid-template-rows: 307fr 357fr 294fr 160fr;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .main--inr > ul > li{ overflow: hidden; }

  /* 各ブロックを所定のマスへ配置 */
  .main_strong  { grid-column: 1;       grid-row: 1; }      /* 左上 345x307 */
  .main_feature { grid-column: 2;       grid-row: 1; }      /* 右上 345x307 */
  .main_subsidy { grid-column: 1 / -1;  grid-row: 2; }      /* 真ん中1 690x357 */
  .main_document{ grid-column: 1 / -1;  grid-row: 3; }      /* 真ん中2 690x294 */
  .main_question{ grid-column: 1;       grid-row: 4; }      /* 左下 345x160 */
  .main_company { grid-column: 2;       grid-row: 4; }      /* 右下 345x160 */

  /* 画像をタイルいっぱいにフィット */
  .main--inr a,
  .main--inr picture,
  .main--inr img{
    display: block;
    width: 100%;
    height: 100%;
  }
  .main--inr img{
    object-fit: cover;      /* 比率維持でタイルにフィット（歪み防止） */
    object-position: center;
  }



/* 導入店インタビュー */

.interview{
	padding-bottom: 16%;
}
.interview .section--ttl {
	text-align: center;
}
.interview .section--ttl h3{
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}
.interview .section--ttl h2{
	margin: 0 auto 6%;
	position: relative;
	display: inline-block;
}
.interview .section--ttl h2::before{
	content: "";
	position: absolute;
	top: 11px;
	left: -33px;
	background: url("../img/ttl-decoration-left.svg");
	width: 21px;
	height: 20px;
	background-size: cover;
}
.interview .section--ttl h2::after{
	content: "";
	position: absolute;
	top: 11px;
	right: -29px;
	background: url("../img/ttl-decoration-right.svg");
	width: 21px;
	height: 20px;
	background-size: cover;
}
.interview--list{
	width: 92%;
	margin: 0 auto;
}
.interview--single{
	background: #fff;
	color: #000;
	border-radius: 10px;
	padding: 8% 4.91% 8%;
	border: 1px solid #DBD2CA;
}
.interview--shop{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    gap: 10px;
	margin-bottom: 2%;
}
.shop--target{
	width: 60px;
}
.shop--name_staff{
	font-size: 16px;
	line-height: 1.4;
}
.shop--type{
	background: #000;
	color: #fff;
	padding: 0.5% 2%;
	border-radius: 2px;
}
.interview--single h3{
	color: #EA0029;
	font-size: 26px;
	line-height: 1.4;
	font-weight: 500;
	margin-bottom: 3%;
}
.interview--single .interview--target{
	margin-bottom: 4.91%;
	width: 88.30%;
}
.interview--lead{
	font-size: 18px;
}
.interview--single .notice{
	margin-top: 2%;
	text-decoration: underline;
}
.interview .splide__pagination {
	bottom: -6%;
}



/*//////////       補助金       //////////*/
.subsidy--wrap{
	width: 92%;
	margin: 0 auto 16%;
}
.subsidy .section--ttl{
	margin: 0 auto 6%;
}
.subsidy .section--ttl h2{
	width: 80%;
	height: auto;
	margin: 0 auto 14px;
}
.subsidy .section--ttl p{
	font-size: 17px;
	line-height: 1.5;
	text-align: center;
}

.subsidy--list{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start; 
	overflow-x: auto;
	-webkit-overflow-scrolling: touch; 
}

/* ② 子要素の設定 (スクロール対象) */
.subsidy--list > div{
	width: 230px;
	flex-shrink: 0;
	margin-right: 5%;
	        display: flex;
        flex-direction: column;
        align-items: center;
}

/* 最後の要素の右マージンを削除して調整 (任意) */
.subsidy--list > div:last-child {
	margin-right: 0;
}

.subsidy--point_fukidashi{
	padding: 7% 12%;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	position: relative;
	margin-bottom: 8%;
	display: inline-block;
}
.subsidy--point_fukidashi::after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: calc(50% - 8px);
	transform: translateY(-25%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid currentColor;
	border-radius: 2px;
	color: #EA0029;
}
.subsidy--point_02 .subsidy--point_fukidashi::after {
	color: #EABB00;
}
.subsidy--point_03 .subsidy--point_fukidashi::after {
	color: #006DEA;
}
.subsidy--point_01 .subsidy--point_fukidashi{
	background: #EA0029;
	border-radius: 23px;
}
.subsidy--point_02 .subsidy--point_fukidashi{
	padding: 7% 12%;
	background: #EABB00;
	border-radius: 23px;
}
.subsidy--point_03 .subsidy--point_fukidashi{
	background: #006DEA;
	border-radius: 23px;
}
.subsidy--list {
	margin-bottom: 6%;
}
.subsidy--list .subsidy--point_body{
	background: #fff;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	padding: 3px;
	box-sizing: border-box;
	width: 100%;
}
.subsidy--list .subsidy--point_body h3{
	background: #F7F5F2;
	border-radius: 2px;
	padding: 8.3% 0;
	margin-bottom: 9%;
	font-size: 17px;
	line-height: 1.35;
	text-align: center;
}
.subsidy--list .subsidy--point_03 .subsidy--point_body h3{
	padding: 7px 0;
}
.subsidy--list .subsidy--point_body div{
	margin-bottom: 20px;
}
.subsidy--list .subsidy--point_body p{
	font-size: 15px;
	margin-bottom: 10px;
	text-align: center;
}
.subsidy--point_01 .subsidy--point_body div{
	width: 198px;
	height: 53px;
	margin: 0 auto 20px;
}
.subsidy--point_02 .subsidy--point_body div{
	width: 204px;
	height: 53px;
	margin: 0 auto 20px;
}
.subsidy--point_03 .subsidy--point_body div{
	width: 204px;
	height: 53px;
	margin: 0 auto 20px;
}



.subsidy--use .ribbon{
	display: block;
	text-align: center;
}
.subsidy--use h3 {
  position: relative;
  display: inline-block;
  margin: 0 auto 6%;
  padding: 3% 14%;
  color: #fff;
  background: #000;
  line-height: 1.4;
  border-radius: 0;
  font-size: 20px;
}

.subsidy--use h3::before,
.subsidy--use h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18px;
  background: #F9F7F5;
}

.subsidy--use h3::before {
  left: -1px;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}

.subsidy--use h3::after {
  right: -1px;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}



.subsidy--use_list{
        width: 100%;
	display: flex;

        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0; 
        -webkit-overflow-scrolling: touch; 
		margin-bottom: 3%;
    }

    .subsidy--use_list > div{
        width: 280px;
        flex-shrink: 0;
        margin-right: 15px;
			border: 1px solid #DBD2CA;
	border-radius: 4px;
	background: #fff;
    }
	.subsidy--use_list .subsidy--use_bplan{
		margin-right: 0;
	}











.subsidy--use_restaurant{
	margin-bottom: 12px;
}
.subsidy--use_list h4{
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 0;	
}
.subsidy--use_case{
	padding: 0 15px;
	margin-bottom: 16px;
}
.subsidy--use_case dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
}
.subsidy--use_case dl.case_to dd{
	color: #EA0029;
	font-size: 30px;
}
.subsidy--use_case dl.case_to dd span{
	font-size: 15px;
	vertical-align: .08em;
    margin-left: 2px;
}
.subsidy--use_case dl.case_after dd{
	font-size: 22px;
}
.subsidy--use_case dl.case_after dd span{
	font-size: 15px;
	vertical-align: .08em;
    margin-left: 2px;
}
.subsidy--use_case dl dt{
	font-size: 17px;
	letter-spacing: 0.01em;
}
.subsidy--use_case dl dd{
	font-size: 17px;
	letter-spacing: 0.01em;
}
.subsidy--use_case dl dd span{

}
.subsidy--attention{
	display: flex;
    justify-content: center;
padding-left: 1.5em;
		width: 100%;
	box-sizing: border-box;
}
.subsidy--attention div{
	position: relative;
}
.subsidy--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.subsidy--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 5%;
}
.subsidy--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.subsidy--attention p a:hover{
	text-decoration: none;
}













/* 豊富な機能 */
.feature--wrap{
	width: 100%;
	margin: 0 auto 16%;
}
.feature{
	width: 92%;
	margin: 0 auto 1%;
}
.feature .section--ttl{
	width:56.38%;
	height: auto;
	margin: 0 auto 5%;
}
.feature--list{
	width: 100%;
}
.feature--list > ul{
	display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: flex-start;
}
.feature--list ul li.pickup h3,
.feature--list ul li h3{
	position: relative;
}
.feature--list ul li.pickup h3::before{
	content: "";
	position: absolute;
top: 0.6em;
        left: 0.2em;
	background: url("../img/icon_pickup.svg") ;
width: 33px;
        height: 40px;
        background-size: cover;
		z-index: 1;
}
.feature--list ul li h3 {
  position: relative;
  transition: transform 0.3s ease;
  line-height: 0;
}
.feature--list ul li h3::after {
	content: "";
	position: absolute;
	bottom: calc(100% - 36px);
	right: 3%;
	background: url("../img/icon_open.svg") no-repeat center center / contain;
	width: 17px;
	height: 17px;
	transition: transform 0.3s ease;
	transform: rotate(180deg);
}
.feature--list ul li h3 img{
	position: relative;
	z-index: 2;
}
/* 開いている状態でアイコンを回転 */
.feature--list ul li.open h3::after {
  transform: rotate(270deg);
}

.feature--list_common{
	width: 100%;
	margin-bottom: 2%;
	background: #fff;
        border: 1px solid #DBD2CA;
        border-radius: 4px;
		box-sizing: border-box;
		
}
.feature--list_common h3{
	width: 100%;
padding: 5.5% 3.5%;
box-sizing: border-box;
}
.feature--list001 h3 img{
	width: 76.09%;
	height: auto;
	padding-left: 2em;
}
.feature--list002 h3 img{
	width: 81.45%;
	height: auto;
}
.feature--list003 h3 img{
	width: 38.26%;
	height: auto;
}
.feature--list004 h3 img{
	width: 36.52%;
	height: auto;
	padding-left: 2em;
}
.feature--list005 h3 img{
	width: 47.10%;
	height: auto;
}
.feature--list006 h3 img{
	width: 52.90%;
	height: auto;
	padding-left: 2em;
}
.feature--list007 h3 img{
	width: 39.56%;
	height: auto;
}
.feature--list008 h3 img{
	width: 29.28%;
	height: auto;
}
.feature--list009 h3 img{
	width: 24.93%;
	height: auto;
}
.feature--list010 h3 img{
	width: 25.07%;
	height: auto;
}
.feature_subttl01{
	width: 11.16%;
	height: auto;
}
.feature_subttl02{
	width: 44.20%;
	height: auto;
	margin-top: 1em;
}
.feature--point,
.feature--point ul{
}
.feature--point{
	flex-direction: row-reverse;
	width: 100%;
	box-sizing: border-box;
	        padding: 0 3.5% 6% 3.5%;
}
.feature--point ul{
   flex-direction: row-reverse;
}
.feature--point ul li{
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	position: relative;
	letter-spacing: 0.15em;
	padding-left: 1em;
}
.feature--point ul li + li{
	margin-top: 0.5em;
}
.feature--point ul li::before{
	content: "";
	position: absolute;
	top: 0.45em;
	left: 0.2em;
	background: url("../img/icon_info.svg");
	width: 10px;
	height: 10px;
}
.feature--point h4{
	background: #F7F5F2;
	padding: 2.5% 3% 2%;
	border-radius: 2px;
	margin-bottom: 0.5em;
	line-height: 0;
}
.feature--attention{
	padding-left: 1.5em;
	width: 92%;
	margin: 0 auto 5%;
	box-sizing: border-box;
}
.feature--attention div{
	position: relative;
}
.feature--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.feature--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.feature--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.cv--btn{
        width: 92%;
        margin: 0 auto;
}
.cv--btn a{
	padding: 8% 13% 9% 3%;
	background: #EA0029;
	color: #fff;
	font-size: 19px;
	line-height: 1;
	font-weight: 400;
	text-align: center;
	border-radius: 40px;
	position: relative;
}
.cv--btn a::before{
	content: "";
	position: absolute;
	top: calc(50% - 13px);
	right: 8%;
	background: url("../img/icon_btn-arrow.svg");
	width: 26px;
	height: 26px;
	background-size: contain;
}








/*//////////       特徴と強み       //////////*/
.strong--wrap{
	width: 92%;
	margin: 0 auto 10%;
}
.strong{
	position: relative;
}
.strong .section--ttl{
	width: 38px;
	height: 196px;
	position: absolute;
  	top: 120px;
	z-index: 1; 
}
.scroll--body .strong .section--ttl{
  top: -2%;
  background: #fff;
        padding: 5% 3% 3%;
}
.strong--list{
	width: 100%;
}
.strong--point_01,
.strong--point_02{
	margin-bottom: 9%;
}
.strong--point_01 div,
.strong--point_02 div,
.strong--point_03 div{
	margin-bottom: 6%;
}
.strong--point_03 div{
	width: 100%;
	height: auto;
}
.strong--point_01 h3{
	width: 86.09%;
	margin: 0 auto 4%;
}
.strong--point_02 h3{
	width: 81.45%;
	margin: 0 auto 5%;
}
.strong--point_03 h3{
	width: 93.33%;
	margin: 0 auto 5%;
}
.strong--point_01 p,
.strong--point_02 p,
.strong--point_03 p{
	font-size: 18px;
        line-height: 1.4;
        letter-spacing: 0.06em;
}



/*//////////       資料ダウンロードバナー       //////////*/
.doc--download__wrap{
	width: 100%;
	background: #fff;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin-bottom: 10%;
}
.doc--download{
	border-top: 1px solid #F7F3F1;
	border-bottom: 1px solid #F7F3F1;
}
.doc--download a{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
width: 92%;	        margin: 0 auto;
        padding: 3% 0;
}
.doc--image__left{
width: 100%;
        height: auto;
		margin-bottom: 3%;
}
.doc--lead{

}
.doc--lead h2{
width: 92%;
margin: 0 auto;
}
.doc--lead .doc--lead_assist{
width: 92%;
margin: 0 auto;
	margin-bottom: 1.5%;
}
.doc--lead h3{
width: 92%;
margin: 0 auto;
	margin-bottom: 3.5%;
}
.cv--btn.doc--lead_btn{
	width: 96%;
	padding: 8% 13% 8% 3%;
	background: #EA0029;
	color: #fff;
	font-size: 17px;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	border-radius: 40px;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 5%;
}
.cv--btn.doc--lead_btn::before{
	content: "";
	position: absolute;
	top: calc(50% - 13px);
	right: 8%;
	background: url("../img/icon_btn-arrow.svg");
	width: 26px;
	height: 26px;
	background-size: contain;
}

.doc--image__right{
width: 100%;
        height: auto;
}




/*//////////       月額料金       //////////*/
.monthly--wrap{
	width: 92%;
	margin: 0 auto 6%;
}
.monthly{
	margin-bottom: 3%;
}
.monthly .section--ttl{
	width: 46%;
	height: auto;
	margin: 0 auto 2%;
}
.monthly--list table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.monthly--list {
  max-width: 100%;
  margin: 0 auto;
  padding: 12px 0 0;
  position: relative;
}
.monthly--list td {
  width: 160px;
  border: 1px solid #DBD2CA;
  padding: 14px 0;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  word-break: keep-all;
}
.monthly--list th {
  border: 1px solid #DBD2CA;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  word-break: keep-all;
}
.monthly--list th.d--plan{
	border-radius: 4px 0 0 0;
	border-right: none;
}
.monthly--list th.c--plan{
	border-right: none;
}
.monthly--list th.a--plan{
	border-radius: 0 4px 0 0;
	border-left: none;
}
.monthly--list .monthly--fee th,
.monthly--list .annually--fee th,
.monthly--list .terminals th,
.monthly--list .support--mail th,
.monthly--list .support--phone th{
	border-right: none;
}
.monthly--list .monthly--list_first_hd,
.monthly--list .monthly--list_second_hd{
	border-right: none;
}
.monthly--list .monthly--list_force_hd{
	border-left: none;
}
.monthly--list .monthly--list_first_hd,
.monthly--list .monthly--list_second_hd,
.monthly--list .monthly--list_third_hd,
.monthly--list .monthly--list_force_hd{
	border-bottom: none;
}
.monthly--fee th,
.annually--fee th,
.terminals th,
.support--mail th{
	border-bottom: none;
}
.monthly--list .support--phone .monthly--list_first_hd,
.monthly--list .support--phone .monthly--list_second_hd,
.monthly--list .support--phone .monthly--list_force_hd{
  border-bottom: 1px solid #DBD2CA;
}
.monthly--list .support--phone .monthly--list_third_hd{
  border-bottom: 1px solid #D41414;
}
.monthly--fee td{
	font-size: 26px;
	font-weight: 400;
}
.monthly--fee td span{
	font-size: 15px;
	font-weight: 400;
}
.annually--fee td{
	font-size: 26px;
	font-weight: 400;
}
.annually--fee td span{
	font-size: 15px;
	font-weight: 400;
}
.annually--fee td span.annualyly--fee_parentheses{
	font-size: 16px;
	font-weight: 400;
}
.annually--fee td span.annualyly--fee_how{
	font-size: 20px;
	font-weight: 400;
	vertical-align: 0;
}
.annually--fee td span.annualyly--fee_yen{
	font-size: 15px;
	font-weight: 400;
}

.monthly--list th[scope="row"] {
  font-weight: 500;
  text-align: left;
  width: 147px;
  font-size: 17px;
  line-height: 1.3;
  text-align: center;
}
.monthly--list .monthly--fee th{
	border-radius: 4px 0 0 0;
}
.monthly--list .annually--fee th,
.monthly--list .support--mail th{
	background: #F7F5F2;
}
.monthly--list .annually--fee td{
	line-height: 1;
}
.monthly--list tr:first-child th {
  border-bottom: none;
  background: #ffffff;
  font-weight: 500;
  position: relative;
  z-index: 2;
  font-size: 17px; 
  line-height: 1;
  padding: 16px 0 14px;
}
.monthly--list tr:first-child th:first-child {
  background: transparent;
  box-shadow: none;
  transform: none;
  border: none;
}
.monthly--list tr:first-child th span {
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.monthly--list tr:first-child th.pickup-plan {
  background: #e4002b;
  color: #fff;
  font-size: 19px;
  font-weight: 500;
  width: 200px;
  border: 1px solid #D41414;
  border-radius: 8px 8px 0 0;
  position: relative;
  z-index: 3;
}
.monthly--list tr:first-child th.pickup-plan::before {
	content: "";
	position: absolute;
	top: -16px;
	left: -1px;
	width: 100%;
	height: 30px;
	border-radius: 12px 12px 0 0;
	background: #e4002b;
	border: 1px solid #e4002b;
}
.monthly--list tr:first-child th.pickup-plan::after {
	content: "";
	position: absolute;
	top: -28px;
	right: -13px;
	background: url("../img/icon_pickup02.svg");
	width: 48px;
	height: 59px;
}

.monthly--list td.pickup-plan {
  background: #ffe9ec;
  border-color: #D41414;
}
.monthly--list tr:nth-child(2) td.pickup-plan {
  border-top-color: #e4002b22;
}
.monthly--list .d--plan,
.monthly--list .c--plan,
.monthly--list .a--plan {
  background: #fff;
}
.monthly--list .monthly--fee + td,
.monthly--list .monthly--fee ~ td {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.monthly--list td span {
  font-size: 15px;
  vertical-align: .08em;
  margin-left: 2px;
}
.monthly--list .annually--fee + td,
.monthly--list .annually--fee ~ td {
  font-size: 16px;
  line-height: 1.4;
}
.monthly--list tbody tr:nth-child(odd):not(:first-child) td:not(.pickup-plan) {
  background: #F7F5F2;
}
.monthly--list tbody tr:nth-child(even) td:not(.pickup-plan) {
  background: #fff;
}
.monthly--list .terminals + td,
.monthly--list .terminals ~ td {
  font-weight: 600;
}
.monthly--list tbody tr:last-child td:last-child {
  border-bottom-right-radius: 4px;
}
.monthly--list tbody tr:last-child th[scope="row"] {
  border-bottom-left-radius: 4px;
}
.terminals td,
.support--mail td,
.support--phone td{
	font-size: 17px;
}

.monthly--list {
overflow-x: auto;
padding: 8% 0 0 0;
}
.monthly--list table {
min-width: 820px;
}

.monthly--attention{
	display: flex;
    justify-content: center;
	margin-bottom: 24px;
	padding-left: 1.5em;
}
.monthly--attention div{
	position: relative;
}
.monthly--attention div::before{
	content: "※";
	position: absolute;
	top: 0;
	left: -1.3em;
	font-size: 15px;
}
.monthly--attention p{
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.monthly--attention p a{
	text-decoration: underline;
    display: inline-block;
}
.monthly--attention p a:hover{
	text-decoration: none;
}








/*//////////       よくあるご質問       //////////*/
.faq--wrap{
	margin-bottom: 16%;
}
.faq .section--ttl{
	text-align: center;
}
.faq .section--ttl h2{
	width: 60%;
	margin: 0 auto 8%;
}
.catfaq--button ul{
	width: 100%;
	display: flex;
	overflow-x: scroll;
	padding: 4% 0 0 4%;
	box-sizing: border-box;
	gap: 0.6em;
}
.catfaq--button li{
	margin-right: 1.5em;
}
.catfaq--button:last-child{
	margin-right: 0;
}
.catfaq--content { /* 初期状態で非表示 */
	display: none;
	background: #fff;
	width: 90.10%;
	margin: 0 auto;
	border-radius: 8px;
}
.active { display: flex; } /* 表示するタブ */
.faq .tabmenu--btn ul {
	width: 100%;
	display: flex;
	overflow-x: scroll;
	padding: 0% 8.67% 0 8.67%;
	box-sizing: border-box;
	white-space: nowrap;
	gap: 1.6em;
}
.catfaq--button { 
	display: flex;
	align-items: center;
	padding-bottom: 3%;
	margin-bottom: 5%;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}
.catfaq--button.active {
        border-bottom: 2px solid #EA0029;
        border-radius: 0;
        box-sizing: border-box;
        color: #EA0029;
}
.catfaq--detail{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #DBD2CA;
        box-sizing: border-box;
}
.catfaq--list{
	width: 100%;
	padding: 6%;
	box-sizing: border-box;
	border-bottom: 1px solid #DBD2CA;
}
.catfaq--list:last-child{
	border: none;
}
.catfaq--list h3{
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 4.33%;
	font-weight: 500;
	width: 88%;
	padding-left: 12%;
	position: relative;
	display: flex;
	align-items: center;
}
.catfaq--list h3::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/icon_q.svg") no-repeat;
	background-size: contain;
        width: 27px;
        height: 28px;
}
.catfaq--list div{
width: 100%;
        padding: 6%;
        position: relative;
        display: flex;
        /* min-height: 40px; */
        align-items: center;
        box-sizing: border-box;
        background: #F7F5F2;
}
.catfaq--list p{
	font-size: 17px;
	line-height: 1.4;
}
.catfaq--list .regi_attention{
	font-size: 12px;
	line-height: 1.5;
	position: relative;
	padding-left: 1.3em;
	display: block;
	margin-top: 3px;
}



/*//////////       運営会社       //////////*/
.company--wrap{
	width: 92%;
	margin: 0 auto 16%;
}
.company .section--ttl h2{
	width: 50%;
        margin: 0 auto 8%;
}
.company--list{
	width: 100%;
	background: #fff;
	border: 1px solid #DBD2CA;
	border-radius: 4px;
	box-sizing: border-box;
}
.company--list table tr th,
.company--list table tr td{
	width:100%;
	display:block;
}
.company--list table tr{
	border-bottom: 1px solid #DBD2CA;
	box-sizing: border-box;
}
.company--list table tr:last-child{
	border-bottom: none;
}
.company--list table th{
	width: 100%;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 5% 5% 1% 5%;
}
.company--list table td{
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	padding: 0 5% 5% 5%;
	box-sizing: border-box;
}


/* お問い合わせ */

.contents--side_inr h2{
	font-size: 22px;
	text-align: center;
	background: #000;
	color: #fff;
	padding: 3% 0;
	margin-bottom: 6%;
}
.contents--side_form{
	width: 92%;
	margin: 0 auto 10%;
}


/*フッター
////////////////////////////////////////////////////*/

footer{
	text-align: center;
	font-size: 12px;
	line-height: 40px;
	background: #000;
	color: #fff;
	position: relative;
	z-index: 4;
	padding: 5% 0 0 0;
}

footer div a{
	font-size: 16px;
	color: #fff;
	text-decoration: underline;
}
.footer__sla{
	margin-bottom: 5%;
}
.footer__copyright{
	border-top: 1px solid #fff;
}




/* ===============================
   YouTube フローティングバナー（スマホ版）
   =============================== */

.youtube-fb {
  left: 10px;
  right: 10px;
  bottom: 12px;
  width: auto;
  max-width: 70vw;
  transform: translateY(10px);
  position: fixed;
  z-index: 20;
  width: 50%;

  /* ▼ 追加：フェードで表示・非表示が効くように */
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.youtube-fb[data-show="1"] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ▼ 追加：data-showが外れた時にフェードアウトさせる */
.youtube-fb:not([data-show="1"]) {
  opacity: 0;
  transform: translateY(10px);
}

.youtube-fb__wrap picture,
.youtube-fb__wrap img {
  width: 100%;
  height: auto;
}

/* 閉じるボタン */
.youtube-fb__close {
  padding: 0;
  border: none;
  background: none;
  position: absolute;
  top: -24px;
  right: -12px;
}

.youtube-fb__close img {
  width: 22px;
  height: 22px;
}

/* セーフエリア（iPhone対応） */
.youtube-fb {
  left: max(10px, env(safe-area-inset-left));
  right: max(10px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
}

/* ▼ 追加：hiddenが付いたら完全非表示（保険） */
.youtube-fb[hidden] {
  display: none !important;
}



}