/* ------------------------------　　
	全体
------------------------------ */
#adminBox, .acms-admin-box{
	z-index: 100;
}


.acms-container{
	padding-left: 5vw;
	padding-right: 5vw;
}

.footer .acms-container{
	padding-left: 2vw;
	padding-right: 2vw;
}

.linkBtn, .linkBtn:visited, .entry-style a.linkBtn, .entry-style a.linkBtn:link, .btn-attention-block-large{
	background :none;
	border: #003B8F 1px solid;
	border-radius: 8px;
}

.btn-attention-block-large, .entry-style a.linkBtn, .entry-style a.linkBtn:link, .entry-style a.linkBtn:visited, .linkBtn, .linkBtn:visited{
	color: #003B8F;
	font-size: clamp(16px, 2vw, 20px);
	padding: 2vh 2vw;
	margin: 40px 0;
	display: flex;
	align-items: center;
	min-width: 14vw;
	padding: 2vh 1vw 2vh 2vw;
	justify-content: space-between;
	background: #FFF;
	position: relative;
	z-index: 111;
}

.button.is-bordered{
	background: #FFF;
	color: #003B8F;
	border: 1px solid #003B8F;
}

.button.is-bordered:any-link{
	color: #003B8F;
}

.button.is-rounded{
	border-radius: 8px;
}

.splide__progress {
  /* バー全体の背景色 */
  background: #e0e0e0;
}

.splide__progress .splide__progress__bar {
  /* 進捗を示すバーの色 */
  background: #35aca8;
  /* バーの高さ */
  height: 5px;
  /* アニメーションを滑らかにする設定 */
  transition: width 0.07s linear;
}

@media (min-width: 769px){
	body#top.TopPage{
		background-image: url('../images/symbol_bg-pc@2x.png');
		background-size: 950px;
		background-attachment: fixed;
		position: relative;
		margin-top: -30px;
		padding-top: 0px;
		background-repeat: no-repeat;
		background-position: right;
		background-size: 40%;
	}
}

/* プログレスバーのスタイル */
.splide__progress {
	background: #e0e0e0;
}
.splide__progress__bar {
	background: #007bff;
	height: 5px;
	width: 0; /* 開始点は幅0 */
}

/* 10秒かけて進むアニメーションを定義 */
@keyframes long-progress {
  from {
	width: 0%;
  }
  to {
	width: 100%;
  }
}

/* アニメーションを適用するためのクラス */
.is-animating .splide__progress__bar {
	animation: long-progress 10s linear;
	animation-fill-mode: forwards; /* アニメーション終了後、100%の状態を維持 */
}


/* SP版 */

@media (max-width: 769px){
	.BgLogo::before {
		content: "";
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background-image: url(../images/symbol_bg-pc@2x.png);
		background-repeat: no-repeat;
		background-position: right top;
		z-index: 0;
		background-size: 200px;
	}
	.splide__slide {
	  will-change: opacity;
	}
}




/* ------------------------------　　
	フォント
------------------------------ */

.acms-page-header .entry-title, .entry-style h2, .entry-style h3, .entry-style h2 span.bold, .entry-style h3 span.bold, .summaryEntryTitle, .page-title-wrapper .page-title, h2.categoryTitle, .telBtn, .main-slider-main-copy, .main-slider-side-copy, span.maxbig span.bold, span.bold span.maxbig, .page-description, .AccentTextHeader, .entry-style .AccentTitle__wrap .AccentTitle__text, .AccentTitle__deco, .entry-header-title, .media-title, .entry-style .entry-text-unit h4, .entry-style .GroupLink__title, .global-nav-item, .cta-round-title, .section-vertical-text, .card-title, .card-bordered-title, .section-horizontal-heading-side, .headline-text, .section-vertical-heading, .section-horizontal-heading, .section-horizontal-lead,p,a,tbody,section.contactblock {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.m-plus-1p-bold {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}



/* ------------------------------　　
	TOPページ
------------------------------ */
.main-visual{
	z-index: 2;
	margin-top: -150px;
	height: 100%;
}

div#main-visual-slider-pc{
	background: #FFF
}

