@charset "UTF-8";

/*
CSS Document
Copyright (C) GLOBAL ASSET MOTIONS CO., LTD All Rights Reserved.
URL:www.glam.ne.jp
*/



@import url("common.css");



/* ----------------------------------------------------------
   MAIN VISUAL AREA
---------------------------------------------------------- */



.fv_area {
    margin: 0% auto;
    padding: 0;
    width: 100%;

	
	container-type: inline-size;
    height: 100vh;
    
    position: relative;
}

h2.top_text{
    position: absolute;
    top: 30vh;
    left: 5%;
    color: var(--blue);
    font-size: 4rem;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
	line-height: 1em;
}

/*p.top_sub_text{
    position: absolute;
    top: 42vh;
    left: 5%;
    font-size: 2.3rem;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
    font-weight: 600;
	
}
*/
span.top_sub_text{
	color: #333;
    font-size: 2.3rem;
    /*text-shadow: 3px 3px 2px rgba(255, 255, 255, 0.7);*/
    font-weight: 600;
	line-height: 0.01rem!important;
    
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    paint-order: stroke fill;
    text-shadow: none;
}



.slider_area{
    height: 85vh;
    width: 70vw;
    margin: 0 0 0 auto;
}


.top_slider_img{
	width: 100%;
	height: 85vh;
	/*max-height: 500px;*/
	object-fit: cover;
}

.top_slider_img img{
	width: 100%;
	height: 85vh;
	/*max-height: 500px;*/
	object-fit: cover;
}



.slider_option{
	display: flex;
	align-items: center;
}


.arrow_box,
.arrow_box02{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 20px 0 0;
    position: relative;
}



.prev-arrow,
.next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
    position:relative;
	
	background-color: var(--yellow);
}

.prev-arrow {
    transform: rotate(180deg);
    margin-right: 20px;
}




.prev-arrow::before,
.next-arrow::before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid var(--blue);
    border-top: 2px solid var(--blue);
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}

.prev-arrow:hover,
.next-arrow:hover{
	background-color: var(--yellow);
	border: 1px solid #fff;
	background-color: #fff;
}

.prev-arrow:hover::before,
.next-arrow:hover::before{
	    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
}


.slide-counter,
.slide-counter02{
	position: relative;
	color: #fff;
	font-size: 3rem;
	margin-right: 4rem;
}

.slide-counter02{
	color: #333;
}

.slider {
  pointer-events: none;
}

/* ----------------------------------------------------------
   CONTENTS AREA
---------------------------------------------------------- */
/*
.top_title,
.top_title_center{
    margin-bottom: 4rem;
}

.top_title_center{
    text-align: center;
}



h3.top_ct_title{
    color: var(--blue);
    font-size: 3.5rem;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
}

h3.top_ct_subtitle{
    font-weight: 600;
    padding-top: 0.5rem;
}*/

/* ------ note ------- */





/*.wrapper_diary {
    margin: 0% auto;
    padding: 8% 10%;
    width: 100%;
	height: auto;
 }

.diary_bg{
    background: linear-gradient(90deg, rgba(84,99,167,1) 0%, rgba(135,179,183,1) 100%);
}


.diary_box{
    width: 100%;
    height: auto;
    padding: 8% 4%;  
    background: #fff;
}

.diary_box .diary_image{
    position: relative;
    width: 400px;
    height: auto;
    margin-left: 5%;
}

.diary_box .diary_image img.diary_image_01{
    width: 100%;
    height: auto;
}


.diary_box .diary_text{
    width: 70%;
    height: auto;
}

.diary_box .diary_image .kikyo_deco{
    position: absolute;
    bottom: -32px;
    right: -44px;
}

.diary_box .diary_image .kikyo_deco img{
    width: 90px;
    height: auto;
}

*/

#message {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

#message p img {
    display: none;
}

#message .mu {
    width: 23%;
    position: relative
}

#message .mu img {
    width: 100%;
    height: 20vh;
    margin-bottom: 2%;
    object-fit: cover;
}

#message .mu h3 {
    margin-bottom: 1em;
    font-size: 1.1rem;
    text-align: left;
    font-weight:bold;
    color: #333;
}

#message .mu small {
    display: block;
    margin-bottom: 2%;
    font-weight:normal;
    color: #333;
}

#message a{
    display: block;
}



ul.note_flex{
    column-gap: 0;
    margin-bottom: 3vw;
}

ul.note_flex li{
   width: 23%; 
}

ul.note_flex li img{
    width: 100%;
}

p.day{
    font-size: 0.8rem;
}

p.note_title{
    font-weight: 600;
}


