@charset "utf-8";

@media screen and (max-width: 750px) {

/* 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;}body {line-height:1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block;}nav ul {list-style:none;}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;}/* change colours to suit your needs */ins {background-color:#ff9;color:#000;text-decoration:none;}/* change colours to suit your needs */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;}/* change border colour to suit your needs */hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}input, select {vertical-align:middle;}

/*
 * defaut style
 */
html { height:100%; overflow-y:scroll; background:#fff; font-size:15px; min-height:600px; -webkit-text-size-adjust: 100%; }
body { color:#000;  word-wrap:break-word; background:#FFFFFF; -webkit-font-smoothing: antialiased; overflow:hidden; }
body { font-family: 'Noto Sans JP', sans-serif; font-weight:400; }
select,
input[type=text],
textarea { font-family: 'Noto Sans JP', sans-serif; font-size:15px; color:#000; }
body.loading .contents,
body.loading #header { opacity:0.2; }
body.loading2 .contents,
body.loading2 #header  { opacity:0; }
body.loaded .contents,
body.loaded #header { opacity:1; /* animation:fadeInEx2 0.5s ease 0.8s forwards!important; */ }
body.loaded2 .contents,
body.loaded2 #header { opacity:1; /* animation:fadeInEx 0.5s ease 0s forwards!important; */ }
body.loading #header-inner { opacity:0; }
body.loaded #header-inner { opacity:1; /* animation:fadeInEx 0.5s ease 0.8s forwards!important; */ }
table { word-break:break-word; } 
div { font-size:15px; }
img,input[type=image],video { max-width:100%; height:auto; width:auto; vertical-align:bottom; border:none; }
li { list-style-type:none; }
ol li {  margin-left:20px; padding-left:5px; list-style-type:decimal; margin-bottom:0.5em; line-height:180%; }
ul li {  margin-left:20px; padding-left:5px; list-style-type:disc; margin-bottom:0.5em; line-height:180%; }
p { margin-bottom:2em; line-height:180%; }
p:last-child { margin-bottom:0; }
p > a { color:#1B67B2; text-decoration:none; transition:0.3s ease-in-out; }
p > a:hover { color:#009CB7; text-decoration:none; }
a { color: inherit; text-decoration: none; }
sup { position:relative; font-size:100%; top:-5px; }
sub { position:relative; font-size:100%; bottom:-5px; }
.clearfix { *zoom: 1; }
.clearfix:after { content: ''; display: block; clear: both; height: 0; margin-top: -1px; }
.pc { display:none!important; }
.sp { display:block; }
img.sp { display:inline-block; }
.center { text-align:center; }
.right { text-align:right; } 
strong { /* color:#C00; */ }
em { /* color:#960; */ font-weight:bold; font-style:normal; }
.container iframe { max-width:100%; height:200px; }
iframe[name=google_conversion_frame] { display:none; }
.eng { font-family: din-2014, sans-serif; }


#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
}
#loader { position: fixed;	text-align: center; color: #000; z-index: 10000; width:80px; height:48px;	left:50%; top:50%; transform:translate(-50%,-50%); overflow:hidden; }
#loader span { position:absolute; width:80px; height:48px; left:0; bottom:0;  overflow:hidden; display:block; }
#loader span:nth-child(2) { height:0%; }
#loader span:nth-child(1) img { width:80px; }
#loader span:nth-child(2) img { position:absolute; left:0; bottom:0; }





/*
 * contents
 */
body.loading { overflow:hidden; height:100%; }
body.loading #container { visibility:hidden; }

.contents { padding-top:80px; }
.content-wrapper { }
.main-content { margin:0 20px 100px; position:relative; z-index:1; }

#header .pc { display:none!important; }
#header .sp { display:block!important; }
#header img.sp { display:inline-block!important; }	
#header { position:fixed; left:0; top:0; width:100%; height:80px; z-index:1000; background:#fff; }
#header ul li { list-style-type:none; }
#header-inner { }
#header .logo { text-align:center; position: absolute; left: 0; top: 0; z-index: 10;  width: 80px; height: 80px; }
#header .header-gnav { /* display:none; */ position:fixed; z-index:3; width:100%; top:0px; height:calc(0px); overflow: auto; -webkit-overflow-scrolling: touch; transition:all 0.5s ease-in-out; background:#DDF5FF; }
#header .header-gnav.isopen { height:calc(100vh - 54px); top:0px; padding-top:110px; /* display:block; */ }
#header #sp-menu .btn { cursor:pointer; display:block; width:35px; height:23px; position:absolute; right:25px; top:28px; transition:0.2s ease-in-out; z-index:20; -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer; }
#header #sp-menu .btn i { height:1px; background:#019BB7; display:block; position:absolute; left:0; top:0; transform-origin: 50% 0%; transition:0.5s ease-in-out; }
#header #sp-menu .btn i:nth-child(1) { width:35px; top:0px; left:0; }
#header #sp-menu .btn i:nth-child(2) { width:35px; top:14px; left:0; }
#header #sp-menu .btn i:nth-child(3) { width:35px; top:28px; left:0; }
#header #sp-menu.isopen .btn { top:30px; }
#header #sp-menu.isopen .btn i { width:35px; background:#019BB7; }
#header #sp-menu.isopen .btn i:nth-child(1) { top:10px; left:0px; transform:rotate(45deg); }
#header #sp-menu.isopen .btn i:nth-child(2) { opacity:0; left:0px; }
#header #sp-menu.isopen .btn i:nth-child(3) { top:10px; left:0px; transform: rotate(-45deg); }
#header .header-gnav > ul > li { margin:0; padding:0 20px; }
#header .header-gnav > ul > li > a { line-height:140%; display:block; color:#1FA0DA; border-top:1px solid #1FA0DA; padding:20px 0; font-size:14px; font-weight: 500; position:relative; }
#header .header-gnav > ul > li:first-child > a { border-top: none; }
#header .header-gnav > ul > li:last-child > a { border-bottom:1px solid #1FA0DA; }
#header .header-gnav > ul > li > a:before{ content:""; display:block; background: url("../img/gnav_arrow.png") no-repeat; background-size:16px 16px; width: 16px; height: 16px; position:absolute; top:50%; right:20px; transform: translateY(-50%); z-index:2; }
#header .header-gnav > ul > li > a:hover { text-decoration:none; }
#header .header-gnav > ul > li.has-child > a:before{ background: url("../img/ico_plus.png") no-repeat center center; background-size:10px 10px; }
#header .header-gnav > ul > li.sp-open > a:before{ background: url("../img/ico_minus.png") no-repeat center center; background-size:10px 10px; }
#header .header-gnav > ul > li .sub { display:none; }
#header .header-gnav > ul > li .sub.sp-open { display:block!important; border-top:1px solid #eee; }
#header .header-gnav > ul > li .sub .ttl { display:none; }	
#header .header-gnav > ul > li .sub ul { margin:0; padding:0; }
#header .header-gnav > ul > li .sub ul > li { padding:0; margin:0 0 0 30px; }
#header .header-gnav > ul > li .sub ul > li > a { line-height:140%; display:block; color:#1FA0DA; border-top:1px solid #1FA0DA; padding:16px 0; font-size:14px; font-weight: 500; position:relative;  }
#header .header-gnav > ul > li .sub ul > li > a:before { content:""; display:block; background: url("../img/gnav_arrow.png") no-repeat; background-size:16px 16px; width: 16px; height: 16px; position:absolute; top:50%; right:20px; transform: translateY(-50%); z-index:2; }
#header .header-gnav > ul > li .sub ul > li > a:hover { text-decoration: none; }
#header .sns { margin: 60px 0; text-align: center; }
#header .sns li { display: inline-block; list-style-type: none; margin:0 10px 0 10px; padding: 0; }
#header .sns li a { transition: 0.3s ease-in-out; }
#header .sns .tw { width: 20px; }
#header .sns .fb { width: 22px; }
#header .sns .insta { width: 21px; }
#header .sns .youtube { width: 24px; }
#header .sns li a:hover { opacity: 0.7; }

#header .gnav-sub-area { display:none; opacity:0; background:#000; height:50px; width:100%; position:absolute; left:0; top:80px; transition:opacity 0.3s ease-in-out; pointer-events: none; }


.footer-contact .pc { display:none!important; }
.footer-contact .sp { display:block!important; }
.footer-contact { background:#1FA1DB; }
.footer-contact > .inner { max-width:360px; transform:translateX(-50%); left:50%; position:relative; padding:40px 20px;  }
.footer-contact .title { font-size:15px; line-height: 200%; font-weight: 700; color:#fff; margin:0 0 35px; }
.footer-contact .box { position:relative; }
.footer-contact .box .box-left { }
.footer-contact .box .box-left span { color:#fff; font-weight:500; display:inline-block; margin:0; vertical-align:middle; line-height: 200%; }
.footer-contact .box .box-right { max-width:360px; margin: 0 auto 35px; }
.footer-contact .box img { margin-top:0px; vertical-align:middle; width: 318px; }
.footer-contact .box .btn a { position: relative; display:block; background:#1388B9; color:#fff; font-size:18px; font-weight: 700; text-align:center; line-height:80px; border-radius: 10px; }
.footer-contact .box .btn a:before { content:""; display:block; position:absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(35deg, rgba(104,198,236,1) 0%, rgba(19,135,184,1) 60%); opacity:0; transition:0.3s ease-in-out; border-radius: 10px; }
.footer-contact .box .btn a span { position: relative; display:inline-block; }
.footer-contact .box .btn a span:after { content: ""; display: block; background:url("../img/ico_arrow01.png") no-repeat; background-size: 17px 15px ; width: 17px; height: 15px; position: absolute; right: -75px; top:50%; transform: translateY(-50%); transition:0.3s ease-in-out; }
.footer-contact .box .btn a:hover { text-decoration:none; }
.footer-contact .box .btn a:hover:before { opacity:1; }
.footer-contact .box .btn a:hover span:after { right:-85px; }

#footer { background:#fff; }
#footer ul li { list-style-type:none; }
#footer-inner { position:relative; box-sizing:content-box; max-width:1200px; margin:0 auto; padding:50px 0 30px; }
#footer .page-top { position:absolute; right:12px; bottom:12px; z-index:999; transition: 0.3s ease-in-out; }
#footer .page-top a { position:fixed; right:12px; bottom:12px; margin-left:-80px; color:#23793a; background:url(../img/pagetop.png) no-repeat left center; background-size:	41px 41px; width:41px; height:41px; display:block; text-indent:-9999px; }
#footer .page-top.end { opacity: 0; }
#footer .logo { width:100px; margin: 0 auto 35px; }
#footer .address { font-size: 12px; line-height: 200%; text-align: center; margin-bottom: 60px;}
#footer .footer-gnav { display: none; }
#footer .sns { position: absolute; left:50%; bottom: 70px; transform: translateX(-50%); text-align: center; }
#footer .sns ul { margin-bottom: 0; }
#footer .sns li { display: inline-block; list-style-type: none; margin:0 10px 0 10px; padding: 0; }
#footer .sns li a { transition: 0.3s ease-in-out; }
#footer .sns .tw { width: 20px; }
#footer .sns .fb { width: 22px; }
#footer .sns .insta { width: 21px; }
#footer .sns .youtube { width: 24px; }
#footer .sns li a:hover { opacity: 0.7; }
#footer .utils { position: relative; margin-bottom: 75px; }
#footer .utils ul { margin-bottom: 0; text-align: center; }
#footer .utils li { margin: 0 10px 0 10px; padding: 0; list-style-type: none; font-size: 12px; display: inline; }
#footer .utils li.contact { margin: 0; position: absolute; left: 50%; transform: translateX(-50%); top: -35px; }
#footer .utils li a { transition: 0.3s ease-in-out; }
#footer .utils li a:hover { text-decoration: none; opacity: 0.7; }
#footer .copyright { text-align: center; font-size:12px; font-family: Roboto; }
  
  

.topic-path { margin:20px auto 20px; position:relative; z-index:2; }
.topic-path > .inner { position:relative; max-width:1200px; margin:0 auto; margin-left: 20px; }
.topic-path > .inner:before { content:""; display:block; width:3000px; height:100%; background:rgba(255,255,255,0.9); position:absolute; right:0; top:0; z-index:-1; }
.topic-path ul { text-align:right; white-space:nowrap; overflow:hidden; text-overflow: ellipsis; visibility: visible; width:calc(100% - 20px);  }
.topic-path ul li { display:inline; font-size:12px; margin:0; padding:0; }
.topic-path ul li:after { content:"/"; margin:0 7px 0 12px; color:#000; }
.topic-path ul li:last-child:after { display:none; }
.topic-path ul li a { color:#1B67B2; position:relative; display:inline; vertical-align:bottom; transition:0.3s ease-in-out; }
/*.topic-path ul li:first-child a { width:15px; height:15px; margin-right:0px; padding-left:35px; }
.topic-path ul li:first-child a:after { position:absolute; left:0; top:50%; transform:translateY(-50%); content:""; display:inline-block; width:15px; height:15px; background:#fff; background:url(../img/ico_home.svg) no-repeat; background-size:cover; }*/
.topic-path ul li a:hover { text-decoration:none; }



/* 汎用 */
.section { margin-bottom:70px; pointer-events:none; }
.section * { pointer-events:auto; }
.section > .inner { }
.section:last-child { margin-bottom:0; }
.block { margin-bottom:80px; }
.article { margin:0 0 75px; }
.article p { }
.indent01 { margin:40px 0 0; }
.red { color:#e60012; }

.page-title { margin-top:0px; margin-bottom:80px; position:relative; height:200px; }
.page-title .inner { max-width: 1200px; height: 100%; margin: 0 auto; position: relative; }
.page-title h1 { color: #000; position:absolute; left: 0; bottom: 0; width:180px; height: 60px; background: #fff; padding:25px 20px 0; }
.page-title h1 span:nth-child(1) { font-size:22px; font-weight: 500; display:block; margin-bottom: 15px;}
.page-title h1 span:nth-child(2) { font-family: Roboto; font-size: 14px; font-weight: 700; color: #1FA1DB; display:block; }
body.about .page-title { background:url(../../about/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.service .page-title { background:url(../../service/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.checklist .page-title { background:url(../../checklist/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.works .page-title { background:url(../../works/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.download .page-title { background:url(../../download/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.news .page-title { background:url(../../news/img/bg_main.jpg) no-repeat right -240px center; background-size:cover;  }
body.privacy .page-title { background:url(../../privacy/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.contact .page-title { background:url(../../contact/img/bg_main.jpg) no-repeat center center; background-size:cover;  }
body.error .page-title { background:#E9F6FB;  }
body.error .page-title h1 { font-family: Roboto; font-size: 30px; font-weight: 500; font-style: italic; color: #1388B9; background: transparent; position: static; width: auto; height: auto; line-height: 200px; margin: 0; padding: 0; text-align:center; }


.title01 { margin-bottom:40px; opacity: 0; transition:all 0.5s ease-in-out 0s; }
.title01 span:nth-child(1) { font-size: 40px; font-weight: 600; font-family: Montserrat; margin-bottom:20px; display: block;}
.title01 span:nth-child(2) { font-weight: 700; display: block; }
.title02 { margin-bottom:80px; font-size: 22px; line-height: 140%; font-weight: 500; position: relative; }
.title02:before { content: ""; display: block; width: 25px; height: 4px; background: #1FA1DB; position:absolute; left: 0; bottom: -25px;}
.title03 { margin-bottom:50px; font-size: 20px; font-weight: 400; line-height: 1.4; text-align: center; }
.title04 { margin-bottom:40px; font-size: 22px; font-weight: 500; line-height: 1.4; text-align: center; color: #1FA1DB; }

  
.btn01 { position:relative; margin:40px auto; }
.btn01 a { font-size: 15px; font-weight: 700; font-family: Roboto; color:#fff; background:#1FA1DB; border: 2px solid #1FA1DB; display:inline-block; width:140px; padding:calc(15px) 0; text-align:center; position:relative; text-decoration:none; transition: 0.3s ease-in-out; box-sizing: border-box; }
.btn01 a:before{ content:""; display:block; width: 21px; height: 1px; background: #fff; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn02 a { font-size: 14px; font-weight: 700; font-family: Roboto; color: #1FA1DB; position: relative; text-align: center; margin-top: 30px; }
.btn02 a span { display: inline-block; position: relative; padding-right: 24px; transition: 0.3s ease-in-out; }
.btn02 a span:after { content: ""; display: block; background:url("../img/ico_arrow02.png") no-repeat; background-size: 16px 16px; width: 16px; height: 16px; position: absolute; right:0; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn03 { position:relative; margin:40px auto; }
.btn03 a { font-size: 16px; font-weight: 700; font-family: Roboto; color:#fff; background:#1FA1DB; border: 2px solid #1FA1DB; display:inline-block; width:100%; padding:calc(35px) 0; text-align:center; position:relative; text-decoration:none; transition: 0.3s ease-in-out; box-sizing: border-box; }
.btn03 a:before{ content:""; display:block; width: 21px; height: 1px; background: #fff; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn04 { text-align: center; margin-top: 40px; }
.btn04 a { position: relative; display: inline-block; background: #1FA1DB; color: #fff; font-size: 16px; font-weight: 700; text-align: center; width: 100%; max-width: 100%; line-height: 70px; border-radius: 10px; text-decoration: none; box-sizing: border-box; }
.btn04 a::before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(35deg, rgba(31,161,219,1) 20%, rgba(16,81,110,1) 80%); opacity: 0; transition: 0.3s ease-in-out; border-radius: 10px; }
.btn04 a span { position: relative; display: inline-block; }
.btn04 a span::after { content: ""; display: block; background: url("../img/ico_arrow01.png") no-repeat; background-size: contain; width: 18px; height: 20px; position: absolute; right: -35px; top: 52%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn05 { text-align: center; margin-top: 40px; }
.btn05 a { position: relative; display: inline-block; background: #FC8813; color: #fff; font-size: 16px; font-weight: 700; text-align: center; width: 100%; max-width: 100%; line-height: 70px; border-radius: 10px; text-decoration: none; box-sizing: border-box; }
.btn05 a::before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #fba400 0%, #ff6200 100%); opacity: 0; transition: 0.3s ease-in-out; border-radius: 10px; }
.btn05 a span { position: relative; display: inline-block; }
.btn05 a span::after { content: ""; display: block; background: url("../img/ico_arrow01.png") no-repeat; background-size: contain; width: 18px; height: 20px; position: absolute; right: -35px; top: 52%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn06 { text-align: center; }
.btn06 a { position: relative; display: flex; align-items: center; justify-content: center; background: #1FA1DB; color: #fff; font-size: 12px; font-weight: 700; text-align: left; width: 100%; max-width: 100%; height: auto; min-height: 90px; padding: 15px 15px 15px 80px; border-radius: 10px; text-decoration: none; box-sizing: border-box; }
.btn06 a::before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(35deg, rgba(31,161,219,1) 20%, rgba(16,81,110,1) 80%); opacity: 0; transition: 0.3s ease-in-out; border-radius: 10px; }
.btn06 a::after { content: ""; display: block; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 55px; height: 55px; background: url("../../service/img/ico_dl.png") no-repeat center center / contain; z-index: 1; }
.btn06 a span { position: relative; z-index: 1; line-height: 1.5; display: inline-block; width: 100%; }
.btn06 a span::after { content: ""; display: block; background: url("../img/ico_arrow01.png") no-repeat; background-size: contain; width: 18px; height: 20px; position: absolute; right: 0; top: 52%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.btn07 { position: relative; margin: 0 auto; width: 100%; }
.btn07 a { font-size: 14px; font-weight: 700; color: #1FA1DB; background: #fff; display: flex; align-items: center; justify-content: center; width: 100%; height: 70px; line-height: 1.4; text-align: center; position: relative; text-decoration: none; box-sizing: border-box; border-radius: 0; padding: 0 40px 0 15px; }
.btn07 a::before { content: ""; display: block; width: 35px; height: 1px; background: #1FA1DB; position: absolute; right: 0px; top: 50%; transform: translateY(-50%); }

.box-flex01 {}
.box-flex01 > * { display:block; margin:0; margin-bottom:30px; }
.box-flex02 {}
.box-flex02 > * { display:block; margin:0; margin-bottom:55px; }
.box-flex03 {}
.box-flex03 > * { display:block; margin:0; margin-bottom:30px; }

.table01 { margin-bottom:70px;}
.table01 table { width:100%; line-height:180%; }
.table01 table th { border-bottom:1px solid #707070; font-weight:700; padding:20px 10px 20px 0; text-align:left; width:110px; }
.table01 table td { border-bottom:1px solid #E1E1E1; padding:20px 0 20px 0; text-align:left;  }
.table02 { margin-bottom:70px; padding:20px 10px; background:#fff; }
.table02 table { width:100%; line-height:180%; }
.table02 table th { border-bottom:1px solid #009CB7; font-weight:400; padding:20px 10px 20px 0px; text-align:left; width:90px; }
.table02 table td { border-bottom:1px solid #E1E1E1; padding:20px 0 20px 0; text-align:left;  }
.table02 table tr:first-child th { border-top:1px solid #009CB7; }
.table02 table tr:first-child td { border-top:1px solid #E1E1E1; }

/* home */
body.home .main-content { max-width: none; margin-bottom: 0; }
.main-visual { background: #E8F6FB; padding:0 0 60px;  position: relative;}
.main-visual:after { content: ""; display: block; position: absolute; left: 0; top: 0; background: url("../../img/sp/bg_main.png") no-repeat center top; background-size:cover;  width: 100%; height: 100%; z-index: 1; }
.main-visual .inner { max-width: 1200px; height: 100%; margin: 0 auto; position: relative; }
.main-visual .title { padding-top: 250px; width: 286.63px; z-index: 2; position: relative; left:calc(50%); transform: translateX(-50%); margin-bottom: 80px; filter: drop-shadow(0 0 5px rgba(255,255,255,1)); }
.main-visual .title + h2 { width: 335px; font-size: 20px; font-weight: 700; line-height: 140%; text-align: center; margin: 0 auto 35px;}
.main-visual .title + h2 + p { font-size: 15px; line-height: 180%; margin: 0 20px; }
.main-visual .img { position: absolute; left: 0; top: 0; height:370px; background: url("../../img/sp/pho_main.jpg") no-repeat center left; background-size: cover; }

.main-visual .scroll { opacity:0; pointer-events:auto; position:absolute; left:-180px; bottom:70px; /* transform:translateY(-50%); */ z-index:999; /* transition:1.0s ease-in-out 2s; */ }


.about-section { position:relative; padding-top: 50px; }
.about-section > .inner { max-width: 1200px; margin: 0 auto;  }
.about-section > .inner:before { content:""; display:block; position:absolute; left:-30px; top:0; background:url(../../img/txt_about.png) no-repeat; background-size:351px 102px; width:351px; height:102px;  z-index:0; }
.about-section > .inner > .title01 { opacity: 0; transition:all 0.5s ease-in-out 0s; }
.about-section .box { position:relative; z-index:2; }
.about-section .box .title { font-size:20px; font-weight:700; margin-bottom:30px; line-height:160%; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.about-section .box .lead { font-size: 15px; margin-bottom:65px; line-height:180%; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.about-section .btn01 { text-align: center; display: block; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.about-section .img { margin: 40px -20px; padding: 0 0; text-align: center; opacity:0; transition:all 0.5s ease-in-out 0.2s; }
.about-section .img img { }

.about-section.is-completed > .inner > .title01 ,
.about-section.is-completed .title,
.about-section.is-completed .lead,
.about-section.is-completed .btn01,
.about-section.is-completed .img { transform:translateY(0); opacity:1; }

.service-section { padding-top:85px; background:url("../../img/sp/bg_service.png") no-repeat top left #1389bb; background-size:contain; color: #fff; margin: 0 -20px 0px; }
.service-section > .inner { max-width: 1200px; margin: 0 auto; padding: 0 20px 30px; box-sizing: content-box; }
.service-section > .inner:before { content:""; display:block; position:absolute; right:-32px; top:10px; background:url(../../img/txt_service.png) no-repeat; background-size:437px 96px; width:437px; height:96px;  z-index:0; }
.service-section > .inner > .title01 { margin-bottom: 40px; opacity: 0; transition:all 0.5s ease-in-out 0s; }
.service-section > .inner > .title01 + .lead { margin-bottom: 60px;}
.service-section .service-items .item { transform:translateY(30px); opacity:0; }
.service-section .service-items .item:nth-child(1) { transition:all 0.3s ease-in-out 0.3s; }
.service-section .service-items .item:nth-child(2) { transition:all 0.3s ease-in-out 0.6s; }
.service-section .service-items .item:nth-child(3) { transition:all 0.3s ease-in-out 0.9s; }
.service-section .service-items .item:nth-child(4) { transition:all 0.3s ease-in-out 1.2s; }
.service-section .service-items .item .photo { margin-bottom:15px; overflow:hidden; position: relative; background: #000; }
.service-section .service-items .item .photo:after { content: ""; display: block; background:url("../../img/img_service.png") no-repeat; background-size:20px 20px; width: 20px; height: 20px; position: absolute; right: 11px; bottom: 11px; z-index: 2; transition:all 0.3s ease-in-out; }
.service-section .service-items .item .photo img { transform:scale(1.0,1.0); opacity: 0.6; transition:all 0.3s ease-in-out;  }
.service-section .service-items .item .title { font-size:15px; font-weight:700; color:#fff; line-height:160%; text-align:center; text-shadow:0 0 6px rgba(0,0,0,0.3); position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); white-space: nowrap; }
.service-section .service-items .item .title span { font-size: 12px; display: block; }
.service-section .btn02 { text-align:center; margin-bottom:0; }
.service-section.is-completed > .inner > .title01 ,
.service-section.is-completed .service-items .item { transform:translateY(0); opacity:1; }

.works-section { position:relative; padding-top: 50px; }
.works-section > .inner { max-width: 1200px; margin: 0 auto;  }
.works-section > .inner:before { content:""; display:block; position:absolute; left:0px; top:60px; background:url(../../img/txt_works.png) no-repeat; background-size:369px 90px; width:369px; height:90px;  z-index:0; }
.works-section > .inner > .title01 { margin-bottom:40px; opacity: 0; transition:all 0.5s ease-in-out 0s; }
.works-section .box { position:relative; z-index:2; }
.works-section .box .title { font-size:20px; font-weight:700; margin-bottom:30px; line-height:160%; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.works-section .box .lead { font-size: 15px; margin-bottom:65px; line-height:180%; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.works-section .btn01 { text-align: center; display: block; transform:translateY(30px); opacity:0; transition:all 0.5s ease-in-out 0s; }
.works-section .img { margin: 40px -20px; text-align: center; opacity:0; transition:all 0.5s ease-in-out 0.2s; }
.works-section .img img { max-width: 375px; }
.works-section .img:after { content: ""; display: block; background:#F8F8F8; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; }
.works-section.is-completed > .inner > .title01 ,
.works-section.is-completed .title,
.works-section.is-completed .lead,
.works-section.is-completed .btn01,
.works-section.is-completed .img { transform:translateY(0); opacity:1; }
  

.news-section { padding-top:100px; background: #F8F8F8; margin: 0 -20px 0px; padding-bottom: 30px; }
.news-section > .inner { max-width: 1200px; margin: 0 auto; padding: 0 20px 30px; box-sizing: content-box;  }
.news-section > .inner:before { content:""; display:block; position:absolute; left:-30px; top:15px; background:url(../../img/txt_news.png) no-repeat; background-size:738px 105px; width:738px; height:105px;  z-index:0; }
.news-section > .inner > .title01 { margin-bottom: 60px; opacity: 0; transition:all 0.5s ease-in-out 0s; }
.news-section .news-box { position: relative;}
.news-section .menu { margin:0 0 50px 10px;  opacity:0; transition:all 0.3s ease-in-out; }
.news-section .menu .news-nav li { display: inline; font-size: 15px; line-height:140%; margin:0 30px 0 0; position:relative; padding-left:10px; list-style-type:none; }
.news-section .menu .news-nav li:last-child { margin-right: 0; }
.news-section .menu .news-nav li:before { content:""; display:block; position:absolute; left:-10px; top:calc(50% + 2px); transform:translateY(-50%); width:11px; height:11px; background:#fff; border: 1px solid #1FA1DB; transition:all 0.3s ease-in-out; border-radius: 50px; }
.news-section .menu .news-nav li.active { }
.news-section .menu .news-nav li.active a {}
.news-section .menu .news-nav li.active:before { background:#1FA1DB; }
.news-section .menu .news-nav a { transition:all 0.3s ease-in-out; }
.news-section .menu .news-nav li:hover { /* opacity:0.5; */ }
.news-section .menu .news-nav li:hover a { text-decoration:none; }
.news-section .menu .news-nav li:hover:before { } 
.news-section .menu .btn { position:absolute; left:0; top:150px; }
.news-section .news-items { background: #fff; padding:0 15px; display:none; position:relative; }
.news-section .news-items.active { display:block; }
.news-section .news-items > p { padding: 50px 0 ;}
.news-section .news-items .item { position:relative; display:block; padding:20px 0px; border-bottom:1px solid #ccc; color:#00528D; transition:0.3s ease-in-out; }
.news-section .news-items .item:last-child{ border-bottom:none; }
.news-section .news-items .item:before { content: ""; display: block; background:url("../../news/img/ico_arrow.png") no-repeat; background-size: 24px 24px; width: 24px; height: 24px; position: absolute; right:10px; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
.news-section .news-items .item .thumb { display: none; }
.news-section .news-items .item .texts { display: grid; }
.news-section .news-items .item .category { order: 2; }
.news-section .news-items .item .category span { position:absolute; left:110px; top:20px; width:105px; line-height:25px; white-space:nowrap; font-size:12px; font-weight:700; color:#fff; text-align:center; display:inline-block; border-radius:3px; transition:0.2s ease-in-out; }
.news-section .news-items .item .category.cat-news span { background: #1FA0DA; }
.news-section .news-items .item .category.cat-example span { background: #0F863D }
.news-section .news-items .item .date { order: 1; font-family:"Roboto"; font-size:14px; font-weight:700; line-height:25px; transition:0.2s ease-in-out; margin-bottom:10px; }
.news-section .news-items .item .title { order: 3; position:relative; font-size:15px; line-height:160%; padding-right: 50px; transition:0.2s ease-in-out; }
.news-section .news-items .item.pdf .title:after { content:"PDF"; display:inline-block; width:50px; line-height:24px; padding-bottom:1px; white-space:nowrap; font-size:13px; color:#fff; text-align:center; background:#777777; border-radius:50px; margin-left:10px; }
.news-section.is-completed .menu,
.news-section.is-completed .news-items,
.news-section.is-completed > .inner > .title01 { transform:translateY(0); opacity:1; }


/* about */
.message-box { }
.message-box .texts { margin-bottom: 50px; }
.message-box .photo { text-align: center; }
.message-box .title { font-family: "Noto Serif JP"; font-size: 20px; font-weight: 700; color: #0B2E57; line-height: 160%; margin-bottom: 35px; }
.message-box .position { font-size: 12px; margin-top: 25px; }
.message-box .name { font-family: "Noto Serif JP"; font-size: 20px; font-weight: 500; margin-top: 20px; }
.map { margin-bottom: 30px;}
.map iframe { width: 100%; height: 300px; }
.philosophy-block { margin-bottom: 50px; }
.philosophy-block .group { margin-bottom: 30px; display: grid; }
.philosophy-block .group .texts { order: 1;  }
.philosophy-block .group .thumb { order: 3; }
.philosophy-block .group > p { order: 2; margin-bottom: 50px; }
.philosophy-block .title { font-family: "Noto Serif JP"; font-size: 20px; font-weight: 500; margin-bottom: 30px; line-height: 160%; color: #1FA1DB; }
.philosophy-block .lead { font-weight: 700; line-height: 180%; margin-bottom: 30px; }
.philosophy-block .thumb { }
.philosophy-block + .img { max-width: 1000px; margin:0 auto 50px;}
.philosophy-items .item { position: relative; }
.philosophy-items .item .thumb { overflow: hidden; position: relative; }
.philosophy-items .item .thumb img { transform: scale(1.0, 1.0); transition: all 0.3s ease-in-out; }
.philosophy-items .item .btn { font-size: 14px; font-weight: 700; font-family: Roboto; color: #1FA1DB; position: relative; text-align: center; margin-top: 30px; }
.philosophy-items .item .btn span { display: inline-block; position: relative; padding-right: 24px; transition: 0.3s ease-in-out; }
.philosophy-items .item .btn span:after { content: ""; display: block; background:url("../img/ico_arrow02.png") no-repeat; background-size: 16px 16px; width: 16px; height: 16px; position: absolute; right:0; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }




/* service */
.service-block .lead { font-size: 18px; font-weight: 500; margin:50px 0 50px; text-align: center; line-height: 140%; }
.service-block .task-items { margin: 100px auto 60px; }
.service-block .task-items .item { width: 100%; margin-bottom: 100px; }
.service-block .task-items .title { position: relative; border: 1px solid #1FA1DB; border-radius: 8px; padding: 40px 22px 35px; margin-bottom: 50px; text-align: center; font-weight: 700; line-height: 160%; display: flex; align-items: center; justify-content: center; height: auto!important; }
.service-block .task-items .title span:before { content: ""; display: block; background: url("../../service/img/ico_ttl01.png") no-repeat; background-size: cover; width: 66.52px; height: 78.99px; position: absolute; left: 50%; top: -54px; transform: translateX(-50%); }
.service-block .task-items .item:nth-child(1) .title span:before { background-image: url("../../service/img/ico_ttl01.png"); }
.service-block .task-items .item:nth-child(2) .title span:before { background-image: url("../../service/img/ico_ttl02.png"); }
.service-block .task-items .item:nth-child(3) .title span:before { background-image: url("../../service/img/ico_ttl03.png"); }
.service-block .task-items .item:nth-child(4) .title span:before { background-image: url("../../service/img/ico_ttl04.png"); }
.service-block .task-items .content { position: relative; border: 1px solid #1FA1DB; border-radius: 8px; padding: 25px 22px; margin-bottom: 70px; height: auto!important; }
.service-block .task-items .content * { line-height: 160%; }
.service-block .task-items .content .ttl { position: relative; text-align: center; font-weight: 700; z-index: 1; margin:-25px auto 1.5em; background: #1FA1DB; border-radius: 0 0 8px 8px; color: #fff; padding: 5px 0 7px; }
.service-block .task-items .benefit { position: relative; border: 1px solid #1FA1DB; border-radius: 8px; padding: 25px 22px; height: auto!important; background: #FFFDF0; }
.service-block .task-items .benefit * { line-height: 160%; }
.service-block .task-items .benefit .ttl { position: relative; text-align: center; font-weight: 700; z-index: 1; margin:0.5em auto 1.5em; }
.service-block .task-items .benefit .ttl:before { content: ""; display: block; background: url("../../service/img/ico_benefit.svg") no-repeat; background: cover; width: 30.07px; height: 52.63px; position: absolute; left: 50%; top: -67px; transform: translateX(-50%); }
.service-block .task-items .benefit .ttl:after { content: ""; display: block; background: #FFEB00; background-size: cover; width: 136px; height: 9px; border-radius: 50px;  position: absolute; left: 50%; top: 14px; transform: translateX(-50%); z-index: -1; opacity: 0.6; }
.service-block .task-items .title:before { content: ""; display: block; background: #fff; background: cover; width: 74px; height: 3px; position: absolute; left: 50%; top: -2px; transform: translateX(-50%); }
.service-block .task-items .benefit:before { width: 48px; }
.service-block .task-items .title:after,
.service-block .task-items .content:after { content: ""; display: block; background: url("../../service/img/ico_arrow.svg") no-repeat; background: cover; width: 35px; height: 32px; position: absolute; left: 50%; bottom: -33px; transform: translateX(-50%); }
.service-block .description { background: #F2F9FC; padding: 30px 20px; margin:0 -20px 60px; }
.service-block .description .inner { max-width: 1200px; width: 100%; margin: 0 auto; }
.service-block .description .text { margin-bottom: 30px; }
.service-block .description .photo { }
.service-block .summary-items { margin-bottom: 60px; }
.service-block .summary-items .item { position: relative; border: 1px solid #1FA1DB; border-radius: 8px; padding: 40px 20px 20px; margin-bottom: 65px; }
.service-block .summary-items .title { position: relative; width: 115px; font-weight: 700; text-align: center; margin: 0 auto 30px; }
.service-block .summary-items .title:before { content: ""; display: block; background: no-repeat; background-size: cover; width: 80px; height: 80px; left: 50%; transform: translateX(-50%); position: relative; margin-bottom: 18px; }
.service-block .summary-items.service01 .item:nth-child(1) .title:before { background-image: url("../../service/img/service01/ico_summary01.svg"); }
.service-block .summary-items.service01 .item:nth-child(2) .title:before { background-image: url("../../service/img/service01/ico_summary02.svg"); }
.service-block .summary-items.service02 .item:nth-child(1) .title:before { background-image: url("../../service/img/service02/ico_summary01.svg"); }
.service-block .summary-items.service03 .item:nth-child(1) .title:before { background-image: url("../../service/img/service03/ico_summary01.svg"); }
.service-block .summary-items.service03 .item:nth-child(2) .title:before { background-image: url("../../service/img/service03/ico_summary02.svg"); }
.service-block .summary-items.service03 .item:nth-child(3) .title:before { background-image: url("../../service/img/service03/ico_summary03.svg"); }
.service-block .summary-items.service03 .item:nth-child(4) .title:before { background-image: url("../../service/img/service03/ico_summary04.svg"); }
.service-block .summary-items.service04 .item:nth-child(1) .title:before { background-image: url("../../service/img/service04/ico_summary01.svg"); }
.service-block .summary-items .content { }
.service-block .summary-items .content .group { border: 1px solid #ccc;  }
.service-block .summary-items .content .group .ttl { background: #f4f4f4; font-weight: 700; padding: 10px 20px; line-height: 160%; }
.service-block .summary-items .content .group .text { padding: 25px 20px; line-height: 160%; }
.service-block .summary-items .content .group:nth-child(1) { margin-bottom: 20px;  }
.service-block .check-section { background: #F2F9FC; width: 100vw; position: relative; left: 50%; transform: translateX(-50%); padding: 0; margin-bottom: 60px; }
.service-block .check-section .inner { position: relative; max-width: 100%; width: 100%; margin: 0 auto; padding: 60px 20px; box-sizing: border-box; z-index: 1; }
.service-block .check-section .inner::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("../../service/img/bg_check.jpg") no-repeat right 5% center / cover; opacity: 0.5; z-index: -1; }
.service-block .check-section .main-heading { display: block; width: fit-content; margin-left: auto; margin-right: auto; background-color: #104979; color: #fff; font-size: 18px; font-weight: 700; line-height: 1.6; padding: 10px 15px; border-radius: 5px; margin-bottom: 30px; text-align: center; }
.service-block .check-section .desc { font-size: 14px; line-height: 1.8; margin-bottom: 25px; }
.service-block .check-section .description p { margin: 0 0 8px; }
.service-block .check-section .check-box { background: rgba(255, 255, 255, 0.65); border-radius: 10px; padding: 25px 20px; max-width: 100%; width: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.07); display: flex; flex-direction: column; align-items: center; gap: 20px; box-sizing: border-box; }
.service-block .check-section .check-title-wrap { text-align: center; flex-shrink: 0; }
.service-block .check-section .check-title-wrap h3 { color: #104979; font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.service-block .check-section .check-title-wrap .icon img { width: 50px; height: auto; display: block; margin: 0 auto; }
.service-block .check-section .check-list { padding: 0; margin: 0; width: 100%; }
.service-block .check-section .check-list li { position: relative; padding-left: 28px; font-size: 14px; font-weight: 400; margin-bottom: 12px; list-style-type: none; white-space: normal; text-align: left; }
.service-block .check-section .check-list li:last-child { margin-bottom: 0; }
.service-block .check-section .check-list li::before { content: ""; display: block; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; background: url("../../service/img/ico_list.png") no-repeat center center / contain; }
.service-block .detail-section { width: 100%; margin: 60px 0; text-align: center; }
.service-block .detail-section .inner { max-width: 100%; width: 100%; margin: 0 auto; padding: 0; box-sizing: border-box; }
.service-block .detail-section .section-title { font-size: 22px; color: #1FA1DB; font-weight: 700; margin-bottom: 35px; text-align: center; }
.service-block .detail-section .section-title span { position: relative; display: inline-block; z-index: 1; }
.service-block .detail-section .section-title span::after { content: ""; display: block; background: #FFEB00; background-size: cover; width: 110%; height: 8px; position: absolute; left: 50%; top: 100%; margin-top: -3px; transform: translateX(-50%); z-index: -1; }
.service-block .detail-section .desc { font-size: 16px; line-height: 1.6; font-weight: 500; margin-bottom: 40px; text-align: left;}
.service-block .detail-section .desc p { margin: 0; }
.service-block .faq-section { background: #F2F9FC; padding: 60px 20px; margin:0 -20px 60px; }
.service-block .faq-list { margin:0 0; margin-bottom:50px; }
.service-block .faq-list .item { border: 1px solid #CCC; border-radius: 8px; margin-bottom:30px; padding:0 15px; transition: 0.3s ease-in-out; }
.service-block .faq-list .question { position:relative; font-size:16px; font-weight: 500; line-height:140%; padding:18px 35px 18px 35px; /* font-size:20px; */ }
.service-block .faq-list .question:after {	content:"";	display:block;	width: 18px;	height: 18px; background:url("../../service/img/ico_plus.svg") no-repeat; background-size:cover; position:absolute; right:0px; top:50%; transform:translateY(-50%); }
.service-block .faq-list .is_open .question:after {	content:"";	display:block;	width: 18px;	height: 3px; background:url("../../service/img/ico_minus.svg") no-repeat; background-size:cover; position:absolute; right:0px; top:calc(50% - 3px); transform:translateY(-50%); margin-top:3px; }
.service-block .faq-list .question:before { content:"Q."; display:block; position:absolute; left:0px; top:18px; font-size:28px; font-weight:700; font-family:"Roboto"; color:#1FA1DB; }
.service-block .faq-list .answer { font-size:16px; height:0px; overflow:hidden; line-height:160%; position:relative; padding:0px 0 0px 35px; transform:translateZ(0); transition:0.3s ease-in-out; box-sizing:content-box; }
.service-block .faq-list .answer p { margin-bottom:1.5em; line-height:160%; }
.service-block .faq-list .answer:after { content:"A."; display:block; position:absolute; left:0px; top:50%; transform:translateY(-50%);  color:#F47A00; font-size:28px; font-weight:700; text-align:center; font-family:"Roboto"; }
.service-block .faq-list .answer.is_open { padding:15px 0 15px 35px; }
.service-block .faq-list .answer.is_open:after { }
.service-block .faq-list .answer.is_open_fixed { height:auto; }
.service-block .download { margin-bottom: 80px; }
.service-block .download .inner { display: flex; flex-direction: column-reverse; justify-content: space-between; max-width: 1200px; width: 100%; margin: 0 auto; }
.service-block .download .text {  }
.service-block .download .photo { margin-bottom: 20px; }

.consultation-box { width: 100%; padding: 30px 20px; background-color: #1FA1DB; border-radius: 8px; box-sizing: border-box; margin: 40px auto 0; color: #fff; text-align: center; }
.consultation-title { font-size: 16px; font-weight: 700; margin-bottom: 16px; line-height: 1.5; }
.consultation-text { font-size: 13px; line-height: 1.7; margin-bottom: 25px; text-align: left; }
.consultation-box .btn07 { position: relative; margin: 0 auto; width: 100%; max-width: 100%; }
.consultation-box .btn07 a { font-size: 16px; font-weight: 700; color: #1FA1DB; background: #fff; display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; line-height: 1.4; text-align: center; position: relative; text-decoration: none; transition: 0.3s ease-in-out; box-sizing: border-box; border-radius: 0; padding: 0 40px 0 15px; }
.consultation-box .btn07 a::before { content: ""; display: block; width: 35px; height: 1px; background: #1FA1DB; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
  
  
/* checklist */
.checklist-block { width: 100%; text-align: center; padding: 0 0; box-sizing: border-box; }
.checklist-block .title-main { font-size: 20px; color: #1FA1DB; font-weight: 700; margin-bottom: 15px; }
.checklist-block .lead-text { font-size: 14px; font-weight: 500; margin-bottom: 30px; }
.checklist-block .lead-text.checklist02 { max-width: 835px; margin-left:auto; margin-right: auto; font-size: 16px; font-weight: 400; text-align: left;}

.checklist-block .tag-list { background: #eef7fc; display: flex; flex-direction: column; gap: 12px; width: 100%; margin: 0 auto 30px; padding: 25px 15px; list-style: none; box-sizing: border-box; }
.checklist-block .tag-list li { display: flex; align-items: center; justify-content: center; width: 100%; background: #fff; font-size: 14px; font-weight: 500; line-height: 1.4; min-height: 50px; height: auto; padding: 10px; margin: 0; border-radius: 9px; box-sizing: border-box; text-align: center; list-style-type: none; }
.checklist-block .intro-desc { font-size: 14px; font-weight: 500; line-height: 1.7; margin-bottom: 40px; text-align: left; }
.checklist-block .intro-desc p { margin: 0 0 8px; }
.checklist-block .check-container { width: 100%; margin: 0 auto; padding: 30px 15px; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 0 8px rgba(0,0,0,0.06); box-sizing: border-box; background: #fff; text-align: left; }
.checklist-block .check-group { margin-bottom: 35px; }
.checklist-block .check-group:last-child { margin-bottom: 0; }
.checklist-block .group-ttl { background: #f2f2f2; font-size: 15px; font-weight: 700; padding: 10px 12px; margin-bottom: 20px; border-radius: 3px; text-align: center; }
.checklist-block .check-items { list-style: none; padding: 0; margin: 0; }
.checklist-block .check-items li { margin: 0; margin-bottom: 12px; font-size: 14px; list-style-type: none; }
.checklist-block .check-items label { cursor: pointer; display: flex; align-items: flex-start; gap: 10px; }
.checklist-block .check-items input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; margin-top: 2px; flex-shrink: 0; }
.checklist-block .triangle-icon { width: 35px; height: 16px; margin: 25px auto; background: url("../../checklist/img/img_triangle.svg") no-repeat center center / contain; }
.checklist-block .result-section { background: #eef7fc; width: 100vw; position: relative; left: 50%; transform: translateX(-50%); padding: 35px 20px; margin-bottom: 50px; box-sizing: border-box; }
.checklist-block .result-section .inner { width: 100%; text-align: left; box-sizing: border-box; }
.checklist-block .result-ttl { background: #fff; text-align: center; font-size: 16px; color: #104979; font-weight: 700; padding: 12px 0; margin-bottom: 25px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.checklist-block .result-list { list-style: none; padding: 0; margin: 0; }
.checklist-block .result-list li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; margin-bottom: 20px; font-size: 13px; line-height: 1.6; }
.checklist-block .result-list li:last-child { margin-bottom: 0; font-weight: bold; }
.checklist-block .result-list .badge { width: 110px; text-align: center; background: #707070; color: #fff; font-family: "Roboto"; font-size: 16px; font-weight: 500; padding: 4px 0; border-radius: 50px; flex-shrink: 0; }
.checklist-block .result-list .badge:after { content: "個"; font-size: 11px; font-weight: 500; margin-left: 4px; }
.checklist-block .result-list li:nth-child(3) .badge { background: #D51F1F; }
.checklist-block .result-list li:nth-child(3) .badge:after { content: "個以上"; }
.checklist-block .outro-desc { font-size: 14px; font-weight: 500; line-height: 1.7; margin-bottom: 40px; text-align: left; }
.checklist-block .outro-desc p { margin: 0 0 8px; }
.checklist-block .cv-banner { width: 100%; margin: 0 auto; background: #1FA1DB; padding: 35px 15px; border-radius: 8px; box-sizing: border-box; color: #fff; text-align: center; position: relative; }
.checklist-block .banner-ttl { font-size: 18px; font-weight: 700; margin-bottom: 25px; position: relative; display: inline-block; padding: 0 25px; letter-spacing: 0.03em; line-height: 1.4; }
.checklist-block .banner-ttl::before { content: ""; display: block; width: 20px; height: 35px; background: url("../../checklist/img/ico_dl_ttl_l.svg") no-repeat center / contain; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.checklist-block .banner-ttl::after { content: ""; display: block; width: 20px; height: 35px; background: url("../../checklist/img/ico_dl_ttl_r.svg") no-repeat center / contain; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.checklist-block .banner-middle { display: flex; justify-content: center; margin-bottom: 25px; }
.checklist-block .banner-sub { position: relative; padding-left: 0; padding-top: 80px; min-height: auto; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.checklist-block .banner-sub::before { content: ""; display: block; width: 100px; height: 75px; background: url("../../service/img/ico_dl.png") no-repeat center / contain; position: absolute; left: 50%; top: 0; transform: translateX(-50%); }
.checklist-block .banner-sub .sub-line1 { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 4px; letter-spacing: 0.02em; }
.checklist-block .banner-sub .sub-line1 span { color: #FFEB00; }
.checklist-block .banner-desc { font-size: 13px; line-height: 1.7; margin: 0 auto 25px; text-align: left; font-weight: 400; }

  
  
/* works */
.works-block .lead { font-size: 14px; font-weight: 400; margin:-20px 0 60px; text-align: center; line-height: 140%; }
.works-items { margin-bottom: -20px; }
.works-items .item { position: relative; box-shadow: 0 0 20px rgba(0,0,0,0.08); padding:52px calc(26 / 544 * 100%) 30px;  }
.works-items .item:after { content: ""; display: block; border: 1px solid #1FA1DB; width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: 0; transition: 0.3s ease-in-out; box-sizing: border-box; }
.works-items .item .category { position: absolute; left: 0; top: 0; background: #1FA1DB; color: #fff; font-size: 10px; font-weight: 700; text-align: center; width: 110px; line-height: 34px; text-decoration: none; }
.works-items .item .title { font-size: 16px; font-weight: 700; line-height: 160%; margin-bottom: 25px; }
.works-items .item .thumb { width: calc(126 / 305 * 100%); margin: 0 auto 30px; }
.works-items .item .text { font-size: 15px; margin-bottom: 50px; } 
.works-items .item .text li { position: relative; list-style-type: none; }
.works-items .item .text li:before { content: ""; display: block; position: absolute; left: -16px; top: 13px; width:4px; height: 4px; border-radius: 50px; background: #1FA1DB; }
.works-items .item .text strong { color:#FF0000; }

  
  
/* news */
body.news .news-box { position: relative;}
body.news .news-box .menu { width:100%; border-radius: 5px; box-shadow:0 0 15px rgba(31,160,218,0.17); margin-top: 50px; }
body.news .news-box .menu .news-nav { padding: 25px; }
body.news .news-box .menu .news-nav .title { font-family: 700; font-size: 20px; font-weight: 700; border-bottom: 1px solid #1FA0DA; padding:0 0 20px; text-align: center; margin-bottom: 40px; }
body.news .news-box .menu .news-nav li { font-size: 15px; line-height:140%; margin:0 0 30px; position:relative; padding-left:25px; list-style-type:none; }
body.news .news-box .menu .news-nav li:before { content:""; display:block; position:absolute; left:-0px; top:calc(50% + 2px); transform:translateY(-50%); width:11px; height:11px; background:#E6E6E6;  transition:all 0.3s ease-in-out; border-radius: 50px; }
body.news .news-box .menu .news-nav li.active { }
body.news .news-box .menu .news-nav li.active a {}
body.news .news-box .menu .news-nav li.active:before { background:#1FA1DB; }
body.news .news-box .menu .news-nav a { transition:all 0.3s ease-in-out; }
body.news .news-box .menu .btn { position:absolute; left:0; top:150px; }
body.news .news-box .news-items { display:none; position:relative; }
body.news .news-box .news-items.active { display:block; }
body.news .news-box .news-items .item { position:relative; display:block; padding:20px 0px; border-bottom:1px solid #ccc; color:#00528D; transition:0.3s ease-in-out; }
body.news .news-box .news-items .item:before { content: ""; display: block; background:url("../../news/img/ico_arrow.png") no-repeat; background-size: 24px 24px; width: 24px; height: 24px; position: absolute; right:10px; top: 50%; transform: translateY(-50%); transition: 0.3s ease-in-out; }
body.news .news-box .news-items .item .thumb { display: none; }
body.news .news-box .news-items .item .texts { display: grid; }
body.news .news-box .news-items .item .category { order: 2; }
body.news .news-box .news-items .item .category span { position:absolute; left:110px; top:20px; width:105px; line-height:25px; white-space:nowrap; font-size:12px; font-weight:700; color:#fff; text-align:center; display:inline-block; border-radius:3px; transition:0.2s ease-in-out; }
body.news .news-box .news-items .item .category.cat-news span { background: #1FA0DA; }
body.news .news-box .news-items .item .category.cat-example span { background: #0F863D }
body.news .news-box .news-items .item .date { order: 1; font-family:"Roboto"; font-size:14px; font-weight:700; line-height:25px; transition:0.2s ease-in-out; margin-bottom:10px; }
body.news .news-box .news-items .item .title { order: 3; position:relative; font-size:15px; line-height:160%; padding-right: 50px; transition:0.2s ease-in-out; }
body.news .news-box .news-items .item.pdf .title:after { content:"PDF"; display:inline-block; width:50px; line-height:24px; padding-bottom:1px; white-space:nowrap; font-size:13px; color:#fff; text-align:center; background:#777777; border-radius:50px; margin-left:10px; }
.news-article { position:relative; }
.news-header { position:relative; margin-top:-10px; margin-bottom:50px; }
.news-header h2 { font-size: 22px; font-weight: 500; padding-bottom: 15px; border-bottom: 1px solid #ccc; margin-bottom: 15px; line-height: 140%; }
.news-header .date { font-size:12px; font-family:"Roboto";  line-height:23px; }
.news-body { margin-bottom:100px; }
.news-body + .btn02 { text-align:center; }


/* privacy */
.privacy-box { max-width: 900px; margin: 0 auto; }
body.privacy .adobe { border: 1px solid #cccccc; padding: 30px 55px; justify-content: space-around; align-items: center; flex-wrap: nowrap; }
body.privacy .adobe img { display: block; width: 220px; margin: 0 auto 20px; height: auto; margin-right: 120px; max-width:none; }
body.privacy .adobe p {}	
body.privacy .title02 { margin: 100px 0 60px; }



/* contact */
.progress { position: relative; width:240px; height:88px; margin:0 auto 20px; background: url("../../contact/img/line.png") no-repeat center bottom 29px; background-size: 216px 2px; }
.progress > div { position:absolute; font-weight: 700; font-size: 12px; white-space: nowrap;}
.progress > div:before { content: ""; display: block; position: absolute; left: 50%; bottom: -65px; transform: translateX(-50%); border-radius:100px; width:35px; height:35px; background: #fff; }
.progress > div:after { content: ""; display: block; position: absolute; left: 50%; bottom: -54px; transform: translateX(-50%); z-index: 2; border-radius:100px; width:14px; height:14px; background: #1FA1DB; opacity: 0; }
/* .progress > div:after { content:""; display:block; background:#757070; width:126px; height:1px; position:absolute; left:107px; top:50%; transform:translateY(-50%); } */
.progress > div:nth-child(2) { left: 110px; }
.progress > div:nth-child(3) { right: 0px; }
.progress > div:last-child { margin-right:0; }
.progress > div.current:after { opacity:1; }
.progress.complete { margin:-50px auto 140px; }
.progress.complete + p { margin-bottom:85px!important; }
.contact-form-items { background:#E9F6FB; padding:50px 0; font-size:16px; }
.contact-form-items table { display: block; max-width:calc(1000 / 1200 * 100%); margin:0 auto; }
.contact-form-items thead { display: block; }
.contact-form-items tbody { display: block; }
.contact-form-items tr { display: block; }
.contact-form-items th { display: block; color: #1388B9; padding:20px 0 0; vertical-align:top; font-weight:700; line-height:160%; text-align:left; }
.contact-form-items td { display: block; padding:20px 0 20px; line-height:160%; }
.contact-form-items th span { white-space:nowrap; display:inline-block; }
.contact-form-items .select { background:#fff; border:1px solid #CCCCCC; border-radius:5px; width:180px; height:auto;  position:relative; }
.contact-form-items .select select { padding:13px 15px; height:auto; }
.contact-form-items .select:before { content:"";
display:block;
width: 5px;
height: 5px;
border-top: 2px solid #000;
border-right: 2px solid #000;
background:none;
transform: rotate(135deg) translate(0,-50%);
position:absolute;
top:50%;
right:20px;
margin-top:-6px;
transition-duration: .4s;
z-index:2;
}
.contact-form-items ::placeholder { color:#CDCCCC; }
.contact-form-items input[type=text] { background:#fff; border: none; border-radius:5px; width:100%; padding:15px 15px; font-family: 'Noto Sans JP', sans-serif; font-size:16px; color:#000; box-sizing: border-box; }
.contact-form-items input[name^="group"],
.contact-form-items input[name^="birthday"] { width:32%; margin-right:2%; }
.contact-form-items input[name^="group"]:last-child,
.contact-form-items input[name^="birthday"]:last-child { margin-right:0; }
.contact-form-items textarea { background:#fff; border: none; border-radius:5px; height:180px; width:100%; padding:15px 15px; font-family: 'Noto Sans JP', sans-serif; font-size:16px; color:#000; box-sizing: border-box;}
.contact-form-items .select,
.contact-form-items *[id*="location"] { margin-bottom:12px; }
.contact-form-items .form-must { background:#FC8813; color:#fff; font-size:14px; font-weight:500; border-radius:3px; line-height:26px; width:57px; text-align:center; display:inline-block; position:relative; top:0px; margin-left:12px; }
.contact-form-items .form-any { background:#B1B1B1; color:#fff; font-size:14px; font-weight:500; border-radius:3px; line-height:26px; width:57px; text-align:center; display:inline-block; position:relative; top:0px; margin-left:12px; }
.contact-form-items .agree-text { font-size:14px; }
.contact-form-items label[for=agree] { color: #000; font-weight: 400; }
.contact-form-items label[for=agree] a { color: #1388B9; font-weight: 700;}
.contact-form-items label { margin-right:10px; }
/* チェックボックス共通カスタムスタイル */
.contact-form-items input[type="checkbox"].agree-input,
.contact-form-items input[type="checkbox"].custom-check {
  display: none;
}

/* 個別項目（ご希望の資料 / 関心のあるテーマ共通）のマージン設定 */
.contact-form-items .check-item {
  margin-bottom: 12px;
}

.contact-form-items input[type="checkbox"].agree-input + label,
.contact-form-items input[type="checkbox"].custom-check + label {
  cursor: pointer;
  display: inline-block;
  background: url(../../contact/img/cb_off.png) no-repeat left center;
  background-size: 26px auto; /* アイコンサイズ調整 */
  line-height: 26px;
  padding: 0px;
  padding-left: 34px; /* テキスト位置調整 */
  font-size: 14px;
}

.contact-form-items input[type="checkbox"].agree-input:checked + label,
.contact-form-items input[type="checkbox"].custom-check:checked + label {
  background-image: url(../../contact/img/cb_on.png);
}

/* レイアウト設定（SPでは1列表示に変更） */
.contact-form-items .checkbox-grid {
  display: block; /* Flex解除で1列に */
}

.contact-form-items .checkbox-grid .check-item {
  width: 100%; /* 1列で幅いっぱいに指定 */
  box-sizing: border-box;
}
.contact-form-items input[type=radio] { margin:0 10px 0 10px; }
.contact-form-items .msg-choose-text { margin-bottom:15px; }
.contact-form-items .msg-choose { display:block; margin-bottom:5px; }
.contact-form-items .msg { margin-top:0px; }
.contact-form-items .submit a { width: 196px; height: 51px; }
.contact-form-items .error { background:#c00; color:#fff; border-radius:5px; padding:12px 15px; margin:0 0 10px; }
.contact-form-items .thanks { max-width:calc(830 / 1100 * 100%); margin:0 auto -30px; }
.contact-form-items.confirm td { padding:15px 0 20px; }
.contact-form-items.confirm .btns { text-align:center; }
.contact-form-items.confirm .btns > div { width:250px; display:block; margin:30px auto 0; }
.contact-form-items.confirm .btns > div a { width:100%; }


/* download */
body.download .lead-text { 
  width: 100%; 
  margin-left: auto; 
  margin-right: auto; 
  margin-bottom: 40px; 
}

.contact-form-items.download { 
  padding-left: 15px; 
  padding-right: 15px; 
}

.contact-form-items.download .inner { 
  width: 100%; 
  margin: 0 auto; 
}

.contact-form-items.download .box-flex { 
  display: block; /* 縦並びに変更 */
}

.contact-form-items.download .photo { 
  width: 100%; 
  margin: 0 auto 20px; 
}

.contact-form-items.download .photo img {
  width: 100%;
  height: auto;
}

.contact-form-items.download .info { 
  width: 100%; 
  margin-bottom: 40px;
}

.contact-form-items.download .info dl { 
  margin-top: 20px; 
}

.contact-form-items.download .info dt { 
  font-size: 16px; 
  line-height: 1.6;
  font-weight: 700; 
  color: #1FA1DB; 
  margin-bottom: 15px; 
  display: block;
}

.contact-form-items.download .info dd li {
  font-size: 14px;
}

.contact-form-items.download form { 
  width: 100%; 
  margin-top: 0; 
}

.contact-form-items.download table { 
  width: 100%; 
  max-width: none;
  margin-bottom: 0; 
}

.contact-form-items.download th { 
  color: #000; 
  padding-top: 15px; 
  display: block; /* 見出しと入力欄を縦並びに */
  width: 100%;
  text-align: left;
}

.contact-form-items.download td {
  display: block;
  width: 100%;
}

.contact-form-items.download .form-must { 
  margin: 0 10px 0 0; 
}

.contact-form-items.download .agree-input + label { 
  font-size: 13px; 
  line-height: 1.6;
}

.contact-form-items.download .btn01 { 
  position: relative; 
  margin: 0 auto; 
  width: 100%;
}

.contact-form-items.download .btn01 a { 
  font-size: 16px; 
  font-weight: 700; 
  font-family: Roboto; 
  color: #fff; 
  background: #1FA1DB; 
  border: 2px solid #1FA1DB; 
  display: block; 
  width: 100%; /* 画面幅いっぱいに変更 */
  max-width: 100%;
  height: 56px; 
  line-height: 52px; 
  padding: 0; 
  text-align: center; 
  position: relative; 
  text-decoration: none; 
  transition: 0.3s ease-in-out; 
  box-sizing: border-box; 
}

.contact-form-items.download .btn01 a:before { 
  content: ""; 
  display: block; 
  width: 30px; 
  height: 1px; 
  background: #fff; 
  position: absolute; 
  right: 15px; 
  top: 50%; 
  transform: translateY(-50%); 
  transition: 0.3s ease-in-out; 
}

.contact-form-items.download-complete  { padding-left: 20px; padding-right: 20px; }
.contact-form-items.download-complete p { text-align: left; }
.contact-form-items.download-complete .btn07 { margin-bottom: 20px; }
.contact-form-items.download-complete .btn02 { margin: 50px auto 0; }
  
  
/* error */
body.error .section h2 { font-size: 30px; font-weight: 400; text-align: center; margin-bottom: 50px; line-height:160%;}
body.error .section p { text-align: center; margin-bottom: 50px; }





.pager { text-align:center; margin:50px 0; }
.pager a { margin:0 8px; color:#000; text-decoration:underline; }
.pager a.current { text-decoration:none; }
.article-nav { position:relative; width:100%; margin:30px auto 0; }
.article-nav .prev-next { }
.article-nav .prev { float:left; }
.article-nav .next { float:right; }
.article-nav .btn01 a,
.article-nav .btn02 a { width:140px; }




/* wordpress エディター */

.editor { margin-top:10px; }
.editor #toc_container { padding:0; width:100%!important; border-color:#ccc; }
.editor #toc_container .toc_title { font-size:16px; font-weight:bold; border-bottom:1px solid #ccc; padding:5px 10px; }
.editor #toc_container .toc_toggle { font-size:12px; font-weight:normal; }
.editor #toc_container .toc_list { padding:10px 20px; font-size:14px; }
.editor #toc_container .toc_list li { margin-bottom:5px; }
.editor #toc_container .toc_list li ul { margin:5px 20px; }
.editor #toc_container .toc_list li a:hover { text-decoration:none; opacity:0.7; }
.editor #toc_container .toc_number { font-weight:bold; margin-right:6px; }
.editor #toc_container .toc_number:after { content: "."; margin-left:6px; }
.editor .date { font-size:12px; font-weight:bold; display:inline; margin-right:10px; }
.editor .category { font-size:10px; font-weight:bold; display:inline-block; line-height:150%; }
.editor .category a { text-decoration:none; }
.editor .category a:after { content:" / "; }
.editor .category a:last-child:after { display:none; }
.editor .sns-buttons { margin:30px 0 30px; text-align:center; }
.editor .sns-buttons:last-child { margin-top:60px; }
.editor .sns-buttons a { display:inline-block; border-radius:2px; color:#fff; text-decoration:none; margin-right:2px; margin-bottom:5px; }
.editor .sns-buttons a:hover { opacity:0.7; }
.editor .sns-buttons a > span { display:inline-block; vertical-align:bottom; width:36px; height:36px; line-height:36px; font-size:10px; text-align:center; position:relative; }
.editor .sns-buttons a > span > span { display:none; }
.editor .sns-buttons a > span:before { position:absolute; left:10px; top:50%; transform:translateY(-50%); font-size:16px; }
.editor .sns-buttons .btn-facebook { background:#436198; }
.editor .sns-buttons .btn-twitter { background:#75c1ef; }
.editor .sns-buttons .btn-google { background:#ca5134; }
.editor .sns-buttons .btn-in { background:#457ab5; }
.editor .sns-buttons .btn-pocket { background:#cd5357; }
.editor:after { content: ''; display: block; clear: both; height: 0; margin-top: -1px; }
.editor a { color:#000; text-decoration:underline; }
.editor a:hover { text-decoration:none; }
.editor h3 { font-size: 20px; font-weight: 700; color: #1286B7; line-height: 140%; margin:60px 0 40px; }
.editor h4 { font-size: 18px; font-weight: 700; line-height: 140%; margin:60px 0 32px; padding: 15px 0; border-top: 1px solid #ccc; border-bottom:1px solid #ccc;  }
.editor li { line-height:150%; margin-bottom:5px; }
.editor ol li { margin-left:0; }
.editor figcaption { line-height: 160%; font-size: 85%; }

.editor figure { width:100%; }
.editor img {
	margin: 0 auto 1.5em;
	display:block;
	max-width:100%;
	width:auto;
}
.editor  .alignleft {
	margin: 0 auto 1.5em;
	display:block;
	float:none;
	max-width:100%;
}

.editor  .alignright {
	margin: 0 auto 1.5em;
	display:block;
	float:none;
	max-width:100%;
}

.editor  .aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.5em;
	max-width:100%;
}

.editor  blockquote.alignleft,
.editor  blockquote.alignright {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	padding-top: 17px;
	width: 50%;
}

.editor  blockquote.alignleft p,
.editor  blockquote.alignright p {
	margin-bottom: 17px;
}

.editor  ul,
.editor  ol {
	list-style: none;
	overflow:hidden;
	margin: 0 0 24px 0px;
}
.editor  ol {
	padding-left: 20px;
}

.editor  ul {
	padding-left: 0px;
}


.editor  ul li {
	list-style: disc;
}

.editor  ol li {
	list-style: decimal;
	margin-left:0!important;
}

.editor  li > ul,
.editor  li > ol {
	margin: 0 0 0 20px;
}

.editor table { width:100%; margin:0 auto 25px; line-height:180%; border:1px solid #bfbfbf; border-collapse:collapse; font-size:12px; }
.editor table th { position:relative; border:1px solid #bfbfbf; padding:10px; font-weight:normal; text-align:center; }
.editor table td { position:relative; border:1px solid #bfbfbf; padding:10px; font-weight:normal; }
.editor table tr *:nth-child(1) { width:70px; }
.editor table tr:nth-child(2n+1) > * { background:#f5f5f5; }

.editor blockquote { color:#666; font-style:italic; position:relative; padding:10px 10px 10px 35px; background:#f6f6f6; margin-bottom:2.5em; }
.editor blockquote:before { content:'"'; font-size:50px; position:absolute; left:0; top:20px; }

.editor figure { margin-bottom:2.5em; max-width:100%; }
.editor figure img { margin-bottom:10px; }


/* animation */
.standby { transform: translateY(30px); opacity:0; }
.is-animated { transition-delay:0.50s!important; transform: translateY(0px); opacity:1; transition-duration: .5s!important; transition-property:transform,opacity!important; }
.is-completed { transition-delay:0s!important; transition-duration:0s!important; }

h2.standby,
h3.standby,
h4.standby { transform: translateY(0px); opacity:0; }
h2.is-animated,
h3.is-animated,
h4.is-animated { transition-delay:0.50s; opacity:1;  transition-duration: .5s; transition-property:transform,opacity; }

}