.main-visual-bg{
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}

.main-visual-box{
	display: none;
}

.section-horizontal {
	flex-direction: column;
}

.TopPage #companyBack{
	background: #E0E7F1;
}

.TopPage .section.is-bg{
	background: #E5F7F6;
	margin-top: 6.5rem;
	padding-bottom: 12.5rem;
}

.SectionTopWrap .AccentTitle__wrap{
	align-items: start;
}

.SectionTopWrap .AccentContents__photoOutWrap {
	position: relative;
}

.SectionTopWrap h2{
	margin-left: 0;
}

.SectionTopWrap .AccentOutWrap.-accentAlignLeft{
	padding-left: 0;
}

.section-separator{
	border: none;
}

h2#about,h2#company {
	display: inline-block;
}

.TopPage .entry-style h2.AccentTitle__text{
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 1.5vw;
}

h2#about::after{
	content: '店舗ドックとは';
	font-size: 16px;
	color: #4D4D4D;
	font-weight: 500;
	padding-left: 2%;
}

h2#company::after{
	content: '企業情報';
	font-size: 16px;
	color: #4D4D4D;
	font-weight: 500;
	padding-left: 2%;
}

header.header{
	padding: 1vh 0px;
}

.TopEntry__outWrap{
	padding-top: 0;
}

.TopPage h2#about,.TopPage h2#company,.section-horizontal-header h2,.TopPage h2#summary_blog{
	color: #003B8F;
	font-size: clamp(32px, 3vw, 60px);
	border-bottom :none;
	font-weight: 600;
	margin-left: 0;
	background: none;
	padding: 0;
}

.TopPage h2.AccentTitle__text.AccentTitleStyle__none{
	color: #2C2C2C;
}

.TopPage h2#about,.TopPage h2#company,.section-horizontal-header{
	width: 100%;
}

.TopPage .SectionTopWrap .AccentOutWrap.-accentAlignLeft{
	border-top: 1px solid #A5A5A5;
	padding-right: 0;
	padding-top: 4vw;
}

.TopPage .custom_bgColor{
	margin-top: 0;
}

.TopPage .AccentOutWrap{
	padding-bottom: 10vh;
}


.BgContactBlue .global-nav-link,.BgContactBlue .global-nav-link:visited,.BgContactBlue .global-nav-link:active,
.BgContactBlue .global-nav-link:hover,.BgContactBlue .global-nav-link:focus{
	color: #FFF;
}

.TopPage .section-horizontal-main{
	width: 100%;
}

.TopPage .card-list{
	padding-top: 4vw;
}

.TopPage .section-vertical-header,.TopPage .section-horizontal-header {
	margin: 0;	
}

.TopPage .section-horizontal-header-inner,.TopPage .section-vertical-header{
	display: flex;
	align-items: center;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #A5A5A5;
}

.TopPage .section-horizontal-header-inner p,
.TopPage .section-vertical-header p {
	margin-bottom: -14px;
	margin-left: 2%;
	font-weight: 500;
}

a.button.is-width-lg.is-bordered.is-rounded {
	display: flex;
	justify-content: center;
	position: absolute;
	font-size: clamp(16px, 2vw, 20px);
	width: 14rem;
	margin-top: 0;
}

a.button.is-width-lg.is-bordered.is-rounded::after{
	position: relative;
	left: 35px;
}

.TopPage .card-footer{
	display: none;
}

.TopPage h2.card-title{
	margin-bottom: 0px;
}

.TopPage p.card-text {
	font-size: clamp(14px, 2vw, 18px);
}


a.linkBtn.AccentLinkStyle__normal::after,
.button.is-bordered:any-link::after,a.button.is-width-lg.is-bordered.is-rounded::after{
	content: '';
	background-image: url('../images/circle-arrow-right-thin-full.svg');
	background-size: 40px;
	background-repeat: no-repeat;
	width: 40px;
	height: 40px;
}

