@charset "utf-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

:root{
/*
	--color-main-blue:#00aae0;
	--color-main-blue-rgb:0, 170, 224;
*/
	--color-dark:#212529;
	--color-gray:#6c757d;
	--color-green:#28a745;
	

/*
	--bg-light-blue:#ecf8ff;
	--bg-light-orange:#fff5e5;
	--border-radius:25px;
	--border-radius-half:12px;
*/
	--contents-h:40px;
}

h1,h2,h3,.bold{font-weight:700;}
h1{font-size:1.25rem; margin:0;}
h2{font-size:1.5rem; margin-bottom:1.5rem;}
h3{font-size:1.2rem; margin-bottom:1rem;}
.fs-normal{font-size:1rem;}

.btn-ai{position:absolute; bottom:.5rem; right:.5rem;}

#ai-box{padding-top:.5rem; position:relative; display:none;}
#ai-spinner{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);}
#ai-box textarea.readonly{min-height:2rem;}
#ai-box ul.nav{gap:1rem; justify-content:flex-end; align-items:center;}
#ai-box ul.nav .btn{border-top-left-radius:0; border-top-right-radius:0;}



.badge-project{font-size:.8rem;}

/* loading
----------------------------------------------- */
#loading-box{display:none;}
body.loading #loading-box{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100vh;
	height:100dvh;
	position:fixed;
	z-index:1100;
	top:0;
	left:0;
	background-color:rgba(0,0,0,.1);
}
#loading-box .inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:1.5rem;
}


/* outline
----------------------------------------------- */
.card-chapter{margin-bottom:1.5rem; overflow:hidden;}
.card-chapter>*{padding:.5rem 1rem;}
.card-chapter .chapter{background-color:var(--color-dark);}
.card-chapter .section{background-color:var(--bs-info-bg-subtle);}
.card-chapter .articles>*{padding-left:1.5rem; margin-bottom:.5rem;}

.chapter,
.chapter input{color:white; font-weight:700;}

