@charset "UTF-8";
/*
    Template: swell
    Theme Name: cosmos
    Theme URI: https://swell-theme.com/
    Description: グループホーム コスモス
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');


/***** common *****/
*, body, html{
	font-size:16px;
	font-family: "Zen Maru Gothic", sans-serif;
	color:#180400;
	font-weight:500;
/*	overflow: auto; */
}
h2,h3,h4,h5,strong{
	font-weight: 600;
	font-style: normal;
/*	color:#291600; */
}
p{
	line-height:1.75em;
}

a:link{
	color:#309EAF;
}
.swell-block-button__link span{
	color:#fff;
}

.txt75p{
	font-size:60%;
}

.swell-block-fullWide.top-life,
.swell-block-fullWide.top-about,
.swell-block-fullWide.top-access{
	position:relative;
	background-repeat: no-repeat; /* Prevents tiling */
	background-position:top center;
	background-size:100% auto;
}
.swell-block-fullWide.top-life .swell-block-fullWide__inner,
.swell-block-fullWide.top-about .swell-block-fullWide__inner,
.swell-block-fullWide.top-access .swell-block-fullWide__inner{
	padding-top:100px;
}
.swell-block-fullWide.top-about .swell-block-fullWide__inner{
	padding-bottom:50px;
}

.swell-block-fullWide.top-column{
/*	position:relative; */
	background-image:url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/top-columnBG.png'),url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/top-columnBG.png');
	background-position:top center,bottom center;
	background-size:50%;
	background-repeat: repeat-x; /* Prevents tiling */
}

.swell-block-fullWide.top-life{
	background-color:#ebf4e9;
	background-image:url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/top-lifeBG.png');
	padding-bottom:0px;
}
.swell-block-fullWide.top-life h2{
	border-color:#81c83a;
}

.swell-block-fullWide.top-about{
	background-color:#fef8ee;
	background-image:url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/top-aboutBG.png');
}
.swell-block-fullWide.top-about h2{
	border-color:#ffd2c2;
}

.swell-block-fullWide.top-access{
	background-color:#fff;
	background-image:url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/top-accessBG.png');
}
.swell-block-fullWide.top-access h2{
	background-image:url('https://cosmos.jiseikai.net/wp-content/uploads/2025/09/accessBorder.png');
	background-position:bottom;
	background-size:contain;
	background-repeat:no-repeat;
	width:100%;
	font-size:2em;
	height:2em;
	margin-bottom:2em !important;
}