.TopPage .TopEntry__outWrap{
	padding-bottom: 0;
}

p.section-button {
	display: flex;
	justify-content: center;
}

.section-horizontal-main p.card-text,.js .js-animation.is-show .section-vertical-header::after {
	display: none;
}

.TopPage img.acms-img-responsive.card-img {
	width: 264px;
	height: 198px;
	object-fit: cover;
}

time.card-time{
	color: #4D4D4D;
	font-size: clamp(12px, 1.8vw, 14px);
}

h2.card-title{
	color: #003B8F;
	font-weight: 600;
}


button.splide__arrow.splide__arrow--next,
button.splide__arrow.splide__arrow--prev {
	display: none;
}

.TopPage .section-button .linkBtn,
.TopPage .section-button .linkBtn:visited{
	padding: 0.75rem 2.25rem;
}


/* タブレット版 */
@media (min-width: 600px) and (max-width: 1660px) {
	.TopPage .TopEntry__outWrap{
		padding-top: 100px;
	}
	.main-visual-bg.-showPc{
	height: 55vw;
	}
}

@media (min-width: 1611px){
	.main-visual-bg.-showPc{
		height: 55vw;
	}
	header.header{
		top: 40px;
	}
}

@media (max-width: 1660px) {
	.global-nav-mobile-icon-toggle-menu,.global-nav-mobile-icon-toggle-menu::before, .global-nav-mobile-icon-toggle-menu::after{
		background-color: #003B8F;
	}
	.global-nav-mobile-menu-text{
		color: #003B8F;
	}
	.global-nav-mobile-menu-btn{
		background: none;
	}
}


/* SP版 */

@media (max-width: 599px){
	.main-visual-bg.-showPc{
	height: 53vw;
	}
	header.header{
		position: relative;
		z-index: 1;
	}
	.main-visual{
		z-index: 0;
		margin-top: -28vw;
		margin-bottom: 10vw;
	}
	.main-visual-bg.-showSp{
		background-repeat: no-repeat;
		background-size: cover;
		background-position: bottom;
		height: 69vh;
	}
	.splide .splide__pagination{
		display: none;
	}
	.custom_bgColor.SectionTopWrap{
		padding-top: 0rem;
	}
	.acms-container{
		padding-right: calc(env(safe-area-inset-right) + 1rem);
		padding-left: calc(env(safe-area-inset-left) + 1rem);
	}
	.TopEntry__outWrap .AccentOutWrap,
	.TopPage .entry-style h2.AccentTitle__text{
		margin-right: 0;
	}
	.TopPage .SectionTopWrap .AccentOutWrap.-accentAlignLeft,.TopPage .card-list{
		margin: auto 24px;
	}
	.TopPage h2#about,.TopPage h2#company, .section-horizontal-header,
	.TopPage header.section-vertical-header{
		padding-right: 24px;
		padding-left: 24px;
		width: 85%;
		box-sizing: border-box;
	}
	.TopPage .AccentContents__wrap{
		width: 100% !important;
	}
	.TopPage .AccentOutWrap {
		padding-bottom: 5vh;
	}
	.TopPage .AccentContents__photoWrap{
		width: 100%;
	}
	.TopPage p.AccentText{
		font-size: 18px;
		line-height: 2;
	}
	.TopPage p.section-vertical-text{
		font-size: 14px;
		text-align: left;
	}
	.TopPage p.section-horizontal-heading-side{
		font-size: 16px;
		text-align: left;
	}
	.TopPage .section-vertical-header{
		align-items: flex-start;
		flex-direction: column;
	}
	.TopPage .SectionTopWrap .AccentOutWrap.-accentAlignLeft{
		padding-top: 10vw;
	}
	entry-style a.linkBtn, .entry-style a.linkBtn:link,.linkBtn{
		font-size: 20px;
		max-width: 60%;
		justify-content: space-evenly;
	}
	a.button.is-width-lg.is-bordered.is-rounded{
		font-size: 20px;
	}
	.TopPage .card-item{
		flex-basis: 50%;
		padding: 0;
		margin: 0;
	}
	.TopPage .card-list{
		padding-top: 12vw;
		border-top: 1px solid #A5A5A5;
	}
	.TopPage .section-horizontal-header-inner, .TopPage .section-vertical-header{
		border-bottom: none;
	}
	.TopPage img.acms-img-responsive.card-img{
		width: 168px;
		height: 126px;
	}
	.TopPage .card-img-wrap{
		margin-bottom: 8px;
	}
	.TopPage .card-item:nth-child(even){
		padding-left: 8px;
	}
	.TopPage .card-item:nth-child(odd){
		padding-right: 8px;
	}
	.TopPage .section {
		padding: 4rem 0;
	}
	.TopPage h2.card-title{
		font-size: 18px;
	}
	.TopPage .button.is-bordered.buttonBlue{
		background: #003B8F;
		color: #FFF;
	}
	.TopPage .button.is-width-lg.is-bordered.is-rounded.buttonBlue::after{
		content: '';
		background-image: url('../images/btn_arrow-white.svg');
		background-size: 40px;
		background-repeat: no-repeat;
		width: 40px;
		height: 40px;
	}
	.TopPage .section .acms-container{
		padding-left: 0;
		padding-right: 0;
	}
	.TopPage .section.is-bg{
		padding-bottom: 9.5rem;
		z-index: 2;
		position: relative;
	}
	.TopPage #companyBack{
		position: relative;
		z-index: 2;
	}
}






