@charset "utf-8";
.line{
    width: 69px;
    vertical-align: bottom;
}

.telimg{
	width: 257px;
    vertical-align: bottom;
}

.header-img{
	background:#e5f2fa;
	display:flex;
	justify-content:center;
}

img.first-visual-top{
	width:1400px;
}

/*==============================================

	4つの特徴

==============================================*/

.topbox{

	padding: 40px 0;

	position: relative;

}

.topbox-in{

	width: 95%;

	max-width: 1040px;

	margin: 0 auto;

	text-align: center;

	line-height: 1.425;

}

.slide {

  	position   : relative;

  	overflow   : hidden;

  	width      : 545px;

  	height     : 108px;

  	margin     : 0 auto;      

	display: flex;
	justify-content: center;

}

.slide img {

  	display    : block;

  	position   : absolute;

  	width      : inherit;

  	height     : inherit;

  	opacity    : 0;

  	animation  : slideAnime 2s ease infinite;

}
/*
.slide h1 img:nth-of-type(1) { 

	animation-delay: 0s 

}

.slide img:nth-of-type(2) { 

	animation-delay: 0.5s 

}
*/
@keyframes slideAnime{

   	  0% { opacity: 1 }

   	  5% { opacity: 1 }

  	 50% { opacity: 1 }

  	 55% { opacity: 1 }

 	100% { opacity: 1 }

}

.topbox-in h2{

	letter-spacing: 0.5px;

	line-height: 1.5em;

	padding-top: 30px;

}

.dekiru-area{

	max-width: 100%;

	justify-content: center;

	flex-wrap: wrap;

	margin: 30px auto 0 auto;

	display: flex;

}

.dekiru-area table{
	//width: 85%;

	border-collapse: collapse;
	background-color: #e5f2fa;	/* 背景色を設定 */
}

.dekiru-area th {
	text-align: center;
}

.dekiru-area td {
	height: auto;
}

.dekiru {
color: #ff9700;	/* 上の列の文字色をオレンジに設定 */
padding: 8px;
border: 2px solid #fff;
}

.dekirutd{
	border: 2px solid #fff;
}
.dekirutd img{ width:220px; }

/*@media screen and (max-width:768px){ .dekirutd img{ width:100%; } }*/
/*
.circle{

	background: #7e992e;

	width: 215px;

	height: 215px;

	border-radius: 50%;

	position: relative;

}
*/
.dekiru p{

	color: #f29219;

	font-size: 24px;

	position: absolute;

	top:30%;

	right: 0;

	left: 0;

}

.circle img{

	width: 50%;

	position: absolute;

	top: 50%;

	left:25%;

}

.text-box{

	margin-top: 50px;

}

.text-box p{

	line-height: 1.7em;
	margin: 0 10px;

}

.index-table2{
	display: none;
}

/*==========================

           お悩み 

============================*/

#onayami {

	background: url("../images/top/onayamiback.png");
	background-size: 100% 100%;/*cover; /* 背景画像をウィンドウに合わせて拡大/縮小 */
	/*max-width: 1920px;*/
	background-position: center center;
	width: auto;
	max-height: 2650px;
	background-repeat: no-repeat;
}

#onayami .pc-img1 {
/*
    max-width: 90%;
	width: auto;
    height: auto;
	padding: 50px 0 30px 0;
*/
	width:800px;
}

.onayami-contents {

	width: 96%;

	max-width: 1040px;

	margin: 0 auto;

	padding: 50px 0 0 0;

	display: flex;
    justify-content: center;
    align-items: center;
}
.onayami-scontents {

    display: none;

}




.service_naiyou {

    /*width: 70%;*/

    max-width: 1100px;

	border-radius: 40px;

	margin: 0 auto;

	margin-top: 30px;

	padding: 50px;

	background: #fff;

	color: #000000;

	text-align: center;

}

.naiyoubottom{
	height: 100px;
}

