@charset "UTF-8";
/* CSS Document */


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;	
}
body {
	  font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	color: #333;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;/*アンチエイリアスを滑らかに*/
	-moz-osx-font-smoothing: grayscale;
	line-height: 2;  
    background: #FFE1B0;
}
.en{
font-family: "Nunito", sans-serif;   
font-weight: 700;    
}

.fullscreenmenu{
display: none;
}
	.h100{
height: 100px;		
	}
	.h50{
height: 50px;		
	}
	.h30{
height: 30px;		
	}	
	.h20{
height: 20px;		
	}
	.h10{
height: 10px;		
	}
.kome{
  color: #75CCE8;  
}
a{
	text-decoration: none;	
}
li{
	list-style-type: none;
}

section{
padding: 100px 0;    
}
.center_box{
  width: -moz-fit-content;
width: fit-content;  
margin: 0 auto;
display: block;   
}

.headline{
color: #0642BB;
font-size: 1.5em;
text-align: center;    
}
.text-shadow {
text-shadow: 
       1px  1px 1px #ffffff,
      -1px  1px 1px #ffffff,
       1px -1px 1px #ffffff,
      -1px -1px 1px #ffffff,
       1px  0px 1px #ffffff,
       0px  1px 1px #ffffff,
      -1px  0px 1px #ffffff,
       0px -1px 1px #ffffff;   
    }
