@charset "UTF-8";


/*-------------------------------------リセット/設定------------------------------------- */

*, *:before, *:after {
	min-height: 0vw; /*safariのclamp()不具合防止*/
}

html{
	scroll-behavior: smooth;
}

body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}


/*投稿内(エディターとフロント )以外の要素    .post-areaはフロント投稿内のクラス .editor-styles-wrapperはエディター */
:where(*):not(.editor-styles-wrapper *,.post-area *,.post-area),:where(*):not(.editor-styles-wrapper *,.post-area *,.post-area)::after,:where(*):not(.editor-styles-wrapper *,.post-area *,.post-area)::before{
	padding:0;
	margin: 0;
}

/* 投稿エディターに左右の余白を入れる */
.is-root-container {
	padding-right: var(--wp--style--root--padding-right);
	padding-left: var(--wp--style--root--padding-left);
}
.is-root-container :where(.has-global-padding) {
	padding-right: 0;
	padding-left: 0;
}
.is-root-container > .alignfull {
	margin-right: calc(var(--wp--style--root--padding-right) * -1);
	margin-left: calc(var(--wp--style--root--padding-left) * -1);
}
.is-root-container :where(.has-global-padding) > .alignfull {
	margin-right: 0;
	margin-left: 0;
}




/*contactform7 ホームボタンのズレ防止*/
div.wpcf7 .wpcf7-spinner {
    display: none !important;
}



/*postのスマホサイズの変形防止*/
img[class*="wp-image-"][style*="height\:"]{
	height:auto !important;
}



/*　hover */
@media (hover:hover) /* hoverできるデバイスのみ */ {
	a:hover, input[type="submit"]:hover, button:hover{
		opacity: 0.5;
	}
	
	a, input, textarea, button{
  		transition: all 0.15s ease-in-out;
	}
}






/*　-------------------------------------共通------------------------------------- */



a:where(:not(.wp-element-button)){
	text-decoration: none;
}


/*--共通指定--*/

:root{
	--side-l: max(2vw,calc( (100vw - 1340px) / 2));  /*左右の余白*/
	--side-m: max(10vw, calc( (100vw - 1000px) / 2) ); 
	--header-height: 130px; /*ヘッダーの高さ*/
}

@media (max-width: 960px) /* タブレット以下 */{
	:root{
		--side-l: 5vw; 
		--side-m: 5vw;
		--header-height: 80px; 
	}
	
}

/*containerの幅*/
.container-l{
	margin: 0 var(--side-l);
}

.container-m{
	margin: 0 var(--side-m);
}

/*ページの上の余白*/
.main-container{
	margin-top: clamp(80px, 55px + 4.405vw, 117px);
}



/*タイトル*/
.top-title{
	font-size: clamp(36px, 25px + 2.024vw, 53px);
	font-weight: 400;
	text-align: center;

}

.top-title span{
	display: block;
	font-size: clamp(15px, 13px + 0.357vw, 18px);
	border-top: solid 1px rgba(255,255,255,0.3);
	line-height: 2.5;
	
}


/*レスポンシブ改行*/
.sp-only{
	display: none;
}

.sptb-only{
	display: none;
}

.tb-only{
	display: none;
}

@media (max-width: 1200px) /* 改行調節 */{
	.sptb-only{
		display: block;
	}
	
	.tb-only{
	display: block;
	}
}

@media (max-width: 560px) /* 改行調節 */{
	.sp-only{
		display: block;
}
	.tb-only{
	display: none;
	}
}


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

.header-container{
	background:rgba(0,0,0,0.4);
	height: var(--header-height);
	display: grid;
	align-items: center;
	z-index: 1000;
	position: fixed;
	width: 100%;
}

.header-bar{
	display: flex;
	align-items: center;
	
}

.header-logo{
	width: 77px;
	height: auto;
	margin-right: auto;
}

.header-logo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.header-nav ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.1em 0.7em;
	margin:  0 1em;
	font-size: clamp(15px, 1px + 1.458vw, 22px);
}

.header-tel-no{
	font-size: clamp(18px, 7px + 1.136vw, 23px);
	border: solid 1px;
	padding: 0.3em;
	white-space: nowrap;
	display: flex;
	align-items: center;
}

