@charset "utf-8";

/* common
=========================================================*/
a.link{text-decoration: underline}
:root{
	--base: #323232;
	--blue: #2EA7E0;
	--blue-dark: #043c78;
	--green: #6cd0d0;
	--blue-sky: #05c3dd;
	--gray: #f9f9f9;
}
.bk_color--01{ background-color: var(--blue);}
.bk_color--02{ background-color: var(--blue-dark);}
.bk_color--03{ background-color: var(--green);}
.bk_color--04{ background-color: var(--blue-sky);}

.font26{font-size: 26px;}
.font28-21{font-size: 28px;}
.font18-14{font-size: 18px;}
.font18{font-size: 18px;}
.font16{font-size: 16px !important}
.font16-11{font-size: 16px !important}

@media screen and (max-width: 960px) {/*フォント調整*/
.font28-21{font-size: 21px;}
.font18-14{font-size: 14px;}
.font16-11{font-size: 11px !important}
}/* //media */

.color--01{color: var(--blue)}
.img100{ width: 100%; }
.po_r{ position: relative}

.ttl--01{font-size: 24px;}
.ttl--02{font-size: 48px; line-height: 1.3;}
.txt--01{font-size: 18px;}
.t_center{text-align: center !important;}
.center{
	margin-inline: auto;
  	display: table;
}
img.inline{
	display: inline-block;
}
.l_height--01{line-height: 1.5}
.l_height--02{line-height: 1.7}

.content_wrap{
	width: min(1080px, 90%) !important;
	margin-inline: auto;
}
.bk_gray{ background-color: var(--gray)}
.bk_blue{ background-color: var(--blue)}

.sec--01{
	margin: 80px 0;
}
.movie {
	width: min(700px, 100%);
	margin-inline: auto;
}
.heading p {
  font-size: 24px;
  margin-top: 1.5em;
  font-weight: normal;
  text-align: center;
}
/* タイトルまわり */
.common_ttl{
	line-height: 1.2
}
.common_ttl .ttl{
	font-size: 32px;
	color: var(--blue);
	text-align: center !important;
}
.common_ttl p{
	font-size: 18px;
	line-height: 1.8 !important;
}
.common_ttl .ttl--02{
	font-size: 36px;
	text-align: center !important;
}
/* 表　table */
.table_line{
	margin-block: 30px;
	border-bottom: 1px solid var(--blue);
	text-align: left;
}
.table_line dl{
	display: flex;
}
.table_line dl dt{
	width: 30%;
	border-top: 1px solid var(--blue);
	padding-block: 18px;	
	line-height: 1.5;
}
.table_line dl dd{
	width: 70%;
	border-top: 0.5px solid var(--base);
	padding-block: 18px;
	line-height: 1.5;
}
/* マージン */
.mt1em{ margin-top: 1em !important}
.mt10px{ margin-top: 10px !important;}
.mt30px{ margin-top: 30px !important;}
.mt50px{ margin-top: 50px !important;}
.mt90px{ margin-top: 90px !important;}

.mb10px{ margin-bottom: 10px !important;}
.mb20px{ margin-bottom: 20px !important;}
.mb30px{ margin-bottom: 30px !important;}
.mb50px{ margin-bottom: 50px !important;}

.pt90px{ padding-top: 90px !important;}
.mt-80px{ margin-top: -80px !important;}/*セクションの上部のマージンを0に*/
.pt140{  padding: 140px 0;}/*セクションの上下のマージンを140に*/

.pd0px{padding: 0px !important}
.pd5{padding-inline: 5%}

@media screen and (max-width: 960px) {/*マージン調整*/
.mt90px{ margin-top: 60px !important;}
}/* //media */

