 @charset "utf-8";
/* CSS Document */

/*-------------------------------
	all
--------------------------------*/
* {
	margin: 0px;
	padding: 0px;
	max-height: 9999999px; 
}
html {
	-webkit-text-size-adjust:100%;
}
body {
	color:#000;
	font-size:18px;
	font-family:"Noto Sans JP", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight:400;
	text-align:center;
	background-color:#FFF;
}
p, li, dt, dd {
	line-height:1.6;
}
img {
	max-width: 100%;
	height:auto;
	display: block;
	margin:auto;
}
a {
	color:#21A9DA;
	transition: background-color 0.4s;
}
a img {
	opacity:1;
	transition:opacity 0.4s;
	backface-visibility: hidden;
}
a img:hover  {
	opacity: 0.6;
}
.ov {
	transition:opacity 0.4s;
}
.ov:hover {
	opacity: 0.6;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 50px;
	right: 10px;
	z-index:999999;
}
.pagetop a {
	display: block;
}
.pagetop img {
	width:50px;
	vertical-align:bottom;
}
br.spbr {
	display:none;
}
br.pcbr {
}
.clear {
	clear:both;
}
.relative {
	position:relative;
}
.wrap {
	overflow:hidden;
}
.center {
	text-align:center;
}
.left {
	text-align:left;
}
.right {
	text-align:right;
}
.pic img {
	width:100%;
}
.box {
	width: 100%;
	max-width: 1000px;
	margin:0 auto;
}
.box-mw1200 {
	width: 100%;
	max-width: 1200px;
	margin:0 auto;
}
a.tel {
	display:inline-block;
	pointer-events:none;
}
.red {
	color:#FF0000;
}
@media only screen and (max-width:1000px){
.box {
	width: auto;
	margin:0 15px;
}
}
@media only screen and (max-width:1200px){
.box-mw1200 {
	width: auto;
	margin:0 15px;
}
}
@media only screen and (max-width:600px){
html {
	-webkit-text-size-adjust:100%;
}
body {
	font-size: 16px;
	min-width:320px;
}
p, li, dt, dd {
	line-height:1.6;
}
a {
	transition: none;
}
a:hover img  {
	opacity:1;
}
.ov:hover {
	opacity:1;
}
.sp-ib span {
	display:inline-block;
}
br.spbr {
	display:block;
}
br.pcbr {
	display:none;
}
.spleft {
	text-align:left;
}
.spcenter {
	text-align:center;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 10px;
	z-index:9999;
}
.pagetop img {
	width:50px;
	height:50px;
}
.box {
	width:auto;
	margin:0 10px;
}
.box-mw1200 {
	width: auto;
	margin:0 10px;
}
a.tel {
	pointer-events:auto;
}
}

.fs-70 { font-size:70%; }
.fs-80 { font-size:80%; }
.fs-90 { font-size:90%; }
/*-------------------------------
	margin
--------------------------------*/
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb90 { margin-bottom:90px; }
@media only screen and (max-width:600px){
.mb10 { margin-bottom:5px; }
.mb15 { margin-bottom:10px; }
.mb20 { margin-bottom:10px; }
.mb30 { margin-bottom:15px; }
.mb40 { margin-bottom:20px; }
.mb50 { margin-bottom:25px; }
.mb60 { margin-bottom:30px; }
.mb70 { margin-bottom:35px; }
.mb80 { margin-bottom:40px; }
.mb90 { margin-bottom:45px; }
}

/*-------------------------------
	img radius
--------------------------------*/
.radius-10 img { border-radius:10px; }
.radius-20 img { border-radius:20px; }
.radius-30 img { border-radius:30px; }
.radius-40 img { border-radius:40px; }
.radius-50 img { border-radius:50px; }
@media only screen and (max-width:600px){
.radius-10 img { border-radius:5px; }
.radius-20 img { border-radius:10px; }
.radius-30 img { border-radius:15px; }
.radius-40 img { border-radius:20px; }
.radius-50 img { border-radius:25px; }
}

