/********** Template CSS **********/
:root {
    --primary: #FF3E41;
    --secondary: #08316a;
    --light: #F8F2F0;
    --dark: #060315;
}


* html .clearfix { height:1%; }
.clearfix { display:block; }

.fw-medium { font-weight: 600 !important; }
.b-pnt { break-after:page; height:1px; }

h2 { margin-bottom:5rem; padding-bottom:1rem;  border-bottom:1px solid #ccc; }
#HERO h2 { font-size: calc(1em + 1vw) !important; color:#fff; text-shadow: #333 1px 1px 5px;}
#HERO h2 span { font-size: calc(1em + 1.5vw); color:#ff3e41; }

a { color:#36f;text-decoration:underline; }
a:hover { color:#039;text-decoration:none; }

section { margin-bottom:5rem; }

table img { width:100%; }

/*** Spinner ***/
#spinner { opacity:0; visibility:hidden; transition:opacity .5s ease-out, visibility 0s linear .5s; z-index:99999; }
#spinner.show { transition:opacity .5s ease-out, visibility 0s linear 0s; visibility:visible; opacity:1; }


/*** Button ***/
.btn { font-weight:600; transition:.5s; }

.btn.btn-primary,
.btn.btn-secondary { color:#fff; }
.btn-square { width:38px; height:38px; }
.btn-sm-square { width:32px; height:32px; }
.btn-lg-square { width:48px; height:48px; }
.btn-square,
.btn-sm-square,
.btn-lg-square { padding:0; display:flex; align-items:center; justify-content:center; font-weight:normal; }

.btn-secondary,
.btn-secondary:disabled,
.btn-secondary.disabled { background-color:#08316a; border-color:#08316a; }

.btn-secondary:hover,
.btn-check:focus+.btn-secondary,.btn-secondary:focus { background-color:#163768; border-color:#113568; }

.btn-check:checked+.btn-secondary,
.btn-check:active+.btn-secondary,
.btn-secondary:active,.btn-secondary.active,
.show>.btn-secondary.dropdown-toggle { background-color:#1a3a67; border-color:#113568; }

h6.text-secondary { font-size:20px; color: #08316a !important; }

/*** Navbar ***/
nav { border-top: solid 5px #036; background:#fff; }

.navbar-brand { margin:0; padding:0; width:100px; }
.navbar-brand img { object-fit:contain; height:100%; }
.navbar .dropdown-toggle::after { border:none; margin-left:8px; vertical-align:middle; content:"\f107"; font-family:"Font Awesome 5 Free"; font-weight:900; }

.navbar-light .navbar-nav .nav-link { position:relative; margin-right:30px; padding: 25px 0; color:#fff; font-size:15px; text-transform:uppercase; outline:none; }
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active { color: var(--primary); }
.navbar-light .navbar-brand { height:75px; width:225px; }
.navbar-light .navbar-nav .nav-link { color:var(--dark); font-weight:500; }
.navbar-light.sticky-top { top:-100px; transition:.5s; }


/*** Header ***/
.header-carousel .owl-nav { position:absolute; top:50%; right:8%; transform:translateY(-50%); display:flex; flex-direction:column; }
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next { margin:7px 0; width:45px; height:45px; display:flex; align-items:center; justify-content:center; color:#fff; background:transparent; border:1px solid #fff; border-radius:45px; font-size:22px; transition:.5s; }
.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover { background:var(--primary); border-color:var(--primary); }

.page-header { background: linear-gradient(rgba(6, 3, 21, .5), rgba(6, 3, 21, .5)), url(../img/carousel-1.jpg) center center no-repeat; background-size:cover; }

.breadcrumb-item + .breadcrumb-item::before { color: var(--light); }


/*** main ***/
.srvBox { display:none; max-width:80%; }
.srvBox h6 { margin-bottom:1rem; padding:5px; color:#fff; text-align:center; border-radius:5px; background:#f63;}

.coverImg { object-fit:cover; }

.item-wrap { box-shadow: 0 0 45px rgba(0, 0, 0, .07); }

#SERVICE .item-wrap { min-height:510px; }
#TOKIWA4 .item-wrap { min-height:300px; }


.item-wrap img { transition:.5s; }
.item-wrap:hover img { transform:scale(1.1); }

.item-wrap a.btn-slide { position:relative; display:inline-block; overflow:hidden; font-size:0; }

.item-wrap a.btn-slide i,
.item-wrap a.btn-slide span { position:relative; height:40px; padding: 0 15px; display:inline-flex; align-items:center; font-size:16px; color:#fff; background:var(--primary); border-radius: 0 35px 35px 0; transition:.5s; z-index:2; }

.item-wrap a.btn-slide span { padding-left:0; left:-100%; z-index:1; }
.item-wrap:hover a.btn-slide i { border-radius:0; }
.item-wrap:hover a.btn-slide span { left:0; }
.item-wrap a.btn-slide:hover i,
.item-wrap a.btn-slide:hover span { background:var(--secondary); }

.env-wrap { background:#eee; }


/*** INFORMATION ***/
#newsWrap { box-shadow: 0 0 45px rgba(0, 0, 0, .07); }
#newsWrap ul { height:200px; overflow:auto; }
#newsWrap ul li { font-size:12px; border-bottom:1px dotted #ccc; line-height:120%; list-style-type:none; }

#newsWrap ul li .up_ymd { display:block; margin-bottom:5px; color:#666; }
#newsWrap ul li .title { font-size:16px; }
.catName { display:none; }
/* .catName { display:inline-block; padding:3px 8px; border:1px solid #ccc; border-radius:6px; font-size:11px; line-height:100%; margin:0 2px; } */
.newMark { display:inline-block; border:1px solid #F00; padding:1px 4px; font-size:11px; line-height:100%; background:#F00; color:#fff; box-shadow:1px 1px 1px #999; border-radius:8px; }
/* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
.comment { display:block; padding:3px 0; float:left; overflow:hidden; width:500px; }
.thumbNailWrap { display:block; width:110px; float:left; height:80px; overflow:hidden; }

#news-copy a { font-size:6px !important; }

/*** Contact ***/

/*** Footer ***/
footer { background:#333; }

footer .ft-add {}
footer .ft-add p { margin: 0 0 .5em 1.5em; text-indent:-10px; }
footer .ft-add i { display:inline-block; margin-right:5px; }

footer .btn.btn-social { margin-right:5px; width:35px; height:35px; display:flex; align-items:center; justify-content:center; color: var(--light); border: 1px solid #fff; border-radius:35px; transition: .3s; }
footer .btn.btn-social:hover { color: var(--primary); }

footer .btn.btn-link { display:block; margin-bottom:5px; padding:0; text-align:left; color:#fff; font-size:14px; font-weight:normal; text-transform:capitalize; transition:.3s; }
footer .btn.btn-link::before { position:relative; margin-right: 10px; font-family:"Font Awesome 5 Free"; content:"\f0a9"; font-weight:900; }

footer .btn.btn-link:hover { letter-spacing:1px; }

footer .copyright { padding: 25px 0; font-size:12px; color:#999; text-align:center; border-top: 1px solid #666; }
footer .copyright a { text-decoration:none; color:#999; }

footer .ft-credit,
footer .ft-credit a { font-size:6px; color:#555; }


footer .ftban { display:flex; flex-flow: row nowrap; margin: 0 0 1em; padding:1em; align-items:center; justify-content:center; text-align:center; border-radius:5px; overflow:hidden; background:#eee; }

footer .ftban div { width:50%; padding:1em; }
footer .ftban div img { width:100%; }
footer p.ftban_btm {font-size:12px; }


/* -- goTop -- */
#goTop { display:none; }
#goTop { position:fixed; bottom:10px; right:0; font-size:12px; font-weight:normal; text-align:center; z-index:999; }
#goTop a { display:block; padding: 1em 0; width:5em; color:#fff; text-decoration:none; -moz-border-radius: 5px 0 0 5px; -webkit-border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px; background:rgba(0,0,0, .6); }
#goTop a:hover { background:rgba(0,0,0, 1); }
#goTop a::before { display:block; font-size:2em; padding:0; content:"\f0aa"; font-family:'Font Awesome 5 Free'; font-weight:900; }
#goTop i { font-style:normal; }

@media screen and (max-width: 750px) {
    footer .copyright { padding-bottom:100px; }
    footer .copyright p { display:none; }

    #goTop { bottom:5px; }
    #goTop i { display:none; }
}


/*** Floating Banner ***/
.fl-ban { position:fixed; margin:0; z-index:99998; bottom:0; left:0; }
.fl-ban-body { margin:5px; padding:0; width:300px; text-align:center; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; background:rgba(0,0,0, .6); }
.fl-ban-body:hover { background:rgba(0,0,0, 1); }
.fl-ban-body a { display:block; padding:15px; color:#fff; text-decoration:none; }
.fl-ban-body a::before { font-family:'Font Awesome 5 Free'; font-weight:900; padding: 0 5px; content:'\f35a'; }
.fl-ban-close { position: absolute; top:-2px; right:-4px; z-index: 99999; padding: 2px 8px; border:none; border-radius:20px; cursor:pointer; background:#ccc; }
.fl-ban-close:hover { background:#f33; }



@media (min-width: 250px) {
    .justify-content-sm-end { justify-content: flex-end !important; }
}

@media (min-width: 576px) {
    .container,
    .container-sm { max-width:100%; }
}

@media (min-width: 992px) {
    .navbar-light .navbar-nav .nav-link::before { position:absolute; content:""; width:0; height:5px; top:-6px; left:50%; background:#fff; transition:.5s; }
    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before { width:100%; left:0; }
    .navbar-light .navbar-nav .nav-link.nav-contact::before { display:none; }
    .navbar .nav-item .dropdown-menu { display:block; border:none; margin-top:0; top:150%; opacity:0; visibility:hidden; transition:.5s; }
    .navbar .nav-item:hover .dropdown-menu { top:100%; visibility:visible; transition:.5s; opacity:1; }
    .container.fluidWrap { max-width: 100% !important; }
    .fluidWrap-right  { padding-right: calc(((100% - 960px) / 2) + .75rem); }
    .fluidWrap-left  { padding-left: calc(((100% - 960px) / 2) + .75rem); }
    .container.contact-page { max-width: 100% !important; }
    .contact-page .contact-form  { padding-left: calc(((100% - 960px) / 2) + .75rem); }
}
@media (min-width: 1200px) {
    .fluidWrap-right  { padding-right: calc(((100% - 1140px) / 2) + .75rem); }
    .fluidWrap-left  { padding-left: calc(((100% - 1140px) / 2) + .75rem); }
    .contact-page .contact-form  { padding-left: calc(((100% - 1140px) / 2) + .75rem); }
}
@media (min-width: 1400px) {
    .fluidWrap-right  { padding-right: calc(((100% - 1320px) / 2) + .75rem); }
    .fluidWrap-left  { padding-left: calc(((100% - 1320px) / 2) + .75rem); }
    .contact-page .contact-form  { padding-left: calc(((100% - 1320px) / 2) + .75rem); }
}

@media (max-width: 768px) {
    .header-carousel .owl-carousel-item { position:relative; min-height:500px; }
    .header-carousel .owl-carousel-item img { position:absolute; width:100%; height:100%; object-fit:cover; }
    .header-carousel .owl-carousel-item h5,
    .header-carousel .owl-carousel-item p { font-size:14px !important; font-weight:400 !important; }
    .header-carousel .owl-carousel-item h1 { font-size:30px; font-weight:600; }
}
@media (max-width: 990px) {
    .srvBox { max-width:100%; }
    #SERVICE .item-wrap { min-height:450px; }
    .navbar-light .navbar-nav .nav-link  { margin-right: 0; padding: 10px 0; }
    .navbar-light .navbar-nav { border-top: 1px solid #eee; }
}



/* -- print --------------------------------------------------------------------- */
@media print{	/* 印刷用CSSの定義を指定する */
	* { color:#333; }
	a[href]:after,
	abbr[title]:after { content:none; }
	html,
	body { overflow:visible; background:none; }
	nav,
    .navbar-collapse,
	#goTop,
    .fl-ban { display:none !important; }
    
    footer h4,
    footer { color:#333; background:none; }
    
.fancybox__container {
    --fancybox-color:none;
    --fancybox-backdrop-bg:#fff; }
    .srvBox { position: absolute; top:0; width:100%; border:1px solid #ccc; }
    .srvBox .text-center { text-align:left !important; }
    .srvBox button { display:none; }
    .srvBox h4 { font-size:30px; color:#000; }
    .srvBox h6 { font-size:24px; color:#000; padding: 5px 0; text-align:left; border-radius:0; background:none;}
}

