@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&family=Zen+Maru+Gothic&display=swap');
/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link, .ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-1 .current-menu-ancestor > .menu-link{
	color: var(--ast-global-color-1);
}

/*-------------------
 ヘッダーここから 
--------------------*/
/*ボーダー無効*/
.ast-primary-header-bar {
	border: none;
}
/*ヘッダー背景透過*/
ast-primary-header-bar, .main-header-bar {
	background-color: transparent;
}
/*行間設定無効*/
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
	line-height: 15px;
}
#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {
	padding-left: 0;
	padding-right: 0;
}

.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar {
	padding-left: 0;
	padding-right: 0;
	border: none;
}

/* タイトルロゴエリア */
.ast-site-identity {
	padding: 50px 0 0 60px;
}
/* ナビメニュー */
.ast-flex {
	align-items: start;
}
.main-navigation ul {
	padding: 50px 0 0 0;
}
.ast-builder-menu .main-navigation > ul > li:last-child a {
	padding: 0 60px 0 1em;
}

/* レスポンシブ */
@media only screen and (max-width: 921px) {
	/*ヘッダー固定*/
	.ast-header-break-point #ast-mobile-header {
		position: fixed;
		width: 100vw;
		top: 0;
		left: 0;
		z-index: 200;
	}
	/*ヘッダー背景透過*/
/* 	ast-primary-header-bar, .main-header-bar {
		background-color: transparent;
	} */
	/*ハンバーガーボタンカスタム */
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
		width: 40px;
		height: 40px;
		fill: #0D4D71;
	}
	/*枠線削除*/
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal,
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus{
		/*border: noneが効かないので透過で対応 */
		color: transparent;
	}
	/*ハンバーガーナビカスタム*/
	.ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
		position: fixed;
		width:100vw;
		top: 0;
		left:0;
		height: 100%;
		padding: 100px;
	}
	.ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content a{
		text-align: center;
	}
	/* タイトルロゴエリア */
	.ast-site-identity {
		padding: 20px 0 0 20px;
	}
	.main-navigation ul {
		padding: 20px 0 0 0;
	}
	.main-header-menu .menu-link, .main-header-menu>a {
		padding: 0 20px 0 0;
	}
	.ast-button-wrap .menu-toggle.main-header-menu-toggle {
		padding: 20px;
	}
	.site-header p {
		margin-bottom: 10px;
	}
	.ast-header-html-2 {
		padding-top: 20px;
	}
}
/*------------------------------------
 固定ボタン（お問い合わせ・採用）
------------------------------------*/
.fixed_menu {
	display: flex;
	justify-content: space-between;
	position: fixed;
	z-index: 200;
	margin: 0;
}		
.fixed_menu_item {
	background-repeat: no-repeat;
	-webkit-transition: 0.6s ease;
	transition: 0.6s ease;
	display: flex;
	justify-content: center;
}
.fixed_menu_item a {
	display: block;
	width: 100%;
}
.fixed_menu_item:hover {
	transform: scale(1.1);
	letter-spacing: 0.15em;
}

@media screen and (min-width: 768px) {
	.fixed_menu {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		position: fixed;
		right: -3px;
		flex-direction: column;
		bottom: 10vh;
		gap: 20px;
	}

	.fixed_menu_item:nth-child(1) {
		background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/bnr_contact.png);
		width: 86px;
		height: 208px;
		background-size: 86px 208px;
		padding: 40px 0 0 20px;
	}
	.fixed_menu_item:nth-child(2) {
		background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/bnr_recruit.png);
		width: 68px;
		height: 171px;
		background-size: 68px 171px;
		/*padding: 40px 0 0 20px;*/
	}

	.fixed_menu_item a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		line-height: 65px;
		font-size: 15px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 0.2rem;
	}
}

@media (max-width: 767px) {
	.fixed_menu {
		width: 100%;
		margin: 0 auto;
		position: fixed;
		right: 0;
		bottom: 0;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		justify-content: center;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 30px;
	}

	.fixed_menu_item:nth-child(1) {
		background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/bnr_contact_sm.png);
		width: 170px;
		height: 54px;
		background-size: 170px 54px;
		padding: 15px 0 0 20px;
	}
	.fixed_menu_item:nth-child(2) {
		background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/bnr_recruit_sm.png);
		width: 150px;
		height: 43px;
		background-size: 150px 43px;
		padding: 5px 0 0 0;
	}

	.fixed_menu_item a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		-ms-writing-mode: lr-tb;
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		line-height: 65px;
		font-size: 15px;
		letter-spacing: 0.1rem;
		color: #fff;
		font-weight: bold;
	}
}
/*-------------------
 フッター ここから
--------------------*/
.pc_footer_menu {
    display: flex;
	justify-content: space-between;
}
.pc_footer_menu ul {
	width: auto;
    text-align: left;
	margin: 0 !important;
}
.ast-builder-footer-grid-columns {
	grid-column-gap: 0 !important;
}
.pc_footer_menu ul li{
    list-style-type: none;
	margin-bottom: 20px;
}
.pc_footer_menu ul li:first-child{
	font-weight: bold;
}
@media (min-width: 921px) {
	.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {
		grid-template-columns: 20% 0% 80%;
	}
}