/* ------------------------------　　
	ヘッダー
------------------------------ */

.header-logo {
	max-height: 50px;
	margin-left: 15px;
}

.header-wrap{
	margin: 30px 70px;
}

.header{
	border-radius: 8px;
}

.is-expand > .global-nav-link::before{
	display: none;
}

.is-expand > .global-nav-link{
	padding: 0 0.55vw; 
}

.header .global-nav-link{
	height: 2.5rem;
	padding: 0;
	margin: 0;
}

.header .header-item-nav{
	font-size: clamp(16px, 2vw, 20px):
}

.header .global-nav-link::after{
	background: none;
}

.header .global-nav-item{
	margin: 0 2vw;
}

.header .global-nav-item.BgContactBlue{
	background-color: #003B8F;
	border-radius: 8px;
	margin-right: 40px;
}

.header .BgContactBlue .global-nav-link{
	padding: 0 0.55vw;
	margin: 0 0.5vw;
}


/* タブレット版 */

@media (min-width: 1001px) and (max-width: 1660px) {
	.header{
		max-width: 90%;
		position: relative;
		top: 40px;
		margin: 0 auto;
	}
	a#nav-open-btn {
		position: absolute;
		margin-top: 45px;
		right: 5%;
	}
}


@media (min-width: 599px) and (max-width: 1000px) {
	a#nav-open-btn {
		margin-top: 24px;
		right: 8%;
	}
	header.header {
	max-width: 90%;
	margin: 0 auto;
	}
	.header-wrap {
		margin: 24px 17px;
		margin-top: 50px;
	}
}



/* SP版 */