/* ------ school life ------- */
ul.life_flex{
    grid-row-gap: 2rem;
    margin-bottom: 3rem;
}


ul.life_flex li{
    width: 48%;
    background-color: var(--r_blue);

}

.life_item{
    align-items: stretch;
    column-gap: 0;
}

.life_image{
    width: 50%;
    overflow: hidden;
    height: inherit;
}

.life_image img{
    width: 100%;
    object-fit: cover;
    transition: transform .3s ease;
    height: 100%;

}

.life_text{
    width: 50%;
    padding: 0 1rem;
    display: flex;
    align-items: center;
}





ul.life_flex li:hover .life_image img{
   transform: scale(1.05);

}

ul.life_flex li:hover .life_arrow .circle_arrow{
    background-color: #fff;
  transition-duration: .2s;
    border: 1px solid var(--blue);
}

ul.life_flex li:hover .life_arrow .circle_arrow::before{
  animation: ct_arrow-right .6s ease-out both;
      border-right: 2px solid var(--blue);
    border-top: 2px solid var(--blue);
}


/* ------ introduction ------- */

.top_introduction_area{
    align-items: stretch;
    column-gap: 0;
}

.introduction_text_area{
    width: 50%;
    padding: 6vw 7vw ;
}

.introduction_image_area{
    height: inherit;
    width: 50%;
}

.introduction_image_area img{
    width: 100%;
    object-fit: cover;
    height: 100%;
}

ul.introduction_item{
    margin-bottom: 3rem;
}

ul.introduction_item li{
    border-bottom: solid 1px #ddd;
    padding: 0 0 1rem;
}

ul.introduction_item li + li{
    padding-top: 1rem;
}

ul.introduction_item li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

p.introduction_name{
    color: #333;
    
}

ul.introduction_item li a:hover p.introduction_name{
    color: var(--blue);
}


ul.introduction_item li a:hover .circle_arrow{
    background-color: #fff;
  transition-duration: .2s;
    border: 1px solid var(--blue);
}

ul.introduction_item li a:hover .circle_arrow::before{
  animation: ct_arrow-right .6s ease-out both;
      border-right: 2px solid var(--blue);
    border-top: 2px solid var(--blue);
}

/* ------ other_item ------- 


ul.top_other_item li{
    width: 30%;
    background-color: var(--r_blue);
}

.other_item_image{
    overflow: hidden;
    aspect-ratio: 16 / 9; 
}

.other_item_image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}



ul.top_other_item li:hover .other_item_image img{
   transform: scale(1.05);

}


ul.top_other_item li:hover .circle_arrow{
    background-color: #fff;
  transition-duration: .2s;
    border: 1px solid var(--blue);
}

ul.top_other_item li:hover .circle_arrow::before{
  animation: ct_arrow-right .6s ease-out both;
      border-right: 2px solid var(--blue);
    border-top: 2px solid var(--blue);
}

.other_item_text{
    padding: 1rem;
}
*/


/*@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}


.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 12s linear 0s 1 normal both;  
}

.slide-img img,
.slide-img02 img{
   width:100%;
    height: 70vh;
  object-fit: cover;
    display: block;
 
}

.swiper-wrapper{
    width: 70vw;
    height: 70vh;
}


.swiper-wrapper .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
 
    opacity: 0;
    z-index: 0;
    
    width: 70vw;
}

*/

/* ------ Transparent layer ------- */

/*.swiper-slide::before {
    background: rgba(0, 0, 0, 0.1);
    bottom: 0;
    content: "";
  
    left: 0;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 0;
}

.swiper-slide.swiper-slide-active::before {
  opacity: 1;
}

.swiper-slide{
	position: relative;
}
*/
/*
.swiper-container{
    position: relative;
}*/
/*
h2.catch,
h2.catch_2row{
	position: absolute;
	bottom: 10%;
	left: 5%;
	background: #fff;
	padding: 0.5rem 1rem 0rem 2rem;
	width: fit-content;
	font-size: 4.5rem;
	font-weight: 800;
	color: var(--blue);
	border-bottom: 10px solid var(--yellow);
	border-left: 10px solid var(--blue);
	
	padding: 0 0 0 0.5em;
}



h2.pc_catch01{
	font-size: 3rem;
	border: none;
	bottom: 22%;
	font-size: min(2vw, 32px);
	
	bottom: 7em;
	
}

h2.pc_catch02{
	font-size: 3rem;
	border: none;
	bottom: auto;
	left: auto;
	top: 17%;
	right: 5%;
	
	font-size: min(2vw, 32px);
	top: 5.5em;
}

h2.pc_catch03{
	font-size: 3rem;
	border: none;
	bottom: auto;
	top: 52%;
	left: 50%;
	transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
	
	font-size: min(2vw, 32px);

}

h2.pc_catch04_2row{
	font-size: 3rem;
	border: none;
	bottom: 27%;
	
	font-size: min(2vw, 32px);
}

h2.catch_en{
	font-size: 10rem;
	position: absolute;
	font-family: "Barlow", sans-serif;
     font-weight: 700;
     font-style: normal;
	text-transform:uppercase;
	color: #fff;
	text-shadow: 1px 1px 5px #333;
	width: fit-content;
	max-width: 100vw;
	
	font-size: min(7vw, 100px);
	
}
h2.catch_en::first-letter{
	color: var(--yellow);
}

h2.pc_catch_en01{
	bottom: 10%;
	left: 5%;
	
	bottom: 1em;
}

h2.pc_catch_en02{
	top: 5%;
	right: 5%;
	
	top: 0.5em;
}

h2.pc_catch_en03{
	top: 40%;
	left: 50%;
	  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
	white-space: nowrap;
	bottom: 50%;
	
	
}
*/