#top_header {
  	width: 100%;
	height: 80px;
  	position: absolute;
  	top: 0;
  	left: 0;
  	padding: 14px 0;
  	background: #fff !important;
  	z-index: 100;
}
/* ボタン */
.btn--a {
	width: min(540px, 80%);
	margin-inline: auto;
  	text-align: center;
}
.btn--b a{
	background-color: var(--blue);
	padding: 10px 50px;
	border-radius: 19px;
	color: #fff;
	font-size: 14px;
}
.btn--c{
	color: #fff;
	padding: 10px 0;
	font-size: 18px;
	border-radius: 20px;
}
.btn_contact a{
	display: flex;
  	align-items: center;
	flex-flow: column;
 	justify-content: center;
 	border-radius: 10px;
  	border: 2px solid var(--blue);
  	height: 150px;
  	background-color: #f2f2f2;
	line-height: 1.3;
	font-size: 28px;
}
.btn_contact a span{
	font-size: 12px;
}
.btn--d a{
	display: flex;
  	align-items: center;
	flex-flow: column;
 	justify-content: center;
 	border-radius: 10px;
  	height: 150px;
  	background-color: var(--blue);
	font-size: 28px;
	color: #fff;
}
.btn--e{
	display: flex;
  	align-items: center;
	flex-flow: column;
 	justify-content: center;
 	border-radius: 20px;
	font-size: 24px;
	color: #fff;	
}
#page_header{
	width: 100%;
  	height: 260px;
  	position: relative;
  	background-repeat: no-repeat;
  	background-position: center;
  	background-size: cover;
	margin-top: 50px;
	color: var(--base)
}
.page_header--02{
  	height: 180px !important;
}
#page_header .textarea{
	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);	
	line-height: 1;
}
#page_header .textarea h2{
	line-height: 1.5;
}
#contact #page_header, #contact-business #page_header{/* contact MV */
	background-image: url("../img/contact/sv.jpg");
  	height: 400px;
	color: #fff;
}
#group-info #page_header{/* group-info MV */
	background-image: url("../img/group-info/sv.jpg");
  	height: 400px;
	color: #fff;
}
#about-us #page_header{/* about-us MV */
	background-image: url("../img/about-us/sv.jpg");
  	height: 400px;
	color: #fff;
}
#csr #page_header{/* csr MV */
	background-image: url("../img/csr/sv.jpg");
  	height: 400px;
	color: #fff;
}
#recruit #page_header, #recruit_single #page_header{/* recruit MV */
	background-image: url("../img/recruit/sv.jpg");
  	height: 400px;
	color: #fff;
}

#business #page_header, #recruit_single #page_header{/* business MV */
	background-image: url("../img/business/sv.jpg");
  	height: 400px;
	color: #fff;
}
/* common ナビゲーション
=========================================================*/
/* header */
#top_header h1 img{
	width: 178px
}

#top_header .header_nav{
	display: flex;
	margin-left: auto;
    gap: 30px;
	font-size: 14px;
}
#top_header .header_nav li:last-child{
	margin-right: 50px;
}
#top_header .header_nav li:last-child a{
	background-color: var(--base);
	color: #fff;
	padding: 8px 35px;
  	border-radius: 20px;
  	font-size: 12px;
}

/* ページトップ　フッター前でストップ
=========================================================*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	width: 40px;
	height: 40px;
	transition:all 0.3s;
}

#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/* top
=========================================================*/

/* ふわふわアニメーション */
.updown {
animation-name:updown1;   /* アニメーション名の指定 */
animation-delay:0s;   /* アニメーションの開始時間指定 */
animation-duration: 3s;   /* アニメーション動作時間の指定 */
animation-timing-function: ease-in-out;  /* アニメーションの動き指定（徐々に早く）*/
animation-iteration-count: infinite; 
}
@keyframes updown1 {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-20px);
}
100% {
transform: translateY(0);
}
}
/* //ふわふわアニメーション */

#top #top_header{
	background: none !important;
}
#top #top_header.scrolled {
  background: #fff !important;
}

#top #top_header.active {
  position: fixed;
  padding: 20px 0;
  box-shadow: 0 0 5px #aaa;
  top: 0;
	background: #fff !important;
}
#top #main_visual {
  position: relative;
  width: 100%;
  height: 100vh;
  background: url(../img/top/miraizu_illust_bg.png);
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
  background-position: center center;
  background-size: 28px 16px;
}
#top #main_visual img.ilust {
  width: 50vw;
  height: auto;
  position: absolute;
  _top: 60px;
  right: 8vw;
  margin: auto;
	    top: 50%;transform: translateY(-50%); 

}
#top #main_visual .main_textarea img{
	width: 350px;
  	position: absolute;
  	left: 15vh;
  	bottom: 15vh;
}
#top #main_visual .main_textarea .ttl{
	color: var(--blue);
	font-size: 48px;
	line-height: 1.2;
	margin-bottom: 15px;
}
#top #main_visual .main_textarea p{
	font-size: 21px;
	line-height:1.5;
	padding-left: 2px
}
#top #main_visual .top_hukidashi{/* ふきだし　ふわふわ */
	height: 100px;
}
#top #main_visual article.miraizu_group--01{
	position: absolute;
    top: 80vh;
    right: 6vw;
}
#top #main_visual article.miraizu_group--02{
	position: absolute;
  	top: 30vh;
	right: 56vw;
}
#top #main_visual article.miraizu_group--03{
	position: absolute;
    top: 80vh;
	right: 48vw;
}
#top #main_visual article.miraizu_group--04{
	position: absolute;
	top: 10vh;
	right: 4vw;
}

