@charset "UTF-8";
/* CSS Document */

img { width: 100%; }

main#top-main { width: 100%; float:none; margin: 0; padding: 0; min-width: 1100px; }

main#top-main #page-contents { margin-top: 0px; box-sizing: border-box; }
main#top-main #page-contents .fullarea.top-bg-blue { width: 100vw; margin: 0 calc(50% - 50vw); border-bottom: 10px solid #1D4A8C; }
main#top-main #page-contents .main-visual{  left: 0px; /* background: url(../images/top/key-visual.png) no-repeat center center;  background-size: auto 100%; margin-bottom: 0px; */ }
main#top-main #page-contents .main-visual img { height: 100%; /* width: auto; */}

main#top-main .top-bg-blue { background: #0186df; }
main#top-main .top-bg-yellow { background: #FFE934; }

@media (max-width: 1100px){ 

	main#top-main #page-contents .fullarea.top-bg-blue { width: 100%; margin: 0 auto;}
	main#top-main #page-contents { padding: 0px 0px; }
 }

 @media (min-width: 768px){
	main#top-main #page-contents .main-visual{  height: 560px;  }
 }

 @media (max-width: 767px){ 
	main#top-main { min-width: auto; }
	main#top-main #page-contents .fullarea.top-bg-blue { width: 100%; margin: 0; padding-bottom: 35px; }
	main#top-main #page-contents .fullarea .container { width: 100%; min-width: auto; max-width: none; }
	main#top-main #page-contents .main-visual{  /* background-size: cover; padding-top: 100%;width: 100%; */ }
}

 /* top-nav */
main#top-main #top-nav { list-style: none; overflow: hidden; border-radius: 15px; border: 4px solid #fff; text-align: left; box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.2); position: absolute; top: -50px; box-sizing: border-box;width: 100%; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; z-index: 1;  }
main#top-main #top-nav li { position: relative; }
main#top-main #top-nav li.red { background: #F82811; text-shadow: 2px  2px 0px #6B0000,-2px 2px 0px #6B0000, 2px -2px 0px #6B0000, -2px -2px 0px #6B0000,2px  0px 0px #6B0000,0px  2px 0px #6B0000, -2px 0px 0px #6B0000, 0px -2px 0px #6B0000; }
main#top-main #top-nav li.blue { background: #0086E0; text-shadow: 2px  2px 0px #1d4a8c, -2px  2px 0px #1d4a8c, 2px -2px 0px #1d4a8c, -2px -2px 0px #1d4a8c, 2px  0px 0px #1d4a8c, 0px  2px 0px #1d4a8c, -2px  0px 0px #1d4a8c, 0px -2px 0px #1d4a8c; }
main#top-main #top-nav li.yellow { background: #ffe934; text-shadow: 2px  2px 0px #1d4a8c, -2px  2px 0px #1d4a8c, 2px -2px 0px #1d4a8c, -2px -2px 0px #1d4a8c, 2px  0px 0px #1d4a8c, 0px  2px 0px #1d4a8c, -2px  0px 0px #1d4a8c, 0px -2px 0px #1d4a8c; }
main#top-main #top-nav li:not(:first-of-type):not(:nth-of-type(4n)) { border-left: 2px solid #fff; }
main#top-main #top-nav li:nth-of-type(n+4) { border-top: 2px solid #fff; }
main#top-main #top-nav li a { display: block; width: 100%; height: 100%; color: #fff; text-decoration: none; font-size: 3rem; letter-spacing: 0.05em; }
main#top-main #top-nav li span { background: #fff; border-radius: 50%;  display: inline-block; color: #1D4A8C; box-sizing: border-box; width: 48px; height: 48px; padding: 0 10px; text-shadow: none; line-height: 48px; }
main#top-main #top-nav li span:before { width: 27px; height: 27px; }

main#top-main #top-nav.type2 { }
main#top-main #top-nav.type2 li:nth-of-type(n+4) { text-shadow: none; }
main#top-main #top-nav.type2 li:nth-of-type(n+4) a { }

main#top-main #top-nav.type3 { }
main#top-main #top-nav.type3 li:nth-of-type(n+4) { width: calc(100% / 2); }
 
main#top-main .top-nav-wrap { position: relative; }

main#top-main #top-nav li:nth-of-type(-n+3) { border-bottom: none; } 