/* ----------------------------------------------------------
   CONTENTS AREA
---------------------------------------------------------- */


 /*-----------------------------------------  ct title */
/*
h3.top_ct_title,
h3.top_ct_title_fff{
	font-size: 7.2rem;
	 font-family: "Barlow", sans-serif;
     font-weight: 700;
     font-style: normal;
	color: var(--blue);
	text-transform:uppercase;
	margin-bottom: 5.6rem;
	
	text-shadow: 3px 4px 0 var(--yellow);
	font-weight: 800;
}

h3.top_ct_title_fff{
	color: #fff;
	text-stroke: 1px var(--blue);
	-webkit-text-stroke: 1px var(--blue);
	paint-order: stroke fill;
	text-shadow: 4px 3px 0 var(--yellow);
	
	color: var(--yellow);
	text-shadow: 4px 3px 0 var(--blue),5px 4px 0 #333;
	text-stroke: 1px var(--blue);
	-webkit-text-stroke: 1px var(--blue);
}


h3.top_ct_title02,
h3.top_ct_title_fff02{
	font-size: 7.2rem;
	 font-family: "Barlow", sans-serif;
     font-weight: 800;
     font-style: normal;
	color: var(--blue);
	text-transform:uppercase;
	width: fit-content;
}


h3.top_ct_title_fff02{
	color: #fff;
}

h3.top_ct_subtitle{
	font-size: 2rem;
	width: fit-content;
	background-color: var(--yellow);
	color: var(--blue);
	line-height: 1em;
	font-weight: 500;
	text-transform:uppercase;
	margin-bottom: 5.6rem;
}
*/

/* ------ news ------- */
/*
.news_flex{
	align-items: flex-start;
	margin-bottom: 6rem;
}

.top_news_title{
	width: 30%;
}

.news_content{
	width: 65%;
}

ul.article_list li{
	position: relative;
   overflow: hidden;
	padding: 3rem 2rem;
	z-index: 1;
	border-bottom: 1px solid #ccc;
	padding-right: 2rem;
}


.button-decor02 {
  position: absolute;
  inset: 0;
  background-color: var(--blue);
  transform: translateX(-105%);
  transition: transform .3s;
  z-index: 0;
}

ul.article_list li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #333;
	position: relative;
	z-index: 1;

}


p.day{
	width: 20%;
	min-width: 170px;
	padding: 3rem 0 3rem 2rem;
}
p.day > span{
	background-color: var(--yellow);
	color: #fff;
}

p.news_title{
	width: 70%;
	padding-right: 1rem;
}
.arrow{
	text-align: right;
	width: 10px;
    height: 10px;
    border-top: 2px solid var(--blue);
    border-right: 2px solid var(--blue);
    transform: rotate(45deg);
	 transition: all .4s;
	padding-right: 2rem;

}

ul.article_list li:hover{
	cursor: pointer;
}

ul.article_list li:hover .button-decor02 {
  transform: translate(0);
}

ul.article_list li:hover a{
	color: #fff;
	
	color: var(--yellow);
}

ul.article_list li:hover .arrow{
	transform: rotate(45deg) translateX(6px) translateY(-6px);
	    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
		    border-top: 2px solid var(--yellow);
    border-right: 2px solid var(--yellow);
}
*/

/* ------------------------------------- pickup_  */