.service_container {
    position: relative;
    display: inline-block;
	text-align: center;
  }

.service_title {
	font-size: 35px;
    display: inline-block;
    margin: 0 0 5px 0;
	text-align: center;
  }

.service_underline {
    position: absolute;
    bottom: 0;
    left: 50%; /* 中央揃えのために左位置を50%に設定 */
    transform: translateX(-50%); /* 中央揃えのために左位置を調整 */
    width: 120%; /* 幅を100%に設定 */
    height: 6px; /* アンダーラインの高さを調整 */
    background-color: #7e992e; /* アンダーラインの色を調整 */
  }

.service-p{
	height: 50px;

}
/*
.service_img {
    width: 100%; /* 画像を枠の横幅に合わせるために追加 
}*/

table.service_img {
    width: 90%; /* テーブルも枠の横幅に合わせるために追加 */
    border-collapse: collapse; /* セル間の隙間をなくすために追加 */
	margin: 0 auto; /* 中央配置 */
}
/*
.service {
    margin-bottom: 20px;
}

.service-a{
	margin-right: 20%;
	margin-bottom: 20px;
}*/
/*
table.service_img img {
    width: 97%;  画像をセルの幅に合わせるために追加 
}*/

/* oshima 231120 */

.service_img_area{
	margin:0;
	padding:0;
	display:flex;
	justify-content:center;
}
.service_img .service{
	width:250px;
	margin:10px;
}

/*****************/
table.naiyou{

	width: 100%; /* テーブルの幅を100%に設定 */
    margin: 20px auto; /* 中央配置 */

}

.naiyou th.center{

	text-align: center;

	padding-bottom: 10px;

}

.td-title{

	width:30%;

	padding: 5px 10px 5px 50px;

	text-align: left;}

.td-border{

	padding: 5px 50px 5px 20px;

	text-align: left;

	/*border-left: 2px solid #4A2C07;	*/

}
.td-border2{

	/*width: 100%;*/

	padding: 5px 50px 15px 50px;

	text-align: left;

}
/*.naiyou .td-space{

	padding: 20px 0 15px;

}
*/
.button {

	position: relative;

	margin: 0 auto;

	text-align: center;

}

.button a {

	display: block;

	max-width: 400px;

	background-color: #1479b9;

	color: #ffffff;

	font-size: 24px;

	font-weight: bold;

	text-decoration: none;

	border-radius: 40px;

	padding: 20px 0;

	margin: 0 auto;

	box-shadow: 0 5px #0a3f62;

	transition: all 0.3s ease;

}



/*元

.button a {

	display: block;

	max-width: 350px;

	background-color: #7e992e;

	color: #ffff00;

	font-size: 24px;

	font-weight: bold;

	text-decoration: none;

	border-radius: 60px;

	padding: 10px 0;

	margin: 0 auto;

	box-shadow: 0 5px #556b2f;



}*/

.button a:hover {

	background-color: #7e992e;

}

.button a:active{

	box-shadow: none;

	position: relative;

	top: 5px;

}



/*==========================

           お知らせ 

============================*/

#info{

	width: 100%;

	/*background: url(../images/top/bg.jpg);*/

}

.info-in{

	max-width: 1040px;

	margin: 0 auto;

	padding: 40px 0;

	display: flex;

}

/* クルーズ加筆(７月８日） */

.news {

	width: 100%;

	max-width: 500px;

	max-height: 322px;

	box-sizing: border-box;

	float: left;

	background: #fff;

	border: 2px solid #1479b9;

}

#news_title {

	height: 65px;

	width: 100%;

	box-sizing: border-box;

	border-bottom: solid 1.5px #1479b9;

}

.newstext-blue::before {
	content: "●";
	color: #1479b9;
  }

#news_title h3 {

	float: left;

	font-size: 24px;

	color:#000000;

	line-height: 24px;

	margin: 20px 0 0 30px;

	padding-left: 10px;

/*	border-left: solid 3px #628300 */

}

