@charset "utf-8";
:root {
  --text-color:#232323; --main-color:#071768; --sub-color:#00513B;
  --h2-color:#C8E4FF; --bg-color:#F7F7F7; --bg2-color:#F8FBFF;
  --resp-padding:30px; --break-point:1200px;
}

/* reset */
*,*::after,*::before{ box-sizing:border-box; }
*{ margin:0; }
@media (prefers-reduced-motion: no-preference){
  html{ interpolate-size: allow-keywords; }
}

body{
  line-height:1.5;                /* ← ここで閉じる */
  -webkit-font-smoothing:antialiased;
}

/* フォント指定は body ブロックの“外”で */
html, body, h1, h2, h3, h4, h5, h6, p, span, a, li, dt, dd{
  font-family:'Noto Serif JP', "Hiragino Mincho ProN", "Yu Mincho", serif;
}

p:empty {
  display: none;
}

/* 6. Improve media defaults */
canvas,
img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
}
/* 7. Inherit fonts for form controls */
button,
input,
select,
textarea {
    font: inherit;
}
/* 8. Avoid text overflows */
h1,
h2,
h3,
h4,
h5,
h6,
p {
    overflow-wrap: break-word;
}

/*
  10. Create a root stacking context
*/
#__next,
#root {
    isolation: isolate;
}
a {
    text-decoration: none;
	color:var(--main-color);
}
a:hover {
    opacity: 0.7;
}
img {
    max-width: 100%;
    height: auto;
}

.linkbtn {
    width: 30%;
    text-align: center;
    border: 2px solid var(--main-color);
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    margin: 20px 0 20px auto;
}
.linkbtn a::after {
    content: ">";
    display: block;
    position: absolute;
    right: 20px;
    top: 20px;
    bottom: 0;
    margin: auto;

}
.linkbtn a {
    width: 100%;
    position: relative;
    /* display: flex;
    justify-content: space-between; */
    padding: 20px 40px;
    color: var(--main-color);
}
.linkbtn a:hover {
    color: white;
    background-color: var(--sub-color);
}

.linkbtn2 a{
	display:block;
    width: 150px;
    text-align: center;
    border: 1px solid var(--main-color);
    font-weight: 700;
	margin:0 0 50px auto;
	padding: 5px 10px;
}

.newslist .kiji a { display:block; text-decoration:none; }
.newslist .kiji a:hover { text-decoration:underline; }

.more {
    margin-left: auto;
    position: relative;
    width: fit-content;
}
.more a {
    font-weight: 700;
    padding-bottom: 5px;
    padding-right: 22px;
    border-bottom: 1px solid var(--main-color);

}
.more::after {
    position: absolute;
    right: 5.5px;
    bottom: -5.5px;
    width: 1px;
    display: block;
    content: "";
    height: 25px;
    font-size: 1rem;
    border-right: 1px solid var(--main-color);

    rotate: -45deg;
}

section {
    width: 100%;
    position: relative;

}
.margin100 {
    margin-bottom: 80px!important;
}
hr {
    display: block;
    margin: 40px 0;
    color: var(--main-color);
}
.content{
        padding-top:calc(var(--header-height));
}
.limit-text{
  display: -webkit-box;             
  -webkit-box-orient: vertical;      /* 垂直方向に配置 */
  overflow: hidden;                  /* 溢れた部分を隠す */
  text-overflow: ellipsis;           /* 溢れた部分に「...」を表示 */
  -webkit-line-clamp: 3;             /* 最大行数を2行に設定 */
}


/* header */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1% 4%;
    position: fixed;
    left: 0;
    top:0;
    width: 100%;
    z-index: 1000;
    background-color: white;
}
.header__logo {
    flex-basis: 40%;
}
.header__nav {
    flex-basis: 60%;
}
.header__menu {
    display: flex;
    justify-content: space-between;
    list-style: none;
}
.header__link {
    font-size: 0.9rem;
    font-weight: 600;
    /* line-height: 1; */
    border: 1px solid var(--main-color);
    flex-basis: 20%;
    margin: 0 5px;
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

}
.header__link a {
    color: var(--main-color);
    position: relative;
    display: block;
    width: 100%;
    min-width: 170px;
    padding: 5px 10px;
	line-height:35px;
}
.header__link a::after {
    font-size: 1.2rem;
    content: ">";
    padding-left: 10px;

}
.mod a {
    line-height: 1.3;
}
.mod a::after {
    position: absolute;
    right: 0.8rem;
    top: 0.6rem;

}
.header__link:hover a {
    color: white;
    background-color: var(--sub-color);
}
.toggle {
    display: none;
}

