@charset "UTF-8";
/* CSS Document NIJINOWA-PC */
html {
  scroll-behavior: smooth;
}
body { 
	font-family: "Sawarabi Gothic, Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;"; 
	color: #666666;
}
/*外部リンクアイコン*/
.targetBlank a {
    text-align: center;
    display: flex;
    align-items: center;
	color: #0f5fa6!important;
}
.targetBlank a::after {
	content:"";
	padding-right: 22px;
    background-image: url(../common-img/icon_link_tb.svg);
    background-repeat: no-repeat;
    background-position: 100% 6px;
    background-size: 16px 16px;
    text-decoration: none;
	width: auto;
	height: 30px;
}
/*ヘッダー*/
#headerAreaSection {
	width: 100%;
	background: transparent !important;
    position: fixed;
    z-index: 20;
}
#headerArea {
	padding: 0 3em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#HdLogo {
	position: relative!important;
}
#HdLogo img {
    width: 210px;
    height: 86px;
}
#subNaviArea {
	position: relative;
}
#subNaviArea ul li {
	margin-left: 5px !important;
	padding: 0 10px;
}
#subNaviArea ul li a {
	text-decoration: none;
    padding: 8px 10px;
	transition: 0.8s;
}
#subNaviArea ul li a:hover {
	background: #eee9f1;
    border-radius: 5px;
}
/*カバー*/
/*
#coverAreaSection {
	display: none;
}
*/
#coverAreaSection {
	background: #fffce4;
	width: 100%;
	background-image: url("../common-img/bg_dot-area2.png");
	background-repeat: no-repeat;
	background-position: center;
}
#coverAreaSection #cover0 {
    background-size: 570px auto;
	background-repeat: no-repeat;
}
#coverAreaSection #catchTxt{
	position: absolute;
	top: 120px;
    right: 15%;
    z-index: 10;
}
#coverAreaSection #catchTxt img{
	width: 139px;
	height:  251px;
}
#coverAreaSection #coverIllustWrap{
	position: absolute;
    /* height: 760px; */
    width: 100%;
    top: 0;
    z-index: 3;
}
#coverAreaSection #coverIllustWrap #pepleWrap {
	max-width: 860px;
	position: relative;
	margin: 0 auto;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure {
	position: absolute;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure img {
	width: 75px;
    height: auto;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure#hu01 {
	top: 100px;
    right: 20%;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure#hu02 {
	top: 360px;
    left: 0;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure#hu03 {
	top: 100px;
    left: 20%;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure#hu04 {
	top: 400px;
	right: 0;
}
#coverAreaSection #coverIllustWrap #pepleWrap figure#hu05 {
	top: 170px;
	left: 30px;
}
#coverAreaSection #freeArea {
	color: #f679a1;
	font-size: 18px;
	text-align: left;
	margin: 0 auto;
	bottom: -30px;
    top: auto;
	left: 40%;
}
#coverAreaSection #freeArea #coverLeadWrap {
	line-height: 2em;
}
#coverAreaSection #freeArea #coverLeadWrap span {
	background: rgba(255, 255, 255, 0.8);
	display: inline-block;
	padding: 0 10px;
	margin-bottom: .3em;
}
/*ふわふわアニメ*/
.fuwafuwa {
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 75px;
  height: 75px;
  margin-top: 15px;
}
.fuwafuwa#hu01 {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}
.fuwafuwa#hu02, .fuwafuwa#hu03 {
  animation: fuwafuwa2 2s ease-in-out infinite alternate;
}
.fuwafuwa#hu04, .fuwafuwa#hu05 {
  animation: fuwafuwa3 4s ease-in-out infinite alternate;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa2 {
  0% {
    transform:translate(0, 0) rotate(-3deg);
  }
  50% {
    transform:translate(0, -3px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(3deg);
  }
}
@keyframes fuwafuwa3 {
  0% {
    transform:translate(0, 0) rotate(-9deg);
  }
  50% {
    transform:translate(0, -9px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(9deg);
  }
}

/*コンテンツエリア*/
#contentsArea {
	background-image: url("../common-img/bg_dot-area2.png");
	background-repeat: repeat-y;
	background-position: center top;
}
/*各見出しへのページ内リンク*/
#aboutSymptoms,
#userFrow, 
#roleNijinowa,
#appContact {
	scroll-margin-top: 120px;
}
/*h2見出しグラデ*/
.gradient-underline .bcu_title {
	text-align: center;
}
.gradient-underline h2 {
  display: inline-block;
  position: relative;
  font-size: 1.5em;
  padding-bottom: 12px;
  overflow: hidden;
	padding-left: 0!important;
	padding-right: 0!important;
	border-bottom: none!important;
}
.gradient-underline h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 6px;
  width: 100%;
  background: linear-gradient(to right, #f679a1, #1e9cd7, #00a887);
	border-radius: 999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s ease-out;
}
.gradient-underline.animate h2::after {
  transform: scaleX(1);
}
/*News一覧*/
.newsListWrap {
	border: #7a82d3 solid 1px;
	border-radius: 15px;
	position: relative;
	margin-top: 3em;
}
.newsListWrap::before {
	position: absolute;
	content: '';/*何も入れない*/
  display: inline-block;
  width: 100px;/*画像の幅*/
  height: 32px;/*画像の高さ*/
  background-image: url(../common-img/h_news.svg);
  background-size: contain;
  vertical-align: middle;
	top: -18px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.newsListWrap .bCatList ul li {
	display: flex;
    align-items: center;
    background: none;
}
.newsListWrap .bCatList ul li p.bCatListDate {
	width: 10%;
    color: #7a82d3;
    font-size: .9em;
}
.newsListWrap .bCatList ul li h5 {
	margin-top: 0;
}
.newsListWrap .bCatList ul li h5 img {
	width: 34px !important;
}
/*見出し脇　にじのわくん*/
.nijinowakunFlowerLeft {
	position: relative;
	height: 80px;
    padding-top: 80px;
}
.nijinowakunFlowerLeft::before {
	position: absolute;
	content: '';/*何も入れない*/
  display: inline-block;
  width: 206px;/*画像の幅*/
  height: 174px;/*画像の高さ*/
  background-image: url(../common-img/nijinowakun-flower.png);
  background-size: contain;
  vertical-align: middle;
	background-position: center;
	top: 0;
	left: 10%;
}
/*ご利用の流れ*/
.purpleBoxOverLabel {
  position: relative;
  border: 2px solid #a4a4e2;
  border-radius: 12px;
  padding: 40px 20px 20px; /* 上に余白を多めに */
  font-family: sans-serif;
  color: #444;
	margin: 60px auto;
}
.purpleBoxOverLabel .bcu_title {
  position: absolute;
  top: -70px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
  background-color: #a4a4e2;
  color: #fff;
  padding: 15px 30px;
  border-radius: 25px;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
	margin: 40px auto 30px;
}
.purpleBoxOverLabel .bcu_text, 
.purpleBoxOverLabel2 .bcu_text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
/*ボックス横並び２つの場合*/
.purpleBoxOverLabel2 {
  position: relative;
  font-family: sans-serif;
  color: #444;
	margin: 60px auto 30px;
}
.purpleBoxOverLabel2 .bCustomS-inner {
	justify-content: space-between;
}
.purpleBoxOverLabel2 .bCustomS-inner .col1, 
.purpleBoxOverLabel2 .bCustomS-inner .col2 {
	width: 49%!important;
	flex-basis: 49%!important;
}
.purpleBoxOverLabel2 .bCustomS {
	margin-top: -70px;
}
.purpleBoxOverLabel2 .bCustomS .col1-inner {
  margin-top: 60px;
    border: 2px solid #a4a4e2;
    border-radius: 12px;
    padding: 0 20px 20px;
}

.purpleBoxOverLabel2 .bcu_title {
	display: inline-block;
    width: 100%;
}
.purpleBoxOverLabel2 .bcu_title h3 {
	position: absolute;
    text-align: center;
    top: -85px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff;
    padding: 15px 30px;
    border-radius: 25px;
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
    margin: 40px auto 0;
    display: inline-block;
}
.purpleBoxOverLabel2 .col1 .bcu_title h3 {
    background-color: #7a82d3;
}
.purpleBoxOverLabel2 .col2 .bcu_title h3 {
    background-color: #0b71a8;
}
/*相談サイクル*/
#flowWrap {
  position: relative;
	width: 100%;
    max-width: 910px;
  height: 620px;
  margin: 0 auto;
	margin-bottom: 3em;
}
.flowWrapBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: rotate 60s linear infinite;
	background-image: url(../common-img/d-role_03.svg);
	background-size: 530px auto;
	background-position: center center;
	background-repeat: no-repeat;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#flowWrap ul {
	list-style: none;
}
#flowWrap ul li {
  position: absolute;
  max-width: 240px;
	width: 100%;
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
}
#flowWrap ul li::before {
	position: absolute;
	content: '';/*何も入れない*/
  display: inline-block;
  width: 66px;/*画像の幅*/
  height: 66px;/*画像の高さ*/
  background-size: contain;
	top: -33px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#flowWrap ul li#flow01assessment::before {
	  background-image: url(../common-img/icon_assessment.svg);
}
#flowWrap ul li#flow02consultation::before {
	  background-image: url(../common-img/icon_coordination.svg);
}
#flowWrap ul li#flow03coordination::before {
	  background-image: url(../common-img/icon_consultation.svg);
}
#flowWrap ul li#flow04training::before {
	  background-image: url(../common-img/icon_training.svg);
}
#flowWrap ul li dl dt {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 10px;
	margin-top: 17px;
}
#flowWrap ul li dl dd {
	text-align: left;
	font-size: 14px;
    color: #000;
}
#flowWrap ul li dl dd > ul {
	width: 100%;
    margin: 10px auto 0;
	list-style: none;
	display: flex;
    justify-content: space-between;
}
#flowWrap ul li dl dd > ul > li {
	position: relative;
	width: 40%;
	background: #fff;
	border: 1px solid #0b71a8;
	color: #0b71a8;
	padding: 8px;
    text-align: left;
    font-size: 13px;
    border-radius: 5px;
    box-shadow: none;
}
#flowWrap ul li dl dd > ul > li:first-child {
	border: 1px solid #7a82d3;
	color: #7a82d3;
}
#flow01assessment { 
	top: 40px; 
	left: 50%; 
	transform: translateX(-50%);
	background-color: #f9e1e9;
}
#flow01assessment dt {
	color: #ed5f69;
}
#flow02consultation { 
	top: 50%; 
	right: 0; 
	transform: translateY(-50%); 
	background-color: #fffed2;
}
#flow02consultation dt {
	color: #ef9a03;
}
#flow03coordination { 
	top: 50%; 
	left: 0; 
	transform: translateY(-50%); 
	background-color: #e7f6f1;
}
#flow03coordination dt { 
	color: #00a887;
}
#flow04training { 
	bottom: -10px; 
	left: 50%; 
	transform: translateX(-50%); 
	background-color: #e4f1f9;
}
#flow04training dt {
	color: #0b71a8;
}