.sns--01{/* sns */
	display: grid
}
/* 4つの事業 */
#top .miraizu_group_ttl {
  	display: flex;
  	font-size: 36px;
  	color: var(--blue);
  	justify-content: center;
  	align-items: baseline;
}
#top .miraizu_group_wrap div + div{
	margin-top: 10px;
}
#top .miraizu_group_ttl figure {
  	width: 230px;
  	height: auto;
  	margin-right: 5px;
}
#top .miraizu_group_ttl p{
	font-size: 36px;
}
#top .miraizu_group_card{/* miraizu_group_card */
	display: flex;
	align-items: center;
	border-radius: 20px;
	color: #fff;
}
#top .miraizu_group_card .textarea{
	padding: 0 50px 0 80px;
}
#top .miraizu_group_card .textarea,#top .miraizu_group_card .miraizu_group_img{
	width: 50%;
}
#top .miraizu_group_card .miraizu_group_img img{
	border-radius: 0 20px 20px 0;
}
#top .miraizu_group_card .txt--01{
	font-size: 12px
}
#top .miraizu_group_card .txt--02{
	font-size: 14px;
	line-height: 1.5
}
#top .miraizu_group_card .ttl{
	font-size: 24px
}
#top .miraizu_group_card .icon_group{
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 30px;
	flex-wrap: wrap;
}
#top .miraizu_group_card .icon_group li{
	display: flex;
  	align-items: center;
	justify-content: center;
	width: 80px;
  	background-color: #fff;
  	border-radius: 10px;
  	height: 75px;
  	padding: 10px;
}
#top .miraizu_group_card .icon_group img{
	height: 50px;
	object-fit: contain;
}
#top .miraizu_group_card .miraizu_group_arrow{
	position: absolute;
	right: 55%;
	bottom: 30px;
	width: 40px;
}
.group--01 {
  	border: 1px solid var(--blue);
  	background-color: #fff;
  	padding: 10px 5% 30px;
  	border-radius: 10px;
}

/* staff swiper*/
#top .staff_interview{
	position: absolute;
  	top: 14vh;
  	right: 16vw;
  	width: 160px;
}
#top .swiper-container {
  	position: relative;
  	width: 100%;
  	overflow: hidden;
}
#top .staff_card{
	display: flex;
	gap: 10px !important;
}
#top .staff_card li img{
	width: 100%;
  	height: auto;
  	object-fit: cover;
}
#top .staff_textarea{
	line-height: 1.2;
	margin-top: 10px;
}
#top .staff_textarea .ttl{
	font-size: 24px;
}

/* NEWS トップページ　事業グループ */
.top_news{
	color: #fff;
}
.news_group{
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	margin-bottom: 20px;
}
.top_news_list{
	line-height: 1.8;
	font-size: 14px;
}
.top_news_list li{
	display: flex;
	border-bottom: 1px solid #fff;
  	padding-block: 10px;
}
.top_category a{
  	display: block;
	width: autox;
	margin-right: 30px;
	padding-inline: 10px;
  	color: var(--blue);
  	background-color: #fff;
  	text-align: center;
  	border-radius: 10px;
}
.news_date_cate {
  display: flex;
  align-items: center;
  gap: 10px;
}
.top_post_title{
	margin-left: 30px;
	font-size: 16px;
}

/* contact
=========================================================*/
.contact_txt{
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 60px;
}

/* post　投稿
=========================================================*/
.gutenberg h2 {
  margin-bottom: 40px;
	font-size: 26px;
	line-height: 1.5
}
.box_contents_b {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.box_contents_b .contents_main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 40px;
}
.gutenberg {
  font-size: 18px;
}
.basic_space5_margin_bottom {
  margin-bottom: 30px;
}