.content__inner {
    max-width: var(--break-point);
    margin: 0 auto;
}
.content__title {
    font-size: clamp(4rem, calc(3.40625rem + 2.375vw), 5.1875rem);
    font-weight: normal;
    color: var(--h2-color);
    padding-bottom: 20px!important;
    line-height: 1.3;
    display: inline-block;
    padding: 30px 50px 0 calc((100% - var(--break-point)) / 2);
    margin: -80px 0 0;
    position: relative;
    z-index: 10;
}
.content__title span {
    font-size: clamp(1rem, calc(0.78125rem + 0.8750000000000001vw), 1.4375rem);
    display: block;
    color: var(--main-color);
    font-weight: 700;
    display: block;
    margin: 0;
    padding: 0 0 0 calc((100% - var(--break-point)) / 2);

}
.content__title::after {
    content: "";
    display: block;
    width: 70px;
    border-bottom: 1px solid var(--main-color);
}

.newslist {
    display: flex;
    gap: 4rem;
    background-color: var(--bg2-color);
    padding: 2% 4%;
    margin: 20px 0;
}
.newslist .date {
    font-size: 0.9rem;
}
.newslist .date span {
    display: block;
    text-align: center;
    color: white;
    font-size: 0.8rem;
    padding: 3px;
    margin: 5px 0;
    background-color: var(--main-color);
}
.kiji {
    font-size: 0.95rem;
    line-height: 1.6;
}

.cardList {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
    justify-content: space-between;
    gap: 2rem;
	grid-template-rows: subgrid; /* 追加 */
    grid-row: span 3; /* 追加 */

}
.cardList__item {
    padding: var(--resp-padding);
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;
    background-color: var(--bg-color);
}
.cardList__tag {
    width: fit-content;
    color: white;
    font-size: 0.8rem;
    padding: 3px 6px;
    margin: 5px 0;
    background-color: var(--main-color);
}
.cardList__date {
    font-size: 0.8rem;
}
.cardList__link {
    margin-left: auto;

}
.cardList__link a {
    color: var(--main-color);
}
.cardList__item img {

    max-height: 200px;
}
.magazinItem {
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
    margin: 40px 0;
}
.magazinItem  img{
	width:200px;	
}
.magazinItem__kiji{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.needsCard {
  margin-bottom: 30px; /* 下に余白を追加 */
}

.content__image {
  margin-top: 30px; /* 上に余白を追加 */
}
.needsFlow__step {
  margin-top: 40px; /* 上だけ余白 */
}

.needsFlow__inner {
  display: flex;
  gap: 40px;              /* カラム間の余白 */
  justify-content: space-between;
}

.needsFlow__step {
  flex: 1;                /* 均等幅 */
  background: #f8f8f8;    /* わかりやすく背景色 */
  padding: 20px;
  box-sizing: border-box;
}
/* second page */
.h3title{
    font-size:clamp( 1.8rem, calc( 1.3250000000000002rem + 1.9vw ), 2.75rem );
    margin-bottom: 20px;
    color: var(--main-color);
}
.cover {
    padding: 30px 0;
    position: relative;
}
.cover::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(0,0,0,0.2);
}
.cover h2 {
    font-size:clamp( 2.1rem, calc( 1.6500000000000001rem + 1.7999999999999998vw ), 3rem );
    text-align: center;
    color: white;
    position: relative;
    z-index: 10;
}
.cover.page-about {
    background-image: url("../images/about-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-news {
    background-image: url("../images/news-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-meeing {
    background-image: url("../images/meeing-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-event {
    background-image: url("../images/event-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-eventpage {
    background-image: url("../images/event-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-magazine {
    background-image: url("../images/magazin-back.jpg");
    background-size: cover;
	background-position:center;
}
.cover.page-privacy-policy-2{
    background-image: url("../images/privacy-back.jpg");
    background-size: cover;
	background-position:center;
}

.cover.page-contact{
    background-image: url("../images/meeing-back.jpg");
    background-size: cover;
	background-position:center;
}

.cover.page-one-stop-desk {
    background-image: url('../images/meeing-back.jpg');
    background-size: cover;
    background-position: center;
}


.breadClumb {
    color: var(--main-color);
    border-bottom: 1px solid var(--main-color);
    margin-bottom: 50px;
}
.breadClumb ul {
    padding: 3px 0;
    list-style: none;
}

.needsCard__head {
  display: inline-flex;
  align-items: flex-end;  
  gap: 0.6em;         
  font-size: 16px;
  line-height: 1.5;
}


.needsCard__icon {
  width: 1.7em;        /* 文字サイズに合わせる */
  height: 1.7em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}



.open-modal-btn{
    display:flex;
    justify-content: space-between;
 
    color: white;
    padding: 5px 10px;
    background-color: var(--main-color);
    cursor: pointer;
}
.open-modal-btn::after{
    content: ">";
}

#modal-open1,#modal-open2,#modal-open3,#modal-open4{
    display: none;
}

.overlay,
.modal {
  display: none;
}
/* チェック時に表示 */
#modal-open1:checked ~ .overlay,
#modal-open1:checked ~ .modal {
  display: block;
}
#modal-open2:checked ~ .overlay,
#modal-open2:checked ~ .modal {
  display: block;
}
#modal-open3:checked ~ .overlay,
#modal-open3:checked ~ .modal {
  display: block;
}
#modal-open4:checked ~ .overlay,
#modal-open4:checked ~ .modal {
  display: block;
}