/*スマホ版フッターナビの間隔空ける*/
.footer-nav-wrap ul {
	grid-row-gap: 10px;
}

/*走るトラック*/
.site-below-footer-inner-wrap {
	background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/08/road.svg);
    background-repeat: no-repeat;
    background-position: right bottom;
	background-size: 450px;
	position: relative;
}
.site-below-footer-inner-wrap::before {
	content: "";
	width: 100px;
	height: 70px;
	background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/08/truck_anime.gif);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	right: 0;
}
.site-below-footer-inner-wrap.displayed::before {
	content: "";
	width: 100px;
	height: 70px;
	background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/08/truck_anime.gif);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	right: 0;
	animation: go-left 3s forwards;
}
@media (max-width: 1200px) {
	.site-below-footer-inner-wrap {
		background-position: 50% 10%;
		background-size: 450px;
		min-height: 100px !important;
		max-width: 450px !important; 
	}
	.site-below-footer-inner-wrap::before {
		content: "";
		width: 100px;
		height: 70px;
		background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/08/truck_anime.gif);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: -40px;
		right: 0;
	}
}
@media (max-width: 500px) {
	.site-below-footer-inner-wrap {
		background-position: 50% 20%;
		background-size: 450px;
		min-height: 100px !important;
		max-width: 90vw !important; 
	}
	.site-below-footer-inner-wrap.displayed::before {
		animation: go-left2 3s forwards;
	}
}
/*走るトラックのアニメーション*/
@keyframes go-left {
	0% {
		transform: translateX(0px);
	}
	100% {
		transform: translateX(-350px);
	}
}
@keyframes go-left2 {
	0% {
		transform: translateX(0px);
	}
	100% {
		transform: translateX(calc(-90vw + 100px));
	}
}
/*-------------------
 各ページ共通
--------------------*/
/* パンくずリストの位置調整*/
.ast-article-single {
	position: relative;
}
/*トップは上の設定解除*/
.wakuwa .ast-article-single {
	position: unset;
}
/*トップはパンくず非表示*/
.wakuwa .ast-breadcrumbs-wrapper {
	display: none;
}
.ast-breadcrumbs-wrapper {
	position: absolute;
	left: 0;
	top: 610px;
	font-size: 14px;
}
@media (max-width: 921px) {
	.ast-breadcrumbs-wrapper {
		top: 510px;
	}
}
/* ホームは上の設定打ち消す */
.home .ast-article-single {
	position: unset;
}
/* アーカイブページと記事ページ
 * ①上の設定打ち消し
 * ②位置調整　　　　　　　　　*/
.archive .ast-breadcrumbs-wrapper, .single-post .ast-breadcrumbs-wrapper{
	position: unset;
	margin-bottom: 60px;
	margin-top: -10px;
}
/* 見出しと段落間の余白リセット */
.wp-block-uagb-container.uagb-block-be246ab5 {
    row-gap: 0;
}
/* ページタイトル非表示 */
.page .entry-header {
	display: none;
}
/* デフォルトの余白リセット*/
.home .entry-content > .wp-block-group, .entry-content > .wp-block-cover, .entry-content > .wp-block-columns {
	padding: 0 0 0 0;
}

/* スマホは固定ヘッダーでその高さの分だけコンテンツが上がってしまう対策 */
@media (max-width: 921px) {
	.site-content .ast-container {
		padding-top: 80px;
	}
}

/* -------------------------------------- 
 * 固定ページ上部の画像見出し設定ここから
 * ①ヘッダービルダーのブレイクポイントで
 * ロゴが変わるのに合わせて見出しも
 * 切り替えています
 * ②画面幅1200pxを境にastra設定によりずれてしまう
 * のでmargin-topを調整しています。*/

.heading_area h2{
    color: #222222;
	background-color: #ffffff;
	padding: 30px 60px;
	border-radius: 30px;
	display:inline-block;
}
.heading_area .uagb-is-root-container {
	column-gap: 0;
}

/* あしらい文字(通常) */
.arch-txt {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0d4d71;
}
.arch-txt2 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0d4d71;
	margin-bottom: 20px;
}
/* あしらい文字(文字長め) */
.arch-txt-lg {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0d4d71;
	margin-bottom: 20px;
}