@media (max-width: 599px){
	.header{
		max-width: 90%;
		position: inherit;
		margin: 0 auto;
	}
	.header-wrap {
		margin: 24px 0px;
	}
	
	a#nav-open-btn {
		position: absolute;
		margin-top: 27px;
		right: 7%;
	}
	header.header{
		z-index: 100000;
	}
	.global-nav-mobile-menu-btn{
		z-index: 1000000;
	}
	.global-nav-mobile{
		background-color: rgba(0, 59, 139, 0.95);
	}
	.global-navOpen .footer-nav-link:link, .global-navOpen .footer-nav-link:visited, .global-navOpen .footer-nav-link:hover, .global-navOpen .footer-nav-link:active, .global-navOpen .footer-nav-link:focus,.global-navOpen .footer-nav-link{
		color: #FFF;
	}
	.global-navOpen .footer-nav-item .footer-nav-item::before {
		top: 0.8em;
		border: 1px solid #FFF;
		border-left: 7px solid #FFF;
	}
	.global-nav-mobile-inner a.global-nav-mobile-side-link,
	.global-nav-mobile-inner .footer-sns-group{
		display: none;
	}
	.global-nav-mobile{
		padding-top: 7rem;
	}
	.global-nav-mobile-navbar{
		align-items: start;
	}
	[aria-expanded=true] .global-nav-mobile-icon-toggle-menu::before {
		width: 1.8rem;
		transform: translate(0, 0.6rem) rotate(33deg);
	}
	[aria-expanded=true] .global-nav-mobile-icon-toggle-menu::after {
		width: 1.8rem;
		transform: translate(0, -0.2rem) rotate(-33deg);
	}
	.global-nav-mobile-icon-toggle-menu{
		margin-left: 14px;
	}
	.global-nav-mobile-icon-toggle-menu{
		width: 1.8rem;
	}
}



/* ------------------------------　　
	フッター
------------------------------ */

@media (min-width: 769px){
	.footer-group {
		flex-direction: column;
	}
	
	.footer .footer-item-nav .acms-grid{
		display: flex !important;
	}
	
	.footer .acms-col-md-8{
		width: inherit;
	}
}

.footer{
	border-top: none;
	background: none;
	margin-top: 0;
	padding-top:  6.5rem;
	position: relative;
	z-index: 1;
}

.footer-bottom{
	border: none;
}

.footer-group{
	border-bottom: 1px solid var(--color-gray30);
}

.footer-nav-link{
	color: #003B8F;
}

.footer-nav-group{
	margin-top: 20px;
}

.footer-nav-item .footer-nav-item::before{
	top: 0.8em;
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-left: 7px solid rgba(0, 0, 0, 0.3);
}

.footer-nav-group a{
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 600;
}

.footer-nav-group .footer-nav-item > .footer-nav-group a{
	font-size: clamp(12px, 1.8vw, 16px);
	font-weight: 400;
}

p.footer-copyright-text,.footer-bottom-sns a{
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 400;
}

.TopPage .footer{
	border-top: none;
}

.footer{
	border-top: 1px solid #A5A5A5;
}

.ul.footer-sns-group{
	display: none;
}

@media (min-width: 769px){
	.footer-item-nav div div:nth-child(1){
		width: 45%;
	}
	.footer-item-nav div div:nth-child(2),
	.footer-item-nav div div:nth-child(4),
	.footer-item-nav div div:nth-child(6){
		width: 33%;
	}
	
	.footer-item-nav div div:nth-child(3){
		width: 25%;
	}
	
	.footer-item-nav div div:nth-child(5){
		width: 18%;
	}
}

.BackTopBtn{
	position: fixed;
	bottom: 20px;
	right: 15px;
	z-index: 10000;
}



/* タブレット版 */
@media (min-width: 769px) and (max-width: 850px) {
	.footer-nav-group .footer-nav-item > .footer-nav-group a{
		font-size: clamp(11px, 1vw, 12px);
	}
}

@media (min-width: 851px) and (max-width: 1200px) {
	.footer-nav-group .footer-nav-item > .footer-nav-group a{
		font-size: clamp(12px, 1.6vw, 14px);
	}
}

/* SP版 */

@media (max-width: 769px){
	.footer-item-nav .acms-hide {
		display: block !important;
	}
	.footer-group{
		padding-top: 0;
	}
	.footer-company-logo{
		width: 80%;
	}
	.footer-company-title{
		text-align: center;
	}
	.footer-bottom-sns{
		display: block;
	}
	address.footer-address{
		display: none;
	}
	.footer-bottom-inner{
		display: flex;
		justify-content: space-between;
	}
	.footer-nav-group a{
		font-size: 20px;
		font-weight: 600;
	}
	.footer-nav-item .footer-nav-item .footer-nav-link{
		font-size: 16px;
		font-weight: 400;
	}
	.footer-group .footer-item{
		padding-left: 24px;
	}
	.footer-company-title{
		margin: 0 0 2rem;
	}
	.BackTopBtn img{
		width: 40px;
	}
	.is-opened .footer-nav-item .footer-nav-item .footer-nav-link:hover,
	.is-opened .footer-nav-item .footer-nav-item .footer-nav-link:visited{
		color: #FFF;
	}
	.footer{
		padding-top: 120px;
	}
	.BackTopBtn{
		bottom: 42px;
		right: 22px;
	}
}