.modal{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  min-width: 300px;
  background: #fff;
  padding: 30px;
  z-index: 999;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2);

}
.modal__close{
  width: 120px;
  display: flex;
  justify-content: space-between;
  position: absolute;
  right: 12px;
  top: -16px;
  background: var(--main-color, #333);
  color: #fff;
  border: none;
  padding: 8px 16px;
  cursor: pointer;

}
.modal__close::after{
    content: "×";
    display: block;
}
.modal__inner {
    display: flex;
    column-gap: 2rem;
}
.modal__textcontent {
    flex-basis: 60%;
}
.modal__textcontent--cl{
    font-size: 0.8rem;
    margin-bottom: 20px;
}
.modal__textcontent--att{
    font-size: 0.7rem;
    margin-bottom: 20px;
}
.modal__textcontent--name{
    font-size: 1.4rem!important;
    font-weight: 700;
}
.modal__text {
    font-size: 0.9rem;
    margin-top: 30px;
}
.overlay {
    width: 100%;
    height: 100vh;
}
.arrow img {
	width:50px;
	height:auto;
}
/* コーディネーター */
.cordinatorInfo__all{
    display: flex;
    justify-content: flex-start;
    column-gap: 2rem;
    margin-bottom: 50px;
}

/* スマホだけ（767px以下） */
@media (max-width: 767px) {
  .cordinatorInfo__all {
	  width:97%;
	  margin:20px auto;
    display: grid;                  /* gridに切り替え */
    grid-template-columns: 1fr 1fr; /* 2列にする */
    gap: 1.5rem;                    /* 隙間 */
  }
	
	.cordinatorInfo__item{
		margin-bottom:10px;
	}
	
	.meeingArea {
	  padding-left: 20px;
	  padding-right: 20px;
	}
	
	.meeingArea h4,.meeingArea h3{
	  font-size:20px!important;
	}
	
	
	.btnArea{
		display:block;
	}
	
	.link3btn a{
		font-size:0.9rem!important;
		padding:10px 15px!important;
		text-align:left;
	}
	
	.link3btn a::after{
		content: "";
		display: block;
		width: 0.7rem!important;
		height: 0.7rem!important;
		border-right: 3px solid white;
		border-bottom: 3px solid white;
		position: absolute;
		right: 15px!important;
		top: 75%!important;
		translate: 0 -50%;
		rotate: 45deg;
	}
	
	.linkbtn {
	  width: 80%!important;          /* 幅を80%に */
	}
	
	.content__title {
		font-size: clamp(4rem, calc(3.40625rem + 2.375vw), 5.1875rem);
		font-weight: normal;
		color: var(--h2-color);
		padding-bottom: 20px!important;
		line-height: 1.3;
		display: inline-block;
		padding: 30px 50px 20px 20px;
		margin: -80px 0 0;
		position: relative;
		z-index: 10;
	}
	
	
}

.cordinatorInfo__title{
    font-size:1.6rem;
    margin-bottom: 30px;
    color: var(--main-color);
}
.cordinatorInfo__item{
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;
}
.cordinatorInfo__name{
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--main-color);
}