/*-------------------------------
	flex
--------------------------------*/
.flex-wrap {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	gap: 4%; /* 2% + 2% */
	margin: 0; 
}
.flex-pc-five .flex-box {
	width: 16%;
}
.flex-pc-four .flex-box {
	width: 21%;
}
.flex-pc-three .flex-box {
	width: 29.3%;
}
.flex-pc-two .flex-box {
	width: 46%;
}
.flex-box {
	display: block;
	margin-bottom: 40px;
}
.flex-box img {
	width: 100%;
	margin-bottom: 5px;
}
@media(max-width:600px){
}
/*-------------------------------
	header
--------------------------------*/
.header {
	height:200px;
	position:relative;
}
.header-logo {
	font-size:34px;
	font-weight:700;
	float:left;
	height:150px;
	margin:25px 0 0 30px;
	text-align:left;
	background-image: url(../images/logo.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size:150px 150px;
}
.header-logo span {
	font-size:22px;
	display:block;
	margin:32px 0 5px;
}
.header-logo a {
	color:#21A9DA;
	text-decoration:none;
	display:inline-block;
	padding-left:170px;
	height:150px;
}
ul.slimmenu > li.header-btn {
	position:absolute;
	top:-135px;
	right:30px;
}
ul.slimmenu > li.header-btn a {
	color:#FFF;
	font-size:22px;
	font-weight:700;
	text-decoration:none;
	display:inline-block;
	line-height:70px;
	padding:0 40px;
	margin-left:15px;
	border-radius:35px;
	background-color:#5BC2E8;
}
ul.slimmenu > li.header-btn a:hover {
	background-color:#2B8DD3;
}
@media only screen and (max-width:1040px){
.header-logo {
	font-size:24px;
}
.header-logo span {
	font-size:17px;
	margin:44px 0 3px;
}
}
@media only screen and (max-width:900px){
ul.slimmenu > li.header-btn {
	position: relative;
	top: auto;
	right: auto;
	margin:30px 0 60px;
	
	font-size: 18px;
	text-align:center;
}
ul.slimmenu > li.header-btn a {
	color:#11A1D5;
	font-size:18px;
	font-weight:700;
	text-decoration:none;
	display:inline-block ;
	line-height:60px;
	padding:0 30px;
	margin-left:15px;
	border-radius:35px;
	background-color:#FFF;
}
ul.slimmenu > li.header-btn a:hover {
	background-color:#FFF;
}
}
@media only screen and (max-width:600px){
.header {
	height:100px;
	position:relative;
}
.header-logo {
	font-size:18px;
	line-height:1.3;
	height:75px;
	margin:12px 0 0 7px;
	text-align:left;
	background-image: url(../images/logo.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size:75px 75px;
}
.header-logo span {
	font-size:10px;
	display:block;
	margin:7px 0 3px;
}
.header-logo a {
	padding-left:80px;
	height:75px;
	display:block;
}
}

/*-------------------------------
	footer
--------------------------------*/
.footer {
	padding:30px 0;
	background-color:#5BC2E8;
}
.footer small {
	color:#FFF;
	font-size:22px;
	line-height:1;
}
.privacy-policy {
	font-size:15px;
	margin-bottom:30px;
}
.privacy-policy a {
	color:#FFF;
	text-decoration:none;
}.privacy-policy a:hover {
	text-decoration: underline;
}
@media only screen and (max-width:600px){
.footer {
	padding:25px 0;
	background-color:#5BC2E8;
}
.footer small {
	color:#FFF;
	font-size:18px;
	line-height:1;
}
.privacy-policy {
	font-size:12px;
	margin-bottom:25px;
}
}

/*-------------------------------
	footer guideline
--------------------------------*/
.footer-guideline {
  padding: 30px 0 10px;
  background:
    url(../images/bg-cloud-1.png) no-repeat center 100px,
    linear-gradient(to bottom, #5BC2E8, #FFF);
}
.footer-guideline p {
	color:#FFF;
	font-size:30px;
	font-weight:700;
	line-height:1.4;
	margin-bottom:30px;
	text-shadow:2px 2px 0 #21A9DA;
}
.footer-guideline-btn a {
	display:inline-block;
	margin:0 2%;
	width:44%;
	max-width:310px;
}
.footer-guideline-btn img {
	width:100%;
	max-width:310px;
}
@media only screen and (max-width:600px){
.footer-guideline {
  padding: 30px 0 0;
  background:
    url(../images/bg-cloud-1.png) no-repeat center 10px / 100% auto,
    linear-gradient(to bottom, #5BC2E8, #FFF);
}
.footer-guideline p {
	color:#FFF;
	font-size:20px;
	font-weight:700;
	line-height:1.4;
	margin-bottom:20px;
	text-shadow:2px 2px 0 #21A9DA;
}
.footer-guideline-btn a {
	display:inline-block;
	margin:0 5px;
	width:30%;
}
}

/*-------------------------------
	footer link
--------------------------------*/
.footer-link {
	  background:
    url(../images/footer-l.png) no-repeat left top / 410px 400px,
    url(../images/footer-r.png) no-repeat right top / 410px 400px;
}
.footer-link a {
	display:inline-block;
	margin:0 10px 30px;
}
.footer-link-bg {
	padding:130px 0 80px;
		  background:
    url(../images/footer-b.svg) no-repeat center top / 100% 1600px;
}
.footer-link-br {
	display:block;
}
@media only screen and (max-width:600px){
.footer-link {
	  background:
    url(../images/footer-l.png) no-repeat left top / 205px 200px,
    url(../images/footer-r.png) no-repeat right top / 205px 200px;
}
.footer-link a {
	display:inline-block;
	margin:0 5px;
	width:40%;
}
.footer-link-bg {
	padding:60px 0 40px;
		  background:
    url(../images/footer-b.svg) no-repeat center top / 100% 800px;
}
}

/*-------------------------------
	main
--------------------------------*/
.main {
	margin-top:100px;
}
.page {
	padding:70px 0;
	background:
	url(../images/bg-cloud-1.png) no-repeat center top,
	url(../images/page-bg.svg) no-repeat center top / 100% 380px;
}
.frame-text {
	color:#21A9DA;
	font-size:26px;
	font-weight:700;
	padding:20px;
	margin-bottom:60px;
	border:solid 6px #A9DCF9;
	background:#FFF;
	border-radius:15px;
}
.frame-text p {
	line-height:1.4
}
@media only screen and (max-width:900px){
.main {
	margin-top:0;
}
.page {
	padding:40px 0;
	background:
	url(../images/bg-cloud-1.png) no-repeat center top / 100% auto,
	url(../images/page-bg.svg) no-repeat center top / 110%130px;
}
.frame-text {
	color:#21A9DA;
	font-size:18px;
	font-weight:700;
	padding:15px;
	margin-bottom:30px;
	border:solid 3px #A9DCF9;
	background:#FFF;
	border-radius:15px;
}
}

/*-------------------------------
	headline
--------------------------------*/
.page-h1 {
  color: #21A9DA;
  height: 170px;
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: center;

  background:
    url(../images/page-h1-l.png) no-repeat left center / 330px 230px,
    url(../images/page-h1-r.png) no-repeat right center / 330px 230px;
}
.page-h1 span {
	padding:0 5px;
	background:rgba(255,255,255,.8);
}
.h2-line {
	color: #21A9DA; 
	font-size: 35px;
	line-height:1.3;
	display: inline-block;
	position: relative;
	padding:20px 0 25px;
	margin-bottom:40px;
}
.h2-line::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 200px;
	height: 6px; 
	background: #CAEBFF;  
}
@media only screen and (max-width:900px){
h1.page-h1 {
  border-top:solid 5px #5BC2E8;
}
}
@media only screen and (max-width:600px){
h1.page-h1 {
  height: 70px;
  font-size: 20px;
  border-top:solid 5px #5BC2E8;

  background:
    url(../images/page-h1-l.png) no-repeat left -50px center / auto 100px,
    url(../images/page-h1-r.png) no-repeat right -50px center /  auto 100px;
}
.h2-line {
	color: #21A9DA; 
	font-size: 18px;
	line-height:1.3;
	display: inline-block;
	position: relative;
	padding:10px 0 15px;
	margin-bottom:20px;
}
.h2-line::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 150px;
	height: 4px; 
	background: #CAEBFF;  
}
}

/*-------------------------------
	top:main img
--------------------------------*/
.main_imgBox {
  height:600px;
  overflow:hidden;
  position:relative;
}
.main_img {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease-in-out;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.main_img.active {
  opacity:1;
}
.main_img span {
	color:#FFF;
	font-size:16px;
	padding:3px 15px 3px 20px;
	position:absolute;
	left:0;
	bottom:0;
	background-color: rgba(33,169,218,.6);
	text-align:left;
}
@media only screen and (max-width:600px){
.main_imgBox {
	height:210px;
}
.main_img {
    height:210px;
}
.main_img span {
	font-size:14px;
	padding:3px 5px 3px 10px;
}
}

/*-------------------------------
	top:about
--------------------------------*/
.top-about {
	background:url(../images/top-about-bg-l.png) no-repeat left top;
}
.top-about-bg {
	padding:110px 0;
	background:url(../images/top-about-bg-r.png) no-repeat right bottom;
}
.top-about h1 {
	color:#21A9DA;
	font-size:40px;
	padding:0 200px 0 10px;
	margin-bottom:50px;
	display:inline-block;
	background-color:rgba(255,255,255,.8);
	position:relative;
}
.top-about-link a {
	color:#FFF;
	font-size:18px;
	font-weight:700;
	text-decoration:none;
	width:180px;
	line-height:50px;
	padding-right:28px;
	box-sizing:border-box;
	display:block;
	vertical-align:middle;
	border-radius:25px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
	position:absolute;
	top:5px;
	right:0;
}
.top-about-link a:hover {
	background-color:#2B8DD3;
}
.top-about-icon a {
	display:inline-block;
	margin:0 5px;
}
.top-about-icon span {
	display:inline-block;
}
@media only screen and (max-width:800px){
.top-about h1 {
	font-size:30px;
	padding:7px 200px 7px 10px;
}
}
@media only screen and (max-width:600px){
.top-about {
	background:url(../images/top-about-bg-l.png) no-repeat left top;
	background-size:150px 180px;
}
.top-about-bg {
	padding:50px 0;
	background:url(../images/top-about-bg-r.png) no-repeat right bottom;
	background-size:150px 180px;
}
.top-about h1 {
	color:#21A9DA;
	font-size:22px;
	padding:0  10px;
	margin-bottom:35px;
	display:inline-block;
	background-color:rgba(255,255,255,.8);
	position:relative;
}
.top-about-link a {
	color:#FFF;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	width:130px;
	line-height:40px;
	margin:15px auto 0;
	padding-right:15px;
	box-sizing:border-box;
	display:block;
	vertical-align:middle;
	border-radius:25px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 20px center / 12px 12px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
	position: static;
	top:auto;
	right: auto;
}
.top-about-link a:hover {
	background-color:#2B8DD3;
}
.top-about-icon a {
	display:inline-block;
	margin:0 3px;
}
.top-about-icon span {
	display:inline-block;
}
.top-about-icon img {
	width:102px;
}
}

/*-------------------------------
	top:people
--------------------------------*/
.top-people {
	background-color:#5BC2E8;
}
.top-people-wrap {
	font-size: 0;
	max-width:1400px;
	margin:0 auto;
}
.top-people-line {
	border-right:dashed 2px #FFF;
	border-left:dashed 2px #FFF;
}
.top-people-box {
	width:33%;
	text-align:center;
	padding:50px 10px 55px;
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
}
.top-people-box h3 {
	color:#FFF;
	font-size:38px;
}
.top-people-box h3 span {
	font-size:24px;
	display:block;
}
.top-people-ex {
	color:#21A9DA;
	font-size:24px;
	font-weight:700;
	line-height:40px;
	padding:0 20px;
	margin:20px 0 30px;
	display:inline-block;
	background-color:#FFF;
}
.top-people-box img {
	margin:0 auto 25px;
}
.top-people-box a {
	color:#21A9DA;
	font-size:20px;
	font-weight:700;
	line-height:1.4;
	text-decoration:none;
	max-width:260px;
	width:100%;
	height:70px;
	margin:0 auto;
	display: table;
	border-radius:35px;
	box-shadow:4px 6px 0 #21A9DA;
	background: #FFF url(../images/arr-bl.png) no-repeat right 15px center / 24px 24px;
}
.top-people-box a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 15px center / 24px 24px;
	box-shadow:4px 6px 0 #FFF;
}
.top-people-box a span {
	display:table-cell;
	vertical-align:middle;
}
@media only screen and (max-width:800px){
.top-people-box h3 {
	font-size:28px;
}
.top-people-box h3 span {
	font-size:18px;
}
.top-people-ex {
	font-size:18px;
	font-weight:700;
	line-height:40px;
	padding:0 20px;
	margin:20px 0 30px;
}
.top-people-box a {
	font-size:15px;
	padding-right:20px;
	box-sizing:border-box;
}
}
@media only screen and (max-width:600px){
.top-people {
	background-color:#5BC2E8;
}
.top-people-wrap {
	max-width:1400px;
	margin:0 auto;
}
.top-people-line {
	border-right:dashed 1px #FFF;
	border-left:dashed 1px #FFF;
}
.top-people-box {
	width:33%;
	text-align:center;
	padding:30px 5px 35px;
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
}
.top-people-box h3 {
	color:#FFF;
	font-size:4vw;
}
.top-people-box h3 span {
	font-size:3.2vw;
	display:block;
}
.top-people-ex {
	color:#21A9DA;
	font-size:3.2vw;
	font-weight:700;
	line-height:1;
	padding:5px 8px;
	margin:10px 0 15px;
	display:inline-block;
	background-color:#FFF;
}
.top-people-box img {
	width:80%;
	margin:0 auto 15px;
}
.top-people-box a {
	color:#21A9DA;
	font-size:2.6vw;
	font-weight:700;
	line-height:1.2;
	text-decoration:none;
	max-width:260px;
	padding-right:10px;
	box-sizing:border-box;
	width:90%;
	height:40px;
	margin:0 auto;
	display: table;
	border-radius:35px;
	box-shadow:4px 6px 0 #21A9DA;
	background: #FFF url(../images/arr-bl.png) no-repeat right 8px center / 12px 12px;
}
.top-people-box a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 8px center / 12px 12px;
	box-shadow:4px 6px 0 #FFF;
}
.top-people-box a span {
	display:table-cell;
	vertical-align:middle;
}
}

/*-------------------------------
	top:news
--------------------------------*/
.news {
	padding:80px 20px 10px;
	background: #CAEBFF url(../images/bg-cloud-1.png) no-repeat center top;
}
.news h2 {
	color: #21A9DA; 
	font-size: 40px;
	display: inline-block;
	position: relative;
	padding-bottom:20px;
	margin-bottom:30px;
}
.news h2::after {
	content: "";
	position: absolute;
	left: -10%;
	bottom: 0;
	width: 120%;
	height: 6px; 
	background: #5BC2E8; 
}
.news p {
	text-align:left;
	max-width:1000px;
	padding:20px 40px;
	margin:0 auto 20px;
	box-sizing:border-box;
	display:block;
	border-radius:100px;
	background: #FFF;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.news p .news-date {
	float:left;
	width:260px;
	background:no-repeat right 4px / 60px 24px;
}
.news p.pdf .news-date { background-image:url(../images/news-icon-pdf.png) ; }
.news p.event .news-date { background-image:url(../images/news-icon-event.png) ; }
.news p.case .news-date { background-image:url(../images/news-icon-case.png) ; }
.news p.other .news-date { background-image:url(../images/news-icon-other.png) ; }

.news p .news-ttl {
	font-weight:700;
	line-height:1.6;
	padding-left:280px;
	display:block;
}
.news-link a {
	color:#FFF;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	width:350px;
	line-height:70px;
	margin:50px auto 0;
	display:block;
	vertical-align:middle;
	border-radius:35px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.news-link a:hover {
	color:#FFF;
	background: #2B8DD3 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
}
@media only screen and (max-width:600px){
.news {
	padding:40px 20px;
	background: #CAEBFF url(../images/bg-cloud-1.png) no-repeat center 25px / 100% auto ;
}
.news h2 {
	color: #21A9DA; 
	font-size: 24px;
	display: inline-block;
	position: relative;
	padding-bottom:15px;
	margin-bottom:20px;
}
.news h2::after {
	content: "";
	position: absolute;
	left: -10%;
	bottom: 0;
	width: 120%;
	height: 4px; 
	background: #5BC2E8; 
}
.news p {
	text-align:left;
	max-width:1000px;
	padding:15px 20px;
	margin:0 auto 20px;
	box-sizing:border-box;
	display:block;
	border-radius:20px;
	background: #FFF;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.news p .news-date {
	font-size:15px;
	float:none;
	width:100%;
	display:block;
	padding:0 0 6px;
	background:no-repeat right top / 60px 24px;
}
.news p .news-ttl {
	font-weight:700;
	line-height:1.6;
	padding-left:0;
	display:block;
}
.news-link a {
	color:#FFF;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	width:220px;
	line-height:50px;
	margin:30px auto 0;
	padding-right:15px;
	box-sizing:border-box;
	display:block;
	vertical-align:middle;
	border-radius:35px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 25px center / 18px 18px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.news-link a:hover {
	color:#FFF;
	background: #2B8DD3 url(../images/arr-wh.png) no-repeat right 25px center / 18px 18px;
}
}

/*-------------------------------
	top:
--------------------------------*/
.top-bottom {
	font-size:0;
	width:100%;
	height:;
	display: block;  
	background: url(../images/top-bottom-bg-1.svg) no-repeat center top / 100% 600px;
}
.top-bottom-bg {
	padding:180px 0 50px;
	background: url(../images/top-bottom-bg-2.png) no-repeat center top;
}
.top-bottom h2 {
	color: #21A9DA; 
	font-size: 40px;
	line-height:1.3;
	display: inline-block;
	position: relative;
	padding-bottom:25px;
	margin-bottom:40px;
}
.top-bottom h2::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 200px;
	height: 6px; 
	background: #CAEBFF; 
}
.top-bottom p a {
	display:inline-block;
	margin:0 25px;
}
.top-bottom p {
	margin:0 0 110px;
}
@media only screen and (max-width:600px){
.top-bottom {
	width:100%;
	display: block;  
	background: url(../images/top-bottom-bg-1.svg) no-repeat center top / 100% 150px;
}
.top-bottom-bg {
	padding:50px 0 1px;
	background: url(../images/top-bottom-bg-2-sp.png) no-repeat center top / 100% auto;
}
.top-bottom h2 {
	color: #21A9DA; 
	font-size: 20px;
	line-height:1.3;
	display: inline-block;
	position: relative;
	padding-bottom:15px;
	margin-bottom:20px;
}
.top-bottom h2 span {
	display:inline-block;
	padding:0 5px;
	background-color:rgba(255,255,255,.8)
}
.top-bottom h2::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 150px;
	height: 4px; 
	background: #CAEBFF; 
}
.top-bottom p a {
	display:inline-block;
	margin:0 5px;
	width:45%
}
.top-bottom p {
	margin:0 0 50px;
}
.top-bottom p img {
	width:100%;
}
}

/*-------------------------------
	news
--------------------------------*/
.page-news .news {
	padding:80px 20px;
}
.page-news .news {
	background-repeat: repeat-y;
}
.page-news h3 {
	color:#FFF;
	font-size:30px;
	text-align:left;
	max-width:1000px;
	padding:0 15px;
	 line-height:60px;
	margin:0 auto 20px;
	box-sizing:border-box;
	background:#5BC2E8;
	border-radius:5px;
}
.page-news h3:not(:first-of-type) { 
	margin-top:80px;
}
.page-news .news-link a {
	margin:100px auto 0;
}
@media only screen and (max-width:600px){
.page-news .news {
	padding:40px 20px;
}
.page-news .news {
	background-repeat: repeat-y;
}
.page-news h3 {
	color:#FFF;
	font-size:20px;
	text-align:left;
	max-width:1000px;
	padding:0 15px;
	line-height:40px;
	margin:0 auto 15px;
	box-sizing:border-box;
	background:#5BC2E8;
	border-radius:5px;
}
.page-news h3:not(:first-of-type) { 
	margin-top:40px;
}
.page-news .news-link a {
	margin:50px auto 0;
}
}

/*-------------------------------
	undergrounding
--------------------------------*/
.undergrounding-pic {
	overflow:hidden;
}
.undergrounding-pic img {
	width:50%;
	float:left;
}
.undergrounding-message-1 {
	color:#FFF;
	font-size:26px;
	font-weight:500;
	padding:60px 15px;
	background:#5BC2E8;
	text-align:left;
}
.undergrounding-message-1  p {
	text-align: justify;
}
.undergrounding-message-1-img img {
	border:solid 3px #FFF;
	border-radius:80px;
	margin-top:30px;
}
.undergrounding-message-2 {
	font-size:26px;
	padding:60px 30px;
	background:url(../undergrounding/images/undergrounding-bg-1.png) no-repeat center center;
}
.undergrounding-btn {
	max-width:1100px;
	margin:50px auto 0;
}
.undergrounding-btn a {
	display:inline-block;
	width:33%;
	max-width:350px;
	margin:0 5px 30px;
}
.undergrounding-btn img {
	width:100%;
	max-width:350px;
}
@media only screen and (max-width:600px){
.undergrounding-pic {
	overflow:hidden;
}
.undergrounding-pic img {
	width:100%;
	float:none;
}
.undergrounding-message-1 {
	color:#FFF;
	font-size:18px;
	padding:30px 10px;
	background:#5BC2E8;
	text-align:left;
}
.undergrounding-message-1-img img {
	border:solid 3px #FFF;
	border-radius:80px;
	margin-top:20px;
	width:75px;
}
.undergrounding-message-2 {
	font-size:18px;
	padding:30px 15px;
	background:url(../undergrounding/images/undergrounding-bg-1.png) no-repeat center bottom / 110% auto;
	text-align:left;
}
.undergrounding-btn {
	margin:30px auto 0;
	text-align:center;
}
.undergrounding-btn a {
	display:inline-block;
	width:45%;
	margin:0 5px 15px;
}
.undergrounding-btn img {
	width:100%;
}
}

/*-------------------------------
	effect
--------------------------------*/
.effect-box {
  display: flex;
  align-items: center;
  gap: 3%;
  overflow: hidden;
  margin-bottom:70px;
}
.effect-box.reverse {
  flex-direction: row-reverse;
}
.effect-pic {
  width: 35%;
}
.effect-pic img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 0 30px 30px 0;
}
.effect-box.reverse .effect-pic img {
  border-radius: 30px 0 0 30px;
}
.effect-txt {
	font-size:26px;
  width: 60%;
  max-width: 680px;
  text-align:left;
  padding:0 10px;
  box-sizing:border-box;
}
.effect-txt h2 {
  font-size: 30px;
  margin-bottom: 20px;
}
.effect-txt h2 img {
  width: 80px;
  margin-right: 20px;
  vertical-align: middle;
  display:inline-block;
}
@media only screen and (max-width:900px){
.effect-txt {
	font-size:20px;
}
.effect-txt h2 {
  font-size: 23px;
}
.effect-txt h2 img {
  width: 70px;
  margin-right: 10px;
}
}
@media only screen and (max-width:600px){
.effect-box {
  display: flex;
  align-items: center;
  gap: 5%;
  overflow: hidden;
  flex-direction: column;
  margin-bottom:40px;
}
.effect-box.reverse {
  flex-direction: column;
}
.effect-pic {
  width: 90%;
}
.effect-pic img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 20px ;
}
.effect-box.reverse .effect-pic img {
   border-radius: 20px ;
}
.effect-txt {
  font-size:18px;
  width: 90%;
  max-width: 680px;
  text-align:left;
  padding:15px 10px 0;
  box-sizing:border-box;
}
.effect-txt h2 {
  font-size: 22px;
  margin-bottom: 10px;
}
.effect-txt h2 img {
  width: 60px;
  margin-right: 10px;
  vertical-align: middle;
  display:inline-block;
}
}

