/* CSS Document */

@charset "UTF-8";
/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;500;700;900&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');

/*
Light   300
Regular 400
Medium  500
Bold    700
Black   900
*/

/*
@import "svg.css";
*/

:root{
/* color */
--color-K:#333333;
--color-R    :#b62f2b;/* 赤：182,47,43 */
--color-R-t50:#da9795;
--color-R-t10:#f8eaea;
--color-R-V  :#ff130a;
--color-R-D  :#8c0500;/* HSB B54.9 */
--color-Y     :#fcd919;/* 黄色 */
--color-Y-L   :#fffbb6;
--color-Y-L-fd:#fffdc3;
--color-C    :#0098ff;/* シアン：0,152,255 */
--color-C-t55:#73c6ff;
--color-C-t45:#8cd1ff;
--color-C-t35:#a6dbff;
--color-C-t10:#e5f5ff;
--color-C-L    :#4cb7ff;/* 明るいシアン */
--color-C-L-t85:#e3f3ff;
--color-C-L-t40:#f2f9ff;
--color-C-LL :#def1ff;/* 更に明るいシアン：222,241,255 */
--color-B    :#202974;/* 青：32,41,116 */
--color-B-t50:#8f94b9;
--color-gray-4:#4d4d4d;
--color-gray-9:#999999;
--color-gray-B:#b3b3b3;
--color-gray-C:#cccccc;
--color-gray-E:#e6e6e6;
--color-gray-F:#f1f1f1;
/* --color-clear:rgba(0,0,0,0.25); */
/* size */
/* --size-header-H :min(192px,max(170px,17vw)); */
--size-header-H :158px;
--size-bfixed-H :85px;
--size-inner-mgn:20px;
--size-inner-padTB:min(100px,max(40px,10vw));
--size-inner-maxW:calc(100% - var(--size-inner-mgn) * 2);
--responsive-max :max(1px,0.1vw,calc(1vw / 3.75));
/* transition */
--transition-fast:0.3s;
--transition-middle:0.5s;
/* font */
--font-jp :"Zen Kaku Gothic Antique", sans-serif;
--font-num:"Jost", sans-serif;
--font-mix:"Jost", "Zen Kaku Gothic Antique", sans-serif;
}
@media screen and (max-width: 999px) {
	:root{
		--size-header-H :60px;
		--size-bfixed-H :130px;
	}
}

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html,.font_sizebase{font-size:16px;}
html *{
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	word-break: break-all;
	text-box-trim: trim-both;
}
body{
	margin: 0px; padding: 0px;
	font-size: 1rem; font-weight: 700;
	font-family: var(--font-jp);
	/* font-family: "Noto Sans JP",'游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif; */
	/* font-family: 'Zen Maru Gothic', sans-serif; */
	line-height:normal;
}
body,body *{line-height: normal;}
body,.col_base{color:var(--color-K);}
h1,h2,h3,h4,h5,h6,b,strong{font-weight: 900;}
h1,h2,h3,h4,h5,h6,p,form,hr,
dl,dt,dd,ul,li,figure{margin:0; padding:0;}
ul,li{list-style-type: none;}
/* ul::after{clear:both;} */
span{display:inline-block;}
a{color:inherit;text-decoration:none;}
/*
a:hover{text-decoration: underline;}
a.ov_white{transition: opacity 0.3s ease;}
a.ov_white:hover{opacity:0.8;}
*/
a img{border:none;}
hr{
	/* border-top:solid 1px rgba(0,0,0,0.25); */
	border:none; border-top:solid 1px var(--color-K);
}
figure,img,svg,iframe{max-width:100%;display:block;}
picture{display: flex; justify-content: center; align-items: center;}
picture source{display: none;}
picture img,
figure img{width:100%; height:auto;}
img{min-width:1rem; object-fit:cover;}
img[src*=".svg"],svg{width:100%; object-fit:contain;}
@media screen and (min-width: 1000px) {
	a[href*="tel:"]{pointer-events:none;}
}
font[color="red"]{color:var(--color-R);}

/* ----- */