/*申し込み・お問い合わせ*/
.borderPurpleBox {
	border: 3px solid #7a82d3;
}
#telWrap {
	color: #7a82d3;
	font-weight: 600;
	border-radius: 20px;
}
#telWrap span {
	background: #eceaf9;
}
/*運営団体*/
.bbPurpleBox {
	text-align: center;
}
.bbPurpleBox .bTxtS {
	position: relative;
}
.bbPurpleBox .bTxtS::before {
	background-image: url("../common-img/nijinowakun_04.png");
	background-repeat: no-repeat;
	position: absolute;
	content: '';/*何も入れない*/
  display: inline-block;
  width: 240px;/*画像の幅*/
  height: 168px;/*画像の高さ*/
  background-size: contain;
	top: -20px;
	left: -216px;
} 
.bbPurpleBox .bTxtS {
	background: #eceaf9;
    width: auto;
    font-size: 18px;
    padding: 40px;
    display: inline-block;
    border-radius: 10px;
}
.bbPurpleBox .bTxtS .inner span {
	background: #fff;
    color: #7a82d3;
    font-weight: 600;
    padding: 10px 15px;
}
.bbPurpleBox .bTxtS .inner a {
	display: inline-block;
    margin-left: 2em;
}
/*住所など*/
#infoBoxWrap {
}
#infoBoxWrap dl {
	display: flex;
    justify-content: flex-start;
    width: 100%;
    align-items: center;
    margin-bottom: 15px;
	font-size: 14px;
}
#infoBoxWrap dl dt {
	width: 20%;
	color: #7a82d3;
	font-weight: 700;
	border: solid 1px #7a82d3;
	text-align: center;
	padding: 10px 20px;
}
#infoBoxWrap dl dd {
	padding-left: 20px;
    line-height: 1.2em;
}
/*お問い合わせ*/
.borderPurpleBox {
	width: 65%;
    border-radius: 10px;
    border: 3px solid #7a82d3;
    margin: 40px auto;
    padding: 20px;
}
.borderPurpleBox ul li {
	list-style: none;
}
#telWrap {
	font-size: 38px;
	display: flex;
    align-items: center;
	margin-bottom: 10px;
}
#telWrap span {
	font-size: 18px;
	padding: 10px 20px;
	display: inline-block;
    margin-right: 15px;
}
/*フッター*/
#footerAreaSection {
	height: auto!important;
}
.footerArea {
	flex-direction: row!important;
	justify-content: space-between!important;
	padding-top: 30px;
	align-items: center;
	width: 95%;
	max-width: 1200px;
}
#footerNaviArea {
	flex: none;
}
#footerNaviArea ul {
	max-width: 430px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
	line-height: 1.75em;
}
#footerNaviArea ul li {
    margin-right: 30px;
}
#footerNaviArea ul li:nth-child(n+2) {
    margin-left: 0!important;
}
#footerLogo {
	display: inline-block;
	margin-bottom: 20px;
}
#footerLogo img {
	width: 208px;
	height: auto;
}
#pCopyright {
	color: #000;
}
.pagetop {
	display: block;
	background-image: url("../common-img/img_pageTop.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-color: transparent;
	width: 73px;
    height: 127px;
	border-radius: 0;
	right: 10px;
	bottom: 112px;
}
.pagetop span {
	display: none!important;
}
/*管理画面見た目調整*/
/*リンク用ID設置のための空のhtmlに管理画面では高さと背景色をつけて操作がしやすいようにしている*/
.adminView .addunit-box #aboutSymptoms,
.adminView .addunit-box #userFrow, 
.adminView .addunit-box #roleNijinowa,
.adminView .addunit-box #appContact{
	height: 30px;
    display: block;
	/*content: "ここは管理画面のみ表示。リンクID設置用の空のhtml";*/
	background: #43f7b6;
	scroll-margin-top: 120px;
}