#date a, .blog_cate_date_cate a {
  background-color: #666;
  color: #fff;
  font-size: 12px;
  padding: 5px 30px;
}
.basic_space5_margin_bottom {
  margin-bottom: 30px;
}
.blog_cate_date {
  font-size: 14px;
}
.text_align_right {
  text-align: right !important;
}
.box_contents_b .contents_side {/* sidebar */
  width: 200px;
}
.sidemenu .side-box {
	padding-block: 0px;
  	margin-bottom: 80px;
}
.sidemenu .side-box ul.children{
  margin-left: 1em
}
.box_contents_b .contents_side h2 {
  	font-size: 16px;
}
li {
  list-style: none;
}
.b_line_ttl {
  	margin-bottom: 20px;
	padding-bottom: 5px;
  	border-bottom: solid 1px #b4b4b4;
}
.contents_2cul_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.contents_wrap {
  max-width: 1080px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.contents_2cul_flex.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.post_list_flex{
	display: flex;
}
.post_list_flex .thumb_box, .post_list_flex .thumb_box figure {
  width: 150px;
  margin-right: 20px;
}
.post_list_flex .thumb_box img {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.archives_list h2 {
  line-height: 1.5em;
  margin-bottom: 20px;
  text-align: justify;
  letter-spacing: 0.025em;
	  font-size: 26px;
}
/* 20250419 */
.box_link{
	position: relative;
}
.box_text_link::after {
  margin-left: 10px;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  -webkit-transition:
0.3s ease-out;
  transition:
0.3s ease-out;
}
.box_link a.box_text_link{
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left: 0;
    text-indent: 100%; /*テキスト非表示*/
    white-space: nowrap; /*テキスト非表示*/
    overflow: hidden; /*テキスト非表示*/
  }
.box_link a.box_text_link:hover{
        opacity:0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha( opacity=60 )";
        background: #fff;
  }

#pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	margin-block: 30px;
}
#pagenavi .prev a::before {
  display: inline-block;
  content: "";
  background-image: url(../img/common/icon_arrow_l.svg);
  width: 7px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
}
#pagenavi .next a::after {
  display: inline-block;
  content: "";
  background-image: url(../img/common/icon_arrow_r.svg);
  width: 7px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 20px;
}

/* group-info
=========================================================*/
#group-info .icon_list{
	display: flex;
  	justify-content: flex-start;
  	flex-wrap: wrap;
	gap: 27px;
	margin-block: 20px 50px;
}
#group-info .icon_list li{
  	width: calc(100% / 3 - 20px);
}
#group-info .icon_list figure{
  border-radius: 10px;
  height: 180px;
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: center;
}
#group-info .icon_list li img {
  	height: 120px;
  	object-fit: contain;
	padding-inline: 5%;
}
#group-info .icon_list p{
	font-size: 18px;
	margin-top: 10px;
}
#group-info .icon_list figure{
  border-radius: 10px;
  height: 180px;
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: center;
}
#group-info .icon_list.trans figure{
	border: 1px solid var(--blue);
}
#group-info .icon_list.welfare figure{
	border: 1px solid var(--green);
}
#group-info .icon_list.rest-life figure{
	border: 1px solid var(--blue-sky);
}

/* about-us
=========================================================*/
#about-us .about_message figure{
	width: min(550px, 100%);
	margin: 30px auto 60px;
}
#about-us .about_message img{
	border-radius: 10px;
}
#about-us .about_message .ttl{
	font-size: 28px
}
#about-us .about_message p{
	font-size: 16px
}
#about-us .t_center_left_about{
	
}

/* csr
=========================================================*/
#csr .csr_card{
	display: flex;
	justify-content: space-between;
}
#csr .csr_card .ttl{
	font-size: 21px !important;
	margin-bottom:25px;
	line-height: 1.5;
}
#csr .csr_card figure{
	width: 50%;
}
#csr .csr_card img{
	border-radius: 10px;
}
#csr .sdgs{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin-block: 30px;
	gap: 60px 0;
}

#csr .sdgs article.sdgs_card{
	width: calc(100% / 3 - 30px)
}
#csr .sdgs article.sdgs_card img{
	border-radius: 10px;
	margin-bottom: 10px;
}
#csr .sdgs article.sdgs_card .textarea .ttl{
	margin-top: 30px;
}