.swell-block-fullWide.top-life h3::after,
.swell-block-fullWide.top-about h3::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px; /* 下線の太さ */
}
.swell-block-fullWide.top-life h3::after{
	background-image: linear-gradient(to right, #81c83a, #ebf4e9);
}
.swell-block-fullWide.top-about h3::after{
	background-image: linear-gradient(to right, #ffd2c2, #fef8ee);
}

.swell-block-fullWide.top-life .wp-block-columns,
.swell-block-fullWide.top-about .swell-block-column{
	background:#fff;
	border-radius:10px;
	padding:2em;
}

.swell-block-fullWide.top-access strong .swl-fz{
	font-weight:bold;
}
.swell-block-fullWide.top-access .has-border.-border04{
	width:30em;
	min-width:30em;
	max-width:30em;
	margin:0 auto;
	background:rgba(252,236,241,0.5);
}
.swell-block-button.red_.is-style-btn_line a{
	border:1px solid #ff7c9f;
}

/***** header *****/
#header{
/*	position:fixed; */
	height:auto;
	background: linear-gradient(to bottom, #065fce, #2d7bcd, #5699df);
}


.l-header__inner{
	display: grid;
	gap:10px;
	align-items: center;
	width:90%;
	max-width:90%;
	min-width:90%;
	margin:0 auto;
	grid-template-columns: 1fr auto;
}
.l-header{
	order:1;
	text-align:left;
	display:grid;
	flex:1;
	height:40px;
}
.l-header__logo{
	height:40px;
	padding:0 !important;
	background:none;
}
.l-header__logo img{
/*
	padding:0 !important;
	margin:0 !important;
*/
}

.r-header{
	order:2;
	justify-items:right;
}

.l-header__logo.l-header{
	box-shadow:none;
}
h1.logo{
	text-align:left;
	display: flex;
	align-items: center; /* 垂直方向の中央揃え */
	color:#000;
}
h1.logo .siteTitle{
	font-size:1.5em;
	font-weight:bold;
	color:#fff;
	box-shadow:none;
}
.headerBox .phoneBox{
	display: grid;
	gap:10px;
	align-items: center;
}
.headerBox .phoneBox{
	grid-template-columns: 1fr 1fr;
	justify-content: center;
}
.headerBox .phoneBox div:first-of-type{
	text-align:right;
}
.headerBox .linkBox{
	text-align:right;
}
.headerBox .phoneBox div,
.headerBox .linkBox div{
	display:inline-block;
	font-size:80%;
	color:#fff;
}
.headerBox .linkBox div a{
	font-size:100%;
	color:#fff;
}
.headerBox .phoneBox .fa-solid,
.headerBox .linkBox .fa-solid,
.headerBox .linkBox .fas{
	margin-right:3px;
	color:#fff;
}
.headerBox .phoneBox{
	font-size:90%;
}
.headerBox .phoneBox strong{
	font-size:2rem;
	color:#fff;
}
.headerBox .phoneBox strong i{
	font-size:1.5rem;
	margin-right:5px;
	color:#fff;
}
/*
.headerBox .linkBox a,
.headerBox .linkBox i{
	color:#FF7D7D;
}
*/
.headerBox .linkBox a:hover{
	text-decoration:underline;
}

#gnav{
	background:rgba(255,255,255,0.4);
	background:#fff;
	box-shadow:0 2px 3px rgba(125,125,125,0.4);
}
#gnav a,
#gnav a span{
	color:#FF7DB3;
	font-weight:bold;
}
#gnav a span:before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0da";  
	font-weight: 900;
	margin-right: 8px;   
}

#content,
.l-content.l-container{
	padding-top:0 !important;
	padding-bottom:0 !important;
	margin-bottom:0 !important;
}

}

.page .l-mainContent__inner h2.wp-block-heading{
	font-size:1.5em;
	margin-bottom:1em;
}
.page .l-mainContent__inner h3.wp-block-heading{
	font-size:1.25em;
	margin-bottom:1em;
}

@media (max-width:960px) {
	/* 常時表示のフィックスヘッダーを非表示にする　*/
	.l-fixHeader {
		display:none;
	}
	/* 通常のヘッダーをトップに固定する　ヘッダーの高さ指定*/
	.l-header {
		position: sticky;
		position: -webkit-sticky;
		top: var(--swl-adminbarH,0);
	/* ボーダーの設定*/
	}

	#information,
	#message{
		padding-top:10em !important;
		padding-bottom:10em !important;
	}
	.l-header__inner{
		padding:5px 0;
	}
	.l-header__customBtn.sp_ *,
	.l-header__menuBtn.sp_ *{
		color:#fff;
	}
	.l-header__customBtn.sp_{
		display:none;
	}
	h1.logo img{
		width:35px;
		height:auto;
	}
	h1.logo .siteTitle{
		font-size:110%;
	}
}