/* イベント */
.eventArea__top{
    width:  80%;
    margin: 0 auto;
}
.eventArea__top img {
    width: 100%;
}
.eventArea__date{
    margin: 20px;    
}
.eventArea__categoly{
    background-color: var(--main-color);
    color: white;
    font-size: 0.8rem;
    width: 120px;
    text-align: center;
    padding: 3px 6px;
    margin: 20px;
}
.eventArea__title{
    font-size: 1rem;
    font-weight: 700;
    margin: 20px;
}
.eventArea__data{
    width: 60%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    column-gap: 1rem;
    padding: 20px;
    background-color: var(--bg-color);

}
.eventArea__data dt{
    background-color: var(--main-color);
    color: white;
    font-size: 0.9rem;
    flex-basis: 180px;
    flex-shrink: 0;
    text-align: center;
    padding: 5px 10px;

}
.eventArea__data dd{
    font-size: 0.9rem;
    color: var(--text-color); 
}
.eventArea__text{
    color: var(--text-color); 
    font-size: 0.9rem;
}
/* マガジン */
.magazineArea__date{
    margin: 20px;    
}
.magazineArea__title{
    font-size: 1rem;
    font-weight: 700;
    margin: 20px;
}
.magazineArea__text{
    color: var(--text-color); 
    font-size: 0.9rem;
    margin: 20px;
}

.magazinItem__title{
	font-size: 1rem;
    font-weight: 700;
  
}
.magazinItem__text{
  display: -webkit-box;             
  -webkit-box-orient: vertical;      /* 垂直方向に配置 */
  overflow: hidden;                  /* 溢れた部分を隠す */
  text-overflow: ellipsis;           /* 溢れた部分に「...」を表示 */
  -webkit-line-clamp: 2;             /* 最大行数を2行に設定 */
}



/* meeing */

.meeingArea__title2 {
    font-size:1.875rem;
    font-weight: normal;
    color: var(--main-color);
    border-left: 15px solid var(--main-color);
    padding-left: 1rem;
    margin: 20px 0;
}
.meeingArea__title3{
    font-size: 1.6rem;
    margin-bottom: 30px;
    color: var(--main-color);
}
.meeingArea__title4{
    color: var(--main-color);
    padding-left: 0.5rem;
    border-left: 5px solid var(--main-color);
        margin: 20px 0;
}
.meeingArea__text {
    font-size: 1rem;
    margin-bottom: 30px;
}
.btnArea {
    display: flex;
    justify-content: space-between;
    margin: 50px 0;
}
.link3btn {
    width: 45%;
    padding: 20px 40px;
    border-radius: 10px;
    background-color: var(--main-color);
    text-align: center;
    position: relative;
}
.link3btn:hover{
    background-color: var(--sub-color);
}
.link3btn a {
    color: white;
    font-size: 1.2rem;
	display: inline-block; /* ここ重要 */
    padding: 20px 40px;
}

.link3btn a::after{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-right: 3px solid white;
    border-bottom: 3px solid white;
    position: absolute;
    right:30px;
    top:50%;
    translate: 0 -50%;
    rotate: 45deg;
}
.adviser__All {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
    column-gap:2rem;
    row-gap: 3rem;
}
.adviser__Item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}