/*.pickup_area{
	background-color: var(--blue);
	padding: 11.2rem 0;
}

.back_text {
	position: absolute;
	top: -39px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
	z-index: 0;
	
	width: 100vw;
	overflow: hidden;
}
.back_text_item {
  display: flex;
  animation: loop-text 50s linear infinite;
}
.double-content {
  display: inline-block;
  font-size: 6rem;
  white-space: nowrap;
	
		color: var(--blue);
    -webkit-text-stroke: 0.5px #fff;
    text-stroke: 0.5px #fff;
	paint-order: stroke fill;
		font-size: 20rem;
	 font-family: "Barlow", sans-serif;
     font-weight: 900;
     font-style: normal;
	text-transform:uppercase;
	letter-spacing: 0.2em;
	
	line-height: 1;
	
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

.pickup_title{
	padding: 0 8%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 5.4rem;
}


*/


/*

.product_card_area{
	width: 50%;
}

.slick-track {
  display: flex!important;
}

.slick-slide {
  height: auto !important;
}

*/
/*.slick_card,
.slick_card02{
	background-color: #fff;
	padding: 0;
	border-left:solid 4rem var(--deepblue);
	
	
	background: linear-gradient(to right, var(--deepblue) 15%, #FFF 15%);
	height: 100%!important;
	
	margin: 0;
}

.slick_card02{
	background: linear-gradient(to right, var(--green) 15%, #FFF 15%);
}
*/
/*.slick-item{
    height: 70vh;
}*/



/*.slick_card_text{
	width: 50%;
	padding: 6rem 4rem;
	
}



.pickup_title_flex{
	justify-content: flex-start;
	padding-bottom: 5rem;
	flex-wrap: nowrap;
	align-items: stretch;
	align-items: flex-end;
}


.pickup_number{
	color: var(--blue);
	line-height: 1.5em;
	font-size: 2rem;
	letter-spacing: -0.05em;
	padding-right: 2rem;
	
	font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-style: normal;
	
	width: 80px;
	height: 80px;
	background-color: var(--yellow);
	border-radius: 50vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	font-size: 4rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 0.4em;
}


.pickup_number >span{
	font-size: 4rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	
	
	position: absolute;
	top: 15px;
	font-size: 2rem;
	letter-spacing: -0.05em;
	font-weight: 700;
}

.pickup_subtitle{
	padding-left: 2rem;
	border-left: 3px solid var(--yellow);
	font-size: 2.4rem;
	
	display: flex;
	align-items: center;
	font-weight: 600;
}

.pickup_title >span{
	font-size: 1.6rem;
}

p.slick_card_com{
	margin-bottom: 5rem;
}

.top_product_button{
	text-align: right;
	margin-top: 5rem;
}

.top_product_button_sp{
	display: none;
}
*/




/* ------------------------------------- business_  */
/*
.top_business_back{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	 background: linear-gradient(0deg, rgba(6,45,159,0.7) 0%, rgba(255,255,255,0.4) 60%) ,url("../home/business_back.jpg");
	height: 50vh;
	background-size: cover;
	background-position: bottom 20% center;
	
	
	height: 500px;
}

.posi_rela{
	position: relative;
}

p.top_bisiness_com{
	padding: 2rem 0 3rem;
	text-shadow: 1px 1px 1px #fff;
	font-weight: 500;

	
	text-stroke: 1px #fff;
	-webkit-text-stroke: 1px #fff;
	paint-order: stroke fill;
}


.business_list02{
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

ul.business_list_item{
	margin-bottom: 3rem;
}

ul.business_list_item li{
	width: 100%;
	border: 1px solid var(--blue);
	padding: 2rem 5rem;
	background-color: #fff;
}

ul.business_list_item li + li{
	border-top: none;
}

.business_list_img02{
	width: 50%;
	max-width: 400px;
	 width: min(40%, 400px);
}

.business_list_img02 img{
	width: 100%;
	max-width: 500px;
	 width: min(100%, 400px);
}

.business_list_text{
	margin-left: 3rem;
	padding-top: 2rem;
	 flex: 1;
}

p.business_list_name{
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 3rem;
	
}


button.business_list_botton{
	margin-top: 5rem;
}*/

