@charset "UTF-8";
/*　共通デザイン　*/

@media all{

	body{
		margin: 0;
		padding: 0;
	}
	
	.service{
		background-color: #e6e6e6;
		padding: 0px 0px 30px 0px;
	}
	
	.aboutus{
		background-color: #8fbacc;
	}
	.title2{
		font-size: 34px;
		text-decoration: underline #b3e6ff;
		text-underline-offset: 0.3em;
		font-weight: 700;
		text-align: center;
		padding: 30px 30px 0px 30px;
		color: #404040;
	}
	.other{
		background-color: #808080;
	}
	.other1{
		padding: 4px 10px 4px 10px;
		color: white;
		text-align: center;
	}
	a{
		color: white;
		text-decoration: none;
	}
	.corporate{
		background-color: #6b9bb3;
		color: #ffffff;
		text-align: center;
		padding: 4px 0px 4px 0px;
	}


/* スマホ 画面サイズが768pxまで */

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

	.header {
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		background-color: #6b9bb3;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
		z-index: 999;
	}
	.header-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 16px;
	}
	.menu-bar {
		font-size: 20px;
	}
	.button {
		position: relative;
		width: 48px;
		height: 30px;
		background-color: transparent;
		border: none;
		cursor: pointer;
		z-index:100;
	}
	.button > span {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 32px;
		height: 2px;
		background-color: black;
		transform: translateX(-50%);
	}
	.button > span:first-child {
		transform: translate(-50%, calc(-50% - 0.5rem));
		transition: transform 0.3s ease;
	}
	.button > span:nth-child(2) {
		transform: translate(-50%, -50%);
		transition: opacity 0.3s ease;
	}
	.button > span:last-child {
		transform: translate(-50%, calc(-50% + 0.5rem));
		transition: transform 0.3s ease;
	}
	.button > span:last-child{
		transform:translate(-50%, calc(-50% + 0.5rem));
		transition:transform 0.3s ease;
	}
	.button.active > span:first-child{
		transform:translate(-50%, -50%) rotate(-45deg);
	}
	.button.active > span:nth-child(2){
		opacity:0;
	}
	.button.active > span:last-child{
		transform:translate(-50%, -50%) rotate(45deg);
	}
	.button.active > span:first-child {
 		 transform: translate(-50%, -50%) rotate(-45deg);
	}
	.button.active > span:nth-child(2) {
		  opacity: 0;
	}
	.button.active > span:last-child {
		  transform: translate(-50%, -50%) rotate(45deg);
	}
	.button-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		transition: opacity 0.3s ease;
		opacity: 0;
		visibility: hidden;
		}
	.button-nav.active {
		opacity: 1;
		visibility: visible;
	}
	.button-nav-inner {
		position: relative;
		width: 80%;
		height: 100%;
		background-color: white;
		padding: 4rem 1.5rem 1rem;
		margin: 0 0 0 auto;
		overflow: scroll;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}
	.button-nav .button-nav-inner {
		transform: translateX(0);
	}
	.button-nav-menu {
		list-style: none;
		padding-left: 0;
	}
	.button-nav-link {
		display: block;
		color: black;
		text-decoration: none;
		padding: 16px 16px 16px 16px;
		border-bottom: solid 1px #d3d3d3;
	}
	body.active {
		height: 100%;
		overflow: hidden;
	}
	.eyecatch-sp{
		width: 100%;
		height: auto;
		object-fit: cover;
		vertical-align: top;
	}
	.display-pc {
		display: none;	
	}
	.title1{
		font-size: 36px;
		text-decoration: underline #ff0000;
		text-underline-offset: 0.3em;
		font-weight: 700;
		text-align: center;
		padding: 30px;
		color: #404040;
	}
	.service-img-sp{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.service-logo-sp{
		width: 100%;
		z-index: 1;
	}
	.service-logo-title1{
		font-size: 6vw;
		color: #ff1493;
		position: absolute;
		margin: 0;
		top: 20%;
		left: 50%;
		transform: translate(-50%,-50%);
	}	
	.service-logo-title2{
		font-size: 5vw;
		color: #00a1e9;
		text-align: center;
		position: absolute;
		margin: 0;
		top: 20%;
		left: 50%;
		transform: translate(-50%,-50%);
	}	
	.service-logo-text{
		font-size: 3.6vw;
		color: #696969;
		line-height: 160%;
		position: absolute;
		text-align: center;
		margin: 0;
		width: 78%;
		top: 47%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.service-img2{
		position: relative;
		margin: 0 auto;
		text-align: center;
		z-index: 1;
	}
	.service-img-title2{
		position: absolute;
		top: 18%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin:0;
		padding:0;
		font-size: 22px;
		color: #3399ff;
	}
	.service-img-inner2{
		position: absolute;
		top: 30%;
		left: 50%;
		transform:translate(-50%);
		margin:0;
		padding:0;
		color: #404040;
	}	
	.triangle{
		width: 36px;
		height: 36px;
		vertical-align: middle;
	}	
	.service-list{
		font-size: 12px;
		color: #4e4e4e;
		padding: 10px 15px 10px 15px;
	}
	.aboutus{
		padding: 0px 0px 30px 0px;
	}
	.aboutus0{
		background-color: #ffffff;
		border-radius: 30px;
		margin: 40px 20px 30px 20px;
		padding: 20px 20px 20px 20px;	
	}
	.aboutus1{
		font-size: 24px;
		font-weight: 600;
		color: #4e4e4e;
		border-bottom: 3px solid #8fbacc;
		width: 80%;
	}
	.aboutus2{
		padding: 20px 0px 40px 0px;
		color: #4e4e4e;
	}
}


/* PC 画面サイズが768pxから */

@media screen and (min-width:768px) {

	.eyecatch-pc{	
		text-align: center;
	}
	.eyecatch-img{
		width: 100%;
		max-width: 1920px;
		height: auto;
		max-height: 440px;
		object-fit: cover;
		vertical-align: top;
	}	
	.title1{
		position: relative;
		font-size: 36px;
		text-decoration: underline #ff0000;
		text-underline-offset: 0.3em;
		font-weight: 700;
		text-align: center;
		padding: 0px 30px 18px 30px;
		z-index: 2;
		top: 34px;
		color: #404040;
	}
	.service-img-pc{
		width: 80%;
		margin: 0 auto;
	}
	.service-logo-pc{
		width: 100%;
	}
	.box{
		max-width: 1400px;
		margin: 0 auto;
		padding: 0px 30px 0px 30px;
	}
	.triangle{
		width: 26px;
		height: 26px;
		vertical-align: middle;
	}	
	.service-list{
		text-indent: -2em;
		padding-left: 2em;
		padding: 0px 0px 5px 30px;
		font-size: 12px;
		color: #4e4e4e;
	}
	.aboutus{
		padding: 0px 0px 30px 0px;
	}
	.aboutusbox{
		display: flex;
		justify-content: center;
	}
	.aboutus0{
		width: 460px;
		height: 460px;
		border-radius: 30px;
		background-color: #ffffff;
		padding: 20px 20px 20px 20px;
		margin: 0px 20px 0px 20px;
	}
	.aboutus1{
		font-size: 24px;
		color: #4e4e4e;
		padding: 10px 0px 0px 20px;
		border-bottom: 3px solid #8fbacc;
		width: 400px
	}
	.aboutus2{
		padding: 20px 0px 40px 0px;
		color: #4e4e4e;
	}
	
	.other{
		display: flex;
		justify-content: center;
	}
	.display-sp{
		display: none;
	}
		

}