/* メインビジュアル */
.p-mainVisual__slide{
/*	margin-top:120px; */
}
.p-mainVisual__slide .p-mainVisual__slideTitle{
	font-size:225%;
	font-weight:bold;
}
.p-mainVisual__slide .p-mainVisual__slideTitle br{
	display:none;
}
.p-mainVisual__slide .swell-block-columns{
	width:26em;
	min-width:26em;
	max-width:26em;
	margin:0 auto;
	padding-top:2em;
}
.p-mainVisual__slide .swell-block-columns .swell-block-button a span{
	font-weight:bold;
	text-shadow:none;
}
.p-mainVisual__slide .swell-block-columns .is-style-btn_line a{
	background:#fff;
}
.p-mainVisual__slide .swell-block-columns .is-style-btn_line a span{
	color:#ff7db3;
}
.p-mainVisual__waku{
	background:rgba(255,255,255,0.8);
	width:70%;
	padding:3em;
	border-radius:10px;
	text-align:center;
	margin:0 auto;
}
@media (max-width:960px) {
	.p-mainVisual__slide .p-mainVisual__slideTitle br{
		display:inline-block;;
	}
	.p-mainVisual__waku{
		width:100%;
		padding:2em 1.5em;
		position:static;
	}
	.p-mainVisual__slide .p-mainVisual__slideTitle{
		font-size:125%;
	}
	.p-mainVisual__slide .swell-block-columns{
		width:100%;
		min-width:100%;
		max-width:100%;
		margin:0 auto;
		padding-top:2em;
	}
	.p-mainVisual__slide .p-blogParts{
		padding-top:0;
	}
	.p-mainVisual__slide .swell-block-columns{
		padding-top:1em;
	}
	.p-mainVisual__slide .swell-block-column{
		padding:0;
	}
	.p-mainVisual__slide .p-blogParts .swell-block-button a{
		width:100%;
		min-width:100%;
		max-width:100%;
		padding:3px 5px;
	}
	.p-mainVisual__slide .p-blogParts .swell-block-button a span{
		font-size:80%;
	}
}

/** footer map **/
.footerMap iframe{
	width:100%;
	max-width:100%;
	min-width:100%;
	height:450px;
}
.footerContactBox{
	border-top:5px solid #008F62;
	border-bottom:5px solid #008F62;
}

/** footer access **/
.footerAccess h4.wp-block-heading{
	border:none;
	padding:0;
	margin:0;
}
.footerAccess h2.is-style-section_ttl{
	margin-bottom:0.5em;
	border-bottom:1px solid #000;
}

/** footer contact **/
.footerContact{
	display:inline-block;
	background:#F9F6EB;
	border-radius:10px;
}
.footerContact p{
	margin:0;
	padding:0;
}
.footerContact h3{
	margin:0;
	border:none;
}
.footerContact h3:before{
	display:none;
}
.footerContact h4.wp-block-heading{
	border-radius:3em;
	color:#fff;
	text-align:left;
	padding:0.25em 1em;
	margin:0 0 0.5em 0;
}
.footerContact p + h4.wp-block-heading{
	margin-top:1em;
}

.footerContact h4.wp-block-heading.koyanagiTtl{
	background:#008f62;
}
.footerContact h4.wp-block-heading.ninchiTtl{
	background:#FFB14A;
	color:#000;
}


/*モバイル用*/
@media (max-width: 768px) {
}





/** 子ページ一覧 **/
.custom-html-widget .child-pages-menu li{
	margin-bottom:0.5em;
}
.custom-html-widget .child-pages-menu li:before{
	font-family: "Font Awesome 6 Free";  
	content: "\f0da";
	font-weight: 900; /* これがないと表示されない。900以外も可 */  
	margin-right: 8px;
	color:#309EAF;
}


.top-column h2,
.top-column div{
	z-index:999;
}

@media (max-width:960px) {
	.swell-block-fullWide.top-column{
		background-size:75%;
	}
	.swell-block-fullWide#information .swell-block-fullWide__inner.l-article,
	.swell-block-fullWide.top-column .swell-block-fullWide__inner.l-article{
		margin-top:-100px !important;
		margin-bottom:-100px !important;
	}
	.swell-block-fullWide.top-about .swell-block-fullWide__inner.l-article{
		margin-top:-50px !important;
		margin-bottom:-50px !important;
	}
	.swell-block-fullWide.top-life .swell-block-fullWide__inner.l-article,
	.swell-block-fullWide.top-access .swell-block-fullWide__inner.l-article{
		margin-top:-50px !important;
	}
	.swell-block-fullWide .l-article h2.wp-block-heading{
		font-size:115%;
		margin-bottom:0;
	}
	.swell-block-fullWide .l-article  h3.wp-block-heading{
		margin-top:1.5em;
		font-size:105%;
	}
	.swell-block-fullWide.top-column .l-article h2.wp-block-heading{
		font-size:105%;
	}
	.swell-block-fullWide.top-column .wp-block-media-text__media,
	.swell-block-fullWide.top-life .swell-block-fullWide__inner.l-article img{
		width:50%;
		min-width:50%;
		max-width:50%;
		height:auto;
		margin:0 auto;
	}
	.swell-block-fullWide.top-access .has-border.-border04{
		width:90%;
		min-width:90%;
		max-width:90%;
		padding:1em 0.5em;
	}
	.swell-block-fullWide.top-access p.has-border *{
		font-size:90%;
	}
}

