:root{
	--color-main:#3e3f9a;
	--color-gray-1:#ccc;
	--color-gray-2:#eeeeee;
	--color-link:#00a0ea;
	--color-link-hover:#e26563;}
html,
.body{
	background-color: #fff;
	font-size: 62.5%!important;
	overflow-x: hidden!important;
    position: relative;
}

/*レイアウト*/
@media (min-width:767px) {
    .jtpl-section-main {
        margin: 100px auto 0;}
}
#content_area{ 
	margin-top: 30px!important;
	margin-bottom: 50px!important;
	padding-left: 10px!important;
	padding-right: 10px!important
}
.j-hr hr {
    border-bottom-width: 1px;
    border-style: solid;
    border-color: var(--color-gray-1)!important;
    margin: 20px auto;
}
/*table*/
table {
	width: 100%;
	border-collapse : collapse;}
table th,
table td{
	border: 1px solid var(--color-gray-1);
	padding: 1.2rem 1.8rem;}
table th {
    background-color:var(--color-gray-2);
    font-weight: normal!important;}
td p{
    margin-bottom: auto!important}
/*table 2段組*/
@media (max-width:768px){
	.steps table th,
	.steps table td {
		border-bottom: 0;
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	.steps table tr:last-child{
		border-bottom: 1px solid var(--color-gray-1);
	}
}
.scroll-note {
    text-align: center;
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 5px;
    display: none;
}
@media (max-width:768px){
	.table-wrap {
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.table-wrap table {
		width: 100%;
	}
	.table-wrap {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    background:
        linear-gradient(to right, #fff 30%, rgba(255,255,255,0)),
        linear-gradient(to left, #fff 30%, rgba(255,255,255,0)),
        radial-gradient(farthest-side at 0 50%, rgba(0,0,0,0.2), rgba(0,0,0,0)),
		radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,0.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: #fff;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-position: 0 0, 100% 0, 0 0, 100% 0;
    background-attachment: local, local, scroll, scroll;
	}
	.scroll-note {
        display: block;
    }
}
div.j-text + div.j-table{
    margin-top: auto!important;
}
/*画像*/
img{ 
    max-width: 100%!important;}
/*カラムの画像を横幅100％
.j-module.n.j-hgrid .cc-imagewrapper img {
    width: 100%!important;}
*/
/*テキスト*/
.j-module.n.j-header,
.j-module.n.j-text{
    margin: 0 auto;
	padding: 0 5px;
}
h1 {
    position: relative;
	margin-bottom: 1.8rem!important;
}
h2 {
    position: relative;
	margin-bottom: 1.8rem!important;
}
h3 {
	border-bottom: dashed 1px #000;
	padding-bottom: 1rem;
	margin-bottom: 1rem!important;
}
h4{
	color: #000!important;
}
p{  
	/*font-feature-settings: "palt";*/
	margin-bottom: 1.6rem;
    text-align: justify;
}
.j-text p:last-of-type{ 
    margin-bottom: 0;
}
#content_area strong {
	color: var(--color-main);
}
/*
#content_area strong {
	background: linear-gradient(transparent 40%, #fff7b3 60%);
	font-weight: normal!important;
	padding: 2px 0;}
*/
#content_area .j-text ul,
#content_area .j-text ol  { 
    margin: 0 auto 0!important;}

#content_area .j-text p + ul,
#content_area .j-text ul + p,
#content_area .j-text ol + p  { 
    margin-top: 1.6rem!important;
}
#content_area .j-text li {
    margin: 0 5px 5px -15px!important;
    padding: auto;
}
#content_area .j-text li:last-child {  
	margin-bottom: 0!important;
}
#content_area ol,
#content_area .outline ol{
	counter-reset:number; /*数字をリセット*/
	list-style-type: none!important; /*数字を一旦消す*/
}
#content_area ol li,
#content_area .outline ol li {
	position: relative;
	line-height: 1.75;
	padding: 0.5rem 0 0.5rem 2.5rem;
}
#content_area ol li::before{
	font-size: 1.5rem;
	position: absolute;
	font-weight: 100!important;
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	background: #000;
	color: #fff;
	border-radius: 50%;
	left: -1.5rem;
	width: 25px;
	height: 25px;
	line-height: 1.75;
	text-align: center;
	top: 0;
	margin-top: 0.8rem;
}
#content_area .j-module.n.j-text a{
    text-decoration: underline;
}
.mceEditable a{ 
    text-decoration: underline!important;
}
/*footer a{
    color: #000!important;}*/

