@charset "UTF-8";
/* CSS Document */
body{
	overflow-x: hidden;
	height: 100vh;
	height: 100dvh;
}

table.T-just td{
	text-align: justify;
}

.submit-Btn{
	color: white;
	background-color: #5c5299;
	border-radius:20px;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
.img-left{
	margin-right: 38px;
}
.img-right{
	margin-left: 38px;
}
.sirofuti{text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;}

.T-pink{
	color: #ef91a7;
	font-size: 22px;
}
/*私たちの理念*/
.Tpink-rinen{
	color: #ef91a7 !important;
	font-size: 19px;
	font-weight: bold;
	letter-spacing: 2px;
}
.T-purple{
	color: #998dc2;
	font-size: 26px;
}
.T-purple-s{
	color: #998dc2;
	font-size: 19px;
}
.T-purple-l{
	color: #998dc2;
	font-size: 30px;
}
.gyoukan {line-height: 1.5em;}

.aisatu-box{
	background-color: #998dc2;
	color: white;
	border-radius:10px;
	margin: 25px 0px;
}
.aisatu-box p{
	font-size: 15px;
	text-align: justify;
	margin-top: 5px;
	padding: 0px 18px;
	line-height: 1.4em;
}
.Pur_box{
	border: thick double;
	border-radius: 10px;
	padding: 17px;
}
.white_box{
	background-color: white;
	border-radius: 25px;
	padding: 4px;
}

.haikei{
	background: url("../images/bg_dot-img.jpg")	;
	background-repeat: no-repeat;
	background-size:contain;
	background-position: center;
	height: 152px;
	padding-top: 55px;
}
.haikei-2{
	background: url("../images/bg_dot-imgB.jpg")	;
	background-repeat: no-repeat;
	background-size:contain;
	background-position: center;
	height: 100px;
}
.haikei-3{
	background:url("../images/TOP_bg2.jpg");
	background-repeat: no-repeat;
	background-position:center -30px;
	background-size:cover;
	height: 160px;
	padding-top: 60px;
}

.haikei-hibi{
	background:url("../images/bg-hibi.jpg");
	background-repeat: no-repeat;
	background-position:center -35px;
	background-size:cover;
	height: 220px;
	padding-top: 30px;
}

.line-WH{
	border-top:solid thick white;
	width: 100%;
	padding-top: 25px;
}

/*支援方針内の表*/
.bdr-jouge{
	border-top:solid thin #998dc2;
	border-bottom:solid thin #998dc2;
	width: 100%;
}
.bdr-shita{
	border-bottom:solid thin #998dc2;
	width: 100%;
}
.bg-pink{
	color: white;
	background-color: #ef91a7;
	padding: 40px 30px;
	margin-top: 70px;
}
.bg-pink a:link, a:visited, a:active {
	color: white;
	text-decoration: none;
}

.bg-purple-20{
	background-color: #e9e7f2;
	padding: 40px 30px;
	margin-top: 70px;
}

/*支援プログラム*/
.bg-purple{
	color: white;
	font-size: 30px;
	background-color: #998dc2;
	padding: 60px 0px 1px 0px;
}
table.shienT{
	border-top: 2px solid #ef91a7;
	border-bottom: 2px solid #ef91a7; 
	border-right: none;
	border-left: none;
}
table.shienT th{
	width: 110px;
	color: #ef91a7;
}
table.shienT tr{
	border-bottom: 1px solid #ef91a7;
}
table.shienT td{
	text-align: justify;
}


table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	width: 40%;
	text-align: left;
	padding-bottom: 0px;
}

form input[type="text"], form textarea {
	width:100%;
	padding:5px;
	font-size:100%;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:100%;
	height:40px;
	}}

/*キャラクターふわふわ*/
.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: auto;
  height: auto;
  margin-top: 15px;
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