/** Gallery **/
@media (max-width: 960px) {
	.wp-block-gallery figure.wp-block-image figcaption.wp-element-caption{
		font-size:50%;
		font-weight:normal;
		padding:2px;
		max-width:100%;
	}
	.lum-lightbox-image-wrapper,
	.lum-lightbox-position-helper{
		width:100% !important;
		min-width:100% !important;
		max-width:100% !important;
	}
	.lum-lightbox-position-helper img{
		width:100% !important;
		min-width:100% !important;
		max-width:100% !important;
		height:auto !important;
	}
}


/*-----------------------------------
sakura_block
-----------------------------------*/
#sakura_block{
  width: 100%;
  height:500px;
  position: absolute;
  z-index:100;
  top:0;
  left:0;
}
#sakura_block .sakura_parts_box{
	position:relative;
}
#sakura_block .sakura_parts_box img{
  position: absolute;
}
#sakura_block .sakura_parts_box img:nth-child(2n+1){
  width: 23px;/*花びらのサイズ*/
}
#sakura_block .sakura_parts_box img:nth-child(2n){
  width: 25px;/*花びらのサイズ*/
}

/*-----------------------------------
桜の花びらパーツの表示位置
-----------------------------------*/
img.parts_01{top: 0; left: 5%;}
img.parts_02{top: 0; left: 12%;}
img.parts_03{top: 0; left: 15%;}
img.parts_04{top: 0; left: 22%;}
img.parts_05{top: 0; left: 30%;}
img.parts_06{top: 0; left: 98%;}
img.parts_07{top: 0; left: 73%;}
img.parts_08{top: 0; left: 70%;}
img.parts_09{top: 0; left: 84%;}
img.parts_10{top: 0; left: 90%;}


/*-----------------------------------
舞い散るアニメーション
回転しつつ上から下へ
-----------------------------------*/
@keyframes sakura {
    0% {
      opacity: 0;
    }
    20% {
      transform:translate(3px,30px) rotate(20deg);
      opacity: 1;
    }
    30% {
      transform:translate(0,50px) rotate(50deg);
    }
    50% {
      transform:translate(-20px,100px)  rotate(150deg);
    }
    70% {
      transform:translate(-40px,250px) rotate(-50deg);
      opacity: .8;
    }
    90% {
      transform:translate(-10px,380px) rotate(-180deg);
    }
    100% {
      transform:translate(-40px,400px);
      opacity: 0;
    }
}

.sakura_parts_box img {
    animation: sakura linear 6s infinite;
    /*アニメーションが始まるまで画像を見えなくしておく*/
    opacity: 0;
}

/*-----------------------------------
アニメーションが始まるまでの時間
-----------------------------------*/
img.parts_01,img.parts_04{
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
img.parts_02,img.parts_05{
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}
img.parts_03,img.parts_06,img.parts_09{
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
img.parts_08{
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
img.parts_07{
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
img.parts_10{
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}


.copyright{
	display:inline-block;
	margin-left:45%;
}
.policy a,
.policy i{
	font-size:65%;
	color:#68a9cf;
}
.policy{
	display:inline-block;
	float:right;
}

@media (max-width: 960px) {
	.copyright{
		margin-left:3%;
	}
}