.adviser__Item img {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.adviser__name {
    font-size: 1rem;
    margin: 10px 0;
}
.adviser__text {
    font-size: 0.9rem;
}
.adviser__btn a{
    background-color: var(--main-color);
    color: white;
    font-size: 0.9rem;
    display: block;
    width: 68%;
    padding: 5px 10px;
    position: relative;
    margin: 20px 0;
}
.adviser__btn a::after{
    content: ">";
    position: absolute;
    right: 15px;

} 
.photo-circle img{
	width:200px!important;
	height:200px;
	border-radius:50%;
	object-fit: cover;
}
/* single */
.adviserSingle_all {
    width: 70%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    column-gap: 2rem;
    margin-bottom: 40px;
}
.adviserSingle_all .adviser__name {
    font-size: 2rem;
    font-weight: normal;
    color: var(--main-color);
    white-space: nowrap;
}
.adviserSingle_all .adviser__text{
    font-size: 0.9rem;
    font-weight: normal;
    color: var(--main-color);

}
.tagtitle {
    background-color: var(--main-color);
    color: white;
    width: 180px;
    padding: 5px 10px;
    text-align: center;
    margin-bottom: 10px;

}
.tagtext {
    margin-bottom: 20px;
}
.adviserSingle__reki {
    margin-bottom: 80px;
}
.magazineArea__inner{
	display:flex;
	margin:20px;
}
.magazinePhoto {
	max-width:300px;
}

.margin0{
    margin-left: 0!important;
}
.pagination {
	margin-bottom:50px;
}

/* 見出し（中央＆強調） */
.needs-title{
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin: 40px 0 24px;
   color: #071768; 
}

/* 中見出し（中央＆強調） */
/* .needs-title{
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin: 40px 0 24px;
  color: #222;
}
 */
/* ニーズ詳細セクション */
.needsDetail{ margin-top: 40px; }
.needsDetail__title{
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 20px;
}

/* ニーズカード */
.needsDetail__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  color:#071768!important;
}
.needsFlow__arrow {
  text-align:center;
  font-size:3rem;
  font-weight:800;
  line-height:1;
  color:#111;
  margin: 30px 0; /* 上下に余白 */
}
/* ステップ共通 */
.needsFlow__step {
  background:#f8fafc;
  border:1px solid #e6e8eb;
  border-radius:12px;
  padding:20px;
}
/* ステップ間の余白を確保 */
.needsFlow__step {
  margin-bottom: 40px;  /* ← 下に余白を追加（数値は調整可） */
}
.content__image {
  margin-bottom: 40px; /* 下に40pxの余白 */
}


/* PC：左右2カラム、スマホ：縦1列 */
.pair2col{
  max-width: var(--break-point);
  margin: 0 auto 40px;
  display: flex;           /* ← 横並びを強制 */
  gap: 24px;
  align-items: flex-start;
}

.pair2col__col{
  flex: 1 1 0;             /* ← 均等幅 */
  min-width: 0;            /* 文章のはみ出し防止 */
  display: grid;         
  grid-template-rows: auto auto;
  gap: 16px;
}

/* 画像＋キャプション */
.pair2col__media img{ width:100%; display:block; }
.pair2col__media figcaption{
  text-align:center; font-size:.95rem; color:var(--main-color); margin-top:8px;
}