@media (min-width: 1200px) {
	.ast-plain-container.ast-no-sidebar #primary {
		margin-top:0px !important;
	}
}

@media (max-width: 921px) {
	.wp-block-uagb-container.heading_area {
		min-height: 500px;
		background-position: 25% 0%;
		margin-top: 0 !important;
		z-index: unset !important;
	}
	.heading_area h2{
		padding: 15px 30px;
		border-radius: 15px;
		display:inline-block;
	}
}
/* 固定ページ上部の画像見出し設定ここまで */
/* -------------------------------------- */

/*スマホサイズで段落左寄せ）*/
@media (max-width: 767px) {
	.mobile_text_left {
		text-align: left;
	}
}

/*ブロック：コンテナの角丸設定*/
.block_area {
	background:#ffffff;
	padding:30px 15px;
	border-radius: 30px;
}

/* 画像の角に丸みをつける */
.photo img{
 border-radius: 30px;
}

/* 画像をぐにょぐにょ動かす */
.img-move {
	animation: img-move 3s infinite;
}

@keyframes img-move {
	 0% {
		transform: skew(0deg, 0deg);
	}
	10%, 60% {
		transform: skew(5deg, 5deg);
	}
	20%, 70% {
		transform: skew(-4deg, -4deg);
	}
	30%, 80% {
		transform: skew(3deg, 3deg);
	}
	40%, 90% {
		transform: skew(-2deg, -2deg);
	}
	50%, 100% {
		transform: skew(1deg, 1deg);
	}
}

/* 画像をブルブル動かす */
.buruburu {
	-webkit-animation:buruburu 0.1s infinite linear alternate;
	animation:buruburu 0.1s infinite linear alternate;
}

