@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}

body{
	font: 14px/1.9 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #CAE8ED;
}

a{
	color: #0066ff;
	text-decoration: none;
}

a:hover, .active{
  text-decoration: underline;
}

a:active, a:focus,input:active, input:focus{outline:0;}


/* ヘッダー
------------------------------------------------------------*/
#header {
    position: relative;
    overflow: hidden;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-image: url("/users_site/iimulab/ezuQ/css/images/江津湖背景.png");
}

/* #slogan{
	position: absolute;
    top: 50%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	line-height: 1.2;
	text-align: center;
} */

#slogan h1{
	font-size: 40px;
	font-family: 'Pacifico', cursive;
	margin-bottom: 20px;
	font-weight:normal;
}

#slogan h2{
	font-size: 20px;
	font-weight:normal;
}


/* フッター
------------------------------------------------------------*/
#footer{
	clear: both;
	padding: 50px 10px 50px 0;
	text-align: center;
	font-size: 12px;
	background-color: white;
}

#footer img{
	width: 70px;
	height: auto;
}


/* 共通
------------------------------------------------------------*/
h1, h2{
	font-family: 'Josefin Sans', 'Noto Sans JP',serif;
	word-break: keep-all;
}


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

section{clear:both;}

section h2{
	font-size: 22px;
	font-weight:normal;
	text-align: center;
}

.inner{
	width: 94%;
	margin: 0 auto;
	display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
	padding-bottom: 50px;
}

.col2 li{
	display: inline-block;
	width: 100%;
  	margin: 20px 0 20px 0;
}


/* SEC01 VISION
------------------------------------------------------------*/

.vision{
	width: 60%;
	padding: 10px;
	margin: 0 auto;
	margin-bottom: 20px;
	border-radius: 20px; 
  background-color: #3CB2C0;
}

.vision h3 {
	font-size: 20px;
}

/* SEC02 MESSAGE
------------------------------------------------------------*/
.wrap{
	clear: both;
	width: 100%;
	background: #f6f6f6;
}

.bg{
	line-height: 0;
}

.txt h2{
	padding: 0 0 20px !important;
}


/* SEC03 SERVICE MESSAGE STORY
------------------------------------------------------------*/
.sec03-content{
	background: #f6f6f6;
	padding-bottom: 50px;
}

.col3 li{
	margin-bottom: 50px;
}

.col3 p {
	text-align: center; /* テキストを中央寄せにする */
    margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
	word-break: keep-all;
}

.col3 img{
	max-width: 288px;
	display: block;
	margin: -5px auto 20px;
}


/* SEC04 STORY & SUCCESS
------------------------------------------------------------*/
#sec04{
	text-align: center; /* テキストを中央寄せにする */
    margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
    max-width: 650px; /* 必要に応じてセクションの最大幅を指定 */
}


/* SEC05 PROFILE
------------------------------------------------------------*/
#sec06{
	padding-top: 50px;
	margin-bottom: 100px;
}

.app-info {
	padding-top: 50px;
}

.app-badge {
	display: flex;
}

.app-badge img {
	width: auto;
	height: 50px;
	margin: 0 20px;
}

.icon{
	margin: 10px;
	border-radius: 20px;
	width: 200px;
	box-shadow: 0px 3px 10px gray;
}

.sns-icon{
	margin: 10px;
	border-radius: 20px;
	width: 100px;
}

#sec06 h2{
	padding: 30px;
}

#sec06 dl{
	line-height: 1.2;
}

#sec06 dt{
	clear: left;
	float: left;
	display: block;
	width: 30%;
	margin-right: 10%;
	margin-bottom: 20px;
	text-align: right;
	line-height: 1.6em;
}

#sec06 dd{
	width: 60%;
	float: left;
	text-align: left;
	margin-bottom: 15px;
	line-height: 1.6em;
}

#sec06 header{
	display: none;
}

#sec06 h2{
	word-break: normal;
}

#map{
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
}

#map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}


/* RESPONSIVE 設定
------------------------------------------------------------*/

@media only screen and (min-width: 1200px){
	.inner{
		width: 1024px;
		padding-bottom: 120px;
	}
	section h2{
		padding: 70px 0 20px;
	}
	.txt h2{
		padding: 0 0 20px !important;
	}
}