.header-tel-no::before{
	content: "";
	height: 1.3em;
	width: 1em;
	background-image: url("../img/icon-tel.svg");
	background-size: cover;
	background-repeat: no-repeat;
	display: block;	
	margin-right: 5px;
}

.sp-menu-btn{
	display: none;
}

.header-nav-sp-container{
	display: none;
}
	

@media (max-width: 960px) /* タブレット、スマホヘッダー */ {
	
	.header-nav{
		display: none;
	}
	
	.header-tel{
		display: none;
	}
	
	.sp-menu-btn{
		display: block;
	}
	
	.header-nav-sp-container{
		display: block;
	}
	
	/*　ナビボタン　*/
	.openbtn{
		position: absolute;
		right: 0;
		background: transparent;
		cursor: pointer;
		width: 80px;
		height:80px;
		border: none;
	}

	.openbtn span{
    	display: inline-block;
    	transition: all .2s;
		position: absolute;
    	left: 22px;
		height: 3px;
    	border-radius: 2px;
		background: #fff;
  		width: 45%;
 	}

	.openbtn span:nth-of-type(1) {
		top:35%;	
	}

	.openbtn span:nth-of-type(2) {
		top:50%;
	}

	.openbtn span:nth-of-type(3) {
		top:65%;
	}

	/*activeクラスでxにする*/
	.openbtn.active span:nth-of-type(1) {
		position: absolute;
  		top: 50%;
  		left: 50%;
		width: 30px; 
  		height: 3px;
  		border-radius: 2.5px; 
		transform: translate(-50%,-50%) rotate(40deg);
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3){
		position: absolute;
  		top: 50%;
  		left: 50%;
  		width: 30px; 
  		height: 3px; 
  		border-radius: 2.5px;
		transform: translate(-50%,-50%) rotate(-40deg);
	}
	
	
	/*スマホメニュー*/
	.header-nav-sp{
		display: none;
	}
	
	.header-nav-sp{
		background-color: #000;
		position: fixed;
		z-index: 999;
		padding-top: var(--header-height);
		width: 100%;
		height: 100vh;
		height: 100dvh;
	}
	
	.header-nav-list {
		text-align: center;
	}
	
	.header-nav-list ul{
		list-style: none;
		display: grid;
		height: 60vh;
		font-size: 16px;
		margin-bottom: 30px;
		align-items: center;
	}
	
	.header-contact-sp{
		display: grid;
		gap: 10px;
	}
	
	.header-tel-no-sp{
		border: solid 1px;
		padding: 0.3em;
		display: flex;
		justify-content: center;
		font-size: 16px;
		align-items: center;
	}
	
	.header-tel-no-sp::before {
		content: "";
		height: 1.3em;
		width: 1em;
		background-image: url("../img/icon-tel.svg");
		background-repeat: no-repeat;
		display: block;
		margin-right: 15px;
	}
	
}

	

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

.footer-container{
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px 30px;
	margin-top: 97px;
	margin-bottom: 97px;
}


.footer-logo{
	width: clamp(100px, 51px + 8.69vw, 173px);
	height: auto;
}

.footer-logo img{
	height: 100%;
	width : 100%;
	object-fit: contain;
}

.footer-nav{
	justify-self: end;
}

.footer-nav ul{
	list-style: none;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(3, 1fr);
	grid-template-columns: repeat(3, auto);
	gap:0 2em;
	font-size: clamp(16px, 7px + 1.548vw, 29px);
}


.footer-contact{
	display: grid;
	gap: 20px;
}

.footer-tel, .footer-mail{
	border: solid 1px;
	padding: 0.3em 0.5em;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(20px, -6px + 2.708vw, 33px);
	height: 60px;
}

.footer-mail{
	font-size: clamp(16px, 12px + 0.417vw, 18px);
}


.footer-tel::before{
	content: "";
	height: 1.3em;
	width: 1.3em;
	background-image: url("../img/icon-tel.svg");
	background-repeat: no-repeat;
 	background-size: contain;
	display: block;	
	margin-right: 5px;
}

.footer-mail::before{
	content: "";
	height: 1.5em;
	width: 2em;
	background-image: url("../img/icon-mail.svg");
	background-repeat: no-repeat;
 	background-size: contain;
	display: block;	
	margin-right: 20px;
}