#csr .sdgs article.sdgs_card p{
	font-size: 12px;
	line-height: 1.5;
	margin-top: 10px;
}

/* business
=========================================================*/
#business .csr_card{
	display: flex;
	justify-content: space-between;
}
#business .business_card .textarea .ttl{
	font-size: 21px !important;
	margin-top: 10px;
}
#business .business_card .textarea span{
	font-size: 14px;
}
#business .csr_card figure.icon{
	display: table;
	margin-bottom: 20px;
}
#business .csr_card figure.icon img{
	width: 70%;
    max-height: 170px;
    border-radius: 0;
}
#business .csr_card figure.icon--02 img{
	width: 45%;
}
#business .csr_card figure.icon--03 img{
	width: 90%;
}
#business .csr_card figure{
	_width: 50%;
}
#business .csr_card img{
	border-radius: 10px;
}
#business .bus_ph{
	width: 50% !important
}
@media screen and (max-width: 960px) {
/* sp business
=========================================================*/
#business .csr_card {
  flex-flow: wrap-reverse;
}
#business .bus_ph{
	width: 100% !important;
	margin-bottom: 10px;
}
}

/* swiper
=========================================================*/
/* スライダー　左右透過 */
.swiper-wrapper{
	gap: 1px !important
}
.swiper-button-next, .swiper-button-prev {
	color: #000 !important;
	font-size: 18px;
	}
.swiper-container-02,.swiper-container-03{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.swiper-container-02 .swiper-pagination,.swiper-container-03 .swiper-pagination{display: none;}/* リセット */
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {background-image: none !important;}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {background-image: none !important;}
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {content: '' }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 30px !important;}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
  top: 50%;
  left: 10% !important;
  right: auto;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
  top: 50%;
  right: 10% !important;
  left: auto;
}
.swiper-button-prev::before,.swiper-button-next::before {
		font-size:32px;
		color:#fff;
		font-weight:900;
	}
.swiper-slide{opacity: 0.5}
.swiper-slide-next,.swiper-slide-prev,.swiper-slide-active{ opacity: 1; }

/* スクロールでふわっと
=========================================================*/
.fade_in {
    opacity: 0;
    transform: translateY(10px); /* 初期位置を下に */
    transition: opacity 2s, transform 2s; /* スムーズに変化 */
  }
  
  /* スクロールで要素が見えたらふわっと出る */
  .fade_in.visible {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻る */
  }

  @media screen and (max-width: 800px) {
    .pc_only{display:none}
    .sp_only{display:block}
    .mv .reserve_wrap a{
        width: 120px;
        height: 120px;
    }
    .mv .reserve_wrap p:first-child{
        font-size: 15px;
        margin-bottom:10px;
    }
    .tronc{
        font-size: 15px;
    }
  }

/* 事業　カスタム投稿　post_business
=========================================================*/
.history_off,.logo_off,.company-profile_off,.insta_off,.facebook-link_off,.instagram-link_off{
	display: none;
}
#post_business #page_header.post_business_header_trans{
	background-image: url("../img/post_business/sv_trans.jpg");
  	height: 400px;
	color: #fff;
}
#post_business #page_header.post_business_header_digital-trans{
	background-image: url("../img/post_business/sv-digital-trans.jpg");
  	height: 400px;
	color: #fff;
}
#post_business #page_header.post_business_header_welfare{
	background-image: url("../img/post_business/sv_welfare.jpg");
  	height: 400px;
	color: #fff;
}
#post_business #page_header.post_business_header_life{
	background-image: url("../img/post_business/sv_life.jpg");
  	height: 400px;
	color: #fff;
}
#post_business .copy{
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	padding-bottom: 50px;
}
#post_business .post_business_tab{
	display: flex;
	justify-content: center;
	gap: 10px;
}
#post_business .post_business_tab li a{
	border: 1px solid var(--blue);
  border-bottom: none;
  background-color: #eaf6fc;
  width: 230px;
  display: block;
  text-align: center;
  border-radius: 10px 10px 0 0;
  font-size: 14px;
  padding: 5px 0;
}
#post_business .post_business_tab li a:hover{
	background-color: rgba(46, 167, 224);
	color: #fff;
	opacity: 1;
}
#post_business .post_business_tab li.active a{
	background-color: rgba(46, 167, 224);
	color: #fff;
	opacity: 1;
}
#post_business .post_business_logo{
	margin-top: 10px;
	}