/*-------------------------------
	mechanism
--------------------------------*/
.mechanism section {
	margin-bottom:80px;
}
.not-under-wrap {
   display: flex;
   justify-content: space-between;
}
.not-under {
  width: 48%;
}
.not-under strong {
	color:#FFF;
	font-size:24px;
	line-height:1.4;
	padding:10px;
	margin-bottom:15px;
	display:block;
	background-color:#5BC2E8;
	border-radius:5px;
}
@media only screen and (max-width:600px){
.mechanism section {
	margin-bottom:40px;
}
.not-under-wrap {
    display: flex;
    flex-direction: column;
	gap: 30px;
}
.not-under {
  width: 100%;
}
.not-under strong {
	color:#FFF;
	font-size:17px;
	line-height:1.4;
	padding:10px;
	margin-bottom:10px;
	display:block;
	background-color:#5BC2E8;
	border-radius:5px;
}
}

/*-------------------------------
	step
--------------------------------*/
.step section {
	text-align:left;
	margin-bottom:90px;
	justify-content: flex-start;
}
.step h2 {
	font-size:30px;
	margin-bottom:20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.step p {
	font-size:26px;
	text-align: justify;
}
.step h2 img {
  margin-right: 20px;
  margin-left:inherit;
}
.step-links {
	text-align:center;
	margin-top:50px;
}
.step-links a {
	color:#FFF;
	font-size:20px;
	font-weight:700;
	text-decoration:none;
	width:350px;
	line-height:70px;
	margin:0 10px;
	text-align:center;
	display:inline-block;
	vertical-align:middle;
	border-radius:35px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.step-links a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
}
@media only screen and (max-width:600px){
.step section {
	text-align:left;
	margin:0 10px 50px;
}
.step h2 {
	font-size:20px;
	margin-bottom:10px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.step h2 img {
	width:50px;
  margin-right: 10px;
  margin-left:inherit;
}
.step p {
	font-size:18px;
}
.step-links {
	text-align:center;
	margin-top:20px;
}
.step-links a {
	color:#FFF;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	width:220px;
	line-height:50px;
	margin:0 10px 10px;
	padding-right:15px;
	box-sizing:border-box;
	display:inline-block;
	vertical-align:middle;
	border-radius:35px;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 15px center / 18px 18px;
	box-shadow:4px 6px 0 rgba(33,169,218,.2);
}
.step-links a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 15px center / 18px 18px;
}
}

/*-------------------------------
	method
--------------------------------*/
.method section {
	text-align:left;
	margin-bottom:100px;
}
.method h2 {
	color:#21A9DA;
	font-size:35px;
	text-align:center;
	margin-bottom:40px;
}
.method h2 span {
	color:#FFF;
	font-size:26px;
	display:block;
	width: fit-content;
	margin:15px auto 0;
	padding:2px 50px;
	background:#5BC2E8;
}
@media only screen and (max-width:600px){
.method section {
	text-align:left;
	margin-bottom:50px;
}
.method h2 {
	color:#21A9DA;
	font-size:20px;
	text-align:center;
	margin-bottom:20px;
}
.method h2 span {
	color:#FFF;
	font-size:16px;
	display:block;
	width: fit-content;
	margin:10px auto 0;
	padding:4px 30px;
	background:#5BC2E8;
}
}

/*-------------------------------
	anchor
--------------------------------*/
.anchor {
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	gap:20px;
}
.anchor.three {
	justify-content: flex-start;
}
.anchor a {
	width:320px;
	height: 70px;
	padding: 0 50px;
	box-sizing:border-box;

	display: flex;
	align-items: center; /* テキスト上下中央 */
	text-align:left;

	color: #21A9DA;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;

	border: solid 4px #CAEBFF;
	border-radius: 35px;
	background: #FFF url(../images/arr-bl.png)
		no-repeat right 25px center / 24px 24px;
}
.anchor a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
}
@media only screen and (max-width:999px){
  .anchor.three{
    display: grid;
    grid-template-columns: repeat(2, 320px);
    gap: 20px;
    place-content: center; /* 行全体を中央に */
    justify-items: start;/* 各アイテムは左寄せ */
  }
}
@media only screen and (max-width:600px){
.anchor {
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	gap:10px 2%;
}
.anchor.three {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:10px 2%;
    place-content: initial; /* 中央寄せ解除 */
    justify-items: stretch; /* 中央寄せ解除 */
}
.anchor.three a{
  width:100%; 
}
.anchor a {
	width:49%;
	height: 50px;
	padding: 0 20px 0 15px;
	box-sizing:border-box;

	font-size: 14px;

	border: solid 3px #CAEBFF;
	background: #FFF url(../images/arr-bl.png) no-repeat right 5px center / 18px 18px;
}
.anchor a:hover {
	color:#FFF;
	background: #21A9DA url(../images/arr-wh.png) no-repeat right 5px center / 18px 18px;
}
}