.text1{
font-size: 1rem;  
}
.text1 strong{
font-size: 1.5rem;    
   
}
.text2{
font-size: 1.3rem;  
font-weight: 700;
    
}
.koumoku{
width: 100%;
position: relative;
padding-left: 1.3rem;  
display: block;     
}
.koumoku::after
  {
  font-family: "Font Awesome 6 Free";
  content: "\f14a";
  position: absolute;
  padding: 0em;
  color: #75CCE8;
  font-weight: 900;
  left:0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.sp_l{
      text-align: center;
    }

.tb_l{
      text-align: center;
    }
.sora{
position: absolute;
top: 0;
left: 0;
width: 100%;    
display: block;    
}
.yama{
position: absolute;
bottom: 0;
left: 50%;
max-width: 900px;
width: 100%;    
display: block; 
  -webkit-transform : translateX(-50%);
  transform : translateX(-50%);    
margin-top: 1rem;    
}
.background1{
width: 100%;  
display: block;
background: #fff;  
}
.background1::after{
content: "";
top: 10%;
left:5%;    
position: absolute;
background: url("../img/illust12.png");
background-size: contain;
background-repeat: no-repeat;    
width: 80px;
height: 30%; 
}
.background1::before{
content: "";
top: 20%;
right:5%;    
position: absolute;
background: url("../img/illust13.png");
background-size: contain;
background-repeat: no-repeat;    
width: 100px;
height: 30%;    
z-index: 5;    
}
.background2{
width: 100%;
height: auto;   
background: #FFD9E2;	 
}
.background3{
background: #fff;    
}
.background4{
background: #baeefe;    
}
.flex-box1{
width: 100%;
height: auto;
display: flex;    
flex-wrap:wrap;
justify-content:space-between;
align-items:center;    
}
.flex-box2{
width: 100%;
height: auto;
display: flex;    
flex-wrap:wrap;
justify-content:center;   
align-items: stretch;    
}
.flex-box3{
width: 100%;
height: auto;
display: flex;    
flex-wrap:wrap;
justify-content:flex-start;    
}

/*TOPスライダー*/
.slider-box{
    width: 100%;
    height: calc(100vh - 300.42px);
	overflow: hidden;
	position: relative;
}

.text_img{
  position: absolute;
  bottom: 20%;
  right: 3%;
  max-width:600px;
  width: 50%;    
  text-align: center;
 z-index: 5;  
  animation: fadeup 3s forwards;     
}
@keyframes fadeup {
  0% {
    transform: translateY(100px);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.text_img img{
width: 100%;    
}
.loading_text{
	position: absolute;
    text-align: center;
	z-index: 3;
}
.loading_text p{
	font-size: 10vh;
    line-height: 1.4;
    letter-spacing: 0.05em;
    transform: translateY(-10%);
    font-family: "halogen", sans-serif;
	font-weight: 700;
 background: linear-gradient(180deg, #aeaeae, #aeaeae 30%, #dcdcdc);
  background: -webkit-linear-gradient(0deg, #aeaeae, #aeaeae 30%, #dcdcdc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
   
}
 

.loading_text1{
    left: 0;
    bottom: 8%;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
	animation: text_apper1 1.6s ease-in-out;
    
}
.loading_text1 p{
    font-size: 9vh;
}
.loading_text2{
    left: 2%;
    bottom: 0;
	animation: text_apper2 1.6s ease-in-out forwards;
	animation-delay: 0.4s;
	opacity: 0;
}
.loading_text2 p{
    font-size: 5vh;
}
@keyframes text_apper1{
	0% {
		opacity: 0;
	}
	50%{
		opacity: 0;
		transform: translateY(-10%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes text_apper2{
	0% {
		opacity: 0;
        transform: translateX(-10%);
	}
	50%{
		opacity: 0;
		
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}


.overwrap{
	overflow: hidden;
}

.ani_text{
}
.ani_text{
	display: block;
	opacity: 0;
	transform: translate(10px,10px);
	transition: transform 1s cubic-bezier(.42,0,.58,1), opacity 1s cubic-bezier(.42,0,.58,1);
}
.ani_text.inview{
	opacity: 1;
	transform: translate(0,0);
}
.ani_text:nth-of-type(1){
	transition-delay:.2s;
}
.ani_text:nth-of-type(2){
	transition-delay:.4s;
}
.ani_text:nth-of-type(3){
	transition-delay:.6s;
}
.ani_text:nth-of-type(4){
	transition-delay:.8s;
}
.ani_text:nth-of-type(5){
	transition-delay:1s;
}
.ani_text:nth-of-type(6){
	transition-delay:1.2s;
}
.ani_text:nth-of-type(7){
	transition-delay:1.4s;
}
.ani_text:nth-of-type(8){
	transition-delay:1.6s;
}
.ani_text:nth-of-type(9){
	transition-delay:1.8s;
}
.ani_text:nth-of-type(10){
	transition-delay:2s;
}
.ani_text:nth-of-type(11){
	transition-delay:2.2s;
}
.ani_text:nth-of-type(12){
	transition-delay:2.4s;
}
.ani_text:nth-of-type(13){
	transition-delay:2.6s;
}
.ani_text:nth-of-type(14){
	transition-delay:2.8s;
}
.ani_text:nth-of-type(15){
	transition-delay:3s;
}
@media (max-width: 750px){
	.ani_text{
		transition-delay: 0s !important;
	}
}



/*フェードイン*/
.flowup{
	opacity: 0;
	transform: translateY(5px);
	transition: opacity 1.2s, transform 1.2s;
}
.flowup.inview{
	opacity: 1;
	transform: translateY(0);
}

.flowup2{
	opacity: 0;
	transform: translate(-10%, 10%);
	transition: opacity 1.6s, transform 1.6s;
}
.flowup2.inview{
	opacity: 1;
	transform: translate(0, 0);
}
.flowup3{
	opacity: 0;
	transform: translate(0, 10%);
	transition: opacity 1.6s, transform 1.6s;
	transition-delay: 0.2s;
}
.flowup3.inview{
	opacity: 1;
	transform: translate(0, 0);
}
.flowup4{
	opacity: 0;
	transform: translate(10%, 10%);
	transition: opacity 1.6s, transform 1.6s;
	transition-delay: 0.4s;
}
.flowup4.inview{
	opacity: 1;
	transform: translate(0, 0);
}
@media (max-width: 960px){
	.flowup2{
		transition-delay: 0s !important;
	}
	.flowup3{
		transition-delay: 0s !important;
	}
	.flowup4{
		transition-delay: 0s !important;
	}
}

.grayscale{
	transition: 0.2s;
	transition-delay: 0.6s;
}
.grayscale.inview{
	filter: grayscale(100%);
}



/*パンクズ */
.breadcrumb {
position: absolute;
bottom: 3%;
left: 1%;  
z-index: 5;    
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
font-size: 0.8rem;
color: #fff;   
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
color: #fff;
}

.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb .item_text{
color: #fff;    
}
.breadcrumb li a {
  text-decoration: none;
  color: #fff;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb .fa-home{
color:#BF0404; 	
}
/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:50px;
	left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:20%;
    /*テキストの形状*/
	color: #fff;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;

}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#fff;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#fff;
}

.midashi_c h2{
width: 100%;     
font-size: 2rem;		
text-align:center;	
position: relative;
z-index: 5;  
margin-top: 100px; 
color: #333;
}
.midashi_c h2::after{
  content: "";  
  position: absolute;
  top: -80px;
  left: 50%;
  background: url("../img/illust8.png");
  background-repeat: no-repeat;
  background-size: 100%;    
  width: 100px;
  height: 300px; 
-webkit-transform : translateX(-50%);
transform : translateX(-50%);   
z-index: 90;    
}

.container {
max-width: 1400px;
 width: 95%;   
display: block;
margin: 0 auto;	
}
.inner-box{
max-width: 1000px;
width: 95%;
display: block;
margin: 0 auto;
}
.top_menu{
height: auto;
display:block;
 padding: 1rem;   
}
.top_menu::after{
content: "";
position: absolute;
top: 0;
left: 0;
background: url("../img/illust3.png");
background-size: contain;
background-repeat: no-repeat;
max-width:300px;
width: 40%;    
height: 100%;    
opacity: 0.3; 
   
}
.top_menu::before{
content: "";
position: absolute;
top: 0;
right: 0;
background: url("../img/illust4.png");
background-size: contain;
background-repeat: no-repeat;
max-width:300px;
width: 40%; 
height: 100%;   
opacity: 0.3;    
}

.top_menu .menu_t{
width: 100%;    
display: flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:center; 
position: relative;
z-index: 3;    
}

.top_menu .menu_t .logo{
width:230px;
transition: all 0.5s;    
}

.top_menu .menu_t .logo img{
width:100%;	
display: block;
margin: 0 auto;
}


.top_menu .m1{
width:100%;	 
position: relative;
z-index: 5;    
}

.top_wrapper{
width: 100%;   
height: auto;    
transition: all 0.5s;
border-top: solid 5px #FFD9E2;
position: relative;
background: #fff;    
}

/*==ナビゲーション全体の設定*/
.m1 nav{
  color: #333;
  text-align: center;
    padding: 0.5em 0;
}
/*ナビゲーションを横並びに*/
.m1 nav ul{
  list-style: none;
  display: flex;
  justify-content:center;
  position: relative;
  margin-top: 1rem;    
}
.m1 nav ul::after{
content: "●";
color: #FFD9E2;
position: absolute;
top:-8%;
right:0.7%; 
font-size: 0.5rem;    
}
.m1 nav ul:before{
content: "●";
color: #FFD9E2;
position: absolute;
bottom: -8%;
right: 0.7%; 
font-size: 0.5rem;    
}
.m1 nav ul .small{
display: block;
font-size: 0.9rem; 
color: #75CCE8;  
font-weight: 700;    
  font-family: "Nunito", sans-serif;   
    line-height: 1.2;    
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
.m1 nav ul li{
  position: relative;
    width:calc(100% / 5 - 10px); 
    margin: 0 3px;  
    border-left: 2px dotted #FFD9E2;
    position: relative;	
}

.m1 nav ul li img{
width: 50px;
display: block;
margin: 0 auto;
  transition:all .3s;    
}
.m1 nav ul li a:hover img{
filter: contrast(110%);
}
.m1 nav ul li::after{
content: "●";
color: #FFD9E2;
position: absolute;
top: -8%;
left: -2%; 
font-size: 0.5rem;    
}
.m1 nav ul li::before{
content: "●";
color: #FFD9E2;
position: absolute;
bottom: -8%;
left: -2%; 
font-size: 0.5rem;    
}
.m1 nav ul li:last-child{
 border-right: 2px dotted #FFD9E2; 
position: relative;
display: block;    
}

/*ナビゲーションのリンク設定*/
.m1 nav ul li a{
  display: block;
  text-decoration: none;
  color: #333;
  transition:all .3s;
    font-size:1em;
}

.m1 nav ul li a:hover{
  transform: translateY(-7px);   
}


.t-con{
width: 600px;
display: flex;    
flex-wrap:wrap;
justify-content:flex-end;
align-items:center; 
margin-top: 1em;  
transition: all 1s;     
}

.top_wrapper.transform .t-con{
display: none;
text-decoration: transparent;    
}

.t-btn1{
width: 300px;	    
font-size: 2rem;	   
transition: all 0.5s;    
display: block;  
text-align: center; 
padding: 0.5em 0;
margin-left: 15px;  
color: #75CCE8;  
transition: all 0.5s;    
}
.t-btn1:hover{
opacity: 0.7;
text-decoration: transparent;
    
}
.t-btn2{
width: 200px;	    
font-size:1rem;	     
display: block;  
text-align: center; 
padding: 0.5rem 0;
margin-left: 15px;  
vertical-align: middle;    
background: #FBF199;
color: #333;  
transition: all 0.5s; 
border-radius: 50px;    
}
.t-btn2:hover{
opacity: 0.7; 
text-decoration: transparent;
    
}

@keyframes bg_slide {
    100% {
        transform-origin: left top;
        transform: scaleX(1.0);
    }
    0% {
        transform-origin: left top;
        transform: scaleX(0.0);
    }
}


/*===ボタン===*/
.button {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 250px; /* ボタンの最大幅 */
  padding: 1em 2em;
  color: initial; /* 文字色 */
  transition: 0.3s ease-in-out;
  font-weight: bold;
  text-decoration: none;
margin: 0 auto;
}

.button::before, .button::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.button::before {
  width: 0.5em;
  height: 0.5em;
  left: 1em;
  border-top: solid 2px #fff; /* 矢印の色 */
  border-right: solid 2px #fff; /* 矢印の色 */
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.button_b1::after {
  left: 0;
  background:#75CCE8; /* 背景色 */
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
}
.button_b2::after {
  left: 0;
  background:#AFDDAF; /* 背景色 */
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
  font-weight: 700;
}
.button span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}

/* マウスオーバーした際のデザイン */
.button:hover span {
  color: #fff; /* 文字色 */
}

.button:hover:before {
  left: 2rem;
}

.button:hover:after {
  right: 0;
  width: 100%;
}
.button2{
background: #AFDDAF;
border-radius: 50px;
padding: 1em 1%;
max-width: 400px;
width: 95%; 
border: solid #AFDDAF 1px;
transition: all 0.5s;    
color: #fff;
text-align: center;  
margin: 1em;    
}
.button2:hover{
color: #AFDDAF;
background: #fff;  
text-decoration: transparent;    
}
/*===共通===*/
.item1{
background: #fff;
padding: 1rem;
border-radius: 30px;  
position: relative;
}
.item1::after{
content: "";
position: absolute;
bottom: 10px;
right: 15px;
background: url("../img/illust6.png");
background-size: contain;
background-repeat: no-repeat;
width: 150px;
height:150px;   
filter: drop-shadow(0 0 0.1rem #fff);    
}
.item1::before{
content: "";
position: absolute;
top: 80px;
left:55%;
background: url("../img/illust7.png");
background-size: contain;
background-repeat: no-repeat;
width: 150px;
height:150px;    
filter: drop-shadow(0 0 0.1rem #fff);    
}
.item-box{
width: 100%;
height: auto;
display: block; 
position: relative;
overflow: hidden;    
}
.item_titl{
width: 100%;    
font-size: 1.8rem;   
color: #75CCE8;
position: relative;
text-align: center;  
margin-top: 150px;   
line-height: 1.2;    
}
.item_titl::after{
width:300px;
height: 130px;    
content: "";    
position: absolute;
top: -150%;
left: 50%;
background: url("../img/illust5.png");
background-size: 100%; 
background-repeat: no-repeat; 
  -webkit-transform : translateX(-50%);
  transform : translateX(-50%);    
}

.item-t1{
width: 50%; 
padding: 0 3%;  
z-index: 5;    
}
.item-p1{
width: 50%;
display: flex;
flex-wrap:wrap;
justify-content: flex-start;    
position: relative;
}
.item-p1::after{
content: "";
background: #AFDDAF;
position: absolute;
width: 60%;
height: 60%;
display: block;
object-fit: cover; 
z-index: -1; 
top: 0;
left: 0;    
border-radius: 10px;    
}
.item-p1::before{
content: "";
background: #FFD9E2;
position: absolute;
width: 40%;
height: 40%;
display: block;
object-fit: cover; 
z-index: -1; 
bottom: 0;
right: 0;   
border-radius: 10px;    
}
.item-p1 div{
width:calc(100% / 2 - 20px);  
height: 300px;
border-radius: 10px;
overflow: hidden;
margin: 10px;    
}
.item-p1 div img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
}

.m_y{
background: #FBF199;    
padding:0.5rem 1rem;
display: block; 
border-radius: 10px;    
}
.m_y .text{
color: #333;
font-size: 1rem;  
width: 100%;
text-align: center;
display: block;
font-weight: 700;  
line-height: 1.5;    
}
.m_o{
background: #FFE1B0;    
padding:0.5rem 1rem;
display: block; 
border-radius: 10px;    
}
.m_o .text{
color: #333;
font-size: 1rem;  
width: 100%;
text-align: center;
display: block;
font-weight: 700;  
line-height: 1.5;    
}
.item-t2{
width: 40%; 
position: relative;
transition: all 0.5s;	 
background:rgba(255,255,255,0.7);  
display: block;  
  object-fit: cover;   
color: #333; 
border-radius: 10px;    
}
.item-t2_text{
width: 90%;
position: absolute;
top: 50%;
left: 50%;   
-webkit-transform : translate(-50%,-50%);
transform : translate(-50%,-50%);      
display: block;    
}
.item-p2{
width: 50%; 
overflow: hidden;   
border-radius: 10px;        
}
.item-p2 img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
}
.item-t3{
max-width: 700px;
width: 100%;    
padding: 3%; 
background:rgba(255,255,255,0.9);  
position: absolute;
bottom: 10%;
left: 42%;  
display: block;  
border-radius: 10px;        
}

.item-p3{
width: 65%; 
overflow: hidden;   
border-radius: 10px;        
}
.item-p3 img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
}
.item4{
background: #fff;
border-radius: 10px; 
padding: 1rem;    
width: 100%;    
}
.item_illust4{
overflow: hidden;
position: relative;         
}
.item_illust4::after{
    content: "";
    position: absolute;
    right:-200px;
    bottom: -130px;
    background: url("../img/illust15.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 500px;
    height: 300px;
    opacity: 0.6;
}
.item_illust4::before{
    content: "";
    position: absolute;
    left:48%;
    bottom: -70px;
    background: url("../img/illust18.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 200px;
    height:180px;
    opacity: 0.6;
}
.item-t4{
width: 50%;    
padding:5% 3%; 
z-index: 5;   
position: relative;    
}
.item-t4-titl{
font-size: 1.3rem;
position: relative;
padding-left: 50px;   
display: inline-block;  
}
.item-t4-titl::after{
    content: "";
    position: absolute;
   left:0;
    bottom:0;
    background: url("../img/illust16.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
}
.item-t4-titl::before{
    content: "";
    position: absolute;
   right:-50px;
    bottom:0;
    background: url("../img/illust17.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
}
.item-p4{
width: 50%; 
overflow: hidden;   
border-radius: 10px;  
z-index: 5;   
position: relative;     
}
.item-p4 img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
}
.item4-list{
max-width: 980px;    
width: 100%;    
display: block;
margin: 0 auto;
background: #fff; 
border-radius: 10px; 
padding: 1rem;    
}
.item4-list li{
display: inline-block;
position: relative;
white-space:nowrap;
margin:0.5rem 0 1rem 1rem;   
font-weight: 700;
}
.item4-list .bb{
padding-left: 45px;      
}
.item4-list .bb::before{
    content: "";
    position: absolute;
   left:0;
    bottom:-0.5rem;
border-bottom: dotted 3px #75CCE8;  
width: 100%;    
}
.list1::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust19.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 35px;
    height: 35px;
     -webkit-transform : translateY(-50%);
  transform : translateY(-50%); 
    
}
.list2::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust20.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 35px;
    height: 35px;
     -webkit-transform : translateY(-50%);
  transform : translateY(-50%);     
    
}
.list3::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust21.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 35px;
    height: 35px;
         -webkit-transform : translateY(-50%);
  transform : translateY(-50%); 
    
}
.list4::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust22.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 38px;
    height: 38px;
     -webkit-transform : translateY(-50%);
  transform : translateY(-50%);     
    
}
.list5::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust23.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 38px;
    height: 38px;
         -webkit-transform : translateY(-50%);
  transform : translateY(-50%); 
    
}
.item4_list_titl{
position: relative;
padding-left: 40px;
font-size: 1.3rem;    
}
.item4_list_titl::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust24.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);     
}

.item4-list2{  
width:calc(980px / 2 - 20px);    
display: block;
margin: 10px;
background: #fff; 
border-radius: 10px; 
padding: 1rem;    
}
.item4-list2 li{
display: block;
position: relative;
white-space:nowrap;
margin:0.5rem 0 1rem 1rem;   
font-weight: 700;
}
.item4-list2 .bb{
padding-left: 45px;      
}
.item4-list2 .bb::before{
    content: "";
    position: absolute;
   left:0;
    bottom:-0.5rem;
border-bottom: dotted 3px #75CCE8;  
width: 100%;    
}
.item-t5{
   width: 80%;
    padding: 0 3%;
}
.item-p5{
width: 20%; 
}
.item-p5 img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
}
.item-t6{
   width: 100%;
}
.item-p6{
width: 200px;
height: 200px;    
position: relative;
border-radius: 100%;  
overflow: hidden;    
}
.item-p6 img{
width: 100%;
height: 100%;
object-fit: cover;
display: block; 
 position: absolute;
top: 50%;
left: 50%;   
-webkit-transform : translate(-50%,-50%);
transform : translate(-50%,-50%);        
}
.item-p6_i{
 width: 200px;
height: 200px;  
position: relative;   
margin: 1rem auto;
}
.item-p6_i::after{
  content: "";
top: -30px;
left:-50px;    
position: absolute;
background: url("../img/illust27.png");
background-size: contain;
background-repeat: no-repeat;    
width: 150px;
height: 150px; 
opacity: 0.4;   
z-index: 1;    
}
.item-p6_i::before{
  content: "";
bottom: -60px;
right:-50px;    
position: absolute;
background: url("../img/illust28.png");
background-size: contain;
background-repeat: no-repeat;    
width: 150px;
height: 150px;  
opacity: 0.4;  
z-index: 1;     
}
/*====理念===*/
.philosophy{
font-size: 1.2rem; 
border-radius: 10px;
padding: 1rem 3rem 1rem;  
max-width: 1000px;
width: 100%; 
display: block;
margin: 1rem auto 2rem;
font-weight: 700;   
position: relative; 
z-index: 10;
}
.philosophy::after{
  font-family: "Font Awesome 5 Free";
  content: "\f005";
  font-weight: 900;
  position: absolute;
  left : 1rem; /*左端からのアイコンまでの距離*/  
  top: 50%;    
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);        
}
.back_p{
background: #FFD9E2;
}
.back_y{
background: #FBF199;    
}
.back_b{
background: #75CCE8;    
}
.back_g{
background: #AFDDAF;    
}
/*====サービス===*/
.blue1{
color: #75CCE8;  
font-weight: 700;
text-align: center;
}
.up:hover{
transform: translate(0, -40px); 
 text-decoration: transparent;	
}

.up:hover .button span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}
.up:hover .button_b1 {
  left: 0;
  background:#75CCE8; /* 背景色 */
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
width: 100%; 
transform: translate(0, 0);     
}
.up:hover .button_b2{
  left: 0;
  background:#208A81; /* 背景色 */
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
width: 100%;     
transform: translate(0, 0);         
}
.up:hover .button span {
  color: #fff; /* 文字色 */
}