/* 説明カード（見た目はそのまま） */
.pair2col__card{
  background:#f8fafc; border:1px solid #e6e8eb; border-radius:12px; padding:20px;
}
.pair2col .needsFlow__head{ margin:0 0 6px; color: #071768; }
.pair2col .needsFlow__sub { margin:0 0 10px; }
.pair2col .needsFlow__text{ margin:0; line-height:1.8; }

/* PC時の配置 */
.pair2col{
  display: flex;
  justify-content: space-between;
  gap: 24px;
  max-width: var(--break-point);
  margin: 0 auto 40px;
}

/* 矢印 */
.pair2col__arrow{
  font-size: 3rem;
  font-weight: bold;
  color: var(--main-color);
  flex-shrink: 0;  /* ← 小さくならないように固定 */
  align-self: center; /* 自分だけ縦中央 */
  margin: 0 1rem;     /* 左右にちょっと余白 */

}

/* スマホでは縦並びに */
@media (max-width: 767px){
  .pair2col{ flex-direction: column; }
  .pair2col__arrow{ transform: rotate(90deg); margin: 16px 0; }
	
	
}


/* スマホでは縦並びに切り替え */
@media (max-width: 767px){
  .pair2col{ flex-direction: column; } /* ← 1列 */
	
	
.content__image--item p{
	font-size: 14px;
}
	.linkbtn a {
		width: 100%;
		position: relative;
		text-align:center;
		/* display: flex;
		justify-content: space-between; */
		padding: 20px 40px;
		color: var(--main-color);
	}
	
	.linkbtn{
		margin: 0 auto!important;
	}
	
}



@media (min-width: 768px){
  .needsDetail__grid{
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
.needsCard{
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: 10px;
  padding: 16px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.needsCard__head{
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 8px;
}
.needsCard__text{
  margin: 0;
  line-height: 1.8;
  color: #071768;
}

/* 矢印だけの行 */
.needsFlow{ margin:18px 0; }
.needsFlow__arrow{
  text-align:center;
  font-size:3rem;
  font-weight:800;
  line-height:1;
  color:#111;
}

/* ステップカード（共通） */
.needsFlow__step{
  background:#f8fafc;
  border:1px solid #e6e8eb;
  border-radius:12px;
  padding:20px;
  max-width: var(--break-point);
  margin: 0 auto 40px;       /* 下に40pxの余白を付けたまま中央寄せ */
}
.needsFlow__head{ font-size:1.1rem; font-weight:700; margin:0 0 6px; }
.needsFlow__sub{  font-size:1rem;   font-weight:700; color:#1f2937; margin:0 0 10px; }
.needsFlow__text{ margin:0; line-height:1.9; color:#071768; }


@media (min-width: 992px){
  .needsFlow{
    display:grid;
    grid-template-columns:1fr 80px 1fr;
    grid-template-areas:"step1 arrow step2";
    align-items:stretch; gap:18px;
  }
  .needsFlow__step--start{ grid-area:step1; }
  .needsFlow__arrow--mid{  grid-area:arrow; }
  .needsFlow__step--end{   grid-area:step2; }

  .needsFlow__arrow--lead{ display:none; } /* SP用の先頭矢印はPCで非表示 */
  .needsFlow__arrow--mid{
    display:flex; align-items:center; justify-content:center;
    font-size:3.2rem; margin:0;
  }
}

@media (min-width: 768px){
	
  .needsDetail__grid{
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
	
}


@media (max-width: 767px) {
  .needs-title {
    font-size: 15px !important; 
    color: #071768; 
    text-align: center;
    margin: 20px 0 16px;
  }
	
.needsFlow__head{
	font-size:15px!important; 
    color: #071768; 
	font-weight:700; 
	margin:0 0 6px; 
	text-align:center;
	}
	
	.content__item p{
		font-size:13px;
	}
	
}

.needsCard{
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: 10px;
  padding: 16px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.needsCard__head{
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 8px;
}
.needsCard__text{
  margin: 0;
  line-height: 1.8;
}

/* footer */
.footer {
    border-top: 1px solid var(--main-color);
    background-color: var(--main-color);
    color: white;
}
.footer__privacy {
    font-size: 0.9rem;
    background-color: white;
    padding: 5px 0;
}
.footer__privacy a::after {
    font-size: 1rem;
    content: ">";
    padding-left: 10px;
    font-weight: 700;
}
.footer__inner {
    max-width: var(--break-point);
    margin: 0 auto;
}
.footer__section {
    background-color: var(--main-color);
    padding: 30px 0 20px;
}
.footer__button {
    background-color: white;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 5px;
    transition: all 0.3s;
}
.footer__button a {
    display: block;
    font-weight: 700;
}
.footer__button:hover {
    background-color: var(--sub-color);
}
.footer__button:hover a {
    color: white;
}
.footer__text {
    font-size: 0.9rem;
    margin: 20px 0;
}

.footer__section .footer__text:last-of-type {
    font-size: 12px; 
}

.footer__link {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
}

footer.footer__link li {
    font-size: 0.7rem;
    border-left: 2px solid white;
    padding-left: 10px;
    margin: 10px 0;
}
.footer__link a {
    color: white;
}
.footer small {
    font-size: 0.5rem;
    display: block;
    text-align: center;
}

#open {
    display: none;
}
    /* オーバーレイ用要素 */
    .overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.5);
        z-index: 99;
        pointer-events: none;
    }
		.footer .footer__logos{
		  display:flex;
		  gap:16px;
		  align-items:center;
		  margin-top:10px;
		}

		.footer .footer__logos img.footer__logo{
		  height:28px !important;
		  width:auto !important;
		  max-width:none !important;
		  display:block;
		}

		/* tsucreaロゴだけサイズアップ */
		.footer .footer__logos img.footer__logo--tsucrea{
		  height:34px !important;  /* ←好みで28〜40pxくらいに調整 */
		}


	/* 画面が広いときだけ少し大きく */
	@media (min-width: 768px){
	  .footer .footer__logo{ height: 34px; }
	}



@media (width < 1200px) {
    .header {
        padding: 3% var(--resp-padding);
    }
    .header__logo {
        flex-basis: 50%;
    }
    .header__nav {
        position: fixed;
        left: -100%;
        top: 100px;
        z-index: 100;
        width: 100%;
        padding: 10% 2%;
        background-color: white;
        transition: all 0.3s;
    }
    .header__menu {
        flex-direction: column;
        margin: 0;
        padding: 0;
        row-gap: 2rem;
    }
    .header__link a {
        font-size: 1rem;
        padding: 12px 0;
    }
    .header__link a br {
        display: none;
    }
    .mod a {
        line-height: 1.6;
    }
    .mod a::after {
        position: relative;
        right: auto;
        top: auto;
    }
    .toggle {
        display: block;
        position: fixed;
        right: 30px;
        top: 20px;
        z-index: 105;
        display: block;
    }
    .toggle span {
        display: block;
        width: 45px;
        height: 2px;
        background-color: var(--text-color);
    }
    .toggle span:nth-of-type(2) {
        margin-top: 10px;
    }
    .toggle span:nth-of-type(3) {
        margin-top: 10px;
    }
    #open:checked ~ .header__nav {
        left: 0;
    } 
    /*#openがチェックされた時に表示 */
   
   #open:checked ~ .overlay {
        display: block;
        pointer-events: auto;
    }
    #open ~ .toggle span {
        transition: all 0.3s;
    }
    #open:checked ~ .toggle span {
        background-color: white;
    }
    #open:checked ~ .toggle span:nth-last-of-type(1) {
        rotate: 45deg;
        margin-top: -13px;
    }
    #open:checked ~ .toggle span:nth-last-of-type(2) {
        scale: 0;
    }
    #open:checked ~ .toggle span:nth-last-of-type(3) {
        rotate: -45deg;
        margin-top: 12px;
    }
    .content__inner {
        width: 90%;
        margin: 0 auto;
    }
	.content__title {
		padding-left:10px;	
	}
	.content__hero .content__lead{
		margin-top:110px;
	}
    .cardList {
        flex-direction: column;
        width: 100%;
    }
    .cardList__item {
        width: 100%;
        box-sizing: border-box;
    }
    .linkbtn{
        width: 100%;
        margin: 30px auto;
    }
/* 	event */
	.eventArea__top {
         width: 90%;       
    }
    .eventArea__data{
        width: 90%;
    }
    .eventArea__data dt {
		flex-basis:120px;
	}
/* 	meeing */
	 .adviser__All {
        width: 100%;
		column-gap: 1rem;
    }
	.adviser__item {
		 width: fit-content;
         margin: 0 auto;
	}
    .btnArea{
/*         flex-direction: column; */
        row-gap: 4rem;
	}
     .link3btn {
/* 		 width:85%; */
		 
        margin: 0 auto;
    }
    .adviserSingle_all{
        width: 100%;
        flex-wrap: wrap;
        align-items: center;
    }
    .adviserSingle_all img {
        width: 45%;
        margin:0;
    }
    .adviserSingle__name {
        width: 80%;
		margin-bottom:20px;
    }
    .adviserSingle__profile{
        width: 100%;
        margin: 10px 0;
    }
    .footer__inner {
        padding: 20px;
    }
    .footer__section {
        padding: 20px 0;
    }
} */