@media only screen and (min-width: 800px){
	body{
		font-size:14px;
	}
	
  a#menu{
		display:none;
	}	

	.panel{
		display:block !important;
	}

	#mainnav{
		position: sticky;
		top: 0;
		width:100%;
		z-index:500;
		/* background-color: #3CB2C0; */
		background: #3CB2C0;
		border-bottom: 1px solid #d1d1d1;
	}

	#mainnav img {
		width: 100px;
		float: left;
		padding-top: 13px;
		padding-left: 10px;
	}

	#mainnav ul{
		text-align: right;
		padding-right: 30px;
	}

	#mainnav li{
		display: inline-block;
		padding: 20px 20px 20px;
		font-size: 14px;
		font-weight: 300;
	}
	
	#mainnav a{
		color: #000;
	}
	
	#mainnav.changeNav{
		background: #3CB2C0;
		border-bottom: 1px solid #d1d1d1;
	}
	
	#mainnav.changeNav li{
		padding: 20px 20px;
	}

	#slogan .CatchCopy {
		position: absolute;
		left: 20%;
    	top: 10%; /* 画面の上から30%の位置に配置 */
		color: #fff;
		line-height: 1.2;
		text-align: center;
    	max-width: 60%; /* 最大幅を親要素に合わせる */
		height: auto;
	}
	
	#slogan .ios-image {
		position: absolute;
		left: 50%;
    	top: 29%; /* 画面の上から30%の位置に配置 */
		color: #fff;
		line-height: 1.2;
		text-align: center;
    	max-width: 40%; /* 最大幅を親要素に合わせる */
		height: auto;
	}


	/* SEC02 MESSAGE
	-----------------*/
	.txt, .bg{
		width: 50%;
		float: left;
		display: table;
	background: #f6f6f6;
	}

	#sec02_02 .txt, #sec02_02 .bg{
		float: right;
	}

	.vMid{
		display: table-cell;
		padding: 0 100px;
		vertical-align: middle;
	}
	
	/* スライドショー */
	.mainimg-slick {
		margin-bottom: 50px;	/*画像の下に空けるスペース*/
		padding: 0px 20%;
	}


	/* SEC03 SERVICE MESSAGE STORY
	-----------------*/
	.col3{
		text-align: center;
	}

	.col3 li{
		display: inline-block;
		width: 30%;
		padding: 0 1.5%;
		margin-bottom: 0;
		vertical-align: top;
		text-align: left;
	}

	.col3 {
		list-style: none; /* リストのデフォルトのマーカーを非表示にする */
		display: flex; /* flexコンテナを使用してli要素を横並びに配置 */
		justify-content: space-between; /* li要素の間にスペースを均等に配置 */
		padding: 0; /* リストの余白をリセット */
	}
	
	.col3 li {
		position: relative; /* 相対位置指定 */
		flex: 1; /* 等分割 */
		text-align: center; /* テキストを中央寄せにする */
		display: inline-block;
		width: 30%;
		padding: 0 1.5%;
		margin-bottom: 0;
		vertical-align: top;
	}
	
	.col3 li::before {
		content: "?"; /* 矢印のテキスト */
		position: absolute; /* 絶対位置指定 */
		top: 50%; /* 上下中央に配置 */
		left: -20px; /* 左から20pxの位置に配置 */
		transform: translateY(-50%); /* 上下中央に配置 */
		font-size: 24px; /* 矢印のサイズを調整 */
	}

	.sec06-content {
		display: flex;
		text-align: center; /* テキストを中央寄せにする */
		margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
		max-width: 650px; /* 必要に応じてセクションの最大幅を指定 */
	}
	
  #footer{
		padding: 30px 10px 70px 0;
	}
}

@media only screen and (min-width: 641px){
	.col2 li{
		width: 40%;
		padding: 0 3%;
		vertical-align: top;
	}
}