/* ------------------------------------- uni_  */
/*
.top_uni_area{
	background-image: url("../home/uni_back02.jpg");
	background-size: cover;
	position: relative;
}
.uni_top_img{
	width: 100vw;
	object-fit: cover;
	position: absolute;
	top: -5px;
	left: 0;
}

.uni_top_img img{
   width: 100vw;
	object-fit: cover;
}

.uni_bottom_img{
	width: 100vw;
	object-fit: cover;
	position: absolute;
	bottom: -8px;
	left: 0;
}

.uni_bottom_img img{
	   width: 100vw;
	object-fit: cover;
}

.filter{
	width: 100%;
	height: 100%;
	padding: 12rem 0;
	backdrop-filter: blur(6px);
}

h3.vertical_title{
	writing-mode: vertical-rl;
	position: absolute;
	top: 8rem;
	right: 15%;
	font-size: 2.7rem;
	  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
	color: #fff;
	letter-spacing: 0.2em;
	
	z-index: 2;
}

.uni_parallax{
	width: 75%;
	height: 40vh;
	
	height: 50vh;
	
	height: 40vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
	
	min-height: 360px;
	

}

.uni_img{
	width: 100%;
	height: 40vh;
	
	width: 100%;
	object-fit: cover;
	
	
	 position: absolute;
	  left: 0;
	background: url("../home/uni_img.jpg") no-repeat;
	background-size: 100% auto;
	
	min-height: 360px;
}





.uni_text_box{
	background-color: #D3C9BC;
	background-image: url("../home/uni_text_back.png");
	background-size: cover;
	width: 70%;
	padding: 9.6rem 8rem;
	margin: -10rem 0  0 auto;
	position: relative;
	z-index: 1;
	
}

p.com_mincho{
	font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
	letter-spacing: 0.2em;
	line-height: 1.8em;
}

.uni_link {
  text-decoration: none;
  line-height: 1;
	background-color: transparent;
  cursor: pointer;
	border: none;
	margin-top: 8rem;
}



.uni_link a {
	padding-right: 50px;
	position: relative;
	color: #333;
		font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
	letter-spacing: 0.2em;
}

.uni_link a::before {
	content: '';
	position: absolute;
	top: calc(50% - 4px);
	right: 0;
	transform: rotate(30deg);
	width: 12px;
	height: 1px;
	background-color: #333;
	
	bottom: -11px;
	transition: all .4s;
}

.uni_link a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background-color: #333;
	
	bottom: -15px;
	transition: all .4s;
}

.uni_link a:hover::before {
	transform: rotate(30deg) translateX(10px) translateY(-4px);
}

.uni_link a:hover::after {
	transform: translateX(10px);
}
*/

/* ------------------------------------- company & sdgs  */
/*
.company_sdgs_area{
	margin-top: 9.6rem;
}

.company_area,
.sdgs_area{
	width: 50%;
	border: 1px solid #fff;
	padding: 9.6rem 0 9.6rem 4%;
}

.company_area{
	background: linear-gradient(90deg, rgba(6,45,159,0.7) 0%, rgba(255,255,255,0) 70%) ,url("../home/company_back.jpg");
	background-size: cover;
	background-position: center;
}

.sdgs_area{
	border-left: 0;
	background: linear-gradient(90deg, rgba(6,45,159,0.7) 0%, rgba(255,255,255,0) 70%) ,url("../home/sdgs_back.jpg");
	background-size: cover;
	background-position: center;
}


h3.sdgs_title{
	text-transform: none;
}


*/

/* ------------------------------------- recruite_  */
/*
.recruite_arae{
	background-image: url("../home/recruite.webp");
	background-position: right bottom 30%;
	background-repeat: no-repeat;
}

.recruite_img{
	width: 35%;
}

.recruite_img img{
	width: 100%;
}

p.recruite_com{
	font-size: 2.5rem;
	color: #0d337a;
	letter-spacing: 0.1em;
	line-height: 2em;
}

.new_graduate,
.career{
	width: 50%;
}

.recruite_flex{
	margin-top: 5.6rem;
}
*/
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    TABLET

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */



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




/* ----------------------------------------------------------
   MAIN VISUAL AREA - TA
---------------------------------------------------------- */

/*.slide-img img{
	object-fit: cover;
	min-height: 500px;
}

.swiper-wrapper .swiper-slide {
    width: 100vw;
	min-height: 500px;
	height: auto;
}*/
    

/* ----------------------------------------------------------
   MAIN VISUAL AREA
---------------------------------------------------------- */
	

.slider_area{
width: 80vw;
/*    height: 85vh;
    width: 70vw;
    margin: 0 0 0 auto;*/
}



	@media only screen and (max-width: 800px){
.fv_area {
/*    margin: 0% auto;
    padding: 0;
    width: 100%;

	
	container-type: inline-size;
    height: 100vh;
    
    position: relative;*/
}

h2.top_text{
/*    position: absolute;
    top: 30vh;
    left: 5%;
    color: var(--blue);
    font-size: 4rem;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
	line-height: 1em;*/
	top: auto;
	bottom: 10vh;
}


span.top_sub_text{
/*	color: #333;
    font-size: 2.3rem;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
    font-weight: 600;
	line-height: 0.01rem!important;*/
}



.slider_area{
	height: 75vh;
	width: 85vw;
/*    height: 85vh;
    width: 70vw;
    margin: 0 0 0 auto;*/
}


.top_slider_img{
/*	width: 100%;
	height: 85vh;
	object-fit: cover;*/
	height: 75vh;
}

.top_slider_img img{
	height: 75vh;
/*	width: 100%;
	height: 85vh;
	object-fit: cover;*/
}

}
/* ----------------------------------------------------------
   CONTENTS AREA       --TA
---------------------------------------------------------- */