.footer-copyright{
	text-align: center;
	font-size: clamp(14px, 4px + 1.786vw, 29px);
	padding-bottom: 1em;
}


@media (max-width: 1100px) /* フッター調節 */ {
	.footer-container{
		grid-template-columns: 1fr auto;
		margin-top: 50px;
		margin-bottom: clamp(30px, 9.259px + 3.704vw, 50px);
	}
	
	.footer-nav ul{
		    grid-template-columns: repeat(3, 1fr);
	}
	
	.footer-nav{
		grid-column: 1/2;
		justify-self: start;
	}
}


@media (max-width: 830px) /* スマホ */ {
	.footer-container{
		grid-template-columns: 1fr ;
	}
	
	.footer-tel, .footer-mail {
	    justify-content: center;
	}
	
	.footer-nav ul{
		display: flex;
		flex-wrap: wrap;
		gap: 1em;
}
	
	.footer-contact{
		gap: 10px;
	}

}






/*　-------------------------------------トップページ------------------------------------- */


/*fv*/

/*サンプルの画像　動画に変える*/
.fv-video{
	width: 100%;
	height: 100vh;
	max-height: clamp(350px, -50px + 71.429vw, 950px);
	position: relative;

}

.fv-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
.fv-video::before, .fv-video::after{
	content: "";
	display: block;
	width: 100%;
	height: 100vh;
	max-height: clamp(350px, -50px + 71.429vw, 950px);
	z-index: 1;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}

.fv-video::before{
	background-image: url(../img/fv-top.webp);
	background-position: top left;
	top:0;
}

.fv-video::after{
	background-image: url(../img/fv-bottom.webp);
	background-position: bottom right;
	bottom: 0;
}

*/

@media (max-width: 960px) /* タブレット */ {
	.fv-video{
		padding-top: var(--header-height);
		height: auto;
		max-height: none;
	}

	.fv-video video{
		width: 100%;
		height: auto;
	}
	
	/*.fv-video::before{
	top: var(--header-height);
}*/
}



/*トップのテキスト*/
.top-text-container{
	margin-bottom: 100px;
}

.top-text{
	writing-mode: vertical-rl;
	text-orientation: upright; 
	max-height: 704px;
	min-height: 550px;
	height: 75vh;
	margin: 0 auto;
}

.top-text-title{
	/*font-size: clamp(32px, 21px + 2.024vw, 49px);*/
	font-size: clamp(32px, 10px + 3.864vw, 49px);
	margin-left: 1.6em;
	font-weight: 500;
	line-height: 1.5;
	word-break: keep-all;
	white-space: pre-line;
	
}

.top-text-text{
	/*font-size: clamp(16px, 13px + 0.595vw, 21px);*/
	font-size: clamp(16px, 10px + 1.136vw, 21px);
	line-height: 2.3;
	letter-spacing: 0.08em;
}

.top-text-text .to{
	writing-mode: horizontal-tb;
	line-height: 1.5;
}

.top-text-text .dq01{
	display: inline-block;
	transform:  translateX(0.5em) translateY(-0.2em) rotate(180deg);
}

.top-text-text .dq02{
	display: inline-block;
	transform: translateX(-0.5em) translateY(-0.2em)  rotate(180deg);
}


/*news*/

.top-news-container{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(50px, 30px + 3.571vw, 80px) clamp(30px, -16px + 8.333vw, 100px); 
	margin-top: 45px;
}


.neaws-box{
	display: grid;
	grid-template-columns: 1fr 2.2fr;
	gap: 16px;
}

.news-box-img{
	grid-column: 1/2;
	grid-row: 1/2;
}

.news-box-img img{
	object-fit: cover;
	aspect-ratio: 1/1;
	width: 100%;
}

.news-box-content{
	grid-column: 2/4;
	grid-row: 1/2;
	align-self: end;
	font-size: clamp(15px, 13px + 0.357vw, 18px);
	font-weight: 400;
}

.news-box-data{
	display: flex;
	gap: 1em;
	margin-bottom: 0.3em;
}

.news-box-title{
	font-size: clamp(15px, 13px + 0.357vw, 18px);
	font-weight: 400;
}