@media only screen and (max-width: 640px){
	#map iframe{
	  width: 96% !important;
		left: 2%;
	}
}

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

	#slogan .CatchCopy {
		position: absolute;
		left: 20%;
    	top: 10%; /* 画面の上から30%の位置に配置 */
		color: #fff;
		line-height: 1.2;
		text-align: center;
    	max-width: 60%; /* 最大幅を親要素に合わせる */
		height: auto;
	}
	/*
	#slogan .ipad-image {
		position: absolute;
		left: 80%;
		top: 35%; 
		
		color: #fff;
		line-height: 1.2;
		text-align: center;
		width: 400px;
		height: auto;
		text-align: center; 
	}
	*/
	
	#slogan .ios-image {
		position: absolute;
		left: 50%;
    	top: 29%; /* 画面の上から30%の位置に配置 */
		color: #fff;
		line-height: 1.2;
		text-align: center;
    	max-width: 40%; /* 最大幅を親要素に合わせる */
		height: auto;
	}


	#slogan h1{
		font-size: 31px;
	}

	#slogan h2{
		font-size: 16px;
	}


	/* スライドショー */
	.mainimg-slick {
		margin-bottom: 50px;	/*画像の下に空けるスペース*/
	}

  a#menu{
  	display: inline-block;
  	position: relative;
  	width: 40px;
  	height: 40px;
  	margin: 10px;
	}

	#menuBtn{
  	display: block;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	width: 18px;
  	height: 2px;
  	margin: -1px 0 0 -7px;
  	background: #fff;
  	transition: .2s;
	}

	#menuBtn:before, #menuBtn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	width: 18px;
  	height: 2px;
  	background: #fff;
  	transition: .3s;
	}

	#menuBtn:before{
  	margin-top: -7px;
	}

	#menuBtn:after{
  	margin-top: 5px;
	}

	a#menu .close{
  	background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}

	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}

	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#mainnav{
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		text-align: right;
		z-index:500;
	}

	#mainnav img {
		display: none;
	}

	#mainnav ul{
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
	}

	#mainnav li a{
		position: relative;
		display:block;
		padding:15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}
	
	.col3 li{
		margin: 0 auto;
		display: block;
	max-width: 288px;
	}
	.sec05-content {
		text-align: center; /* テキストを中央寄せにする */
		margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
		max-width: 650px; /* 必要に応じてセクションの最大幅を指定 */
	}
	.app-badge {
		display: block;
		text-align: center; /* テキストを中央寄せにする */
		margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
		max-width: 650px; /* 必要に応じてセクションの最大幅を指定 */
	}

	.sec06-content {
		text-align: center; /* テキストを中央寄せにする */
		margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
		max-width: 650px; /* 必要に応じてセクションの最大幅を指定 */
	}
}

@media only screen and (max-width: 1199px){
	section h2{
		padding: 20px 0 20px 0;
	}

	.vMid{
		padding: 0 20px;
	}
}

/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.slider h2 {
	font-size: 22px;
	font-weight: normal;
	text-align: center;
}

/*画像を囲むブロック*/

/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
	margin:0;padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	bottom: -30px;	/*下からの配置場所指定。ボタンを画像の下に移動します。*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
	border: none;padding: 0;
	display: block;
	text-indent: -9999px;	/*デフォルトで文字が出るので画面の外に追い出す指定*/
	width: 12px;			/*ボタンの幅*/
	height: 12px;			/*ボタンの高さ*/
	border-radius: 50%;		/*丸くする指定*/
	cursor: pointer;		/*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
	background: #ccc;		/*背景色。白。*/	
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
    background: #f8a442; /* 背景色を指定した色に変更 */
}



/* Q&A */
.qa-006 {
    max-width: 650px;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
}

.qa-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-006 summary::-webkit-details-marker {
    display: none;
}

.qa-006 summary::before,
.qa-006 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-006 summary::before {
    color: #75bbff;
    content: "Q";
}

.qa-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-006[open] summary::after {
    transform: rotate(225deg);
}

.qa-006 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-006[open] p {
    transform: none;
    opacity: 1;
	text-align: left;
}

.qa-006 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
	padding-top: .1em;
}


.btn-a {
	text-align: center; /* テキストを中央寄せにする */
    margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
}

a.btn--orange {
	color: #fff;
	background-color: #f8a442;
  }
  
  a.btn--orange:hover {
	color: #fff;
	background: #f4ad5c;
  }
  
  a.btn-c {
	font-size: 2rem;
	padding: 20px;
	border-radius: 20px;
	box-shadow: 0px 3px 10px gray;
  }

.flex {
	display: flex;
    flex-direction: column; /* 子要素を縦に配置する */
    align-items: center; /* 子要素を水平方向に中央に配置する */
    text-align: center; /* テキストを中央寄せにする */
    margin: 0 auto; /* 左右の余白を自動で調整して中央に配置する */
}