@-webkit-keyframes buruburu {
	0% {-webkit-transform:translate(0, 0) rotate(-3deg);}
	50% {-webkit-transform:translate(0, -1px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(3deg);}
}

@keyframes buruburu {
	0% {transform:translate(0, 0) rotate(-3deg);}
	50% {transform:translate(0, -1px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(3deg);}
}

/* 画像をふわふわ動かす１ */
.fuwafuwa1 {
	animation: fuwafuwa1 3s ease-in-out infinite alternate;
/*	background:	no-repeat center center / 60px auto; */
	display: inline-block;
	transition: 1.5s ease-in-out;
	width: 70px;
	height: 70px;
	margin-top: 15px;
}
 
@keyframes fuwafuwa1 {
	0% {
	transform:translate(0, 0) rotate(-7deg);
	}
	50% {
	transform:translate(0, -7px) rotate(0deg);
	}
	100% {
	transform:translate(0, 0) rotate(7deg);
	}
}

/* 画像をふわふわ動かす２ */
.fuwafuwa2 {
	animation: fuwafuwa2 3s ease-in-out infinite alternate;
/*	background:	no-repeat center center / 60px auto; */
	display: inline-block;
	transition: 1.5s ease-in-out;
	width: 70px;
	height: 70px;
	margin-top: 15px;
}

@keyframes fuwafuwa2 {
	0% {
	transform:translate(0, 0) rotate(7deg);
	}
	50% {
	transform:translate(0, 7px) rotate(0deg);
	}
	100% {
	transform:translate(0, 0) rotate(-7deg);
	}
}

/* 画像をふわふわ動かす３ */
.fuwafuwa {
-webkit-animation:fuwafuwa 3s infinite linear alternate;
animation:fuwafuwa 3s infinite linear alternate;
}

@-webkit-keyframes fuwafuwa {
0% {-webkit-transform:translate(0, 0) rotate(-5deg);}
50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
100% {-webkit-transform:translate(0, 0)rotate(5deg);}
}

@keyframes fuwafuwa {
0% {transform:translate(0, 0) rotate(-5deg);}
50% {transform:translate(0, -5px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(5deg);}
}

/* アレンジver */
.img-move3 {
	animation: img-move3 2s infinite;
}
/*アレンジver*/
@keyframes img-move3 {
	0% {
		transform:  scale(1);
	}
	50% {
		transform:  scale(1.2);
	}
	100% {
		transform:  scale(1.5);
	}
}

/*はみ出た子要素は見えなくする*/
#page {
	overflow: hidden !important;
}

/*-------------------
 トップページ
--------------------*/
.home {
	--wp--custom--ast-content-width-size: 100%;
}
/*fv背景の位置指定は固定ページ編集画面のマージンで設定*/
.fv_wrap .fv_back{
	position: absolute !important;
}
/* スライドショーの枠 */
.fv_frame{
	padding: 0 !important;
}
/*マスク用画像*/
#frame {
	position: absolute;
/*	top: 0;
	left: 0;
	width: 100%;*/
}
/*マスク処理*/
.slides img {
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
}
/*ファーストビューのテキスト画像*/
.fv_txt2{
	position: absolute;
	top: 220px;
	left: 15vw;
} 
.fv_txt1 {
	width: unset !important; 
	position: absolute !important;
	top: 0;
	left: 50vw;
	margin: auto;
	display: block;
	border-left: 3px solid #222222;
	border-right: 3px solid #222222;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	padding: 10px 20px;
	font-family: "Zen Maru Gothic", serif;
	font-size: 20px;
	letter-spacing: 3px; 
	font-weight: bold;
	z-index: 10;
	transform: rotate(-10deg);
	margin-left: -750px;
	margin-top: 250px;
}
@media (max-width: 1690px) {
	.fv_txt1 {
		margin-left: -45%;
	}
/*	#frame {
		width: 100vw;
	}*/
}
/* タブレット */
@media (min-width: 977px) and (max-width: 1024px) {
	/*ファーストビューのテキスト画像*/
	.fv_txt2{
		position: absolute;
		top: 220px;
		left: 15vw;
	}
}
/* スマホ */
@media (max-width: 976px) {
	.fv_back img{
		width: 100vw !important;
	} 
}
@media (max-width: 921px) {
	.fv_txt2{
		position: absolute;
		top: 120px;
		left: 15vw;
	}
	.fv_txt1 {
		display: none;
	}
}
@media (max-width: 767px) {
	.fv_txt2{
		position: absolute;
		top: 100px;
		left: 15vw;
	}
}
@media (max-width: 480px) {
	.fv_txt2{
		position: absolute;
		top: 100px;
		left: 15v;
	}
}
/*-------------------------
 アーカイブページ
--------------------------*/
/* タイトルエリアの調整 */
body.archive .ast-archive-description {
	padding-right: 1em;
	padding-left: 1em;
}
/* タイトル中央寄せ */
body.archive .ast-archive-description .page-title {
	text-align: center;
}

@media (min-width: 993px) {
	.ast-separate-container #primary, .ast-separate-container.ast-left-sidebar #primary, .ast-separate-container.ast-right-sidebar #primary {
		margin: 0;
	}
}
/* スマホ用カラム表示崩れ修正 */
@media (max-width: 600px) {
	.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/*-------------------------
 投稿内容ページ
--------------------------*/
/* 投稿者名非表示 */
.entry-meta{
display:none !important;
}

/*-------------------------
お知らせ
--------------------------*/
.category-blog .taxonomy-category a {
	background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/shape5-1.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	text-decoration: none;
	font-size: 10px;
	color: #ffffff;
	padding: 20px;
}

.category-news .taxonomy-category a {
	background-image: url(https://2401d-test.web-ac.biz/wp-content/uploads/2024/07/shape6-2.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	text-decoration: none;
	font-size: 10px;
	color: #ffffff;
	padding: 15px;
}

 
/* リンクの下線を消すCSS */
a {
	text-decoration: none !important;
}
.a_underline a {
	text-decoration: underline !important;
}

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

/*「必須」文字*/
.CF7_req{
	font-size: .7em;
	padding: 3px 5px;
	/*background: #F4B541;*/
	background: #ff6e6e;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* 「送信する」ボタン */
 .wpcf7 input.wpcf7-submit {
	background-color:#F4B541;
	border:0;
	border-radius: 90px;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
}

.wpcf7 input.wpcf7-submit:hover {
	opacity: 0.7;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
} 

.wpcf7 form>div, .wpcf7 form>p:nth-child(10) {
	text-align: center;
}

.wpcf7-form p {
	font-size: 14px;
}
.wpcf7-radio {
	accent-color: orangered;
}
/* スマホ */
@media (max-width: 976px) {
	.wpcf7-radio {
	accent-color: #F4B541;
}
}
.radio-round .wpcf7-list-item-label {
	padding: 10px 20px 10px 40px;
    border-radius: 30px;
    /* outline: 1px solid #f3f3f3; */
    font-size: 14px;
    background: #ffffff;
    margin-left: -40px;
}
.radio-round .wpcf7-list-item {
    margin: 10px 10px 15px 1em;
}
.radio-round input {
	position: relative;
}
.radio-round input:checked+span {
    outline: 3px solid #F4B541;
    font-weight: 700;
}
.privacy_policy_area br {
	display: none;
}

.privacy_policy_area {
	text-align: center;
	background-color: #ffffff;
	padding: 20px 0;
}

.privacy_policy span {
	font-weight: bold;
}

.privacy_policy_area a {
	font-size: 13px;
}