/*フォーム*/
select {
	font-size: 1.6rem!important;
	padding: 8px;
}
.cc-m-form-element-input{
	padding: 15px 10px;
}
.cc-m-form-subheading{
	margin-top: 15px;
}
/*ナビゲーション*/
.jtpl-navigation{ 
    position: relative;
}
.jtpl-content__inner{
	padding-top: 0!important;
	padding-bottom:0!important;
}
/*パンくずリスト*/
.j-nav-variant-breadcrumb{
	display: none;
}
.j-nav-variant-breadcrumb{
	text-align: right;
}
.jtpl-breadcrumb li {
    margin: 0; */
}

@media (min-width:767px){
    .jtpl-header {
        padding: 0!important;
	}
	.jtpl-navigation{
		margin-top: 57px!important;
	}
	.j-nav-variant-nested li a{
		text-align: center;
		border-radius: 0!important; 
		padding: 10px 20px!important;
		margin: 0!important;
		width: calc(550px / 4)!important;
	}
	ul.j-nav-level-1,
	ul.j-nav-level-2{
		background-color:rgba(0,0,0,0)!important;
		padding: 0!important;
	}
	li.jmd-nav__list-item-1 a{
		text-align: left!important;
		width: 300px!important;
	}
	li.jmd-nav__list-item-2 a{
		margin-left: -28px;
	}
}
/*リンクボタン*/
.j-calltoaction-link-style-1{
    margin: 0 auto!important;
    min-width: 100%!important;
}
.j-calltoaction-link-style-2{
    margin: 0 auto!important;
	padding-left: 3rem!important;/*矢印アイコンの空*/
	padding-right: 3rem!important;/*矢印アイコンの空*/
    min-width: 250px!important;
}
.j-calltoaction-link-style-3{
    margin: 0 auto!important;
	padding-left: 3rem!important;/*矢印アイコンの空*/
	padding-right: 3rem!important;/*矢印アイコンの空*/
    min-width: 200px!important;
}
.j-calltoaction-link-style-1,
.j-calltoaction-link-style-2,
.j-calltoaction-link-style-3{
	position: relative;
}
.j-calltoaction-link-style-3{
	font-family: "PT Sans", sans-serif!important;
	letter-spacing:1px;
	font-weight: 700;
}
/*矢印アイコン*/
.j-calltoaction-link-style-1::after,
.j-calltoaction-link-style-2::after{
	position: absolute;
	top: 50%;
	right: 1.5rem;
	width: 0.5rem;
	height: 0.5rem;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
}
/*コードでリンクボタンを追加する場合の調整*/
.cc-m-hgrid-column .j-module.n.j-htmlCode{
    padding: 0 3px!important;
}
.j-htmlCode .j-callToAction{
    margin: 0!important;
    padding: 0!important;
}
@media (max-width:768px){
	.j-callToAction{
        text-align: center!important;
	}
	.j-calltoaction-link-style-1,
    .j-calltoaction-link-style-2,
    .j-calltoaction-link-style-3{
		margin: 0 auto!important;
		width: auto!important;
	}
	.j-calltoaction-link-style-1{
		min-width: 100%!important;
	}
	.j-calltoaction-link-style-2,
	.j-calltoaction-link-style-3{
		min-width: 250px!important;
	}
}
/*余白*/
.cc-m-spacer{
	max-height:100px!important;
	min-height:auto!important;
}
/*他*/
.material-icons,
.material-symbols-outlined {
	font-size: 90%;
    display: inline-flex;
    vertical-align: middle;
	margin-left: 3px;
	margin-bottom: 1px!important;
}
.material-icons.bottom-up,
.material-symbols-outlined.bottom-up {
	margin-bottom: 4px!important;
}
.widthmax{
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}
.mtop1{
	margin-top: 1.8rem!important;
}
.center{
	max-inline-size: max-content;
	margin-inline: auto;
}
/* -------------------------------------------------------
デコレーション
------------------------------------------------------- */
p.shoulder {
    position: relative;
    display: block;
    padding-left: 30px;
	font-family: "Modern Antiqua", serif!important;
    color: #000;
    font-size: 1.6rem;
}
p.shoulder:before {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #000;
}
p.shoulder:before {
	left:0;
}
span.tel{
	color: var(--color-main);
	font-size: 2.8rem;
	font-family: "PT Sans", sans-serif!important;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
}
span.tel a{
	color: var(--color-main)!important;
	text-decoration: none!important;
}
footer span.tel,
footer span.tel a{
	color: #000!important;
}
@media (max-width:768px){
	footer span.tel{
		font-size: 2rem;
	}
}
/* -------------------------------------------------------
ホーム
------------------------------------------------------- */
/*kv*/
.kv{
		position: relative;
		z-index: 20;
		margin-top: -48px!important;
	}