#post_business .business_point ul{
	display: flex;
	justify-content: space-between;
	text-align: left;
	line-height: 1.5;
}
#post_business .business_point{
	margin-bottom: 30px;
}
#post_business .business_point .bus_txt--01{
	display: inline-block;
	background-color: var(--blue);
	color: #fff;
	border-radius: 20px;
  	padding: 1px 20px;
}
#post_business .business_point .bus_ttl{
	font-size: 21px;
}
#post_business .business_point .bus_txt--02{
	line-height: 1.5
}
#post_business .business_point li{
	width: calc(100% / 2 - 30px)
}
#post_business img{
	border-radius: 10px;
}
#post_business .post_business_movie iframe{
	width: 100%	
}
#post_business .post_business_youtube{
  	position: relative;
	width: min(700px, 90%);
  	aspect-ratio: 16 / 9; /* 比率維持（modern way） */
	margin-block: 0px;
}
#post_business .post_business_youtube iframe {
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
}
#post_business .information_list{
	display: flex;
	align-items: center;
	gap: 60px;
	font-size: 24px
}
#post_business .information_list li{
	width: calc(100% / 2 - 10px)
}
#post_business .information_list .information_map iframe{
	width: 100%;
	height: 300px;
}
#post_business .information_txtarea{
	text-align: left;
}
#post_business .information_list .information_map iframe{
	width: 100%
}
#post_business .information_list .information_txt{
	font-size: 24px;
	line-height: 1;
}
#post_business .information_list .information_txt span{
	font-size: 14px;
	line-height: 1.2;
	margin-block: 10px 20px;
	display: inline-block;
}
#post_business .information_list .information_btn{
	margin-bottom: 5px;
}
#post_business .information_list .information_btn a{
	width: 200px;
  	text-align: center;
  	display: block;
  	padding: 5px 0;
}
#post_business .insta_logo{
	width: 300px;
}


@media screen and (max-width: 960px) {
/* sp common
=========================================================*/
.content_wrap--sp{
	width: 85% !important;
}
.img100{ width: 100% }
.ttl--01{font-size: 18px;}
.ttl--02 {
  font-size: 26px;
  line-height: 1.3;
}
.common_ttl .ttl--02 {
  font-size: 24px;
  text-align: center !important;
}
.btn_contact a, .btn--d a{
  height: 120px;
	font-size: 24px;
}
.font26 {
  font-size: 18px;
}
.btn--e{
	font-size: 18px;
}
.common_ttl .ttl {
  font-size: 26px;
  color: var(--blue);
  text-align: center !important;
}
#page_header {
  margin-top: 0px;
}
	
/* sp top
=========================================================*/
#top_header{
	height: auto;
}
#top #main_visual img.ilust {
  width: 100%;
  height: auto;
  top:10%;
	bottom: auto;
  right: 0vw;
transform: translateY(0%); 

}
#top #main_visual .top_hukidashi {
  	width: 100px;
	height: auto;
}
#top #main_visual .main_textarea {
  bottom: -20px;
  left: 2vw;
  width: 100%;
}
#top #main_visual .main_textarea .ttl {
  font-size: 32px;
}
#top #main_visual .main_textarea p {
  font-size: 18px;
}
#top #main_visual article.miraizu_group--01 {
  	right: 4vw;
	width: auto;
    height: 200px;
    top: 53vh;
}
#top #main_visual article.miraizu_group--02 {
  top: 17vh;
  right: auto;
  left: 1vw;
	width: auto;
	height: 200px;
}
#top #main_visual article.miraizu_group--03 {
    right: auto;
    left: 5vw;
    top: 55vh;
}
#top #main_visual .main_textarea img {
  width: 55%;
  position: absolute;
	left: auto;
  right: 5vh;
  top: 65vh;
}
#top .miraizu_group_card .textarea {/* 4つの事業 */
  padding: 30px 0px 20px 10px;
}
#top .miraizu_group_ttl p {
	font-size: 26px;
}
#top .miraizu_group_ttl {
	justify-content: center;
	align-items: center;
  	flex-flow: column;
}
#top .miraizu_group_card {
  color: #fff;
  flex-flow: column;
	padding: 40px;
}	
#top .miraizu_group_card .textarea, #top .miraizu_group_card .miraizu_group_img {
  width: 100%;
}
#top .miraizu_group_card .miraizu_group_img img {
  border-radius: 10px;
  padding-bottom: 50px;
}
#top .miraizu_group_card .miraizu_group_arrow {
  right: 5%;
  bottom: 40px;
}