/*-------------------------------
	voice
--------------------------------*/
.voice .anchor {
	margin:20px 0 70px;
}
.voice h2 {
	color:#FFF;
	font-size:30px;
	text-align:left;
	max-width:1000px;
	padding:0 15px;
	 line-height:60px;
	margin:0 auto 40px;
	box-sizing:border-box;
	background:#5BC2E8;
	border-radius:5px;
}
.voice h2:not(:first-of-type) { 
	margin-top:80px;
}

.voice-frame {
	text-align:left;
	padding:30px 40px 40px;
	border:solid 6px #A9DCF9;
	margin-bottom:50px;
	border-radius:30px;
	background:#FFF;
	 display:flex;
	 flex-direction:column;
	 gap:30px;
}
.voice-ttl {
	color:#21A9DA;
	font-size:26px;
	font-weight:700;
	display:block;
	padding-bottom:15px;
	border-bottom:solid 4px #CAEBFF;
}
.voice-box {
	display:flex;
	flex-direction:row-reverse;
	gap:60px;
}
.voice-txt {
	flex:1;
	font-size:26px;
}

p.voice-txt-q {
	color:#21A9DA;
	font-weight:700;
	position: relative;
	padding-left: 1.6em;
	line-height:1.5;
	margin-bottom:10px;
	text-align: justify;
}
p.voice-txt-a {
	position: relative;
	padding-left: 1.6em;
	line-height:1.5;
	text-align: justify;
}
p.voice-txt-q::before {
	font-size:28px;
	content: "Q.";
	position: absolute;
	left: 0;
	top: -2px;
}
p.voice-txt-a::before {
	font-weight:500;
	font-size:28px;
	content: "A.";
	position: absolute;
	left: 0;
	top: -2px;
}