@media (min-width:768px){
	.kv-wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1ch;
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}
	.kv{
		width: 1050px;
	}
}
@media (max-width:768px){
	.kv{
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}
}
/*
.kv-wrap{
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	position: relative;
	padding: 0;
	margin-top: -48px;
	text-align: center;
}
.kv{
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 20;
}
*/
.kv img{
	border-radius:0 0 20px 20px ;
}
@media (max-width:768px) {
	.kv img{
		border-radius:0;
	}
}
/*swiper*/
.swiper-slide {
  height: 400px;
  width: 100%;/
  overflow: hidden;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
@media (max-width:768px){
  .swiper-slide {
    height: 60vh !important;
  }
}
.swiper-pagination-bullet {
	border-radius: 0%!important;
	height: 3px !important;
	width: 30px !important;
}
.swiper-pagination-bullet{
	background: var(--color-gray-1)!important;
	opacity:0.8!important;
}
.swiper-pagination-bullet-active {	
    background-color: var(--color-main)!important;
}
.swiper-button-prev {  
    background: url(#) no-repeat center center / contain!important;
}
.swiper-button-next {  
    background: url(#) no-repeat center center / contain!important;
}
@media (min-width:768px){
	.swiper-container{
		border-radius:16px;
	}
}
/*zoomアニメーション*/
.swiper-slide-active img,
.swiper-slide-duplicate-active img,
.swiper-slide-prev img,
.swiper-slide-duplicate-prev img{
    animation: zoomUp 8s linear 0s normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1.2); }
	100% {
		transform: scale(1);}
}
/*リード*/
.read-wrap{
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	position: relative;
	padding: 100px 0 50px;
	margin-top: -94px;
	background-color:var(--color-main);
	z-index: 10;
}
.read{
	width: 800px;
	margin: 50px auto 0;
	position: relative;
}
.read h1{
	margin-bottom: 3rem !important;
}
.read h1,
.read p.news-tl{
	color: #fff !important;
}
@media (max-width:768px) {
	.read-wrap{
		margin-top: -120px;
	}
	.read{
		width: 100%;
		box-sizing: border-box;
		padding: 0 30px;
	}
}
/*おすすめ企業*/
.frame1{
	width: 500px;
	border: double 4px #78c8c9;
	border-radius: 6px;
	box-sizing: border-box;
	padding: 30px;
	margin: -30px auto 0;
}
@media (max-width:768px) {
	.frame1{
		width: 100%;
	}
}
/*CTA*/
.cta-wrap{
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	position: relative;
	padding: 0;
	text-align: center;
}
.cta{
	background-color: var(--color-main);
	width: 1000px;
	margin: 50px auto 0;
	padding-bottom: 50px;
	position: relative;
}
.cta img{
	width: 200px;
	margin: -70px auto 30px;
	padding-left: 15px;
}
.cta p{
	color: #fff;
	text-align: center;
	margin-bottom: 30px!important;
}
.cta p.emp{
	font-size: 2.8rem;
	line-height: 1.75!important;
}
@media (max-width:768px) {
	.cta{
		width: 100%;
		box-sizing: border-box;
		padding-left: 30px;
		padding-right: 30px;
	}
}
/*News（ブログ）表示*/	
.topics{
	position: relative;
	border-top: solid 1px var(--color-gray-1);
	border-bottom: solid 1px var(--color-gray-1);
	box-sizing: border-box;
	height: calc(100% - 45px);
	margin-top: 1.8rem;
	margin: 10px auto;
	padding: 30px 20px 20px;
	z-index: 10;
	text-align: left;
}
.past-news-link{
	bottom: 0;
	padding: 0 30px 30px 0;
	position: absolute;
	right: 0;
}
.past-news-link p{
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 0;
	text-align: right;
}
p.day{
	text-align: left;
	background-color: var(--color-gray-2);
	border-radius: 100vw;
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1.7;
    margin-bottom: 10px!important;
	margin-top: 10px !important;
	padding: 1px 12px 0;
}
.post.j-blog-content{
	margin-bottom: 3rem;
}
p.feed{
	margin: 1rem auto!important;
}
p.feed a{
	color: #fff!important;
	font-size: 1.6rem;
	text-decoration: underline!important;
}
p.feed a:hover{
	color: var(--color-link-hover)!important;
}
#feedtop{
	padding-bottom: 15px;
}
#feedtop ul,
.j-text ol  {
	list-style: none;
	margin: 0 auto 0!important;
}
#feedtop li {
	padding: 0;
	display: flex;
	align-items: center;
	gap: 20px;
}
#feedtop li p:not(.day) {
	flex: 1;
	text-align: left;
}
@media (max-width:768px) {
	p.feed{
		margin: auto auto 1rem!important;
	}
	#feedtop li {
		margin: 0 5px 5px -35px!important;
		display: block;
	}
}
/* -------------------------------------------------------
下層ページ
------------------------------------------------------- */
/*事例*/
p span.red{
	color: var(--color-main);
	font-weight: 700;
}
/*目次*/
.outline{
	background-color: #fff;
	box-sizing: border-box;
	padding: 15px 20px;
	border: 1px solid var(--color-gray-1);
	position: relative;
	margin: 0 auto;
	width: 540px;}