@media (min-width: 768px){
	main#top-main #top-nav li { width: calc( 100% / 3 ); }
	main#top-main #top-nav li::before { content: ''; position: absolute; top: 50%; right: 20px; margin-top: -5px; width: 10px; height: 10px; border-top: 3px solid #fff; border-right: 3px solid #fff; transform: rotate( 45deg ); }
	main#top-main #top-nav li a { padding: 20px; }
	main#top-main #top-nav li span { margin-right: 10px; }
	main#top-main #top-nav li span:before { font-size: 28px; }

	main#top-main #top-nav.type2 li:nth-of-type(n+4) a { font-size: 2.4rem; padding: 10px 55px 10px 25px; }

}

@media (max-width: 767px){
	 main#top-main #top-nav li { width: calc( 99.9% / 3 ); }
	 main#top-main #top-nav li a { text-align: center; font-size: 1.6rem; line-height: 1.125; letter-spacing: 0.025em; position: relative; padding: 60px 0 10px; display:-webkit-box; display:-ms-flexbox; display:flex; min-height: 95px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	 main#top-main #top-nav li span { width: 44px; height: 44px; padding: 0 9px; position: absolute; top: 10px; left: 0; right: 0; margin: 0 auto; }
	 main#top-main #top-nav li span:before { font-size: 27px; }

	 main#top-main #top-nav.type2 li:nth-of-type(n+4) a { padding: 10px 0; min-height: inherit; }
}