.voice-pic {
	width:220px;
	text-align:center;
}
.voice-pic img {
	margin-bottom:15px;
	border-radius:100px;
}
a.voice-btn {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	line-height: 70px;

	width: 300px;
	margin: 0 auto;
	padding-left:20px;
	box-sizing:border-box;
	display: block;
	border-radius: 35px;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);

	background-color: #5BC2E8;
	background-image:
		url(../images/arr-wh.png),
		url(../images/btn-icon-pdf.png);
	background-repeat: no-repeat, no-repeat;
	background-position:
		right 25px center,
		left 25px center;
	background-size:
		24px 24px,
		40px 24px;
}
a.voice-btn:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
@media only screen and (max-width:600px){
.voice .anchor {
	margin:0 0 40px;
}
.voice h2 {
	color:#FFF;
	font-size:20px;
	text-align:left;
	max-width:1000px;
	padding:0 15px;
	 line-height:40px;
	margin:0 auto 20px;
	box-sizing:border-box;
	background:#5BC2E8;
	border-radius:5px;
}
.voice h2:not(:first-of-type) { 
	margin-top:40px;
}

.voice-frame {
	text-align:left;
	padding:15px 20px 25px;
	border:solid 4px #A9DCF9;
	margin-bottom:30px;
	border-radius:30px;
	 display:flex;
	 flex-direction:column;
	 gap:20px;
}
.voice-ttl {
	color:#21A9DA;
	font-size:18px;
	display:block;
	padding-bottom:10px;
	border-bottom:solid 3px #CAEBFF;
}
.voice-box {
	display:flex;
	flex-direction: column;
	gap:20px;
}

p.voice-txt-q {
	color:#21A9DA;
	font-size:18px;
	font-weight:700;
	position: relative;
	padding-left: 1.6em;
	line-height:1.5;
	margin-bottom:10px;
}
p.voice-txt-a {
	font-size:18px;
	position: relative;
	padding-left: 1.6em;
	line-height:1.5;
}
p.voice-txt-q::before {
	font-size:20px;
	content: "Q.";
	position: absolute;
	left: 0;
	top: -2px;
}
p.voice-txt-a::before {
	font-weight:500;
	font-size:20px;
	content: "A.";
	position: absolute;
	left: 0;
	top: -2px;
}

.voice-pic {
	width:100%;
}
.voice-pic img {
	width:100px;
	margin-bottom:10px;
}
a.voice-btn {
	font-size: 14px;
	line-height: 50px;

	width: 220px;
	padding-left:25px;
	
	background-size:
		18px 18px,
		40px 24px;
}
a.voice-btn:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
}