#top .staff_interview {
  top: 7vh;
}
#top .staff_textarea .ttl {
  font-size: 18px;
}
#top .staff_textarea p{
  font-size: 12px;
}
.heading p {
  font-size: 20px;
  line-height: 1.5;
}

/* sp about-us
=========================================================*/
	.pt140{  padding: 90px 0;}
	#about-us .about_sec .ttl--02{
		font-size: 24px;
}
#about-us .about_sec p{
		font-size: 14px;
}
#about-us .about_message figure {
  margin: 30px auto 30px;
}
	#about-us .about_message .ttl {
  font-size: 21px;
}
#about-us .t_center_left_about{
		text-align: left;
		font-size: 12px !important;
	margin-top: 20px !important
		
	}
	#about-us .about_name{
		text-align: right;
	}

/* sp group-info
=========================================================*/
 #group-info .icon_list li {
    width: calc(100% / 2 - 5px);
  }
#group-info .icon_list {
    justify-content: space-between;
    gap: 30px 0px;
    margin-block: 20px 50px;
}
#group-info .icon_list figure {
  height: 130px;
}
#group-info .icon_list li img {
  height: 100px;
}
#group-info .icon_list p {
  font-size: 12px;
  margin-top: 5px;
  line-height: 1.5;
}
	
/* sp csr
=========================================================*/
#csr .csr_card {
  flex-flow: column;
}	
#csr .csr_card figure {
  width: 100%;
  margin-block: 10px 20px;
}
#csr .sdgs article.sdgs_card {
  width: 100%;
}
#csr .inner-sdgs{
  	padding: 10px 10% 30px;
}
#csr .sdgs_ttl--01{
	font-size: 36px
}
#csr .sdgs_card .ttl{
	font-size: 14px;
	margin-top: 0 !important
}
#csr .sdgs_card p{
	font-size: 11px
}
#csr .csr_card .ttl {
  font-size: 16px !important;
  margin-bottom: 15px;
  line-height: 1.5;
}
/* sp 事業　カスタム投稿　post_business
=========================================================*/
#post_business .post_business_tab {
    padding-inline: 5%;
    flex-wrap: wrap;
    gap: 5px 0;
	justify-content: space-between;
}
#post_business .post_business_tab li {
	width: calc(100% / 2 - 2px);
}
#post_business .post_business_tab li a {
  border: 1px solid var(--blue);
  width: auto;
  border-radius: 10px;
  font-size: 13px;
}
#post_business .post_business_logo{
	width: 30%;
}
#post_business .business_point ul {
  flex-flow: column;
  gap: 10px;
}	
#post_business .business_point li {
  width: 100%;
}
#post_business .business_point .bus_txt--01 {
  margin-top: 10px;
}	
#post_business .business_point .bus_ttl {
  font-size: 18px;
}
#post_business .information_list {
  flex-flow: column;
}	
#post_business .information_list li {
  width: 100%;
}
#post_business .insta_logo {
  width: 180px;
}

/* post　投稿
=========================================================*/
p.top_category{
	font-size: 12px;
}
.top_category a {
  margin-right: 0px;
}
.top_news_list li {
  flex-flow: column;
}
.top_post_title {
  margin-left: 0px;
  line-height: 1.4;
  margin-block: 10px;
	font-size: 14px;
}
.gutenberg h2 {
  margin-bottom: 40px;
	font-size: 26px;
}
.box_contents_b {
	flex-flow: column;
	padding-inline: 5%;
}
.box_contents_b .contents_main {
  margin-left: 0px;
}
#date{
	font-size: 14px;
	margin-block: 30px 10px;
}
.b_line_ttl {
  margin-bottom: 10px;
}
.box_contents_b .contents_side {
  margin-top: 30px;
}
.page.single{
	margin-top: -50px;	
}
.box_contents_b .contents_side {
  width: 100%;
}
.post_list_flex{
	display: flex;
	flex-flow: column
}
	
}/* media */

header.scrolled {
    background-color: rgba(51, 51, 51, 0.5);
    transform: translateY(0px);
}