.up:hover .button:before {
  left: 2rem;
}

.up:hover .button:after {
  right: 0;
  width: 100%;
}
/*====全ページ共通フッターメニュー===*/
footer{
width: 100%;
display:block;
text-align: center;	   
}
footer .footer-box{
height:auto; 
width: 100%;    
display:flex;   
flex-wrap:wrap;
justify-content:space-between;   
align-items:center; 
padding: 50px 0;        
}
footer .footer-box .footer-back{
padding: 50px 0!important;     
width: 100%; 
background:url("../img/footer_back.jpg");
background-position: center;
background-size: cover;    
padding: 2% 0  0;  
display: block;    
}

.con-text{
font-size: 1.5em;
text-align:center;
color: #fff;     
}
.f-contact{
width:100%;
display: flex;    
flex-wrap:wrap;
justify-content:center;
align-items:center;    
}
.f-address{
width: 50%;
}
.f-address img{
max-width: 200px;
width: 50%;    
display: block;
margin: 0 auto;
}
.f-con{
width:300px;
margin: 0 auto;
}
.f-con a{
background: #75CCE8;
border-radius: 30px;    
padding:1em 1%;
font-size: 1rem;  
display: block;  
color: #fff;
transition: all .5s;    
letter-spacing: 1px;   
border: solid 2px #75CCE8;
font-weight: 700;
}
.f-con a:hover{
background: #fff; 
color: #75CCE8;       
}
.f-con p{
border:1px solid #fff;
padding:1em 1%;
color: #b0b0ae;
font-size: 1.3em;      
letter-spacing: 1px;       
}
.f_map{
  width: 50%;  
}
.f_map iframe{
width: 100%;
height: 300px;    
}
footer .copyright small{
text-align: center;	
color:#fff;
padding:1% 0;
display: block;	
background:#75CCE8;  
font-size: 0.8em;  
font-weight: 700;
}
/*====放課後等デイサービス===*/
.month{
   width:calc(100% / 6 - 20px);   
   margin: 10px; 
}
.month img{
width: 90%;  
display: block;
margin: 0 auto;
}
.month p{
font-weight: 700;
text-align: center;
margin-top: 1rem;    
}
.schedule_titl{
position: relative;
padding-left: 55px;
font-size: 1.3rem;    
}
.schedule_titl::after{
    content: "";
    position: absolute;
   left:0;
    top:50%;
    background: url("../img/illust16.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);     
}
.w1{  
max-width: 980px; 
width: 90%;    
}
.w2{  
width: 45%;    
}
.schedule{  
position: relative;  
margin: 0 auto;
}
.schedule_photo{
width: 45%;    
}
.schedule_photo div{
width:70%;    
}
.schedule_photo div:last-child{
margin-left: 10%;    
}
.schedule_photo div img{
width: 90%; 
border: solid 5px #B1EFE6;
border-radius: 20px;    
  
}
.time-schedule {
width: 90%;  
  list-style: none;
  margin: 30px auto 0 6em;
  padding-left:40px;
  border-left: 6px solid #B1EFE6;
  box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0 0;
  padding: 5px 0;
  position: relative;
}

.time-schedule span.time {
  width:3.8rem;
  display: inline-block;
  margin-left: -8rem;
  padding: 0 0 5px;
  margin-top: 15px;
  vertical-align: top;
  position: relative;
  text-align: left;
  box-sizing: border-box;
font-weight: 700;
font-family: "Nunito", sans-serif;   
}

.time-schedule span.time::after {
  content: "";
  position: absolute;
  right: -35px;
  top: 50%;
  background: #75CCE8;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);      
}

.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 30px;
  padding: 15px 10px 15px 10px;
  vertical-align: middle;
  background: rgba(255,255,255,0.7);
  box-sizing: border-box;
  border-radius: 6px;
}