/*-------------------------------
	laws-support
--------------------------------*/
.laws-support {
	text-align:left;
    margin-bottom: 40px;
}
.laws-support h2 {
	color:#21A9DA;
	font-size:26px;
	margin:50px 0 15px;
}
.laws-support-box p {
	font-size:24px;
	text-align: justify;
}
.laws-support-box {
	padding:0 30px 30px;
}
.laws-support-link {
	text-align:center;
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	margin:25px 0 40px;
	gap:15px;
}
.laws-support-link a {
	min-width:250px;
	min-height: 70px;
	padding: 10px 60px 10px 30px;
	box-sizing:border-box;

	display: flex;
	align-items: center; /* テキスト上下中央 */
	justify-content: center;

	color: #21A9DA;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);

	border: solid 3px #5BC2E8;
	border-radius: 100px;
	background: #FFF url(../images/arr-bl.png)
		no-repeat right 25px center / 24px 24px;
}
.laws-support-link a:hover {
	color: #FFF;
	border: solid 3px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 25px center / 24px 24px;
}
.laws-support summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 15px 40px;
    color: #FFF;
	font-size:28px;
    font-weight: 700;
    cursor: pointer;
	
	background:#5BC2E8;
	border-radius:50px;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);
}
.laws-support summary::-webkit-details-marker {
    display: none;
}
.laws-support summary::after {
    content: "+";
    font-size: 50px;
    font-weight: 500;
    line-height: 1;
    color: #FFF;
	margin-top:-5px;
    transition: transform .3s;
}
.laws-support[open] summary::after {
    content: "\2212";
}
@media only screen and (max-width:600px){
.laws-support {
	text-align:left;
    margin-bottom: 20px;
}
.laws-support h2 {
	color:#21A9DA;
	font-size:18px;
	margin:30px 0 8px;
}
.laws-support-box p {
	font-size:17px;
}
.laws-support-box {
	padding:0 15px 15px;
}
.laws-support-link {
	margin:10px 0 30px;
}
.laws-support-link a {
	width:100%;
	height:auto;
	min-height: 50px;
	padding: 8px 40px 8px 30px;
	font-size: 16px;
	background: #FFF url(../images/arr-bl.png)
		no-repeat right 15px center / 18px 18px;
}
.laws-support-link a:hover {
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 15px center / 18px 18px;
}
.laws-support summary {
    padding: 10px 25px;
	font-size:18px;
}
.laws-support summary::after {
    font-size: 30px;
}
}

/*-------------------------------
	guideline
--------------------------------*/
.guideline section {
	margin-bottom:80px;
}
.guideline h3 {
	color:#21A9DA;
	font-size:26px;
	text-align:left;
	padding-bottom:15px;
	margin-bottom:20px;
	border-bottom:solid 4px #CAEBFF;
}
.guideline-box {
	display:flex;
	gap:30px;
	margin-bottom:60px;
}
.guideline-txt {
	font-size:24px;
	flex:1;
	text-align:left;
}
.guideline-txt p {
	text-align: justify;
}
.guideline-btn a {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	
	display:flex;
	align-items: center;
	justify-content:center;
	text-align:center;
	
	width: 320px;
	height:70px;
	padding:0 45px 0 20px;
	margin: 0 auto 20px;
	box-sizing:border-box;
	border-radius: 60px;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);
	background-color: #5BC2E8;
	
	background-repeat: no-repeat;
	background-image:
		url(../images/arr-wh.png);
	background-position:
		right 25px center;
	background-size:
		24px 24px;
}
.guideline-btn a.pdf {
	padding:0 55px 0 70px;
	background-repeat: no-repeat, no-repeat;
	background-image:
		url(../images/arr-wh.png),
		url(../images/btn-icon-pdf.png);
	background-position:
		right 25px center,
		left 25px center;
	background-size:
		24px 24px,
		40px 24px;
}
.guideline-btn a.word {
	padding:0 55px 0 70px;
	background-repeat: no-repeat, no-repeat;
	background-image:
		url(../images/arr-wh.png),
		url(../images/btn-icon-word.png);
	background-position:
		right 25px center,
		left 20px center;
	background-size:
		24px 24px,
		50px 24px;
}
.guideline-btn a.zip {
	padding:0 55px 0 70px;
	background-repeat: no-repeat, no-repeat;
	background-image:
		url(../images/arr-wh.png),
		url(../images/btn-icon-zip.png);
	background-position:
		right 25px center,
		left 25px center;
	background-size:
		24px 24px,
		40px 24px;
}
.guideline-btn a:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
.guideline-btn a.white {
	color:#21A9DA;
	font-size:18px;
	height:auto;
	padding:15px 15px 15px 10px;
	background-color:#FFF;
	background-repeat: no-repeat;
	background-image:url(../images/arr-bl.png);
	background-position:right 10px center;
	background-size:24px 24px;
	border:solid 3px #5BC2E8;
}
.guideline-btn a.white:hover {
	color: #FFF;
	background-image:url(../images/arr-wh.png);
	background-color: #5BC2E8;
}
.guideline-hinagata-ttl {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	
	display:flex;
	align-items: center;
	justify-content:center;

	width: 300px;
	height:70px;
	margin: 0 auto 20px;
	box-sizing:border-box;
	border-radius: 35px;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);
	background-color: #5BC2E8;
	
	padding:0 55px 0 80px;
	background-repeat:  no-repeat;
	background-image:url(../images/btn-icon-word.png);
	background-position:left 20px center;
	background-size:50px 24px;
}
.guideline-hinagata ul {
	color:#21A9DA;
	margin:0 0 40px 40px;
}
.guideline-hinagata a {
	color:#21A9DA;
	font-size:18px;
	font-weight:400;
	padding:0;
	display:block;
	width:auto;
	height:auto;
	margin: 0 0 5px;
	text-align:left;
	box-shadow: none;
	background:none;
}
.guideline-hinagata a:hover {
	color:#2B8DD3;
	text-decoration:underline;
	background:none;
}
@media only screen and (max-width:900px){
.guideline-box {
	flex-direction:column;
}
}
@media only screen and (max-width:600px){
.guideline section {
	margin-bottom:40px;
}
.guideline h3 {
	color:#21A9DA;
	font-size:18px;
	text-align:left;
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:solid 3px #CAEBFF;
}
.guideline-box {
	display:flex;
	flex-direction:column;
	gap:15px;
	margin-bottom:40px;
}
.guideline-txt {
	font-size:17px;
}
.guideline-btn a {
	font-size: 14px;

	width: 240px;
	height:50px;
	
	padding:0 45px 0 30px;
	background-position:right 20px center;
	background-size:18px 18px;
}
.guideline-btn a.pdf {
	padding:0 45px 0 65px;
	background-position:
		right 20px center,
		left 20px center;
	background-size:
		18px 18px,
		auto 20px;
}
.guideline-btn a.word {
	padding:0 45px 0 65px;
	background-position:
		right 20px center,
		left 16px center;
	background-size:
		18px 18px,
		auto 20px;
}
.guideline-btn a.zip {
	padding:0 45px 0 65px;
	background-position:
		right 20px center,
		left 20px center;
	background-size:
		18px 18px,
		auto 20px;
}
.guideline-btn a:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
.guideline-btn a.white {
	font-size:14px;
	width:280px;
	padding:10px 15px 10px 10px;
	background-image:url(../images/arr-bl.png);
	background-position:right 10px center;
	background-size:18px 18px;
}
.guideline-hinagata-ttl {
	font-size: 14px;
	
	display:flex;
	align-items: center;
	justify-content:center;

	width: 240px;
	height:50px;
	margin: 0 auto 15px;
	background-color: #5BC2E8;
	
	padding:0 45px 0 65px;
	background-position:left 16px center;
	background-size:auto 20px;
}
.guideline-hinagata {
	text-align:center;
}
.guideline-hinagata ul {
	display:inline-block;
	margin:0 auto 20px;
	padding-left:15px;
}
.guideline-hinagata a {
	font-size:16px;
	padding:0;
	display:block;
	width:auto;
	height:auto;
	margin: 0 0 10px;

}
.guideline-hinagata a:hover {
	color:#2B8DD3;
	text-decoration:underline;
	background:none;
}
}
/*-------------------------------
	case:summary
--------------------------------*/
.case-details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 15px 30px 15px 15px;
	margin-bottom:40px;
    color: #FFF;
	font-size:30px;
    font-weight: 700;
    cursor: pointer;
	
	background:#5BC2E8;
	border-radius:5px;
}
.case-details summary::-webkit-details-marker {
    display: none;
}
.case-details summary::after {
    content: "+";
    font-size: 50px;
    font-weight: 500;
    line-height: 1;
    color: #FFF;
	margin-top:-5px;
    transition: transform .3s;
}
.case-details[open] summary::after {
    content: "\2212";
}
@media only screen and (max-width:600px){
.case-details summary {
    padding: 10px 25px 10px 10px;
	margin-bottom:20px;
	font-size:18px;
}
.case-details summary::after {
    font-size: 30px;
}
}
/*-------------------------------
	case
--------------------------------*/
.case-text {
	font-size:20px;
	text-align:center;
	padding:20px 30px;
	margin-bottom:50px;
	border:solid 6px #A9DCF9;
	background:#FFF;
	border-radius:15px;
}
.case-text-pin {
	display:inline-block;
	text-align:left;
	margin:0 auto;
}
.case-text  span.case-text-ttl {
	font-weight:700;
	display:inline-block;
	padding:4px 15px 0 10px;
	margin-bottom:5px;
	border:solid 2px #0097A7;
	border-radius:30px;
}
.case-text  span.case-text-ttl.hard {
	border:solid 2px #F57C00;
}
.case-text  span.case-text-ttl img {
	display:inline-block;
	vertical-align:middle;
}
.case-map {
	height:700px;
	margin-bottom:20px;
}
.case-map iframe {
	border:none;
}