/* ------------------------------　　
	一覧ページ
------------------------------ */

.page-title-inner{
	padding-top: -9vw;
	background: #003B8F;
}

.page-title-inner .acms-container{
	margin-top: 8vw;
}

h1.page-title,.page-title-wrapper .page-title-en{
	color: #FFF;
}

.page-title-wrapper{
	background: none;
	height: 25vw;
}

section.cta-visual.js-animation.is-md.is-cta-margin-top.is-show,
nav.topicpath{
	display: none;
}

.CategoryPage .topicpathEntry{
	display: none;
}

.CategoryPage .acms-container{
	margin-top: 5vw;
}

.CategoryPage .GroupLink__textAndLinkWrap{
	padding: 0;
}

.CategoryPage .GroupLink__linkOut,
.CategoryPage .media-link{
	box-shadow: none;
	border-bottom: none;
}


.CategoryPage .GroupLink__labelWrap {
	display: flex;
	margin-top: 24px;
}

.CategoryPage .GroupLink__title{
	text-align: start;
	color: #003B8F;
	font-size: 20px;
	padding-top: 0;
}

.CategoryPage .GroupLink__btn{
	background: #003B8F;
}

.CategoryPage .GroupLink__imgWrap{
	border-radius: 8px;
	max-width: 100%;
}

.CategoryPage .GroupLink__img{
	width: 100%;
	object-fit: cover;
	overflow: hidden;
	aspect-ratio: 384 / 288;
}

.Category__about .GroupLink__OutWrap.-imgTop .GroupLink__summary,
.Category__company .GroupLink__OutWrap.-imgTop .GroupLink__summary,
.Category__about .media-time,
.Category__company .media-time {
	display: none;
}


.Category__media .GroupLink__OutWrap.-imgTop p.GroupLink__summary,
.Category__blog .GroupLink__OutWrap.-imgTop p.GroupLink__summary,
.Category__column .GroupLink__OutWrap.-imgTop p.GroupLink__summary{
	text-align: start;
	font-size: 18px;
}


@media (min-width: 769px){
	.CategoryPage .acms-container{
		max-width: 90%;
	}
}

/* SP版 */

@media (max-width: 769px){
	.CategoryPage .GroupLink__OutWrap{
		margin-top: 80px;
	}
	.CategoryPage li.GroupLink__list{
		padding: 0 24px;
	}
	.CategoryPage .GroupLink__OutWrap.-imgTop .GroupLink__summary {
		text-align: start;
		display: block;
		font-size: 18px;
		padding-bottom: 40px;
		margin-bottom: 40px;
		border-bottom: 1px solid #A5A5A5;
	}
	.CategoryPage .media-time{
		font-size: 19px;
	}
}


/* ------------------------------　　
	詳細ページ
------------------------------ */
p.page-title,.entry-style h2{
	color: #FFF;
}

.entry-header-title::before{
	background: #003B8F;
}

.entry-style h2{
	background: #003B8F;
	padding: 0.25em 0.75em;
	border-bottom: none;
}


.entry-style h3.bgColor{
	border-bottom: 3px solid #003B8F;
	color: #003B8F;
	text-shadow: none;
	margin-top: 20px;
}


.entry-style h3.bgColor::before{
	background: none;
}

.entry-style .entry-text-unit h4 {
	border-bottom: 1px dashed #003B8F;
	color: #003B8F;
	font-weight: 600;
}