#news_title p {

	float: right;

	font-size: 60%;

	font-weight: normal;

	color: #fff;

}

#news_title p a {

	display: block;

	width: 100px;

	color: #fff;

	text-decoration: none;

	background: #1479b9;

	border-radius: 3px;

	margin: 17px 30px 0 0;

}

#news_title p a:hover {

	background-color: #0a3f62;

	color: #e5f2fa;

}

#news_title p a:visited {

	color: #fff;

}

#news_dl {

	clear: both;

	width: 90%;

	height: calc(100% - 80px);

	box-sizing: border-box;

	margin: 0 auto;

	overflow: hidden;

}

#news_dl p{

	font-size: 14px;

}

#news_dl ul li {

	display: block;

	width: 100%;

	height: 75px;

	box-sizing: border-box;

}

#news_dl dl {

	width: 100%;

	box-sizing: border-box;

	padding-top: 5px;

	border-bottom: 1px dashed #1479b9;	

}

#news_dl dt {

	box-sizing: border-box;

	width: 100%;

	padding: 0 0 0 10px;

}

#news_dl dt span.news_category{

	box-sizing: border-box;

	font-size: 80%;

	color: #fff;

	background: #1479b9;

	font-weight: normal;

	border-radius: 3px;

	padding: 3px 5px;

	margin-top: 5px;

	margin-left: 10px;

}



#news_dl dd {

	box-sizing: border-box;

	width: 100%;

	height: 2em;

	padding: 0 0 0 30px;

}

#news_dl dd p {

	display: block;

	width: 95%;

	height: 100%;

	overflow: hidden;

	white-space: nowrap;

	text-overflow: ellipsis;

	box-sizing: border-box;

	font-weight: normal;

}



#news_dl a {

	color: #4A2C07;

	display: block;

	width: 100%;

	height: 100%;

}

#news_dl a:hover {

	background: beige;

	background-image: url("../images/arrow.png");

	background-repeat: no-repeat;

	background-position: 98% 50%;

	transition: all 0s ease;

}

/* クルーズ加筆ここまで */

.link{

	width:100%;

	max-width:495px;

	margin: 0 auto;

	padding-left: 30px;

}

.link img{

	width: 100%;

	max-width: 495px;

	max-height: 153px;

}



.link img:hover{

	opacity: 0.5;

}



.link-img1{

	display: block;

	padding-bottom: 15px;

}

.news-moji{

	padding: 10px 0 0 20px;

}

/*==========================

           対応地域 

============================*/

#map{

	background-color: #e5f2fa;

}

#map img{

	max-width: 1040px;

}

.map-in{

	width: 100%;

	max-width: 1040px;

	margin: 0 auto;

	position: relative;

}

.map-text{

	position: absolute;

	top:10px;

	right: 0;

	text-align: left;

}

.moji-m{

	font-size: 24px;

	color:#4A2C07;

}

.moji-s{

	font-size: 13px;

	margin-top: -10px;

	position: absolute;

	top:70px;

	right: 0;

}

.br{

	display: none;

}
/*==============================================

	メディアクエリ

==============================================*/
@media screen and (max-width: 1650px){
	/*----TOP header----*/
	.header-area {
		/*
    	max-width: 1650px;
		width: auto;
    	height: 880px;
    	background-image: url(../images/top/top02.jpg);*/
	}
}

@media screen and (max-width: 1100px){
	
	.header-area {
		/*
    	max-width: 1100px;
		max-height: 762px;
		*//*
    	width: auto;
    	height: auto;
    	background-image: url(../images/top/top03.jpg);*/
	}

	img.first-visual-top{
		width:1100px;
	}

	.service_img_area{
		flex-direction:column;
		align-items:center;
	}

	.service_naiyou{
		width:70%;	
	}
}