.case-box {
	text-align:left;
	padding:30px;
	margin-bottom:40px;
	border-radius:30px;
	background:#DBF2FF;
}
.case-ttl {
	color:#21A9DA;
	font-size:28px;
	font-weight:700;
	display:block;
	padding:10px 20px;
	margin-bottom:20px;
	background-color:#FFF;
	border-left:solid 10px #5BC2E8;
	border-radius:10px;
}
.case-flex {
	display:flex;
	gap:50px;
}
.case-pic {
	width:400px;
	margin:0 auto;
}
.case-pic img {
	border-radius:30px;
}
.case-txt {
	font-size:24px;
	flex:1;
}

a.case-btn {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	line-height: 70px;

	width: 300px;
	margin: 30px auto 0;
	padding-left:20px;
	box-sizing:border-box;
	display: block;
	border-radius: 35px;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);

	background-color: #5BC2E8;
	background-image:
		url(../images/arr-wh.png),
		url(../images/btn-icon-pdf.png);
	background-repeat: no-repeat, no-repeat;
	background-position:
		right 25px center,
		left 25px center;
	background-size:
		24px 24px,
		40px 24px;
}
a.case-btn:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
@media only screen and (max-width:900px){
.case-flex {
	flex-direction:column-reverse;
	gap:30px;
}
}
@media only screen and (max-width:600px){
.case-text {
	font-size:17px;
	text-align:left;
	padding:15px 15px;
	margin-bottom:30px;
	border:solid 3px #A9DCF9;
}
.case-text-pin {
	display:block;
}
.case-text  span.case-text-ttl {
	display:block;
	box-sizing:border-box;
	text-align:center;
	padding:4px 15px 0 10px;
	margin-top:15px;
	margin-bottom:5px;
	border:solid 2px #0097A7;
	border-radius:30px;
}

.case-map {
	height:430px;
	margin-bottom:10px;
}
.case-map iframe {
	border:none;
	height:430px;
}

.case .anchor {
	margin:0 0 40px;
}
.case h3 {
	font-size:20px;
	padding:0 15px;
	 line-height:40px;
	margin:0 auto 20px;
}
.case h3:not(:first-of-type) { 
	margin-top:40px;
}

.case-box {
	text-align:left;
	padding:15px;
	margin-bottom:20px;
	border-radius:20px;
	background:#DBF2FF;

}
.case-ttl {
	font-size:19px;
	padding:6px 10px;
	margin-bottom:15px;
	border-left:solid 8px #5BC2E8;
	border-radius:8px;
}
.case-flex {
	display:flex;
	flex-direction:column-reverse;
	gap:20px;
}
.case-pic {
	width:auto;
}
.case-pic img {
	border-radius:15px;
}
.case-txt {
	font-size:17px;
}

a.case-btn {
	font-size: 14px;
	line-height: 50px;

	width: 220px;
	margin:15px auto 5px;
	padding-left:25px;
	
	background-size:
		18px 18px,
		40px 24px;
}
a.case-btn:hover {
	color: #FFF;
	background-color: #2B8DD3;
}
}

/*-------------------------------
	event
--------------------------------*/
.event h2 {
	color:#FFF;
	font-size:30px;
	text-align:left;
	max-width:1000px;
	padding:0 15px;
	 line-height:60px;
	margin:0 auto 40px;
	box-sizing:border-box;
	background:#5BC2E8;
	border-radius:5px;
}
.event h2:not(:first-of-type) { 
	margin-top:80px;
}
.event-frame {
	font-size:24px;
	text-align:left;
	padding:30px 40px 40px;
	border:solid 6px #A9DCF9;
	margin-bottom:50px;
	border-radius:30px;
	background:#FFF;
	 display:flex;
	 flex-direction:column;
	 gap:30px;
}
.event-frame p {
	 text-align: justify;
}
.event-ttl {
	color:#21A9DA;
	font-size:26px;
	font-weight:700;
	display:block;
	padding-bottom:15px;
	border-bottom:solid 4px #CAEBFF;
}
.event-box {
	display:flex;
	flex-direction:row-reverse;
	gap:50px;
}
.event-txt {
	flex:1;
	padding-top:10px;
}
.event-link a {
	font-size:18px;
	font-weight:500;
	display:block;
	min-height:26px;
	padding:0 0 0 35px;
	margin-bottom:8px;
	background: url(../images/arr-bt.png) no-repeat left 2px / 24px 24px ;
}
.event-pic {
	width:250px;
	text-align:center;
}
.event-pic  img {
	width:230px;
}
@media only screen and (max-width:600px){
.event h2 {
	font-size:20px;
	 line-height:40px;
	margin:0 auto 20px;
}
.event h2:not(:first-of-type) { 
	margin-top:40px;
}
.event-frame {
	font-size:17px;
	padding:15px 20px 25px;
	border:solid 4px #A9DCF9;
	margin-bottom:30px;
	border-radius:30px;
	background:#FFF;
	 display:flex;
	 flex-direction:column;
	 gap:20px;
}
.event-ttl {
	font-size:18px;
	padding-bottom:10px;
	border-bottom:solid 3px #CAEBFF;
}
.event-box {
	flex-direction: column-reverse;
	gap:20px;
}
.event-txt {
	flex:1;
}
.event-link a {
	font-size:16px;
	display:block;
	min-height:26px;
	padding:0 0 0 25px;
	margin-bottom:8px;
	background: url(../images/arr-bt.png) no-repeat left 4px / 18px 18px ;
}
.event-pic {
	width:100%;
	text-align:center;
}
}