.chapter input,
.section input{background-color:transparent; border-color:#6c757d;}

.chapter,
.card-chapter .section,
.articles .inner{display:flex; gap:1rem; align-items:center;}

.chapter::before,
.card-chapter .section::before,
.articles .inner::before{
	white-space:nowrap;
	min-width:4rem;
}

.card-chapter{counter-increment:chapter;}
.chapter::before{
	content:"第" counter(chapter) "章";
}
.card-chapter{counter-reset:section 0;}
.card-chapter .section{counter-increment:section;}
.card-chapter .section::before{
	content:"└ 第" counter(section) "節";
}
.articles{counter-reset:article 0;}
.articles>*{counter-increment:article;}
.articles .inner::before{
	content:"└ 第" counter(article) "項";
}

.dropdown.no-arrow .dropdown-toggle::after{content:none;}

/* Layout
----------------------------------------------- */
body.fixed,
body.loading,
body.showEdit{overflow:hidden;}

/*
html{font-size:16px;}
html.fixed,
body.open{position:fixed; width:100%;}
body, html {
	background-color:var(--color-main-green);
	color:var(--color-black);
    line-height:2;
    -webkit-text-size-adjust:none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#header,
#footer,
#container,
article>*{position:relative;}

article{background-color:white;}

.container{padding-left:50px; padding-right:50px;}
*/
/*
a:not([class]){text-decoration:underline;}
a:not([class]):hover{text-decoration:none; opacity:.7;}
*/

a.link-box:hover{
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    opacity:.7;
}
.link-box,
.link-box:hover{text-decoration:none;}

.contents{padding-top:var(--contents-h); padding-bottom:var(--contents-h);}
.content-header{color:white; background-color:var(--color-dark); padding-top:1em; padding-bottom:1em;}
/*
.contents-sm{padding-top:50px; padding-bottom:50px;}
.contents-box{padding:100px 5%;}
.thin{max-width:1000px; margin:0 auto;}

.col-license img {
    width:300px;
    border: 1px solid #ccc;
}

@media (min-width:1200px){
	article .container{max-width:1100px;}
}
@media (max-width:1199px){
	.container{max-width:100%;}
}
@media (max-width:767px){
	.container{padding-left:20px; padding-right:20px;}
	.contents{padding-top:60px; padding-bottom:60px;}
	.contents-sm{padding-top:30px; padding-bottom:30px;}
	.contents-box{padding:60px 5%;}
}
*/


/* common
----------------------------------------------- */
img{max-width:100%; height:auto;}
.c{text-align:center;}
.r{text-align:right;}
/*
.child-flex>*{display:flex;}
table th{white-space:nowrap;}

h1,.h1,h2,.h2,h3,.h3{font-weight:700;line-height:1.6;}
h1,.h1,h2,.h2{font-size:1.875rem; margin-bottom:4rem;}
h3,.h3{font-size:1.375rem; margin-bottom:1.4rem;}

.en{
	font-family: "Hind", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1;
}

.lead{font-size:1.25rem; font-weight:revert;}
.fs1{font-size:1rem !important;}
.bold{font-weight:700;}
.normal{font-weight:400;}

.both-tri{display:inline-flex; justify-content:center; align-items:center; column-gap:2rem;}
.both-tri::before,
.both-tri::after{
	content:'';
	width:0;
	height:0;
	margin-top:-.25em;
	border:13px solid white;
}
.both-tri::before{border-color:var(--color-main-blue) var(--color-main-blue) transparent transparent;}
.both-tri::after{border-color:var(--color-main-orange) transparent transparent var(--color-main-orange);}
.bg-blue .both-tri::before{border-color:white white transparent transparent;}

.line-two{display:flex; flex-direction:column; text-align:center; font-size:1.25rem;}
.line-two span.en{font-size:85px !important;}

[class*=line-btm]{text-align:center;}
[class*=line-btm]::after{
	content:'';
	display:block;
	width:106px;
	height:4px;
	background-color:var(--color-main-blue);
	margin:.5rem auto 0;
}
.line-btm-left{text-align:left;}
.line-btm-left::after{margin-left:0;}

.line-btm-orange::after{
	background-color:var(--color-main-orange);
}

@media (max-width:767px){
	.line-two span.en{font-size:13vw !important;}
	h1,.h1,h2,.h2{font-size:2rem;}
}
@media (max-width:575px){
	h1,.h1,h2,.h2{font-size:1.35rem; margin-bottom:2rem;}
	h3,.h3{font-size:1.2rem; margin-bottom:1.2rem;}
	.lead{font-size:1.05rem;}
	.line-two{font-size:1.15rem;}
	.both-tri{column-gap:1rem;}
}

.c-main-blue{color:var(--color-main-blue);}

.bg-blue{background-color:var(--color-main-blue); color:white;}
.bg-light-blue{background-color:var(--bg-light-blue);}
.bg-light-orange{background-color:var(--bg-light-orange);}

a{transition: all .4s;}
a:hover{opacity:.8;}

.btn{border-radius:10em; padding:.5rem 0.75rem; transition:all .4s; font-weight:700;}
.btn.btn-lg{font-size:1.125rem; padding:1.5rem 2rem; min-width:480px;}
.btn-main,
.btn-main:hover{color:white !important; background-color:var(--color-main-orange) !important;}
.btn-ol-blue,
.btn-ol-blue:hover{color:var(--color-main-blue) !important; background-color:white; border-color:var(--color-main-blue) !important;}
.btn-ol-black,
.btn-ol-black:hover{color:black !important; background-color:white; border-color:black !important;}
.btn:hover{opacity:.8;}

[class*=icb-],
[class*=btn-arrow]{display:inline-flex; justify-content:space-between; align-items:center; column-gap:.75em;}
[class*=btn-arrow]::before,
[class*=btn-arrow]::after{
	content:'';
	width:1em;
	height:1em;
	border:1px solid white;
	border-width:2px 2px 0 0;
	transform:translateX(-25%) rotate(45deg);
}
[class*=icb-]{justify-content:center;}
[class*=icb-]::before{
	content:'';
	width:1em;
	height:1em;
	transform:scale(1.2);
}
[class*=btn-arrow]::before{
	border-width:0 0 2px 2px;
	transform:translateX(25%) rotate(45deg);
}

.btn-ol-blue[class*=btn-arrow]::before,
.btn-ol-blue[class*=btn-arrow]::after{
	border-color:var(--color-main-blue);
}

.btn-arrow::before{visibility:hidden;}
.btn-arrow-prev::after{visibility:hidden;}

.btn-next::before{content:none;}
.btn-prev::after{content:none;}

.icb-tel::before{
	background:url(../img/ic-tel.svg) no-repeat center center/contain;
}
.icb-mail::before{
	background:url(../img/ic-mail.svg) no-repeat center center/contain;
}

@media (max-width:575px){
	.btn.btn-lg{font-size:1.2rem; padding:1.25rem; min-width:100%;}
}
*/

/* scroll fadein
----------------------------------------------- */
/*
.fadein {
    opacity : 0;
    transform: translateY(40px);
    transition: all 1s;
}
.fadein.lazyloaded{
    opacity : 1;
    transform: translateY(0);
}
*/

/* header
----------------------------------------------- */
#header{display:flex; width:100%; height:60px; padding:0 4%; align-items:center; z-index:999; box-shadow:0 1px 3px rgba(0,0,0,.1);}
#header>*{display:flex; width:100%; justify-content:space-between; align-items:center;}
#header .brand{width:100px; position:relative; z-index:1000;}
/*
#header a.brand:hover{opacity:1;}
#header .brand::after{
	content:'';
	display:block;
	width:140%;
	height:140%;
	border-radius:20px;
	background-color:white;
	position:absolute;
	top:0;
	left:-20%;
	z-index:-1;
}


#gnavi li{display:flex;}
#gnavi li .nav-link{padding:1rem 1rem; color:var(--color-black); font-size:.875em; line-height:1.4; font-weight:600; text-align:center;}
#gnavi li .btn-main{min-width:180px;}
#gnavi li .nav-link:hover{color:var(--color-main-blue);}

@media (min-width:1200px){
	#gnavi{column-gap:1rem;}
}
*/
@media (min-width:992px){
	#btn-menu-wrap{display:none;}
}
/*
@media (max-width:991px){
	#header{position:fixed; top:0; left:0;}
	#header>*{height:60px;}
	#header .brand{width:110px;}
	#header .brand::after{content:none;}
	article{padding-top:60px;}

	#gnavi li{display:block;}
	#gnavi li a{padding:1rem; height:auto;}
	#gnavi{
		width:100%;
		flex-direction:column;
		gap:1.5rem;
	}
	#gnavi li a.btn{width:100%;}

	.menu-panel{
		width:100%;
		background-color:rgba(255,255,255,.95);
		padding:100px 2rem 60px;
		overflow:scroll;
		position:fixed;
		top:0;
		right:0;
		
		height:0;
		opacity:0;
		visibility:collapse;
	}
	body.open .menu-panel{
		height:100vh;
		height:100dvh;
		opacity:1;
		visibility:visible;
		transition: all .5s;
	}
}
*/

/* 
----------------------------------------------- */
#nav-step ul{justify-content:center; gap:2rem; color:rgba(0,0,0,.5);}
#nav-step ul li{min-width:8em; text-align:center; padding:.25em .5em;}
#nav-step ul li .btn{color:var(--bs-btn-disabled-color); text-decoration:none; border-radius:0; border:none; border-bottom:2px solid transparent;}
#nav-step ul li.active .btn{color:var(--color-dark); border-bottom:2px solid var(--color-dark); font-weight:700;}
#nav-step ul li .btn::before{
	font-family:bootstrap-icons;
	content:'\F633';
	display:block;
	font-size:1.5rem;
	width:100%;
	height:1.5rem;
	line-height:1;
	color:var(--color-gray);
}
#nav-step ul li .btn.disabled::before{visibility:hidden;}
#nav-step ul li.saved .btn::before{color:var(--color-green);}