/*
h3.top_ct_title{
	font-size:max(5vw,40px);
}

h3.top_ct_subtitle{
	font-size: max(1.5vw,15px);
}*/
	
@media only screen and (max-width: 900px){
	
/* ------ school life ------- */
ul.life_flex{
/*    grid-row-gap: 2rem;
    margin-bottom: 3rem;*/
}


ul.life_flex li{
	width: 100%;
/*    width: 45%;
    background-color: var(--r_blue);*/

}

.life_item{
   /* align-items: stretch;*/
}

.life_image{
/*    width: 50%;
    overflow: hidden;
    height: inherit;*/
}

.life_image img{
/*    width: 100%;
    object-fit: cover;
    transition: transform .3s ease;
    height: 100%;*/

}

.life_text{
/*    width: 50%;
    padding: 0 1rem;
    display: flex;
    align-items: center;*/
}
}
	
@media only screen and (max-width: 900px){
/* ------ introduction ------- */

.top_introduction_area{
    /*align-items: stretch;*/
}

.introduction_text_area{
	width: 100%;
	order: 2;
/*    width: 50%;
    padding: 6.5rem 7vw;*/
}

.introduction_image_area{
	width: 100%;
	order: 1;
	aspect-ratio: 16 / 9; 
/*    height: inherit;
    width: 50%;*/
}

.introduction_image_area img{
	aspect-ratio: 16 / 9; 
/*    width: 100%;
    object-fit: cover;
    height: 100%;*/
}

ul.introduction_item{
/*    margin-bottom: 3rem;*/
}

ul.introduction_item li{
/*    border-bottom: solid 1px #ddd;
    padding: 0 0 1rem;*/
}

ul.introduction_item li + li{
  /*  padding-top: 1rem;*/
}

ul.introduction_item li a{
/*    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;*/
}

p.introduction_name{
/*    color: #333;*/
    
}
}
	

   
/*	
h2.catch,
h2.catch_2row{
	font-size: 2.5vw;
}





h2.catch_en{
	font-size: 8vw;
}


*/




 /*-----------------------------------------  ct title */
/*
h3.top_ct_title,
h3.top_ct_title_fff{
	font-size:clamp(5rem, 8.5vw, 7.2rem);
}


	
h3.top_ct_title02,
h3.top_ct_title_fff02{
	font-size:clamp(5rem, 8.5vw, 7.2rem);
}




h3.top_ct_subtitle{
	
	font-size:clamp(1.5rem, 2vw, 2rem);
}

*/
/* ----------------------------------------------------------
   CONTENTS AREA - TA
---------------------------------------------------------- */
/* ------ news ------- */

/*.news_flex{
	flex-wrap: wrap;
}

.top_news_title{

	
	width: 100%;
}

.news_content{
	width: 100%;
}

*/
	
/* ------------------------------------- pickup_  */
/*
.top_pickup_img{
	height: 50vw;
}

.top_pickup_img img{
	height: 50vw;
}


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

.top_pickup_img{
	width: 100%;
	height: 40vh;
	max-height: 400px;
	min-height: 300px;
}

.top_pickup_img img{
	height: 40vh;
	max-height: 400px;
	min-height: 300px;
}
	

.slick_card_text{	
	width: 100%;
	padding: 4rem;
}



.pickup_title_flex{
	padding-bottom: 3rem;
}




p.slick_card_com{
	margin-bottom: 3rem;
}

		
		
}*/
	

	


	
/* ------------------------------------- business_  */





/*
	
	
.business_list02{
	align-items: center;
}


	
	@media only screen and (max-width: 750px)	{
		
.business_list02{
	flex-wrap: wrap;
	
}



ul.business_list_item li{
	padding: 2rem;
}



.business_list_img02{
	aspect-ratio: 5 / 3;
	width: min(100%, 400px);
	margin: 0 auto;
}

.business_list_img02 img{
	width: min(100%, 400px);
	aspect-ratio: 5 / 3;
	object-fit: cover;
}

.business_list_text{
	width: 100%;
	margin: 0;
}

p.business_list_name{
	margin-bottom: 1.5rem;
	font-size: 2rem;
	
}	
		
	button.business_list_botton{
	margin-top: 2rem;
}

		
		
		
		
		
	}
	
*/
	
	
/*	@media only screen and (max-width: 800px) {
 ------------------------------------- uni_  





.filter{
	padding: 10rem 0;
}

h3.vertical_title{
	font-size:clamp(2.3rem, 3.5vw, 2.5rem);
}



.uni_img{
	min-height: 200px;
}





.uni_text_box{	
	width: 85%;
	padding: 9rem 6rem;
	
}


.uni_link {
	margin-top: 5rem;
}






	}
	
	*/
	