.time-schedule .sch_title {
  font-size: 16px;
  font-weight: 500;
}

.time-schedule .sch_tx {
  font-size: 14px;
  font-weight: normal;
}
.s_img img{
 width:80%; 
border: solid 5px #B1EFE6;
border-radius: 20px;    
margin:2rem 0 0 6rem;
}
.box_w{
background: rgba(255,255,255,0.5);
padding: 3%;
position: relative;
display: block;
max-width: 900px;
width: 100%;   
margin: 0 auto;
}
.faq-box{
width: 100%;    
margin-bottom: 30px;  
position: relative;
padding: 1rem;    
}
.faq-box::after{
content: "";
background: #fafafa ;     
z-index: -1;
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
display: block;    
top: 0;
left: 0;    
border-radius: 10px;      
}
.q_text{
width: 20px;    
position: relative;
color: #fff; 
display: inline-block;   
font-size: 1rem; 
text-align: center;
margin-right: 10px;
margin-top: 1%;
margin-bottom: 1%;    
line-height: 20px;    
padding-left: 5px; 
z-index: 5;  
font-weight: 700;
    
}
.q_text::before{
  content: "";    
  width: 20px;
  height: 20px;    
  background: #75CCE8;
  transform: rotate(45deg);
position: absolute;
top: 0;
left: 3px;      
z-index: -3;
    
}
.a_text{
position: relative;
color: #fff; 
display: inline-block;   
font-size: 1rem; 
text-align: center;
margin-right: 10px;
margin-top: 1%;
margin-bottom: 1%;       
line-height: 20px;    
padding-left: 7px;   
z-index: 5;       
}
.a_text::before{
  content: "";    
  width: 20px;
  height: 20px;    
  background: #FD9FB5;
  transform: rotate(45deg);
position: absolute;
top: 0;
left: 3px;      
z-index: -3;      
}
.qa_text{
width: 90%;    
margin-left: 5px; 
display: inline-block;
vertical-align: text-top;
}
/*====保育所等訪問支援===*/
.visitin{
   width:calc(100% / 4 - 20px); 
margin: 10px;    
background: #fff;
border-radius: 10px;    
padding: 1rem;   
position: relative;
}
.visitin .visitin_titl{
font-size: 1.3rem;
text-align: center; 
width: 120px;
height: 50px;
border-radius: 100px;    
position: absolute;
left: 50%;
top: 10px;  
-webkit-transform : translateX(-50%);
transform : translateX(-50%); 
line-height: 50px;  
}
.text_b{
color: #024D5E;      
}
.text_p{
color: #3A0212;      
}
.text_y{
color: #544A03;      
}
.text_g{
color: #013301;      
}
.visitin img{
width: 100%; 
margin-top: 20px;
margin-bottom: 5px;    
border-radius: 10px;      
}
.point{
width:calc(100% / 3 - 20px);      
border-radius: 10px;
position: relative;
overflow: hidden;
margin: 10px; 
background: #fff;    
}
.point img{
width: 100%;    
}