.character1{
	position: absolute; /* 親要素が基準 */
	bottom: 80%;       /* 下から20px */
	left: 63%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character2{
	position: absolute; /* 親要素が基準 */
	bottom: 58%;       /* 下から20px */
	left: 5%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character11{
	position: absolute; /* 親要素が基準 */
	bottom: 80%;       /* 下から20px */
	left: 69%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character22{
	position: absolute; /* 親要素が基準 */
	bottom: 47%;       /* 下から20px */
	right: 72%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character111{
	position: absolute; /* 親要素が基準 */
	bottom: 50%;       /* 下から20px */
	left: 76%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character222{
	position: absolute; /* 親要素が基準 */
	bottom: 18%;       /* 下から20px */
	right: 75%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character1111{
	position: absolute; /* 親要素が基準 */
	bottom: 82%;       /* 下から20px */
	left: 76%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.character2222{
	position: absolute; /* 親要素が基準 */
	bottom: 38%;       /* 下から20px */
	right: 75%;        /* 右から50px */
	z-index: 10;        /* 背景より上に表示 */}

.hamburger-demo-menuwrap a:link, a:visited, a:active {
  color: white;
	text-decoration: none;
}

a:link, a:visited, a:active {
	color: #ef91a7;
}


.btn-whitePin{
	color: white !important;
	background: #5c5299;
	border-radius: 5px;
	height: 55px;
	padding-top: 12px;
}
.btn-whitePin:hover {
	color:#5c5299;
	background:#C7CBE7;
}

.btn-white{
	color: #ef91a7 !important;
	background: white;
	border-radius: 5px;
	height: 55px;
	padding-top: 12px;
}
.btn-white:hover {
	color: white;
	background:#f2cad1;
}

.btn-whitePur{
	color: white !important;
	background: #998dc2;
	border-radius: 5px;
	height: 55px;
	padding-top: 12px;
}
.btn-whitePur:hover {
	color: #ef91a7;
	background:#C7CBE7;
}
.btn-whitePinB{
	color: white !important;
	background: #ef91a7;
	border-radius: 5px;
	height: 55px;
	padding-top: 12px;
}
.btn-whitePinB:hover {
	color: #998dc2;
	background:#f2cad1;
}

/* header（デモの参考値） */
.demobox-header{
background:url("../images/TOP_bg2.jpg");
	background-repeat: no-repeat;
	background-position:top;
	background-size:contain;
padding: 3em 1em 0em 1em;
}

/* ↓MENUハンバーガー用 */

.hamburger-demo-menubox ul{
	font-size: 16px;
}
.hamburger-demo-menubox li{
	font-size: 15px;
}
/* hamburgerここから */
	/* inputを非表示 */
.input-hidden{
	display: none;
}
	/* label */
.hamburger-demo-switch{
	cursor: pointer;
	position: fixed; 
	right: 0%;
	top: 0; /* ハンバーガーアイコンの位置（上から） */
	z-index: 9999;
	width: 3em; /* アイコン（クリック可能領域）の幅 */
	height: 3em; /* アイコン（クリック可能領域の）高さ */
	background-color: #998dc2;
	border-radius: 0px 0px 0px 10px;
}

/* メニュー展開時にハンバーガーアイコンを固定 */
#hamburger-demo1:checked ~ .hamburger-demo-switch{
	position: fixed;
}
/* ハンバーガーアイコン */
.hamburger-switch-line1, .hamburger-switch-line1:before, .hamburger-switch-line1:after{
	width: 25px;
	height: 3px;
	background: #fff; /* ハンバーガーアイコンの色 */
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s;
	content: "";
}
.hamburger-switch-line1{
		transform: translate(-50%, -50%);
}
.hamburger-switch-line1:before{
	transform: translate(-50%, -300%);
}
.hamburger-switch-line1:after{
	transform: translate(-50%, 200%);
}
/* ハンバーガーアイコン･アニメーション */
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1{
	width: 0;
}
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:before{
	transform: rotate(45deg) translate(-40%, 325%);
}
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:after{
	transform: rotate(-45deg) translate(-40%, -325%);
}
/* メニューエリア */
.hamburger-demo-menuwrap{	
	position: fixed;
	height: 100%;
	background: #ef91a7; /* メニューエリアの背景色 */
	padding: 3em 3% 2em;
	z-index: 9998;
	transition: .3s;
	overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
	top: 0;
	left: 100%;
	width: 70%;
}

/* メニューリスト */
.hamburger-demo-menulist{
	margin-right: 3%;
	padding-left: 5% !important; /* !important不要な場合もあり */
	list-style: none;
}
.hamburger-demo-menulist li a{
	text-decoration: none;
	color: #fff; /* メニューリストの文字色 */
	display: block;
	padding: .2em 0;
}
/* メニューエリア･アニメーション */
	/* 右から */
#hamburger-demo1:checked ~ .hamburger-demo-menuwrap{
	left: 30%;
}
	/* コンテンツカバー */
.hamburger-demo-cover {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9997;
    background: rgba(3,3,3,.5);
    
    /* display: none の代わりに以下を使用 */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; 
    
    /* 閉じる時も一瞬で消さず、少し余裕を持たせると残像が消えやすい */
    transition: opacity 0.2s, visibility 0.2s;
}

/* 2. チェック時のみ見えるようにする */
#hamburger-demo1:checked ~ .hamburger-demo-cover {
    display: block; /* もし既存の構成上必要なら残してもOKですが、基本不要です */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* 3. 【念のため】iOSのタップハイライトを完全に殺す */
.hamburger-demo-cover, 
label[for="hamburger-demo1"] {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.bg-img{
	background-image: url("../images/footer_img.jpg");
    background-repeat: no-repeat;
	background-position: bottom;
    background-size:cover;
    height: 570px;
	width: 100%;
	padding: 150px 0px 0px 0px;
	margin: 0px;
}