@media screen and (max-width: 767px){
	img.first-visual-top{
		width:767px;
	}
	#onayami .pc-img1{
		width:90%;
	}
}

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


	/*お知らせ*/

	.info-in{

		flex-direction:column;

		padding-top:0px

	}

	.news {

		max-width: 90%;

		margin: 0 auto;

		margin-bottom:10px;

		border: none;

	}

	.link{

		display:flex;

		max-width:100%;

		margin: 0 auto;

		padding: 0;

	}

	.link-img1{

		margin-right: 20px;

		padding:0;

	}

	/*お悩み*/
	.service_title {
		font-size: 30px;
	}

	table.naiyou{
		font-size: 18px;
	}
}
@media screen and (max-width: 730px){

	/*header*/

	.img-maru{

		display: none;

	}
	
	/*特徴*/

	.topbox{

		margin: 30px 0;

	}

	.topbox-in h2 {
		padding-top: 55px;
	}

	.slide {
		width: 80%;
		height: 80%;
		position: absolute;
		top: 0%;
		left: 50%;
		transform: translateX(-50%);
	 }
	.slide img{

		max-width:90%;
		height: auto;

	}
	
	.text-box{

		margin-top: 10px;

	}
	.text-box p {
		line-height: 1.7em;
		margin: 0 20px;
	}

	/*お悩み*/

	.onayami-contents {

		display: none;

	}
	.onayami-scontents {

		width: 96%;
	
		max-width: 1040px;
	
		margin: 0 auto;
	
		padding: 10px 0 0 0;
	
		display: flex;

		justify-content: center;

		align-items: center;
	}

	.onayami-scontents .pc-img1{
		margin:50px;
	}

	.service {
		margin-bottom: 10px;
	}

	.service-a{
		margin-right: 10%;
		margin-bottom: 10px;
	}

	.service_title{
	
		font-size: 24px;
	
	}

	table.naiyou {
		font-size: 14px;
	}

	.service-p {
		height: 30px;
	}

	.td-title {
		width: 30%;
		padding: 5px 10px 5px 35px;
		text-align: left;
	}
	.td-border {
		padding: 5px 35px 5px 20px;
		text-align: left;
	}
	.td-border2 {
		padding: 5px 35px 15px 35px;
		text-align: left;
	}


	.button a {

		max-width: 280px;
	
		font-size: 18px;
	
	}

	.service_naiyou {
		/*width: 80%;*/
		max-width: 700px;
		border-radius: 40px;
		margin: 0 auto;
		margin-top: 10px;
		padding-top: 50px;
		padding-left: 20px;
		padding-right: 20px;
		background: #fff;
		color: #000000;
		text-align: center;
	}
	table.service_img {
		width: 90%;
	}


	/*リンク*/
	.info-in {
		flex-direction: column;
	}
	
	.link {
		margin-top: 20px;
		padding-left: 0;
		flex-direction: column;
	}
	
	.link-img1, .link-img2 {
		width: 100%;
	}

	/*エリア*/
	.pc-img {
		display: none;
	}

	.sp-img {
		display: block;
		margin: 0 auto;
		margin-top: 20px;
	}
	
	.map-text {
		top: 40%;
		right: 13%;
		font-size: 25px;
		line-height: 1.4em;
		text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
	}
	
	.moji-s {
		top: 90%;
		right: 20px;
		text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
	}

	.br {
		display: block;
	}


	.index-table1{
		display: none;
	}
	.index-table2{
		display: block;
	}

	.slide_del .index-tora{
		width:100%;
	}


}

/*大島追加*/
.service_img_area_top{ display:flex; }
.service_img_area_bottom{ display:flex; }
@media screen and (max-width: 730px){
	.service_img_area_top{ display:block; }
	.service_img_area_bottom{ display:block; }
	.service_underline{ width:100%; }
}
.index-tora{
	width:700px;
}

@media screen and (max-width:500px){
	.dekirutd img{ width:150px; }
}

@media screen and (max-width:768px){
	.index-table2{ display:block; }
	.index-table1{ display:none; }
}