.p-back_b::before{
    content: "";
    position: absolute;
    right:-10px;
   bottom:-10px;
    background: url("../img/illust24.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100px;
    height:100px;
    opacity: 0.3;
    z-index: 10;
}

.p-back_p::before{
    content: "";
    position: absolute;
    right:-10px;
   bottom:-10px;
    background: url("../img/illust25.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100px;
    height:100px;
    opacity: 0.3;
    z-index: 10;
}
.point_text {
	font-size: 1rem;
    background: #fff;
    padding: 1rem;
    position: relative;
    margin-top: -20px;
}

.point_text span {
display: block;
}


.p-text_b{
 	font-size:1.3rem;
    	color: #75CCE8;
    position: absolute;
    top: -40px;
    left: 50%;
-webkit-transform : translateX(-50%);
transform : translateX(-50%);    
border-radius: 50px 50px 0 0;
background: #fff;
width: 50%;   
text-align: center;
padding-top: 1%;    
}

.p-text_p{
 	font-size:1.3rem;
	text-transform: uppercase; 
    color: #FD9FB5
}
.p-text_p::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #FD9FB5;
}
.d_map{
width: 100%;
}
.d_map iframe{
width: 100%;
height: 300px;    
}
/*====求人案内===*/
.table{
width: 100%;    
}
.table table{
width: 100%; 
border-spacing: 0;    
border-radius: 10px;    
}
.table table tr{
width: 100%;    
}
.table table tr:nth-child(odd){
background: #ccf0fc;    
}
.table table tr:nth-child(even){
background: #effafd;    
}
.table table th{
width: 25%; 
padding: 1rem;  
font-weight: 600;
}
.table table td{
width: 75%;   
padding: 1rem;  
font-weight: 600;    
}
.voice{
 width:calc(100% / 3 - 20px); 
margin: 10px;    
background: #fff;
border-radius: 10px;    
padding: 1rem;    
}
.voice_t{
 font-size: 1.3rem;
 text-align: center;    
}
.voice img{
width: 100px;
height: 100px;
border-radius: 50px;    
object-fit: cover;
display: block;  
margin: 0 auto;
}

.flow{
 width:calc(100% / 3 - 20px); 
margin: 10px;     
background: #fff;
border-radius: 10px;    
padding: 1rem;   
overflow: hidden;
position: relative;
}

.flow_text {
	font-size: 1rem;
    font-weight: 700;
    position: relative;
    z-index: 5;
}

.flow_text span {
	display: flex;
	align-items: center;
	position: relative;
    font-size: 3rem;
    color: #75CCE8;
    display: block;
    font-weight: 700;
    text-align: center;
line-height: 1.3;
}

.flow_text span::before {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
    background: #75CCE8;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform : translateX(-50%);
transform : translateX(-50%); 
}





.articles2025{
}
.articles2025 .articles2025_container{
}
.articles2025 .articles2025_container .articles2025_wrapper{
  margin-bottom: 60px;
}
.articles2025 .articles2025_container .articles2025_wrapper:last-child{
  margin-bottom: 0 !important;
}
.articles2025 .articles2025_container .articles2025_wrapper h3{
  background-color: #f7f7f7;
  font-size: 1.3rem;
  letter-spacing: 0.12em;
  padding: 15px 20px;
  margin-bottom: 30px;
}

.articles2025 .articles2025_container .articles2025_wrapper .mini_container{
}
.articles2025 .articles2025_container .articles2025_wrapper .mini_container .mini_wrap{
  margin-bottom: 30px;
}
.articles2025 .articles2025_container .articles2025_wrapper .mini_container .mini_wrap:last-child{
  margin-bottom: 0 !important;
}
.articles2025 .articles2025_container .articles2025_wrapper .mini_container .mini_wrap h4{
  font-size: 1.1rem;
	padding-left: 15px;
	border-left: 4px solid #FFD9E2;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
}
.articles2025 .articles2025_container .articles2025_wrapper .minimini_container{
}
.articles2025 .articles2025_container .articles2025_wrapper .minimini_container .minimini_wrap{
  margin-bottom: 20px;
}
.articles2025 .articles2025_container .articles2025_wrapper .minimini_container .minimini_wrap:last-child{
  margin-bottom: 0 !important;
}
.articles2025 .articles2025_container .articles2025_wrapper .minimini_container .minimini_wrap h5{
  font-size: 1rem;
	letter-spacing: 0.15em;
  background-color: #f7f7f7;
  padding: 2px 10px;
  margin-bottom: 15px;
}

.articles2025 ul.link_flex{
  display: flex;
  flex-wrap: wrap;
}
.articles2025 ul.link_flex li{
  width: 32%;
  margin: 0 0.5% 10px;
}
.articles2025 ul.link_flex li a{
  display: block;
  width: 100%;
	letter-spacing: 0.08em;
	transition: 0.2s;
  border: 1px solid #ddd;
	padding: 6px 2px;
  text-align: center;
  background-color: #75CCE8;
  color: #fff;
  font-weight: bold;
  border-radius: 500px;
}
.articles2025 ul.link_flex li a::before{
	content: '';
	display: inline-block;
	aspect-ratio: 280 / 257;
	width: 20px;
	margin-right: 6px;
	transform: translateY(2px);
	background: url(../img/pdf_head.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.articles2025 ul.link_flex li a:hover{
	opacity: 0.6;
}
@media (max-width: 960px){
  .articles2025 ul.link_flex{
    justify-content: space-between;
  }
  .articles2025 ul.link_flex li{
    width: 48%;
    margin: 0 0 10px;
  }
}
@media (max-width: 450px){
  .articles2025 ul.link_flex li{
    width: 100%;
  }
}