/* ------------------------------------- company & sdgs  */
/*
.company_sdgs_area{
	margin-top: 8rem;
}

.company_area,
.sdgs_area{
	padding: 8rem 0 8rem 3%;
}



	
 @media only screen and (max-width: 899px) {
	 
	
	*/
/* ------------------------------------- company & sdgs  */

/*

.company_area,
.sdgs_area{
	width: 100%;
	padding: 8rem 5%;
}



.sdgs_area{
	border-left: 1px solid #fff;
	border-top: 0;
}


	 
	}*/
	
	
/* ------------------------------------- recruite_  */

/*.recruite_arae{
	background-position: 100% 60%;
	background-size: auto 130%;
}

.recruite_img{
	width: 40%;
}



p.recruite_com{	
	font-size:clamp(1.5rem, 2.5vw, 2.2rem);
	text-shadow: 1px 1px 3px #fff;
}


	
	@media only screen and (max-width: 800px) {	
		
.recruite_arae{
	 background-size: 200% auto;
	background-position: right bottom 90%;
	
}

.recruite_img{
	width: 40%;
}


p.recruite_com{
	
	font-size:clamp(1.5rem, 2.5vw, 2.2rem);
	text-shadow: 1px 1px 3px #fff;
}



		
		
		.re_title_pad{
			padding-bottom: 20rem;
		}
		
	}*/
	
 
}
/*** TA END ***/









/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    SMART PHONE

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */



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



/* ----------------------------------------------------------
   MAIN VISUAL AREA -SP
---------------------------------------------------------- */
	
.fv_area {
/*    margin: 0% auto;
    padding: 0;
    width: 100%;

	
	container-type: inline-size;
    height: 100vh;
    
    position: relative;*/
	
	height: 80vh;
}

h2.top_text{
/*    position: absolute;
    top: 30vh;
    left: 5%;
    color: var(--blue);
    font-size: 4rem;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
	line-height: 1em;*/
/*	top: auto;
	bottom: 10vh;*/
	font-size:clamp(3.3rem, 10vw, 4rem);
}


span.top_sub_text{
/*	color: #333;
    font-size: 2.3rem;
    text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.7);
    font-weight: 600;
	line-height: 0.01rem!important;*/
}



.slider_area{
/*	height: 75vh;
	width: 85vw;*/
/*    height: 85vh;
    width: 70vw;
    margin: 0 0 0 auto;*/
	
	height: 60vh;
	width: 90vw;
}


.top_slider_img{
/*	width: 100%;
	height: 85vh;
	object-fit: cover;*/
	/*height: 75vh;*/
	height: 60vh;
}

.top_slider_img img{
	/*height: 75vh;*/
/*	width: 100%;
	height: 85vh;
	object-fit: cover;*/
	height: 60vh;
}
	
	.top_slider_img img.slider_img01{
		object-position: right;
	}


/* ----------------------------------------------------------
  note -SP
---------------------------------------------------------- */
  
    
    
/*Kikyo diary*/
    
.wrapper_diary {
    padding: 30% 5%;
 }
    
h4.diary_title{
    font-size: 22px;
    padding-bottom: 10px;
}

h4.diary_title::before{
    width: 30px;
    height: 30px;
    top: -40px;
}

h5.diary_title{
    margin: 7px auto 30px auto;
    font-size: 16px;
}
    
.diary_box{
    width: 100%;
    height: auto;
    padding: 8% 4%;
    flex-wrap: wrap;
}

.diary_box .diary_image{
    width: 83%;
    height: auto;
    margin: 0% auto 10% auto;
    order: 1;
}

.diary_box .diary_image .kikyo_deco{
    bottom: -20px;
    right: -25px;
}

.diary_box .diary_image .kikyo_deco img{
    width: 60px;
    height: auto;
}

#message .mu {
width: 48%;
}

    
        
    
    
ul.note_flex{
/*    column-gap: 0;
    margin-bottom: 3vw;*/
    margin-bottom: 3rem;
}

ul.note_flex li{
  /* width: 23%; */
    width: 48%;
}