.entry-style .AccentTitle__wrap .AccentTitle__text{
	color: #003B8F;
}

.linkBtn.origin, .entry-style a.linkBtn.origin, .entry-style a.linkBtn.origin:link{
	background:#003B8F;
	color: #FFF;
	justify-content: center;
}

.linkBtn.origin:hover, .linkBtn.origin:active, .entry-style a.linkBtn.origin:hover, .entry-style a.linkBtn.origin:hover{
	background:#003B8F;
	justify-content: center;
}

.entry-style .linkBtnWrap{
	display: flex;
}

.linkBtnWrap.center{
	justify-content: center;
}

.linkBtnWrap.left{
	justify-content: left;
}

.linkBtnWrap.right{
	justify-content: right;
}

.entry-style a.linkBtn.big {
	font-size: 1.25rem;
	min-width: 18vw;
	justify-content: center;
	padding: 2vh 2vw 2vh 2vw;
}

.entry-style a.linkBtn.mini {
	font-size: 0.75rem;
	min-width: 10vw;
	justify-content: center;
	padding: 2vh 2vw 2vh 2vw;
}

.entry-style a.linkBtn.medium{
	justify-content: center;
	padding: 2vh 2vw 2vh 2vw;
}

.page-title-inner .acms-container{
	display: flex;
	flex-direction: column-reverse;
}

.page-title-inner .acms-container .page-title-en{
	font-size: clamp(32px, 4.6vw, 50px);
	text-transform: uppercase;
	font-weight: 500;
}

.page-title-inner .acms-container .page-title{
	font-size: clamp(16px, 2.6vw, 18px);
}

.topicpathEntry nav.topicpath{
	display: block;
}

.page-title-wrapper{
	margin-bottom: 0;
	margin-top: -150px;
}

.entry-header-time{
	display: none;
}

.acms-container.containerEntry{
	margin-top: 5vw;
}

.serial-nav .upperLink .acms-icon-sort{
	color:#003B8F;
}

.serial-nav .upperLink a, .serial-nav .upperLink a:visited{
	background:none;
	border: 1px solid #003B8F;
}

.upperLink a span{
	font-weight: 400;
}

.CategoryPage .GroupLink__list{
	padding: 0 8px;
}

.CategoryPage .GroupLink__linkOut{
	margin: 0;
}



/* SP版 */

@media (max-width: 769px){
	.page-title-inner .acms-container{
		margin-top: 24vw;
	}
	.page-title-inner{
		top: 10vw;
	}
	.page-title-wrapper {
		margin-bottom: -14vw;
	}
	.entry-style a.linkBtn.medium{
		padding: 3vh 7vw 3vh 7vw;
	}
	.entry-style a.linkBtn.big {
		padding: 3vh 10vw 3vh 10vw;
	}
	.topicpathEntry {
		margin-top: 24vw;
	}
	.page-title-inner .acms-container .page-title-en{
	font-size: clamp(24px, 3.6vw, 32px);
	}
	.TopPage .topicpathEntry{
		display: none;
	}
}

/*  お問い合わせ
------------------------------ */
.Entry__79 section.contactblock{
	display: none;
}

#contactBefore{
	color: #333;
	background: none;
	position: relative;
	padding-left: 0;
	margin-left: 0;
	margin-bottom: 50px;
}

#contactBefore::before{
	position: absolute;
	bottom: -1rem;
	left: 0;
	display: block;
	width: 3.5rem;
	height: 4px;
	background: var(--color-primary);
	content: "";
}


.form-group input[type=email2]{
	box-sizing: border-box;
	padding: 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 3px;
	background: #f9f9f9;
	color: var(--color-gray100);
}

.form-group input[type=email2]::placeholder{
	color: #b7b7b7;
}

@media screen and (min-width: 48rem){
	.form-group input[type=email2]{
		padding: 0.75rem;
	}
}

/*  2025/09/30　指示あり追記
------------------------------ */
.TopPage .card-list img{
	display: none;
}