.anchor{position: relative;}
.anchor a{position: absolute; top:calc(var(--size-header-H) * -1); left:0;}

.font_num{font-family: var(--font-num);}
.font_mix{font-family: var(--font-mix);}

.cmn_voice{gap: 0.25em; display: flex; justify-content: center;}
.cmn_voice::before,
.cmn_voice::after{}
.cmn_voice::before{content:'＼';}
.cmn_voice::after{content:'／';}

.cmn_btn{
	position: relative;
	color:var(--color-K);
	font-weight: 900;
	border-radius: 0.75em;
	background-image: url("../img/common/btn-grad.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border:solid 4px var(--color-R-t50);
	display: flex; flex-direction: column; justify-content: center; align-items: center;
}
@media screen and (max-width: 999px) {
	.cmn_btn{border-width: 3px;}
}

.LH1em,
.LH1em *{text-box-trim: none; line-height: 1em;}

.betaY{
	text-decoration: underline;
	text-decoration-color: var(--color-Y);
	text-decoration-thickness: 0.6em;
	text-underline-offset: -0.35em;
	text-decoration-skip-ink: none;
}

/*
:root{
--bg-grad-R:0deg,var(--color-R-D),var(--color-R);
--bg-grad-Y:65deg, #ffff0d, #fffbb6, #ffff0d;
}
*/
.gradR{
	background:-moz-linear-gradient(0deg,var(--color-R-D),var(--color-R));
  background:-webkit-linear-gradient(0deg,var(--color-R-D),var(--color-R));
  background:linear-gradient(0deg,var(--color-R-D),var(--color-R));
}

.ov_white{}
.ov_white:hover{position: relative; overflow: hidden;}
.ov_white:hover::after{content:''; display: block; position: absolute; inset:0; background-color: rgba(255,255,255,0.5); z-index: 2;}

/* ----- */

body > *{min-width:375px; /* overflow-x: hidden; */}
body > * .inner,
section.bfixed{width: var(--size-inner-maxW); margin: 0 auto;}
header,main,footer,body > * > .inner{display: flex; align-items: center;}
header{position: fixed; top:0; left:0; width:100%; z-index: 1000;}
header .inner{
	max-width: 1200px;
	min-height:var(--size-header-H);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
header .inner > *{width: 100%; display: flex;}
header .inner > .btn *,
header .inner .menu *{text-box-trim: none; line-height: 1em;}
header .inner > .btn{gap:0 10px; justify-content: space-between;}
header .inner > .btn a{display: block;}
header .inner > .btn a.logo{margin-top: auto; max-height: 80px; margin-right: auto;}
header .inner > .btn a.tab{
/* min-height: min(122px,max(110px,11vw)); */
min-height: 95px;
background-color: var(--color-B); color:#FFF;
border: solid 1px #FFF; border-top: none;
font-size: 21px; border-radius: 0 0 1em 1em;
/* padding: 20px 0 25px; */
padding: 12px 0;
max-width: 100%;
display: flex; justify-content: space-evenly;}
header .inner > .btn a.tab > div{display: flex; flex-direction: column; justify-content: flex-end; align-items: center;}
header .inner > .btn a.tab b{font-size: min(41px,max(33px,3.3vw));}
header .inner > .btn a.tab b.font_num{font-size: min(50px,max(40px,4vw)); font-weight: 700; margin: -0.1em 0 -0.14em;}
header .inner > .btn a.tab .cmn_voice{margin-bottom: auto;}
header .inner > .btn a.tab img[src*="icon-tel."]{width:35px;}
header .inner > .btn a.tab .b3{font-size: 18px;}
header .inner > .btn a.tab .b3 > div{font-size: 16px; text-align: center; background-color: var(--color-R-V);
padding: 0.25em; min-width: 7em; margin-bottom: 0.25em; border-radius: 0.375em;}
header .inner .acc{display: block;}
header .inner .menu{background-color: #FFF; width: 100%;
display: flex; justify-content: center; align-items: center;}
header .inner .menu a{padding: 0 1em; gap: 0 0.5em; display: flex;}
header .inner .menu a img,
header .inner .menu a svg{width:auto; height: 1em;}
header .inner .menu_btn{
	width:60px; height: var(--size-header-H);
	background-color: #FFF;
	cursor: pointer;
	border: none;
	font-size: 10px;
	font-weight: 900;
	gap: 4px; display: flex; flex-direction: column; justify-content: center; align-items: center;
}
header .inner .menu_btn .line{width:20px; height:16px;
display: flex; justify-content: center; align-items: center;}
header .inner .menu_btn .line > div{
	width:100%; height:100%;
	display: flex; flex-direction: column; justify-content: space-between; align-items: center;
	transition: transform var(--transition-fast)
						, height var(--transition-fast);
}
header .inner .menu_btn hr{margin: 0 -100%; width: 100%; height:2px;
background-color: var(--color-K); border:none; border-radius:2px;
	transition: transform var(--transition-fast)
						, opacity var(--transition-fast)
						, width var(--transition-fast);
}
header .inner .menu_btn hr:first-of-type{margin-bottom: -100%;}
header .inner .menu_btn hr:last-of-type{margin-top: -100%;}
/* header.active .inner .menu_btn::after{content:'CLOSE';} */
header.active .inner .menu_btn .line > div{/* transform:rotate(360deg); */ height:2px;}
header.active .inner .menu_btn hr:first-of-type,
header.active .inner .menu_btn hr:last-of-type{width: 100%;}
header.active .inner .menu_btn hr:first-of-type{transform: rotate(45deg);}
header.active .inner .menu_btn hr:nth-of-type(2){opacity:0;}
header.active .inner .menu_btn hr:last-of-type{transform: rotate(-45deg);}
@media screen and (min-width: 1000px) {
	header{
		background-color: rgba(255, 255, 255, .4);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
	}
	header .inner .logo{width:185px;}
	header .inner > .btn a.tab{width:379px;}
	header .inner > .btn a.tab[href*="tel:"]{width:549px;}
	header .inner > .btn a.tab b.flex{font-size: min(37px,max(30px,3vw));
	gap: 0.25em; display: flex; justify-content: center; align-items: center;}
	header .inner > .btn a.tab b.flex svg{width:1em;}
	header .inner > .btn a.tab b.flex svg circle{fill:#FFF;}
	header .inner > .btn a.tab b.flex svg polyline{stroke: var(--color-B);}
	header .inner > .btn a.tab b br,
	header .inner .menu_btn{display: none;}
	header .inner .menu{min-height: 50px; border-radius: 1em; box-shadow: 0 7px 5px 0 rgba(0,0,0,0.3);}
	header .inner .menu a.mlink{padding: 0 1em; border-right: solid 1px var(--color-K);}
	header .inner .menu a.mlink:first-of-type{border-left: solid 1px var(--color-K);}
	header .inner .menu a.gradR{display: none;}
}
@media screen and (max-width: 999px) {
	header .inner > .btn a.tab .cmn_voice,
	header .inner > .btn a.tab .b2,
	header .inner > .btn a.tab .b3,
	header .inner > .btn a.tab b.flex svg,
	header .inner .acc{display: none;}
	header{background-color: #FFF;}
	header .inner{
		/* width:calc(100% - var(--size-inner-mgn)); margin-right: 0; */
		width: 100%; margin: 0;
	}
	header .inner .logo{width:74px;}
	header .inner > .btn{height: var(--size-header-H); padding-left: var(--size-inner-mgn);
	gap:0; justify-content: flex-start; align-items: center;}
	header .inner > .btn a.logo{margin-top: 0; margin-right: auto; max-height: 32px;}
	header .inner > .btn a.tab{min-width: var(--size-header-H); min-height: 0; height: var(--size-header-H);
	padding: 0; border-radius: 0; border: none;}
	header .inner > .btn a.logo + a.tab{min-width: 101px;}
	header .inner > .btn a.logo + a.tab > div{width: 100%; position: relative; padding-right: 1px;}
	header .inner > .btn a.logo + a.tab > div::after{content: ''; display: block;
	position: absolute; right:0; width:1px; height:calc(100% - 6px); background-color: #FFF;}
	header .inner > .btn a.tab > div{justify-content: center;}
	header .inner > .btn a.tab b{font-size: 15px; line-height: 1.2em; text-align: center;}
	header .inner .menu{padding: 20px 30px 40px; flex-direction: column; align-items: stretch;}
	header .inner .menu a.mlink{padding: 1em 3em; border-bottom: solid 1px var(--color-K);}
	header .inner .menu a.mlink:first-of-type{border-top: solid 1px var(--color-K);}
	header .inner .menu a.gradR{color:#FFF; margin-top: 30px; height: 56px; position: relative; border-radius: 15px;
	font-size: 24px;
	justify-content: center; align-items: center;}
}

main{
	overflow: hidden;
	min-height: 100vh;
	min-height: 100dvh;
	flex-direction: column;
}
/*
@media screen and (max-width: 999px) {
	main{}
}
*/
main section{width:100%;}
main section .inner{max-width: 1000px;}
main section .inner.padTB{padding: var(--size-inner-padTB) 0;}
main section h2,
main section h2 + .catch{margin-bottom: calc(50px - 0.3em);}
main section h2{font-size: 47px; line-height: 1.25em; text-align: center; margin-top: -0.3em;}
main section h2 ~ h2{margin-top: calc(var(--size-inner-padTB) - 0.3em);}
main section h2 + .catch,
main section h3 + .catch{font-size: 18px; line-height: 1.75em; text-align: center;}
main section h2 + .catch{margin-top: -1em;}
main section h3 + .catch{margin-top: 1.25em;}
@media screen and (max-width: 999px) {
	main section h2,
	main section h2 + .catch{margin-bottom: calc(40px - 0.3em);}
	main section h2{font-size: 27px;}
	main section h2 + .catch,
	main section h3 + .catch{font-size: 15px;}
}

section.bg_naname{position: relative; z-index: 2; }
section.bg_naname .bg{position: absolute; inset:0; width:100%; height:100%;
background-color: var(--color-C-L-t40); overflow: hidden; z-index: -1;}
section.bg_naname .bg::before{content:''; width:686px; height:100%;
background-color: var(--color-C-L-t85); transform: skewX(-45deg);
position: absolute; inset: 0 0 auto; margin: 0 auto;
}
section.bg_naname:not(.rev) .bg::before{right:300px;}
section.bg_naname.bgB .bg{background-color: var(--color-C-t45);}
section.bg_naname.bgB .bg::before{background-color: var(--color-C-t55);}
section.bg_naname.rev .bg::before{transform: skewX(45deg); left: 300px;}
section.bg_naname .inner{position: relative; z-index: 1;}

section[class*="contact_btn_"]{}
section[class*="contact_btn_"] > *[class*="bg"]{position: relative; display: flex; justify-content: center; align-items: center;}
section[class*="contact_btn_"] .inner{max-width: 865px;}
section[class*="contact_btn_"] .inner.chara{max-width: 1320px; position: absolute; inset: auto 0 0; z-index: 3;}
section[class*="contact_btn_"] a.cmn_btn{border-width: 6px;}
section[class*="contact_btn_"] a.cmn_btn .t1{font-weight: 900; position: relative; width:100%;
display: flex; justify-content: center; align-items: center;}
section[class*="contact_btn_"] a.cmn_btn .t1 svg{width:1em;}
section[class*="contact_btn_"] a.b1{min-height: 165px;}
section[class*="contact_btn_"] a.b1 .t1{font-size: 52px;}
section[class*="contact_btn_"] a.b1 .t1 svg{font-size: 44px; margin-left: 1em; margin-right: -2em;}
.cmn_hassou{font-size: 18px; gap:0 1.5em; display: flex; justify-content: center;}
section[class*="contact_btn_"] .cmn_hassou{margin-top: 1.25em;}
.cmn_hassou img{width: auto; height: 1em; display: inline-block; vertical-align: bottom; margin-right: 0.5em;}
.cmn_hassou .red{background-color: var(--color-R); color:#FFF; padding: 0 0.5em; margin-right: 5px;}
.cmn_hassou .betaY{color: var(--color-R); font-size: calc(1em * 22 / 18); font-weight: 900; margin-left: 5px;}
.cmn_hassou b,
section.bfixed > div .t2 font b{font-size: 1.2em; line-height: 0; margin: -1em 0;}
section[class*="contact_btn_"] a.b2{width:415px; max-width: 100%; min-height: 104px;}
section[class*="contact_btn_"] a.b2 .t1{font-size: 38px; padding-right: 0.5em;}
section[class*="contact_btn_"] a.b2 .t1 svg{font-size: 32px; position: absolute; right:0.5em;}
section[class*="contact_btn_"] .flex{margin-top: 30px; gap: 30px; display: flex; justify-content: space-between;}
section.contact_btn_R .bgR{min-height: 270px; background-color: var(--color-R);}
section.contact_btn_R .bgY{min-height: 137px;
	background-color: #ffff0d;
	background-image: url("../img/common/bg-grad-Y.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	/*
	background:-moz-linear-gradient(var(--bg-grad-Y));
  background:-webkit-linear-gradient(var(--bg-grad-Y));
  background:linear-gradient(var(--bg-grad-Y));
	*/
}
section.contact_btn_R .inner{}
section.contact_btn_R .bgR .inner.chara img{width: 291px;
position: absolute; bottom: 0; left: min(0px,calc((100vw - 1370px) / 2 ));}
section.contact_btn_R .bgY .inner{max-width: 805px; display: flex; justify-content: space-between; align-items: center;}
section.contact_btn_R .bgY .inner > *{max-width: 100%; gap:0.25em 0;}
section.contact_btn_R .bgY .inner .L{width:460px; display: flex; flex-wrap: wrap; justify-content: space-between;}
section.contact_btn_R .bgY .inner .L > b{width:100%; font-size: 25px;}
section.contact_btn_R .bgY .inner .L > .goukei{font-weight: 500;}
section.contact_btn_R .bgY .inner .L > .nebiki{font-size: 34px; font-weight: 900; margin-top: auto; position: relative; z-index: 2;}
section.contact_btn_R .bgY .inner .L > .nebiki img[src*="fuki"]{width: 127px; position: absolute; bottom: calc(100% - 0.125em); right: 0; z-index: -1;}
section.contact_btn_R .bgY .inner .L > .nebiki > span{color: var(--color-R); display:block;}
section.contact_btn_R .bgY .inner .L > .nebiki > span font{font-size: 44px;}
section.contact_btn_R .bgY .inner .R{display: flex; flex-direction: column; align-items: center;}
section.contact_btn_R .bgY .inner .R > .code{background-color: #FFF; font-size: 20px; font-weight: 900;
min-width: 314px; padding: 6px 0; text-align: center;}
section.contact_btn_R .bgY .inner .R > .code font{color: var(--color-R); font-size: 25px;}
section.contact_btn_R .bgY .inner .R > .kikan{font-size: 18px; margin-left: -0.5em;}
section.contact_btn_R .bgY .inner .R > .kikan font{font-size: 21px;}
section.contact_btn_R .bgY .inner .R > .caution{font-size: 12px; font-weight: 500; margin-right: -0.5em;}
section.contact_btn_B .bgB{min-height: 395px; background-color: var(--color-B);}
section.contact_btn_B a.cmn_btn{border-color:var(--color-B-t50);}
:root{
--contact_btn_B-W-trim:330px;
--contact_btn_B-W-full:536px;
--contact_btn_B-W-right:calc(1280px + (var(--contact_btn_B-W-full) - var(--contact_btn_B-W-trim)) * 2 );
}
section.contact_btn_B .bgB .inner.chara{width: 100%; max-width: none;}
section.contact_btn_B .bgB .inner.chara > img{
width: min(var(--contact_btn_B-W-full) , calc(var(--contact_btn_B-W-trim) + (100vw - 1280px) / 2 )); height: 436px;
object-position: left center;
position: absolute; bottom: 0; right: max(0px,(100vw - var(--contact_btn_B-W-right)) / 2);}
@media screen and (max-width: 999px) {
	.cmn_hassou{font-size: 14px; flex-direction: column; justify-content: space-between;}
	section[class*="contact_btn_"] .cmn_hassou{min-height: 45px;}
	section[class*="contact_btn_"] a.cmn_btn{border-width: 3px;}
	section[class*="contact_btn_"] a.cmn_btn .t1{font-size: 30px;}
	section[class*="contact_btn_"] a.b1{min-height: 145px;}
	section[class*="contact_btn_"] a.b1 .t1 svg{width:22px; margin-right: 0; position: absolute; right: 11px;}
	section[class*="contact_btn_"] a.b2{min-height: 66px;}
	section[class*="contact_btn_"] a.b2 .t1{font-size: 24px;}
	section[class*="contact_btn_"] a.b2 .t1 svg{font-size: 22px; position: absolute; right:0.5em;}
	section[class*="contact_btn_"] .flex{width:256px; margin-right: auto; margin-top: 15px;gap: 15px; flex-direction: column;}
	section.contact_btn_R{overflow: hidden;}
	section.contact_btn_R .bgR{min-height: 200px;}
	section.contact_btn_R .bgR .inner.chara img{bottom:auto; top: -10px; left: -50px; width: 135px;}
	section.contact_btn_R .bgY .inner{max-width: 100%; padding: 16px 0; flex-direction: column;}
	section.contact_btn_R .bgY .inner .L{width:247px; margin-left: auto;}
	section.contact_btn_R .bgY .inner .L > b{font-size: 19px; margin-top: -0.3em;}
	section.contact_btn_R .bgY .inner .L > .goukei{font-size: 13px;}
	section.contact_btn_R .bgY .inner .L > .nebiki{font-size: 27px; width: 100%;}
	section.contact_btn_R .bgY .inner .L > .nebiki > span font{font-size: 39px;}
	section.contact_btn_R .bgY .inner .L > .nebiki img[src*="fuki"]{width:101px;}
	section.contact_btn_R .bgY .inner .R{margin-top: 16px; width:335px;}
	section.contact_btn_R .bgY .inner .R > .code{width:100%; font-size: 18px;}
	section.contact_btn_R .bgY .inner .R > .kikan{font-size: 16px;}
	section.contact_btn_R .bgY .inner .R > .kikan font{font-size: 19px;}
	section.contact_btn_B .bgB .inner.chara img{width: 135px; height: 185px;}
}

footer{
	background-color: var(--color-B);
	color: #FFF;
	padding-top: 20px;
	min-height: 275px;
	padding-bottom: calc(20px + var(--size-bfixed-H));
}
footer .inner{
	max-width: 1000px;
	flex-wrap: wrap;
}
footer *[class*="menu"] *{text-box-trim: none; line-height: 1em;}
footer .menu1{margin-top: auto; max-height: 4em;
gap: 2em 1em; display: flex; flex-direction: column; flex-wrap: wrap;}
@media screen and (min-width: 1000px) {
	footer .logo,	
	footer .copy{width:45%;}
	footer *[class*="menu"]{flex-grow: 1;}
	footer .logo img{width:186px;}
	footer .pad{width:100%; height:50px;}
	footer .copy{font-size: 11px; font-weight: 400;}
	footer .menu2{font-size: 14px; border-left: solid 1px #FFF; text-align: center; display: flex; justify-content: space-between;}
	footer .menu2 a{flex-grow: 1; border-right: solid 1px #FFF;}
}
@media screen and (max-width: 999px) {
	footer .pad{display: none;}
	footer{padding-top: 30px;}
	footer .inner{gap:25px 0; flex-direction: column;}
	footer .logo{width:167px;}
	footer .menu1{font-size: 14px; width: 15em; max-height:none;
	gap: 1em 0; flex-direction: row; justify-content: space-between;}
	footer .copy{order:2; font-size: 10px;}
	footer .menu2{font-size: 12px; width: 21em;
	gap: 1em 0; display: flex; flex-wrap: wrap; justify-content: center;}
	footer .menu2 a{padding: 0 1em; border-left: solid 1px #FFF; border-right: solid 1px #FFF;}
	footer .menu2 a:last-of-type{border-left: none;}
}

section.bfixed{max-width:1000px; background-color: var(--color-R); color:#FFF;
border: solid 1px #FFF; border-bottom: none; border-radius: 20px 20px 0 0 ;
position: fixed; inset: auto 0 0; z-index: 999; min-height: var(--size-bfixed-H);
display: flex; justify-content: space-evenly; align-items: center;}
section.bfixed > a{/* width:min(352px,max(330px,33vw)); */
width:min(304px,max(300px,30vw)); max-width: 100%; height:55px; font-size: 20px;
display: flex; justify-content: center; align-items: center;}
section.bfixed > a svg{width:auto; height:1.1em; position: absolute; right:1em;}
section.bfixed > div{gap: 0.25em; display: flex; flex-direction: column; align-items: center;}
section.bfixed > div .t1{}
section.bfixed > div .t2{font-size: 18px;}
section.bfixed > div .t2 font{font-size: 22px;}
section.bfixed > div .t3{font-size: 22px; font-weight: 900; color:var(--color-Y);}
@media screen and (min-width: 1000px) {
	section.bfixed > a br{display: none;}
	section.bfixed > a[href*="contact"]{padding-right: 1.5em;}
	section.bfixed > div{width:325px; text-align: center; flex-direction: row; flex-wrap: wrap;}
	section.bfixed > div .t1{width:100%;}
	section.bfixed > div .t2{font-size: 16px;}
	section.bfixed > div .t2 font,
	section.bfixed > div .t3{font-size: 20px;}
}
@media screen and (max-width: 999px) {
	section.bfixed{width:375px; max-width: 100%; padding: 10px 0; gap: 10px; flex-wrap: wrap; justify-content: center; align-items: flex-end;}
	section.bfixed > div{flex-direction: row; flex-wrap: wrap; justify-content: center; width: 100%; order: 1;}
	section.bfixed > div .t1{font-size: 13px; width: 100%; text-align: center;}
	section.bfixed > div .t2{font-size: 15px;}
	section.bfixed > div .t2 font,
	section.bfixed > div .t3{font-size: 18px;}
	section.bfixed > a{order: 2; width:165px;/* min(330px,calc(165 * var(--responsive-max))); */ height:60px; font-size: 16px; line-height: 1.25em;}
	section.bfixed > a svg{right: 0.5em;}
}

/* ----- */

.pc_vanish{}
.sp_vanish{}
.im_vanish{display:none!important;}
.pc_br_del{}
.sp_br_del{}
.vanish_branch{}
.vanish_branch_onoff{}
@media screen and (min-width: 1000px) {
	.pc_vanish,
	.pc_br_del br,
	.pc_div_del div,
	.vanish_branch img[src*="-sp."],
	.vanish_branch_onoff img[src*="-sp."]{display:none!important;}
}
@media screen and (max-width: 999px) {
	.sp_vanish,
	.sp_br_del br,
	.sp_div_del div,
	.vanish_branch img[src*="-pc."],
	.vanish_branch_onoff img:not([src*="-sp."]){display:none!important;}
}

.W100per{width:100%;}
/*
.Wbase{
	width:100%;
	max-width:1000px;
	margin: 0 auto;
}
.Wbase.W1280{max-width:1280px;}
*/
.Wbase[w]{max-width:attr(w px);}
@media screen and (max-width: 999px) {
}

/* CSSだけで多角形を作る */
/*
.clippath{width:100%; height:90px;
background-color: #F00;
clip-path: polygon(0 100%, 100% 0, 90% 100%, 0 100%);
}
*/

/* 印刷用CSS */
/*
@media print{
  印刷用CSSの定義を指定する
}
※印刷時は
「@media screen and (min-width: 1000px)」
「@media screen and (max-width: 999px)」内のスタイルは効かなくなる
*/
@media print{
	.pc_vanish{display:none!important;}
	header{position:relative;}
	main{padding-top: 0;}
}