/*お知らせはありません*/
.no-post-top{
	font-size: clamp(15px, 13px + 0.357vw, 18px);
	font-weight: 400;
	text-align: center;
	grid-column: 1/-1;
	grid-row: 1/-1;
}


/*各部署の仕事内容*/
.topwork{
	padding: clamp(100px, 15px + 15.119vw, 227px) 0;
	background-image: url("../img/top-back01.webp");
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.top-title-topwprks{
	margin-bottom: clamp(30px, 10px + 3.571vw, 60px);
}

@media (hover:hover) /* hoverできるデバイスのみ */ {
	.top-works-link:hover{
		filter: brightness(130%);
		opacity: 1;
	}

	/*safariのみ*/
	::-webkit-full-page-media, :future, :root .top-works-link:hover{
		opacity: 0.8;
	}
}


/*求人案内*/
.top-recruit-link{
	background-image: url("../img/recruit.jpg");
	display: block;
	height: clamp(400px, 214px + 33.214vw, 679px);
	background-size: cover;
	background-position: center;
	position: relative;
	display: grid;
	align-items: center;
}

.top-recruit-link::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.6);
}

.top-title-recruit{
	z-index: 200;
	position: relative;
}



/*スタッフインタビュー*/
.topinterview{
	padding-top: 128px;
	padding-bottom: clamp(80px, 40px + 7.143vw, 140px);
	background-image: url("../img/top-back02.webp");
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.top-title-topinterview{
	margin-bottom: 50px;
}

.topinterview-img{
	display: block;
}

.topinterview-img img{
	width: 100%;
	height: auto;
}


@media (hover:hover) /* hoverできるデバイスのみ */ {
	.topinterview-img:hover{
		filter: brightness(130%);
		opacity: 1;
	}

}

@media (max-width: 960px) /* タブレット */ {
	.top-text-text{
		line-height: 2.2;
	}
}

@media (max-width: 660px) /* スマホ */ {
	/*トップのテキスト*/
	.top-text{
		writing-mode: horizontal-tb;
		height: auto;
	}
	
	.top-text-title{
		margin-left: 0;
		margin-bottom: 1em;
	}
		.top-text-text{
		line-height: 2;
	}
	
	
	.top-text-text .dq01{
	display: inline-block;
	transform: none;
}

.top-text-text .dq02{
	display: inline-block;
	transform: none;
}

	
	
	
	
	
	/*ニュース*/
	.top-news-container{
		grid-template-columns: 1fr;
	}

	.topinterview-container{
		grid-template-columns: 1fr 1fr;
	}
	
	/*背景調節*/
	.topwork{
		background-size: 150% auto;
	}
	
	.topinterview{
		background-size: 150% auto;
	}
}




/*　-------------------------------------下層ページ------------------------------------- */




/*　---------------------下層ページ---共通fv------------------------------ */

.subpage-fv{
	display: grid;
	height: 100vh;
	max-height: clamp(350px, -50px + 71.429vw, 950px);
}

.subpage-fv::after{
	content: '';
	background-color: #000;
	opacity: 0.5;
	grid-column: 1/2;
	grid-row: 1/2;
}

.subpage-fv::before{
	content: '';
	background-image: url("../img/page-fv-decoration.png");
	background-size: auto 100%;
    background-repeat: no-repeat;
	grid-column: 1/2;
	grid-row: 1/2;
	z-index: 1;
}

.subpage-fv-img{
	width: 100%;
	grid-column: 1/2;
	grid-row: 1/2;
}

.subpage-fv-img img{
	object-fit: cover;
	width: 100%;
	height: 100%;
	filter: grayscale(100%);
}


/*下層ページ共通fvタイトル*/
.subpage-title{
	grid-column: 1/2;
	grid-row: 1/2;
	align-self: center;
	margin-top: var(--header-height);
	z-index: 1;
}

.subpage-title-en{
	font-size: clamp(35px, 0px + 6.25vw, 90px);;
	font-weight: 400;
	margin-bottom: 3px;
	padding: 0 clamp(18px, -90px + 19.286vw, 180px);
}

.subpage-title-ja{
	font-size: clamp(18px, 1px + 3.095vw, 44px);
	margin-top: 0.3em;
	padding: 0 clamp(18px, -90px + 19.286vw, 180px);
}

.subpage-title-line{
	background: rgb(105,99,88);
	background: linear-gradient(90deg, rgba(105,99,88,1) 0%, rgba(242,226,191,1) 37%, rgba(105,99,88,1) 63%, rgba(242,226,191,1) 79%, rgba(105,99,88,1) 100%);
	height: 2px;
	width: 100%;
}




/*　---------------------下層ページ---共通サブタイトル--------------------------- */

.subpage-contents-title{
	font-size: clamp(32px, 20px + 2.024vw, 44px);
	font-weight: 400;
	text-align: center;
	margin-bottom: 30px;
	/*text-wrap: balance;*/
	line-height: 1.5;
}

.subpage-contents-title span{
	font-size: clamp(15px, 13px + 0.357vw, 18px);
	display: block;
	line-height: 1.7;
	margin-top: 1em;
}




/*　---------------------下層ページ---共通背景--------------------------- */
.page-backimg{
	background-image: url(../img/page-back.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@media (max-width: 560px) /* スマホ */ {
	.page-backimg{
    	background-size: 150% auto;
	}
}

/*　---------------------下層ページ---仕事案内テンプレート----------------------------- */

.page-contents{
	margin-bottom: clamp(80px, 20px + 10.714vw, 170px);
}


.subpage-contents-box{
	display: flex;
	gap: 30px 60px;
	margin-bottom: 82px;
}

.subpage-contents-box-text{
	font-size: clamp(14px, 5px + 1.591vw, 21px);
	font-weight: 400;
	line-height: 2.5;
	letter-spacing: 0.25em;
	font-feature-settings: "palt";
	text-align: justify;
}

/*会社情報ページ*/
.subpage-contents-box-text.subpage-contents-box-text-company,
.subpage-contents-box-text.recruit-text-top
{
	line-height: 2;
	letter-spacing: 0.05em;
}

.subpage-contents-box img{
	width: 100%;
	object-fit: cover;
}

.subpage-contents-box-img01{
	width: 39%;
	flex-shrink: 0;
}

.subpage-contents-box-img01 img{
	aspect-ratio: 1/1;	
}

.subpage-contents-box-img02{
	width: 50%;
	flex-shrink: 0;
}

.subpage-contents-box-img02 img{
	aspect-ratio: 51/35;	
}


@media (max-width: 560px) /* スマホ */ {
	.subpage-contents-box{
		flex-direction: column;
	}
	
	.subpage-contents-box-img01{
		width: 100%;
	}
	
	.subpage-contents-box-img01 img{
		aspect-ratio: 2/1;
	}
	
	.subpage-contents-box-bottom{
		flex-direction: column-reverse;
	}
	
	.subpage-contents-box-img02{
		width: 100%;
	}
	
	.subpage-contents-box-img02 img{
		aspect-ratio: 2/1;
	}
	
}



/*　---------------------下層ページ---求人情報------------------------------ */


.recruite-contents{
	display: grid;
	gap: 3em;
	margin-bottom: clamp(100px, 15px + 15.119vw, 227px);
}

.recruit-text-bottom{
	max-width: 604px;
	justify-self: center;
}

.recruit-link-container{
	text-align: center;
	margin-top: 2em;
}
				
.recruit-link{
	font-size: clamp(16px, 7px + 1.591vw, 30px);
	background-color: #fff;
	color: #000;
	padding: 0.5em 1em;
}
				
.recruit-link-text{
	font-size: clamp(14px, 3px + 2.045vw, 32px);
	margin-top: 0.5em;
}

/*　---------------------下層ページ---会社情報------------------------------ */


.company-representative-container{
	display: grid;
	grid-template-columns: 1fr 1.8fr;
	gap: 20px;
}

.company-representative-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/*会社情報*/
.company-profile{
	margin-bottom: clamp(80px, 20px + 10.714vw, 170px);
}

.sub-title-company{
	margin-bottom: clamp(30px, 10px + 3.571vw, 60px);
}

.conpany-profile-table{
	max-width: 880px;
	margin: 0 auto;
	border-collapse:collapse;
	font-size: clamp(16px, 11px + 0.833vw, 23px);
}

.conpany-profile-table th{
	border-right: solid 1px;
	text-align: right;
	font-weight: 400;
	padding-right: 1.5em;
	letter-spacing: 0.2em;
	line-height: 2;
}

.conpany-profile-table td{
	letter-spacing: 0.2em;
	padding-left: 1.5em;
	line-height: 2;
	word-break: keep-all;
}


/*アクセス*/
.company-access{
	margin-bottom: clamp(80px, 20px + 10.714vw, 170px);
}

.company-map iframe{
	width: 100%;
	 height: clamp(350px, 130px + 39.286vw, 680px);
}

.company-access-address{
	text-align: center;
	font-size: clamp(16px, 11px + 0.833vw, 23px);
	margin-top: 15px;
}


@media (max-width: 560px) /* スマホ */ {
	.conpany-profile-table{
		width: 100%;
	}
	
	.conpany-profile-table th{
		width: 100%;
		display: block;
		text-align: left;
		border-right: none;
		border-bottom: solid 1px;
		padding-top: 0.8em;
	}
	
	.conpany-profile-table td{
		width: 100%;
		display: block;
		padding-left: 1em;
	}
}


/*　---------------------お問い合わせ---------------------------- */

.contact-title{
	padding-top: calc( var(--header-height) + 60px);
	text-align: center;
	margin-bottom: 90px;
}

.contact-set{
	display: flex;
	justify-content: space-between;
	gap: 47px;
	margin-bottom: 130px;
}

.contact-box{
	background-color: #fff;
	color: #000;
	text-align: center;
	padding: clamp(15px, 3px + 2.159vw, 34px) 10px;
	width: 100%;
	
}

.contact-box-text{
	font-size: clamp(16px, 11px + 0.833vw, 23px);
}

.contact-box-tel, .contact-box-mail{
	font-size: clamp(18px, 7px + 2.045vw, 36px);
	letter-spacing: 0.25em;
	display: flex;
    align-items: center;
    justify-content: center;
}


.contact-box-mail{
	letter-spacing: 0.1em;
}

.contact-box-tel::before, .contact-box-mail::before{
	content: "";
	height: 0.91em;
	width: 1.25em;
	margin-right: 3px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	
}

.contact-box-tel::before{
	height: 0.91em;
	width: 1em;
}

.contact-box-tel::before{
	background-image: url("../img/icon-tel-bk.svg");
}

.contact-box-mail::before{
	background-image: url("../img/icon-mail-bk.png");
}

.contact-box-time{
	font-size: clamp(12px, 11px + 0.227vw, 14px);
	letter-spacing: 0.2em;
}

.sp-only-br{
	display: none;
}


/*フォーム内*/
.form-container{
	    font-size: clamp(14px, 9px + 0.833vw, 21px);
	display: grid;
	gap: 1em;
}

.input-area{
	width: 100%;
	color: #000;
	padding: 0.3em;
	line-height: 1.7;
	border: solid 2px #969696;
	border-radius: 0;
}

.form-attention{
	font-size: clamp(12px, 11px + 0.227vw, 14px);
	text-align: center;
	margin-bottom: 1.5em;
}

.submit-btn-container{
	text-align: center;
}
.submit-btn{
	color: #000;
	padding: 0.2em 2em;
	border: none;
	border-radius: 0;
	background-color: #fff;
}


@media (max-width: 960px) /* スマホ */ { 
		.sp-only-br{
			display: block;
		}
}


@media (max-width: 690px)  { 
	.contact-set{
		flex-direction: column;
		gap: 20px;
	}
	
	.contact-box{
		height: 150px;
		display: grid;
		place-items: center;
	}

}

/*　---------------------投稿ページ　page single---------------------------- */
.post-area-content{
	margin-bottom: clamp(80px, 20px + 10.714vw, 170px);
}

.post-area-content-single{
	margin-top: clamp(80px, 55px + 4.405vw, 117px);
	margin-bottom: clamp(100px, 15px + 15.119vw, 227px);
}

.single-top-margin{
	padding-top: var(--header-height);
}

.subpage-contents-title-single{
	margin-bottom: clamp(50px, 30px + 3.571vw, 80px);
}



/*　---------------------404--------------------------- */

.no-page-title a{
	text-decoration: underline;
}

.no-page-title span{
	margin-top: 1em;
}