/* fix header
----------------------------------------------- */
/*
#header.dark{
	transition: all 1s;
	background-color:rgba(0,0,0,.4);
}
*/

/* footer contact
----------------------------------------------- */
/*
#pos-contact{color:white; font-weight:700; background:url(../img/bg-contact.jpg) no-repeat center top/cover;}
#pos-contact .btn-tel{color:white; font-size:2.7rem; font-weight:700; line-height:1; padding:.25rem .5rem;}
@media (max-width:575px){
	#pos-contact .btn-tel{font-size:8.5vw;}
	#pos-contact .time{font-size:12px;}
}
*/

/* footer
----------------------------------------------- */
/*
#footer{font-size:.875rem;}

#footer .nav-link{padding:0; color:var(--color-black);}
#fnavi{justify-content:center; row-gap:1rem;}
#fnavi li{border-left:1px solid var(--color-black); padding:0 1rem; line-height:1.2;}
#fnavi li:first-child{border:none;}

img.footer-logo{width:46%; max-width:270px; display:block; margin:0 auto 4rem;}

#footer-btm{border-top:1px solid var(--color-black);}
*/
#copylight{display:block; font-size:12px; text-align:center;}


/* button effect
----------------------------------------------- */
/*
:root{
	--menubtn-w:36px;
	--menubtn-h:26px;
	--menubtn-rgb:var(--color-main-blue-rgb);
	--menubtn-open-rgb:var(--color-main-blue-rgb);
	--menubtn-border-w:2px;
}

#btn-menu-wrap{line-height:1;}

#btn-menu,
#header .nav .close{padding:0;border:none;outline:0;cursor:pointer}
#btn-menu{width:var(--menubtn-w);height:var(--menubtn-h);background-color:transparent;position:relative;z-index:1000;}
#btn-menu span,
#btn-menu::after,
#btn-menu::before{
	content:'';
	background:rgb(var(--menubtn-rgb));
	position:absolute;
	left:0;
	height:var(--menubtn-border-w);
	-webkit-transition:width .2s cubic-bezier(.25,.46,.45,.94);
	transition:width .2s cubic-bezier(.25,.46,.45,.94);
	-webkit-transform-origin:left center;
	-ms-transform-origin:left center;
	transform-origin:left center;
}
#btn-menu span{display:block;width:100%;text-indent:100%;overflow:hidden;top:calc(50% - var(--menubtn-border-w) / 2);}
#btn-menu::before{width:100%;top:0;}
#btn-menu::after{width:100%;bottom:0;}

#btn-menu.open span{opacity:0}
#btn-menu.open::before{-webkit-animation:menu-icon-1 .6s alternate forwards; animation:menu-icon-1 .6s alternate forwards}
#btn-menu.open::after{-webkit-animation:menu-icon-2 .6s alternate forwards; animation:menu-icon-2 .6s alternate forwards}
@-webkit-keyframes menu-icon-1{
    40%{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
    100%{top:50%;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@keyframes menu-icon-1{
    40%{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
    100%{top:50%;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@-webkit-keyframes menu-icon-2{
    40%{bottom:50%;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
    100%{bottom:50%;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@keyframes menu-icon-2{
    40%{bottom:50%;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
    100%{bottom:50%;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
*/