/*-------------------------------
	consultation
--------------------------------*/
.consultation {
	margin-bottom:100px;
}
.consultation h3 {
	color:#FFF;
	font-size:30px;
	padding:16px;
	margin-bottom:30px;
	background-color:#2B8DD3;
}
.consultation-txt {
	font-size:24px;
	text-align:left;
	margin-bottom:40px;
}
.consultation-txt p {
	text-align:justify;
}
.contact-text {
	font-size:20px;
	text-align:left;
	padding:20px 30px;
	margin-bottom:20px;
	border:solid 6px #A9DCF9;
	background:#FFF;
	border-radius:15px;
}
table.contact-hinagata {
	font-size:20px;
	margin-bottom:90px;
	border-collapse:collapse;
	border-top:solid 1px #666;
	border-left:solid 1px #666;
}
table.contact-hinagata th {
	width:210px;
	padding:20px 0;
	vertical-align:top;
	border-right:solid 1px #666;
	border-bottom:solid 1px #666;
	background-color:#DBF2FF;
}
table.contact-hinagata td {
	padding:20px;
	text-align:left;
	border-right:solid 1px #666;
	border-bottom:solid 1px #666;
}
table.contact-hinagata td span.mailto {
	font-size:18px;
	display:block;
	margin-top:15px;
}
.consultation-link {
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	gap:20px;
}
.consultation-link a {
	width:340px;
	height: 90px;
	padding: 0 50px;
	box-sizing:border-box;

	display: flex;
	align-items: center; /* テキスト上下中央 */
	justify-content:center;
	flex-direction:column;

	color: #FFF;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;

	border-radius: 50px;
	border: solid 4px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 25px center / 24px 24px;
}
.consultation-link a span {
	font-size: 22px;
	display:block;
	margin-top:2px;
}
.consultation-link a:hover {
	color:#21A9DA;
	border: solid 4px #5BC2E8;
	box-sizing:border-box;
	background: #FFF url(../images/arr-bl.png) no-repeat right 25px center / 24px 24px;
}

a.consultation-form {
	font-size:26px;
	width:800px;
	height: 90px;
	margin-bottom:20px;
	border:none;
	background: #2B8DD3 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
}
a.consultation-form:hover {
	color:#FFF;
	border:none;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 25px center / 24px 24px;
}
@media only screen and (max-width:600px){
.consultation {
	margin-bottom:50px;
}
.consultation h3 {
	font-size:20px;
	padding:12px;
	margin-bottom:15px;
}
.consultation-txt {
	font-size:17px;
	text-align:left;
	margin-bottom:20px;
}
.contact-text {
	font-size:17px;
	padding:15px 20px;
	margin-bottom:10px;
	border:solid 3px #A9DCF9;
	background:#FFF;
	border-radius:15px;
}
table.contact-hinagata {
	font-size:17px;
	margin-bottom:40px;
	border-collapse:collapse;
	border-top:solid 1px #666;
	border-left:solid 1px #666;
}
table.contact-hinagata th {
	width:auto;
	padding:5px 10px;
	text-align:left;
	display:block;
}
table.contact-hinagata td {
	padding:15px 10px;
	text-align:left;
	display:block;
}
table.contact-hinagata td span.mailto {
	font-size:15px;
	margin-top:15px;
}
.consultation-link {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:15px 2%;
}
.consultation-link a {
	width:260px;
	height:60px;
	padding: 0 20px 0 15px;
	box-sizing:border-box;

	font-size: 18px;
	
	border: solid 3px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 5px center / 18px 18px;
}
.consultation-link a span {
	font-size: 16px;
}
.consultation-link a:hover {
	background: #FFF url(../images/arr-bl.png) no-repeat right 5px center / 18px 18px;
}

a.consultation-form {
	font-size:16px;
	width:100%;
	height: 60px;
	margin-bottom:15px;
	border:none;
	background: #2B8DD3 url(../images/arr-wh.png) no-repeat right 15px center / 18px 18px;
}
a.consultation-form:hover {
	border:none;
	background: #5BC2E8 url(../images/arr-wh.png) no-repeat right 15px center / 18px 18px;
}
}

/*-------------------------------
	faq
--------------------------------*/
.faq h3 {
	font-size:24px;
	text-align:left;
	padding-bottom:15px;
	margin:80px 0 20px;
	border-bottom:solid 4px #CAEBFF;
}
.faq-link {
	text-align:center;
	display: flex;
	justify-content:center;
	margin:25px 0 40px;
}
.faq-link a {
	width:250px;
	height: 70px;
	padding: 0 50px;
	box-sizing:border-box;

	display: flex;
	align-items: center; /* テキスト上下中央 */
	text-align:left;

	color: #21A9DA;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 4px 6px 0 rgba(33, 169, 218, .2);

	border: solid 3px #5BC2E8;
	border-radius: 35px;
	background: #FFF url(../images/arr-bl.png)
		no-repeat right 25px center / 24px 24px;
}
.faq-link a:hover {
	color: #FFF;
	border: solid 3px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 25px center / 24px 24px;
}
.faq details {
	margin-bottom:30px;
}
.faq-box {
	font-size:18px;
	line-height:1.6;
	text-align:left;
	padding:30px;
}
.faq-box p {
	text-align:justify;
}
.faq-wrap summary {
	position: relative;
	
	text-align:left;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 26px 70px 26px 75px;
    color: #FFF;
	font-size:20px;
    font-weight: 700;
    cursor: pointer;
	
	background:#5BC2E8 url(../images/qa-q.png) no-repeat 25px 20px / 40px 40px;
	border-radius:5px;
}
.faq-wrap summary::-webkit-details-marker {
    display: none;
}
.faq-wrap summary::after {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);

    width: 16px;
    height: 16px;
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
    content: '';
    transition: transform .3s;
}
.faq-wrap[open] summary::after {
    transform: translateY(-50%) rotate(225deg);
}
.faq-box ul li {
	margin-left:25px;
	margin-bottom:10px;
}
.faq-box table td {
	vertical-align:top;
	text-align:left;
}
.faq-a-link {
	text-align:center;
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
	margin:20px 0;
	gap:15px;
}
.faq-a-link a {
	height: 60px;
	padding: 0 60px 0 40px;
	box-sizing:border-box;

	display: flex;
	align-items: center; /* テキスト上下中央 */
	justify-content:center;

	color: #FFF;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;

	border-radius: 50px;
	border: solid 4px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 25px center / 24px 24px;
}
.faq-a-link a:hover {
	color:#21A9DA;
	border: solid 4px #5BC2E8;
	box-sizing:border-box;
	background: #FFF url(../images/arr-bl.png) no-repeat right 25px center / 24px 24px;
}
@media only screen and (max-width:600px){
.faq h3 {
	font-size:18px;
	text-align:left;
	padding-bottom:10px;
	margin:40px 0 20px;
	border-bottom:solid 3px #CAEBFF;
}
.faq-link {
	text-align:center;
	display: flex;
	justify-content:center;
	margin:25px 0 40px;
}
.faq-link {
	margin:10px 0 30px;
}
.faq-link a {
	width:180px;
	height: 50px;
	padding: 0 25px;
	font-size: 14px;
	background: #FFF url(../images/arr-bl.png)
		no-repeat right 15px center / 18px 18px;
}
.faq-link a:hover {
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 15px center / 18px 18px;
}
.faq details {
	margin-bottom:15px;
}
.faq-box {
	font-size:16px;
	text-align:left;
	padding:15px;
}
.faq-wrap summary {
    padding: 13px 40px 13px 50px;
	font-size:17px;
	background:#5BC2E8 url(../images/qa-q.png) no-repeat 15px 13px / 28px 28px;
}
.faq-wrap summary::-webkit-details-marker {
    display: none;
}
.faq-wrap summary::after {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);

    width: 10px;
    height: 10px;
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
    content: '';
    transition: transform .3s;
}
.faq-wrap[open] summary::after {
    transform: translateY(-50%) rotate(225deg);
}

.faq-a-link {
	margin:20px 0;
	gap:10px 2%;
}
.faq-a-link a {
	height: 50px;
	padding: 0 40px 0 20px;

	font-size: 16px;

	border: solid 3px #5BC2E8;
	background: #5BC2E8 url(../images/arr-wh.png)
		no-repeat right 5px center / 18px 18px;
}
.faq-a-link a:hover {
	background: #FFF url(../images/arr-bl.png) no-repeat right 5px center / 18px 18px;
}
}