p.day{
    /*font-size: 0.8rem;*/
}

p.note_title{
    /*font-weight: 600;*/
}

/*
	

.swiper-container{
	margin-top: 70px!important;
}
    
	
.slide-img img{
	object-fit: cover;
	min-height: 500px;
	
}
	
.slide-img img,
.slide-img02 img{
		height: auto;
		object-fit: cover;
	max-height: calc(100vh - 150px);
	}
	
	.slide-img02 img.op_bottom{
		object-position: bottom;
	}
	


.swiper-wrapper .swiper-slide {
    width: 100vw;
	min-height: 500px;

	height: auto;

}

    
*/

/*

h2.pc_catch01{
	bottom: auto;
	top: 22%;
	left: 5%;
	font-size: 2rem;
	padding: 0 0 0 0.5rem;
}

h2.pc_catch02{
	top: auto;
	bottom: 23%;
	font-size: 2rem;
	padding: 0 0 0 0.5rem;
}

h2.pc_catch03{
	font-size: 2rem;
	padding: 0 0 0 0.5rem;
	top: 64%;
	white-space: nowrap;

}
	
	h2.pc_catch04{
	border: none;
	bottom: auto;
	top: 28%;
	left: 5%;
	font-size: 2rem;
	padding: 0 0 0 0.5rem;
	}



h2.catch_en{
	line-height: 0.9em;
	font-size: min(13vw, 60px);
}
	



h2.pc_catch_en01{
	bottom: auto;
	top: 5%;
}

h2.pc_catch_en02{
	top: auto;
	bottom: 5%;
	text-align: right;

}

h2.pc_catch_en03{
	white-space: pre-wrap;
	top: 25%;
	
}


   */

 /*-----------------------------------------  ct title */

/*h3.top_ct_title,
h3.top_ct_title_fff{
	margin-bottom: 3rem;
}

	



h3.top_ct_subtitle{
	margin-bottom: 3rem;
}*/
/* ----------------------------------------------------------
   CONTENTS AREA - SP
---------------------------------------------------------- */
	
/* ------ news ------- */
/*
.news_flex{
	margin-bottom: 4rem;
}



ul.article_list li{
	padding-right: 1rem;
	
}

	



ul.article_list li a{
	flex-wrap: wrap;

}


p.day{
	width: 100%;
	padding: 1rem 0 0 1rem;
}



p.news_title{
	width: 90%;
	padding: 1rem ;
}



	
	
	*/
/* ------------------------------------- pickup_  */
/*
.pickup_area{
	padding: 6.4rem 0 8rem;
}

.back_text {
	top: -29px;
}

.double-content {
	letter-spacing: 0.1em;
	font-size: 15rem;
	
}	
	
.pickup_title{
	flex-wrap: wrap;
	margin-bottom: 2rem;
	padding: 0 5%;
}




.slider_option{
	width: 100%;
	justify-content: flex-end;
	margin-top: 2rem;
}

	
.pickup_subtitle{
	font-size: 2rem;
}
	
.slick_card_text{
	padding: 2rem;
}
	
	.slick_card, .slick_card02{
		margin: 0 0.5rem;
	}
*/
/* ------------------------------------- asset_  */	
	

/*	
	.button_pd{
		padding: 0 5%;
	}	
	*/

		


/* ------------------------------------- business_  */



/*



.business_list_area{
	margin: 0;
}

	
	.business_button_content{
		padding: 1.5rem 3rem 1.5rem 1rem;
	}
	
*/
/* ------------------------------------- uni_  */



/*


.filter{	
	padding: 5rem 0;
}

h3.vertical_title{
	font-size: 1.8rem;
	top: 2rem;
}

.uni_parallax{
	min-height: 200px;
	height: 40vh;
}

.uni_img{
	min-height: 200px;
	height: 30vh;
}





.uni_text_box{
	width: 90%;
	padding: 7rem 3rem;
	
}

p.com_mincho{
	font-size: 1.4rem;
}

.uni_link {
	margin-top: 3rem;
}



.uni_link a {
	font-size: 1.4rem;
}




*/

    
	
/* ------------------------------------- recruite_  */
/*
.recruite_arae{
	padding: 4rem 0 0;
	background-position: right bottom -30vw;
}
	
	.re_title_pad{
		padding: 0 5% 20vw;
	}

.recruite_img{
	min-width: 250px;
}

.recruite_img img{
	min-width: 250px;
}

p.recruite_com{
	font-size:clamp(1.5rem, 2.5vw, 2.2rem);
	text-shadow: 1px 1px 3px #fff;
}*/
	





}
/*** SP END ***/



/****** ALL END ******/