.footer-item-nav div div:nth-child(4) ul.footer-nav-group ul.footer-nav-group,
.footer-item-nav div div:nth-child(6) ul.footer-nav-group ul.footer-nav-group, .footer-item-nav div div:nth-child(3) ul.footer-nav-group ul.footer-nav-group, .footer-item-nav div div:nth-child(5) ul.footer-nav-group ul.footer-nav-group{
	display: none;
}

.CategoryPage .acms-container,.Category__contact .page-title-inner .acms-container {
	margin-top: 100px;
}

.Category__contact .form-button-group{
	margin-bottom: 50px;
}

header.header{
	position: fixed;
}

.CategoryPage h2.GroupLink__title{
	margin-bottom: 50px;
}

@media (min-width: 769px){
	.footer-item-nav div div:nth-child(3),.footer-item-nav div div:nth-child(4),
	.footer-item-nav div div:nth-child(5),.footer-item-nav div div:nth-child(6) {
		width: 22%;
	}
	.EntryPage .page-title-inner .acms-container .page-title-en{
		font-size: 38px;
	}
}



@media (max-width: 769px){
	header.header{
		max-width: 90%;
		margin: 0 auto;
	}
	a#nav-open-btn{
		position: fixed;
	}
	.header-wrap{
		margin: 24px 17px
	}
}

/*  2025/10/1　指示あり追記
------------------------------ */
.entry-style p{
	line-height: 1.9;
}

.EntryPage .entry-style p{
	font-size: 18px;
	margin: 0 24px;
	padding-bottom: 30px;
}

.global-nav-mobile-navbar .global-nav-mobile-side-item{
	display: none;
}


.EntryPage .page-title-inner .acms-container{
	margin-top: 100px;
	max-width: 90%;
}

.EntryPage .page-title-inner .acms-container .page-title-en{
	font-size: clamp(32px, 4.6vw, 50px);
}

.EntryPage .topicpathEntry {
	margin-bottom: 50px;
}

.footer-company-logo{
	width: 300px;
}

.EntryPage .page-title-en .mini-title{
	font-size: clamp(16px, 2.6vw, 18px);
	display: block;
}

@media (min-width: 769px){
	a.button.is-width-lg.is-bordered.is-rounded:hover,
	a.linkBtn.AccentLinkStyle__normal:hover,
	.button.is-bordered:any-link:hover,
	a.button.is-width-lg.is-bordered.is-rounded:hover{
		background: #003B8F;
		color: #FFF;
	}	
	a.linkBtn.AccentLinkStyle__normal:hover::after, .button.is-bordered:any-link:hover::after, a.button.is-width-lg.is-bordered.is-rounded:hover::after{
		background-image:url(../images/circle-arrow-right-thin-hover.svg);
	}
}


@media (max-width: 769px){
	.footer [class*=acms-col]{
		padding-left: 24px;;
	}
	.footer .acms-col-md-3{
		padding-left: 0;
	}
	.footer .acms-grid{
		margin: 0;
	}
	.EntryPage .page-title-inner .acms-container{
		padding-left: 0;
	}
	.EntryPage .page-title-inner .acms-container .page-title-en{
		font-size: clamp(24px, 3.6vw, 32px);
	}
	.EntryPage .page-title-inner .acms-container .page-title-en::after{
		font-size: clamp(16px, 2.6vw, 18px);
	}
	.EntryPage .topicpathEntry {
		margin-bottom: 40px;
	}
	.EntryPage .container-sm{
		padding-left: 24px;
		padding-right: 24px;
	}
	#contactBefore{
		margin-left: 12px;
	}
	.footer-company-logo{
		width: 300px;
	}
	.entry-style .entry-text-unit h2{
		margin-left: 24px;
		margin-right: 24px;
	}
	.entry-style h3.bgColor {
		font-size: 22px;
		margin-left: 24px;
		margin-right: 24px;
	}
	.entry-style .entry-text-unit h4{
		font-size: 20px;
		
	}
}