.outline::before{
	color: #fff;
	padding: 0 12px;
	background-color: #000;
	border: solid 1px #000;
	border-radius: 6px 6px 0 0;
    content: "Index";
    font-size: 1.4rem;
    position: absolute;
    top: -30px;
    left: 50%;
	transform: translateX(-50%);}
.outline p{
	text-align: center!important;}
@media screen and (max-width: 768px) {
	.outline{
		margin-top: 30px;
		width: 100%;}
}
/*備考*/
.note{
	box-sizing: border-box;
	padding: 18px 22px;
	border: double 4px #000;
	margin-top: 30px;
}
.note ul li{
	font-size: 1.4rem;
}
.note img{
	margin-top: 10px;
}
/*役員会等のご報告*/
/*table*/
#page-2300682712 tr td:nth-child(1) {
    background-color:var(--color-gray-2);
	text-align: center;
	width: 80px;
}
/*table 2段組*/
@media (max-width:768px){
	#page-2300682712 tr td:nth-child(1) {
		width: 100%;
	}
	#page-2300682712 table td {
		border-bottom: 0;
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	#page-2300682712 table tr td:last-child{
		border-bottom: 1px solid var(--color-gray-1);
	}
}
/* -------------------------------------------------------
フッター
------------------------------------------------------- */
.jtpl-section-aside__inner{
	padding: 30px;
}
.footer{
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	text-align: center;
}
/*.instagram{
	width: 1000px;
	margin: 0 auto;}*/