/*
#btn-menu.txt-show span{
	border-top:2px solid #000;
	background-color:transparent;
	padding-top:12px;
	height:auto;
	overflow:visible;
	text-indent:inherit;
	font-size:13px;
}
*/

/* page
----------------------------------------------- */
/*
#page-header{background:url(../img/company/bg-header.jpg) no-repeat center center/cover; position:relative;}
#page-header::before{
	content:'';
	display:block;
	width:100%;
	height:100%;
	background-color:rgba(var(--color-main-blue-rgb),.82);
	mix-blend-mode:multiply;
	position:absolute;
	top:0;
	left:0;
}
#page-header>*{display:flex; height:240px; align-items:center; justify-content:center; color:white; position:relative;}
#page-header h1{font-size:2.25rem; margin:0; font-weight:700; letter-spacing: .2em;}

@media (max-width:575px){
	#page-header>*{height:180px;}
	#page-header h1{font-size:6vw; padding-bottom:3vw;}
}
*/

/* breadcrumb
----------------------------------------------- */
/*
ul.breadcrumb{font-size:.875rem; height:2.5rem; margin-top:-2.5rem; margin-bottom:0; color:white;}
ul.breadcrumb li::after{
	content:'';
	display:inline-block;
	width:.5em;
	height:.5em;
	margin:0 .5em;
	border:1px solid white;
	border-width:1px 1px 0 0;
	transform:translate(0,-25%) rotate(45deg);
}
ul.breadcrumb li:last-child::after{
	content:none;
}
ul.breadcrumb a{color:white; text-decoration:none;}

@media (max-width:575px){
	ul.breadcrumb{font-size:.75rem;}
}
*/