/* --------------------------------------------

	top-bnr-area

-------------------------------------------- */
.top-bnr-area { position: relative;}
.top-bnr-area::before { content: ""; position: absolute; width: 100%; height: 180px; left: 0; top: 0; background-color: #EDF3FA; z-index: -1;}
.top-bnr-area .container {}
.top-bnr-area .l_col-2 { padding: 30px 0;}
.top-bnr-area figure {}
.top-bnr-area figure img {}


@media (min-width: 768px){
	.top-bnr-area { padding-top: 180px; }
	.top-bnr-area .container {}
	.top-bnr-area .l_col-2 { justify-content: center;}
	.top-bnr-area figure { max-width: 435px;}
	.top-bnr-area figure img {}
	.top-bnr-area figure:first-child { margin-right: 40px;}
	
}

@media (max-width: 767px){
	.top-bnr-area { padding-top: 180px; }
	.top-bnr-area .container {}
	.top-bnr-area .l_col-2 {}
	.top-bnr-area figure {}
	.top-bnr-area figure:last-child { margin-bottom: 0;}
	.top-bnr-area figure img {}
	
}

/* --------------------------------------------

	notes

-------------------------------------------- */
.notes { text-align: center; padding: 35px 0 45px;}
.notes .title { color: #F82811; font-size: 2.4rem; font-weight: 800; line-height: 1.6; margin-bottom: 15px;}
.notes .title span { width: 42px; height: 42px; display: inline-block; border-radius: 50%; background-color: #F82811; color: #fff; text-align: center; line-height: 42px; font-size: 120%; margin-right: 10px; vertical-align: -3px; }

.notes .text { margin-bottom: 0;}
.notes .text p { color: #333; font-weight: 600; line-height: 1.6;}
.notes .text .highlighter { color: #F82811;}

@media (min-width: 768px){
	.notes {}
	.notes .title {}
	.notes .title span {}
	.notes .text {}
	.notes .text p { font-size: 1.8rem; }
	.notes .text .highlighter {}
}

@media (max-width: 767px){
	.notes { padding-left: 15px; padding-right: 15px;}
	.notes .title {}
	.notes .title span {}
	.notes .text {}
	.notes .text p { font-size: 1.6rem; }
	.notes .text .highlighter {}
}





 /* catch */
#catch { }

 main#top-main #catch .fullarea { padding-top: 70px; }
 main#top-main #catch .fullarea .container { min-width: 1100px; max-width: 1400px; width: auto; }
 main#top-main #catch .fullarea figure{  width: 100vw; height: 260px; left: 0px; background: url(../images/top/top-chach-bg.jpg) no-repeat center center; background-size: cover; }

 @media (max-width: 1100px){ 

	main#top-main #catch .fullarea figure{ width: 100%; margin: 0 auto;}
 }
 

 main#top-main #catch .fullarea img { width: 925px; margin: 0px auto; display: block; padding: 13px 0; }
 
 main#top-main #catch .list-a li { margin-bottom: 10px;  width: 30%; padding-bottom: 5px; padding-left: 15px;}
 main#top-main #catch .list-a li:before { width: 8px; height: 8px; top: 8px; margin-right: 10px; }
 main#top-main #catch .list-a.l_col-3 { text-align :left; }
 main#top-main #catch .list-a.l_col-3 > *:nth-child(n+4) { margin-top: 10px; }
 @media (min-width: 768px){
	main#top-main #catch .list-a.l_col-3::after { width: 30%; }
}

main#top-main #catch .catch-list p { font-size: 1.2rem; text-align: center; margin-top: 40px; }
main#top-main #catch .catch-list { background: #fff; padding: 40px; border-radius: 20px; margin-top: -80px;}

main#top-main #catch .tel img { width: 1013px; display: block; margin: 0px auto; }

main#top-main #catch .list-a li::after {   background:linear-gradient(to right, rgba(248,40,17,1), rgba(248,40,17,1) 33%, rgba(0, 0, 0, 0) 33%, rgba(0, 0, 0, 0) 100%) 0% 0%; background-size:3px 1px; width: 100%; height: 1px; content: ''; display: block; left: 0; bottom: 0; position: absolute;}

@media (max-width: 767px){  
	main#top-main #catch .fullarea img { width: 90%; max-width: 360px; padding: 20px 0; }
	main#top-main #catch .fullarea figure { height: 235px; }
	main#top-main #catch .list-a { margin-top: 20px; }
	main#top-main #catch .list-a li { width: 100%; }
	main#top-main #catch .catch-list { background: #fff; padding: 0px; border-radius: 0px; margin-top: 0px; }
	main#top-main #catch .catch-list p { font-size: 1.2rem; text-align: left; margin-top: 10px; margin-bottom: 50px; }
	main#top-main #catch .tel img { width: 100%; }
	main#top-main #catch .list-a.l_col-3 > *:nth-child(n+4) { margin-top: 0px; }
	main#top-main #catch .list-a.l_col-3 > * { margin-bottom: 10px; }

}

 /* solution */

 #solution { padding: 50px 0px 1px 0px; margin-bottom: 70px; }

.top-title { width: 182px; height: 182px; border: 4px solid #F82811; border-radius: 50%; background: rgb(248,40,17);
	background: linear-gradient(0deg, rgba(248,40,17,1) 20%, rgba(255,255,255,1) 20%); position: relative; font-size: 3.4rem; line-height: 1.2; color: #F82811; margin: 0px auto; z-index: 200; }

.top-title span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);  -webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%); text-align: center; width: 100%; font-weight: bold; }

.top-title::before {  width: 34px; height:30px; display: block; margin: 10px auto; }

.top-title::after { content: 'solution';  display: block; position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%);font-size: 1.8rem; color: #fff; font-family: 'M PLUS 1p', sans-serif; }

#solution .solution_contents { border: 5px solid #FFE934; padding: 20px; box-sizing: border-box; background: #fff; border-radius: 24px;  margin-top: -90px; position: relative;}

#solution .l_col-4 { -webkit-justify-content: space-between; justify-content: space-between; padding-top: 90px;}
#solution .l_col-4 figure {  width: 203px; position: relative; }
#solution .l_col-4 figure::after { content: ''; background: url(../images/top/solution-arrow.png) no-repeat center center; background-size: auto 100%; width: 40px; height:20px; display: block; position: absolute; right: -60px; top: 90px; }
#solution .l_col-4 figure:last-child::after { content: none; }
#solution .l_col-4 figcaption { text-align: center; color: #000000; }
#solution .l_col-4 img {   }

#solution .container { margin-top: -100px; }

#solution .lead-left { position: absolute; left: 130px; text-align: right; }
#solution .lead-right { position: absolute; right: 35px; text-align: left; }

#solution .lead-left .lead-a { font-size: 2.4rem; line-height: 1.5; display: inline;}
#solution .lead-right .lead-b { font-size: 2.4rem; line-height: 1.5;  display: inline;}

@media (max-width: 767px){  
	#solution .l_col-4 figure::after { content: none; }
	#solution .l_col-4 figure {  width: 48%; }
	#solution .l_col-4 { padding: 130px 0 70px 0;}
	#solution .lead-left { position: absolute; text-align: center; top: 65px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); width: 100%;}
	#solution .container { margin-top: -90px; }
	#solution .lead-right { position: absolute; text-align: center; bottom: 30px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); width: 100%; }
	#solution .lead-left .lead-a { font-size: 2.0rem; }
	#solution .lead-right .lead-b { font-size: 2.0rem; }
	.top-title { font-size: 2.2rem; width: 120px; height: 120px; }
	.top-title::before { width: 22px; height: 20px; }
	.top-title::after { font-size: 1.2rem; }
	#solution .solution_contents {  margin-top: -50px; }
}

 /* shop */

 #shop .top-title { outline: 8px #fff solid; }
 #shop .top-title::after { content: 'shop';  display: block; position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%);font-size: 1.8rem; color: #fff; font-family: 'M PLUS 1p', sans-serif;}
 #shop .border{ position: relative; margin-bottom: 40px; }
 #shop .border::before { border-bottom: 4px solid #F82811; content: ''; display: block; max-width: 1100px;width: 1100px;  margin: 0px auto; position: absolute; top: 50%; left: 50%;transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); }
 #shop .lead-a { font-size: 2.2rem; text-align: center; margin-bottom: 40px;}
 #shop .lead-b { font-size: 3.8rem; }
 #shop p { text-align: left; line-height: 1.7; margin-bottom: 40px;}
 #shop .shop-about figcaption{ color: #fff; text-align: center; }


#shop .service {}
#shop .service section {}
#shop .service .title { color: #F82811; font-size: 2.4rem; font-weight: 700; text-align: left; margin-bottom: 10px;}
#shop .service .title span { vertical-align: middle; margin-right: 12px; }
#shop .service .text { font-size: 1.4rem; line-height: 1.4; margin-bottom: 0;}
#shop .service .text p { margin-bottom: 0;}

 @media (min-width: 768px){
	#shop { margin-bottom: 140px !important; }
	#shop .l_col-2 { padding: 0px 50px; }

	#shop .service { padding-top: 60px;}
	#shop .service section { margin-bottom: 0;}
	#shop .service section:nth-child(n+3) { margin-top: 60px;}
	#shop .service .title {}
	#shop .service .title span { font-size: 190%; }
	#shop .service .text {}
	#shop .service .text p {}
	

 }

 @media (max-width: 767px){  

	#shop { margin-bottom: 50px;}
	#shop .top-title::after { font-size: 1.2rem; }
	#shop .border::before { width: 100%; }
	#shop .lead-a { font-size: 2.0rem; margin-bottom: 20px; line-height: 1.4; }
	#shop .lead-b { font-size: 3.4rem; margin: 10px 0px; display: block; }
	#shop .l_col-2 { -webkit-flex-direction: column-reverse; flex-direction: column-reverse; }

	#shop .service { padding-top: 40px; flex-direction: column; }
	#shop .service section { margin-bottom: 40px;}
	#shop .service section:last-child { margin-bottom: 0px;}
	#shop .service .title {}
	#shop .service .title span { font-size: 160%; }
	#shop .service .text {}
	#shop .service .text p {}
	

 }

  /* news */
#news { margin-bottom: 70px; }
#news .headingTop { border-bottom: 2px solid #F82811; color:#F82811; font-size: 2.8rem; padding-bottom: 5px; }

#news .headingTop:before { background-size: auto 100%; width: 34px; height:30px; display: inline-block; margin-right: 10px;}

#news ul li .time { color:#F82811; font-weight: bold;}
#news ul li .title { font-weight: bold; }
#news ul { list-style: none; }
#news ul li { position: relative; }
#news ul li:not(#news .body li)::before { content: ''; background:linear-gradient(to right, rgba(248,40,17,1), rgba(248,40,17,1) 33%, rgba(0, 0, 0, 0) 33%, rgba(0, 0, 0, 0) 100%) 0% 0%; background-size:3px 1px; width: 100%; height: 1px; content: ''; display: block; left: 0; bottom: 0; position: absolute; }
#news ul li a { text-decoration: none; display: block; color: inherit; }
#news ul li a:hover { opacity: 0.8; }
#news ul li .body { display: none; overflow: hidden; }
#news ul li .body > *:last-child { padding-bottom: 15px; }
#news ul li .body a { text-decoration: underline; display: inline-block;}
#news ul li .head { position: relative; }
#news ul li .toggle-btn { border: 1px solid #f82811; width: 20px; height: 20px; position: relative; }
#news ul li .toggle-btn::before, 
#news ul li .toggle-btn::after { content: ''; width: 12px; height: 2px; background: #f82811; position: absolute; top: 50%; left: 0; right: 0; margin-left: auto; margin-right: auto; }
#news ul li .toggle-btn::before { margin-top: -1px; }
#news ul li .toggle-btn::after { margin-top: -1px; transform: rotate(90deg); transition: 0.3s; }
#news ul li.active .toggle-btn::after { margin-top: 0; transform: translateY(-50%) rotate(180deg); transition: 0.3s; }
#news ul li img { width: auto; height: auto; }

#news .moreWrap { display: none; }
#news .moreBtn { text-align: center; margin-top: 10px; }
#news .moreBtn a { color: #007dd0; position: relative; }
#news .moreBtn a::before { content: '▼'; font-size: 1.4rem; position: absolute; top: 50%; left: -16px; margin-top: -9px; }
#news .moreBtn a::after { content: '▼'; font-size: 1.4rem; position: absolute; top: 50%; right: -16px; margin-top: -9px; }
#news .moreBtn.active a::before ,
#news .moreBtn.active a::after { transform: rotate(180deg); }

#news .bnr.l_col-2 img {  }

@media (min-width: 768px){
	#news ul li .title { font-size: 2.0rem; line-height: 1.75; width: calc( 100% - 115px ); }
	#news ul li .time { width: 115px; }
	#news ul li .head { padding: 12px 10px; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

	#news .news-article .head { cursor: pointer;}
	#news ul li .body { padding: 0px 10px; }
	#news ul li .body a:hover { text-decoration: none; }
}

@media (max-width: 767px){
	#news ul li .title { font-size: 2.0rem; line-height: 1.5; }
	#news ul li .time { display: block; font-size: 1.2rem; }
	#news ul li .toggle-btn { position: absolute; top: 50%; right: 10px; margin-top: -10px; }
	#news ul li .head { padding: 10px 0; }
}


  /* access */
#access { width: auto; margin: 0px auto; }
#access #ggmap { height: 480px; margin-bottom: 50px; }

@media (max-width: 767px){  
	#access #ggmap { height: 360px; }
}
/* --------------------------------------------

	gallery

-------------------------------------------- */
main#top-main { min-width: auto; }
#gallery { background: #0086e0; border-top: 5px solid #ffe934; border-bottom: 5px solid #ffe934; }
#gallery h3 { text-align: center; color: #fff; line-height: 1.16; letter-spacing: 0.05em; }
#gallery .slider { max-width: 1400px; margin: 0 auto; list-style: none; }
#gallery .slider > div figure { margin-bottom: 0; }
#gallery .slider > div figcaption { color: #fff; font-size: 1.4rem; text-align: center; line-height: 1.5; letter-spacing: 0.06em; }
@media (min-width: 1101px) {
    #gallery { width: 100vw; margin: 0 calc(50% - 50vw); }
}

@media (min-width: 768px) {
    #gallery { padding-bottom: 30px; margin-bottom: 80px; }
    #gallery h3 { font-size: 2.6rem; padding: 20px 0; }
}

@media (max-width: 767px) {
    #gallery { padding-bottom: 30px; margin-bottom: 70px; }
    #gallery h3 { font-size: 2.0rem; padding: 18px 0; }
    #gallery .slider { max-width: 375px; margin: 0 auto; }
    #gallery .slider > div figure { max-width: 312px; margin: 0 auto; }
    #gallery .l_col-4 > * { margin-bottom: 0; }
    #gallery .slick-prev, #gallery .slick-next { width: 24px; height: 24px; margin-top: -18px; }
    #gallery .slick-prev:before, #gallery .slick-next:before { opacity: 1; font-size: 26px; }
    #gallery .slick-prev { left: 3px; z-index: 10; }
    #gallery .slick-next { right: 3px; z-index: 10; }
}


/* --------------------------------------------

	line-estimate

-------------------------------------------- */
.line-estimate { max-width: 560px; margin-left: auto; margin-right: auto; }
.line-estimate a {}
.line-estimate img {}

@media (min-width: 768px){
	.line-estimate { margin-bottom: 115px; margin-top: 60px; }
	.line-estimate a {}
	.line-estimate img {}
}

@media (max-width: 767px){
	.line-estimate { width: 80%; margin-bottom: 80px; margin-top: 40px;}
	.line-estimate a {}
	.line-estimate img {}
}


/*------------------------------------------------------

	biz_calendar

------------------------------------------------------*/
#calendar {}
#calendar .lead-a { margin-bottom: 20px;}

#biz_calendar { max-width: 750px !important; }
#biz_calendar img { width: auto !important; }
/* #biz_calendar p span.boxholiday { background-color: #64BDEB !important;  } */
/* #biz_calendar table.bizcal .holiday { background-color: #64BDEB !important; } */
#biz_calendar p span.boxeventday { background-color: #F63C9F !important; }
#biz_calendar table.bizcal .eventday { background-color: #F63C9F !important; }
#biz_calendar > p { display: inline-block; width: auto;  margin-right: 30px!important; }

@media (min-width: 769px) {
	#calendar { padding-top: 50px;}
    #biz_calendar {}
}

@media (max-width: 768px) {
	#calendar { padding-top: 30px;}
    #biz_calendar {}
}

@media (max-width: 480px) {

}

