@charset "UTF-8";

/* reset css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; box-sizing:border-box; position:relative; }
body { line-height:1; box-sizing:border-box; position:relative; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; box-sizing:border-box; position:relative; }
ul, li { list-style:none; box-sizing:border-box; position:relative; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; text-decoration:none; box-sizing:border-box; position:relative; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; box-sizing:border-box; position:relative; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; box-sizing:border-box; position:relative; }
input, select { vertical-align:middle; box-sizing:border-box; position:relative; }
/* /reset css */



/* common */
body {font-size:16px;line-height:180%; background-color:#FFF; color:#251E1C; -webkit-text-size-adjust:100%; }
body {font-family: "メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;}

.font_mincho {font-family: 游明朝, "Yu Mincho",YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HGS明朝E, HG明朝E, "MS P明朝", "MS 明朝", Georgia, "Times New Roman", Times, メイリオ, Meiryo, serif;
}

a {transition: all 0.2s 0s ease;}

img {max-width:100%; height:auto; }

.pc_only {display:block;}
.sp_only {display:none;}
.pcin_only {display:inline;}
.spin_only {display:none;}

.clearfix:after {content:""; display:block; width:100%; clear:both;}

.wrap {padding:0px 80px 0px 80px; }
.wrap1200 {width:100%; max-width:1200px; margin:0px auto;}
.wrap1000 {width:100%; max-width:1000px; margin:0px auto;}
.wrap900 {width:100%; max-width:900px; margin:0px auto;}
.wrap800 {width:100%; max-width:800px; margin:0px auto;}
.wrap700 {width:100%; max-width:700px; margin:0px auto;}
.wrap600 {width:100%; max-width:600px; margin:0px auto;}
/* /common */



/* content */
.header {width:100%; padding:0px 0px 0px 0px; background-color:#13b3ab; }
.topheader {display:flex; justify-content: space-between; align-items: center; }
.headerlogo {display:flex; flex-flow: column; align-items: center; justify-content: center; width:200px; padding:10px 0px; color:#FFF;  text-align:center; background-color:#13b3ab; }
.headerlogo strong {display:block; font-size:21px; }
.headerlogo strong span {display:block; font-family: 'Fredoka One', cursive; font-size:16px;  font-weight:400; }
.headerlogo:hover {color:#FF3; background-color:#0f8f89; }
.image-slider {width:70px; }
.image-slider:after {content:""; display:block; padding-top:138%; }
.slide-item {width: 100%; padding-top:138%; background-size:contain; background-repeat:no-repeat; opacity: 0; position: absolute; }
.slide-item0 {opacity: 1;}
.slide-item1 {animation: fade1 3s infinite;}
.slide-item2 {animation: fade2 3s infinite;}
.slide-item3 {animation: fade3 3s infinite;}
@keyframes fade1 {
    0%, 100% { opacity: 1; }
    33.33% { opacity: 0; }
    66.66% { opacity: 0; }
}
@keyframes fade2 {
    0%, 100% { opacity: 0; }
    33.33% { opacity: 1; }
    66.66% { opacity: 0; }
}
@keyframes fade3 {
    0%, 100% { opacity: 0; }
    33.33% { opacity: 0; }
    66.66% { opacity: 1; }
}

.topheader h1 {padding:0px 20px; text-align:center; }
.topheader h1 strong {display:block; color:#FFF; font-size:36px; line-height:140%; font-weight:bold; }
.topheader h1 strong span {letter-spacing:-0.25em; }
.topheader h1 small {display:block; padding:10px 0px 0px 0px; font-size:18px; line-height:140%; font-weight:normal; }

.menu {display:flex; align-items: center; justify-content:space-between; width:320px; }
.menu ol {width:100%; }
.menu ol li {font-size:14px; line-height:150%; text-align:center; }
.menu ol li {padding:15px 22px 15px 22px; }
.menu ol li strong {display:block; margin-top:10px; padding:10px 16px 10px 16px; color:#FFF; font-size:24px; text-align:center; background-color:#F60; border:3px #FCA solid; 
	border-radius:30px;
	-webkit-border-radius:30px;
	-moz-border-radius:30px;}
.menu ol li strong span {display:block; padding:0px 0px 6px 0px; font-size:14px; line-height:140%; font-weight:normal; }

.spmenu {display:none; width:100%; position:fixed; bottom:0; left:0; z-index:99999; }
.spmenu ol {width:100%; background-color:rgba(19,179,171,0.8); }
.spmenu ol li {padding:10px 10px 10px 10px; color:#FFF; font-size:3.2vw; line-height:150%; text-align:center; }
.spmenu ol li {padding:15px 22px 15px 22px; }
.spmenu ol li strong {display:flex; align-items: center; justify-content:center; margin-top:10px; padding:10px 16px 10px 16px; color:#FFF; background-color:#F60; border:3px #FCA solid; 
	border-radius:30px;
	-webkit-border-radius:30px;
	-moz-border-radius:30px;}
.spmenu ol li strong span {display:block; padding:0px 10px 0px 0px; font-size:2.8vw; line-height:140%; font-weight:normal; }
.spmenu ol li small {font-size:5.8vw; text-align:center; }





.main {min-height:400px; }



.footer {background-color:#13b3ab; }
.footer > div {padding:40px 0px 40px 0px; }
.footer dl {display:flex; align-items: center; justify-content:center; }
.footer dl dd:nth-child(1) {width:100px; }
.footer dl dd:nth-child(3) {width:120px; }
.footer dl dd .image-slider {width:100%; }
.footer dl dd a {display:block; }
.footer dl dd a img {display:block; max-width:100%; }
.footer dl dt {padding:0px 40px; }
.footer h2 {color:#FFF; text-align:center; }
.footer h2 span {display:block; font-size:16px; line-height:140%; font-weight:normal; }
.footer h2 strong {display:block; padding:6px 0px 0px 0px; font-size:24px; line-height:140%; }
.footer h3 {padding:30px 0px 0px 0px; color:#FFF; font-size:16px; line-height:140%; font-weight:normal; text-align:center; }
.copy {display:block; padding:15px 0px 15px 0px; color:#FFF; font-size:12px; line-height:120%; letter-spacing:0px; font-weight:normal; text-align:center; background-color:#333; }



.page-top {display:none; position: fixed; bottom: 16px; right: 24px; z-index:9000; opacity:0.75; cursor:pointer; }
.page-top img {display:block; }
.page-top:hover {opacity:0.5;}



.anker {position:absolute; top:0px; left:0px; }
/* /content */



/* top */
.kv{width:100%; height:700px; }
.kv li img {display:block; width:100%; }

.kv h2 {display:flex; align-items: center; margin:auto; padding:0px 0px 0px 0px; color:#FFF; position:absolute; top:0; bottom:0; right:0; left:0; }
.kv h2 strong {display:block; width:100%; padding:16px 20px 16px 20px; text-align:center; background-color:rgba(19,179,171,0.5); 
	text-shadow:
			 4px 4px 5px rgba(0,0,0,0.3), -2px -2px 5px rgba(0,0,0,0.3),
			-2px 4px 5px rgba(0,0,0,0.3),  4px -2px 5px rgba(0,0,0,0.3);}
.kv h2 span {display:inline-block; padding:4px 0px 0px 0px; font-size: 45px; line-height: 120%; font-weight:bold; letter-spacing: 0.05em; }
.kv h2 small {display:inline-block; font-size: 28px; line-height: 120%; font-weight:bold; letter-spacing: 0.05em; text-align:left; }



.bx-wrapper {margin-bottom: 0px; }
.bx-wrapper {-moz-box-shadow:inherit; -webkit-box-shadow: inherit; box-shadow: inherit; border: inherit; background: inherit; }
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {position:relative; bottom: 0px; width: 100%;}
.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {background-position: inherit; }



.top_about {padding:60px 0px 60px 0px; background-color:#fefbe0; }
.top_about dl {display:flex; align-items: center; justify-content:center; }
.top_about dl dt {width:64%; background: linear-gradient(to bottom left, rgba(19,179,171,0.2) 0%, rgba(255,255,255,1) 40%, rgba(255,255,255,1) 60%, rgba(19,179,171,0.2) 100%); box-shadow:10px 10px 15px rgba(0,0,0,0.5); border:3px #13b3ab solid; 
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;}
.top_about dl dt h4 {padding:30px 0px 30px 40px; }
.top_about dl dt h4 span {display:inline-block; color:#666; font-size:36px; }
.top_about dl dt h4 span small {display:block; width:14px; height:32px; background-color:rgba(19,179,171,0.5); position:absolute; bottom:0px; left:-20px; }
.top_about dl dt h4 span:before {content:""; display:block; width:60%; height:1px; background-color:#13b3ab; position:absolute; bottom:-18px; left:0px; }
.top_about dl dt h4 span:after {content:""; display:block; width:100%; height:2px; background-color:#13b3ab; position:absolute; bottom:-12px; left:0px; }
.top_about dl dt h3 {padding:20px 40px 40px 40px; }
.top_about dl dt h3 strong {display:block; font-size:24px; line-height:180%; font-weight:normal; }
.top_about dl dt h3 strong span {display:block; padding:0px 0px 6px 0px; font-size:16px; line-height:140%; font-weight:normal; }
.top_about dl dt h3 strong:nth-child(1) {text-indent: 0.5em;}
.top_about dl dt h3 strong:nth-child(2) {text-indent: 2em;}
.top_about dl dt h3 strong:nth-child(3) {text-indent: 3.5em;}
.top_about dl dt h3 strong:nth-child(4) {text-indent: 5em;}



.top_service {margin-top:30px; background-color:rgba(19,179,171,0.1); }
.slash_w {display:block; width:100%; }
.top_service > div {padding:80px 0px 80px 0px; }

.top_service section {padding:0px 0px 60px 20px; }
.top_service h2 {display:inline-block; color:#666; font-size:36px; font-weight:normal; }
.top_service h2 span {display:block; width:14px; height:32px; background-color:rgba(19,179,171,0.5); position:absolute; bottom:0px; left:-20px; }
.top_service h2:before {content:""; display:block; width:60%; height:1px; background-color:#13b3ab; position:absolute; bottom:-18px; left:0px; }
.top_service h2:after {content:""; display:block; width:100%; height:2px; background-color:#13b3ab; position:absolute; bottom:-12px; left:0px; }

.top_service dl {display:flex; align-items:stretch; justify-content:space-between; }
.top_service dl dd {width:50%; background-position:center center; background-repeat:no-repeat; background-size:cover; overflow: hidden; cursor:pointer; }
.top_service dl dd:after {content:""; display:block; padding-top:73%; }
.top_service dl dd article {display:block; margin:auto; width:100%; height:100%; background-position:center center; background-repeat:no-repeat; background-size:cover; position:absolute; top:0; bottom:0; left:0; right:0; transition: all .3s ease-out;}
.top_service dl dd:hover article {transform: scale(1.1);}
.top_service dl dd h5 {display:flex; align-items: center; justify-content:space-between; width:100%; color:#FFF; background-color:rgba(19,179,171,0.5); position:absolute; top:0px; left:0px; transition: all 0.2s 0s ease; }
.top_service dl dd h5 span {padding:2px 6px; font-size:12px; font-weight:normal; }
.top_service dl dd h5 strong {padding:2px 6px; font-weight:bold; }
.top_service dl dd h3 {width:100%; margin:auto; padding:10px; color:#FFF; font-size:24px; line-height:120%; text-align:center; text-shadow:1px 1px 2px rgba(0,0,0,0.6); background-color:rgba(0,0,0,0.3); position:absolute; bottom:0; left:0px; transition: all 0.2s 0s ease; }
.top_service dl dd h3 small {font-size:16px; line-height:160%; transition: all 0.2s 0s ease; }
.top_service dl dt {width:50%; padding:20px; background-color:#FFF; }
.top_service dl dt h4 {font-size:16px; line-height:160%; font-weight:normal; }
.top_service dl dt h4 strong {color:#13b3ab; font-size:24px; line-height:180%; font-weight:bold; }
.top_service dl dt h4 span {padding:2px 12px 2px 12px; color:#FFF; font-size:16px; line-height:200%; font-weight:normal; background-color:#F60; 
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;}
.top_service dl dt h4 small {display:block; padding:8px 0px 0px 0px; }
.top_service dl dt img {display:block; width:180px; padding:8px 0px 0px 0px; }

.top_service ul {display:flex; align-items: center; justify-content:space-between; flex-wrap:wrap; margin-top:40px; }
.top_service ul li {display:block; width:48%; background-position:center center; background-repeat:no-repeat; background-size:cover; overflow:hidden; cursor:pointer; }
.top_service ul li:after {content:""; display:block; padding-top:73%; }
.top_service ul li article {display:block; margin:auto; width:100%; height:100%; background-position:center center; background-repeat:no-repeat; background-size:cover; position:absolute; top:0; bottom:0; left:0; right:0; transition: all .3s ease-out;}
.top_service ul li:hover article {transform: scale(1.1);}
.top_service ul li h5 {display:flex; align-items: center; justify-content:space-between; width:100%; color:#FFF; background-color:rgba(19,179,171,0.5); position:absolute; top:0px; left:0px; transition: all 0.2s 0s ease; }
.top_service ul li h5 span {padding:2px 6px; font-size:12px; font-weight:normal; }
.top_service ul li h5 strong {padding:2px 6px; font-weight:bold; }
.top_service ul li h3 {width:100%; margin:auto; padding:10px; color:#FFF; font-size:24px; line-height:120%; text-align:center; text-shadow:1px 1px 2px rgba(0,0,0,0.6); background-color:rgba(0,0,0,0.3); position:absolute; bottom:0; left:0px; transition: all 0.2s 0s ease; }
.top_service ul li h3 span {display:block; font-size:14px; line-height:140%; font-weight:normal; }

.top_service .price {padding:20px 20px 20px 20px; text-align:center; }

.top_service .toservice {display:block; width:60%; margin:20px auto 0px auto; color:#FFF; background-color:#F60; border:3px #FCA solid; box-shadow:10px 10px 15px rgba(0,0,0,0.5); 
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;}
.top_service .toservice h3 {display:flex; align-items: center; justify-content:space-between; padding:15px 25px; }
.top_service .toservice h3 strong {font-size:22px; line-height:140%; }
.top_service .toservice h3 strong span {display:block; font-size:12px; border-top:1px #FFF solid; }
.top_service .toservice h4 {padding:0px 25px 25px 25px; font-size:43px; text-align:center; }



.top_map {padding:20px 0px 20px 0px; }
.gmap {position: relative; width:100%; height: 0; padding-top:40%;}
.gmap iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; filter:grayscale(30%);}
/* /top */