/* -------------------------------------------------------
ブログ
------------------------------------------------------- */
h1.j-blog-header{
	box-sizing: border-box;
	margin-top: 18px;
}
h1.j-blog-header::before {
    content: none!important;
}
h1.j-blog-header.j-blog-post--headline.j-blog-post--headline{
	margin-top: 0;
	margin-bottom: 15px;
}
h1.j-blog-header.j-blog-post--headline.j-blog-post--headline::before {
    content: none!important;
}
h2.j-blog-headline.j-blog-post--headline{
	padding: 0!important;
	margin: 1rem 0 0!important;
}
/*一覧ページ タイトル*/
h2.j-blog-headline.j-blog-post--headline::before{
	content:none;
}
.n.j-blog-meta.j-blog-post--header{
	margin-top: -10px;
}
.j-blog-meta a{
	text-decoration: none!important;
}
/*一覧ページ 日付ラベル*/
.j-blog.n.clearover.j-blogarticle .j-module.n.j-text:first-child {
	background-color: var(--color-gray-2);
	box-sizing: border-box;
	border-radius: 100vw;
	display: inline-block;
	font-size: 1.2rem;
	padding: 1px 10px;
}
/*詳細ページ 日付ラベル*/
.j-text.j-blog-post--date{
	background-color: var(--color-gray-2);
	box-sizing: border-box;
	border-radius: 100vw;
	display: inline-block;
	font-size: 1.2rem;
	margin-left: -5px;
	padding: 1px 10px;
}
/*詳細ページ　カテゴリラベル*/
.j-blog-post--category{
	display: none!important;
}
/*カテゴリー　一覧ページ　タイトル*/
.j-blog.n.clearover.j-blogarticle h1{
	color:#000!important;
	font-size: 2rem!important;
}
/*カテゴリー　一覧ページ　ラベル*/
a.j-blog-page--tag,
a:link.j-blog-page--tag,
a:visited.j-blog-page--tag{
	color: #000!important;
}
/*カテゴリー　ソート　一覧ページ　すべての記事を表示ラベル*/
#cc-matrix-2 a,
#cc-matrix-2 a:visited{
	color: #000!important;
}
/*ブログページ内の写真
.cc-page-blog img{
	margin-bottom: 1.6rem;
}
*/
/*ブログページのテキスト*/
.cc-page-blog .j-text p:last-of-type{ 
    margin-bottom: 1.6rem;
}
.cc-page-blog h2 {
	text-align: left!important;}
.cc-page-blog h2::before {
	left: 0;
    transform: translateX(0) ;
}

/* -------------------------------------------------------
PC/sp
------------------------------------------------------- */
@media (min-width:767px){
	.sp,
    .spNote,
	.sp-br{
		display: none!important;
	}
	.sp-br + span{
		margin-left: -5px;
	}
}
@media (max-width:768px){
    .j-module h2{
		font-size: 2.4rem!important;
	}
    .j-module h3{
		font-size: 2.0rem!important;
	}
	/*ハンバーガーメニュー
	.navigation-colors .navigation-colors__menu-icon,
	.navigation-colors .navigation-colors__menu-icon:before,
	.navigation-colors .navigation-colors__menu-icon:after{border-color:#fff}
    .navigation-colors .navigation-colors__menu-icon, .navigation-colors .navigation-colors__menu-icon:before, 
	.navigation-colors .navigation-colors__menu-icon:after {
        border-color: #fff;}*/
    /*PC表示のみ*/
	.pc{
        display: none!important;
	}
     /*SPのみ注釈*/
	.spNote{
		font-size: 14px;
		color: #9e9e9e;
	}
	
	/*テキスト改行調整*/
	p.text-inline span{
		display: inline-block;
	}
	p.text-inline{
		text-align: inherit;
	}

	/*ロゴ*/
	.jtpl-logo{
		width: 190px !important;
	}
}