/* service
----------------------------------------------- */
/*
a.service{
	width:100%;
	padding-left:1.5rem;
	padding-right:1.5rem;
	color:white;
	border-radius:var(--border-radius);
	text-decoration:none;
	position:relative;
	overflow:hidden;
}
a.service::before,
a.service::after{
	content:'';
	display:block;
	position:absolute;
}
a.service::before{
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.5);
	top:0;
	left:0;
	transition: all .4s;
}
a.service::after{
	width:33px;
	height:33px;
	bottom:30px;
	right:30px;

	-webkit-mask:no-repeat left center/contain;
	mask:no-repeat left center/contain;
	background-color:currentColor;

	background-color:var(--color-main-orange);
	-webkit-mask-image:url(../img/ic-next.svg);
	mask-image:url(../img/ic-next.svg);
}
a.service:hover::before{opacity:.5;}
a.service section{max-width:420px; margin:0 auto; position:relative;}
*/

/* flow
----------------------------------------------- */
/*
.flow::after{
	content:'';
	display:block;
	width:0;
	height:0;
	border-style:solid;
	border-width:24px 24px 0;
	border-color:var(--color-main-blue) transparent transparent transparent;
	margin:2rem auto 0;
	padding:1rem 0;
}
.flow:last-child::after{content:none;}
.flow .contents-box{background-color:var(--bg-light-blue);}
.flow h3{text-align:center; padding:1rem .5rem; margin:0; background-color:var(--color-main-blue); color:white;}

.flow .col-img{text-align:center;}
.flow .col-img img{width:80%;}
.flow .btn{width:100%; max-width:370px; font-size:1.25rem;}
*/

/* accordion
----------------------------------------------- */
/* bootstrap icon + エンコーダ（https://yoksel.github.io/url-encoder/）*/
.btn-plus-minus .accordion-button::after{
/*
    flex-shrink: 0;
    width:var(--bs-accordion-btn-icon-width);
    height:var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
    border:1px solid red;
*/
    width:2rem;
    height:2rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-plus-lg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z'/%3E%3C/svg%3E");
	background-size:contain;
}
.btn-plus-minus .accordion-button:not(.collapsed)::after {
/*
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
*/
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dash-lg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z'/%3E%3C/svg%3E");
}

/* #accordionFaq
----------------------------------------------- */
/*
#accordionFaq .accordion-button{
	align-items:flex-start;
	column-gap:1rem;
	font-weight:700;
    color:var(--color-black) !important;
    background-color:transparent;
}
#accordionFaq .accordion-button:not(.collapsed) {
    color:var(--color-black);
    background-color:var(--bg-light-blue);
	box-shadow:none;
}

#accordionFaq .accordion-item{margin-bottom:1rem; padding-bottom:1rem;}

#accordionFaq .accordion-header,
#accordionFaq .accordion-collapse{position:relative;}
#accordionFaq .accordion-header{padding-left:calc(56px + 16px);}
#accordionFaq .accordion-body{padding-left:calc(var(--bs-accordion-body-padding-x) + 56px + 16px); min-height:6em;}

#accordionFaq .accordion-header::before,
#accordionFaq .accordion-body::before{
	content:'Q';
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:30px;
	width:56px;
	aspect-ratio:1/1;
	color:white;
	background-color:var(--color-main-blue);
	border-radius:var(--border-radius-half);
	position:absolute;
	top:0;
	left:0;

	font-family: "Hind", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height:1;
}
#accordionFaq .accordion-body::before{
	content:'A';
	background-color:var(--color-main-orange);
	top:var(--bs-accordion-body-padding-y);
}

@media (max-width:575px){
	#accordionFaq .accordion-button{padding:0 .5rem var(--bs-accordion-btn-padding-y);}
	#accordionFaq .accordion-body{padding:var(--bs-accordion-btn-padding-y) .5rem;}

	#accordionFaq .accordion-header::before,
	#accordionFaq .accordion-body::before{
		font-size:24px;
		width:36px;
	}
	#accordionFaq .accordion-header{padding-left:calc(36px + 8px);}
	#accordionFaq .accordion-body{padding-left:calc(36px + 8px + .5rem);}
}
*/

