@charset "UTF-8";
/*
	Template: swell
	Theme Name: SWELL CHILD
	Theme URI: https://swell-theme.com/
	Description: SWELLの子テーマ
	Version: 1.0.0
	Author: LOOS WEB STUDIO
	Author URI: https://loos-web-studio.com/

	License: GNU General Public License
	License URI: http://www.gnu.org/licenses/gpl.html
*/

:root{
	/*
	--color_main: #1c3b91;
	--color_text: #3d3d3d
	--color_bg:   #fdfdfd
	*/

	--color_overlay: #0032d7;
	--color_dark1:   #444444;
	--color_dark2:   #666666;
	--color_dark3:   #888888;
}

.l-mainContent__inner>.post_content {
	padding: 0;
}

.top #content {
	margin-bottom: 0;
}

.home h2 {
	background-color: transparent;
	color: var(--color_text);
	padding: 0;
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}
.home h2::before {
	content: none;
}
/*.home p {
	font-size: 1rem;
}*/
@media screen and (min-width: 768px) {
	.home h2 {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
}

/* ボタン */
.home .swell-block-button__link {
	padding-top: 1em;
	padding-bottom: 1em;
	width: 12em;
	min-width: 12em;
	font-size: 0.9em;
}
.is-style-btn_normal a {
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.home .swell-block-button__link  {
		width: 16em;
		font-size: 1em;
	}
	/* お問い合わせボタン */
	.home .md-btn-contact .swell-block-button__link{
		width: 10em;
		min-width: 10em;
		font-size: 1em;
		padding: 1em;
	}
}

/* メインビジュアル */
.post_content .md-main-visual {
	margin-top: -120px !important;
	position: relative;
	height: 80vw;
}

.md-mv-img1 {
	position: absolute;
	width: 20%;
	height: 55%;
	top: 0;
	left: 0;
}
.md-mv-img2 {
	position: absolute;
	width:35%;
	height: 55%;
	top: 0;
	left: 20%;
}
.md-mv-img3 {
	position: absolute;
	width: 21%;
	height: 55%;
	top: 0;
	left: 55%;
}
.md-mv-img4 {
	position: absolute;
	width: 24%;
	height: 30%;
	top: 0;
	left: 76%;
}
.md-mv-img5 {
	position: absolute;
	width: 40%;
	height: 45%;
	top: 55%;
	left: 0;
}
.md-mv-img6 {
	position: absolute;
	width: 36%;
	height: 45%;
	top: 55%;
	left: 40%;
}
.md-mv-img7 {
	position: absolute;
	width: 24%;
	height: 70%;
	top: 30%;
	left: 76%;
}

.md-mv-text1 {
	position: absolute;
	top: 38%;
	left: 12%;
	color: var(--color_bg);
	font-size: 1.3rem;
}

.md-mv-text2 {
	position: absolute;
	top: 55%;
	left: 12%;
	color: var(--color_bg);
	font-size: 0.7rem;
}
.md-mv-text3 {
	position: absolute;
	bottom:0;
	right: 0;
	width: 28em;
	background-color: var(--color_bg);
	color: var(--color_text);
	text-decoration: none;
	padding: 0.5em 0.5em 0 1em;
	z-index: 1;
	font-size: 0.7rem;
}
.md-mv-overlay {
	position: absolute;
	width: 100%;
	height: 80vw;
	top: 0;
	left: 0;
	background-color: var(--color_overlay);
	opacity: 0.38;
}

@media screen and (min-width: 600px) {
	
	.post_content .md-main-visual {
		height: 54vw;
	}
	.md-mv-overlay {
		height: 54vw;
	}
	.md-mv-text1 {
		top: 35%;
		font-size: 2.3rem;
		line-height: 1.8;
	}

	.md-mv-text2 {
		font-size: 1.3rem;
		top: 50%;
	}
	.md-mv-text3 {
		font-size: 1rem;
	}
}

.md-anime1 {
	animation: anime 6s 0s infinite;
	opacity: 0;
}

.md-anime2 {
	animation: anime 6s 2s infinite;
	opacity: 0;
}

.md-anime3 {
	animation: anime 6s 4s infinite;
	opacity: 0;
}

@keyframes anime {
	0%   { opacity: 0;}
	25%  { opacity: 1;}
	50%  { opacity: 1;}
	75%  { opacity: 0;}
	100% { opacity: 0;}
}


/* 会社概要 about */
.md-about {
	overflow: hidden;
}
.md-about-img {
	position: relative;
	width: 68%;
	height: auto;
	margin:auto;
}

.md-about-clip {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: circle(36% at 50% 50%);
	z-index: -1;
 }

.md-about-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url("/demo01/wp-content/uploads/img412.jpg");
	background-size: cover;
	background-position: center;
}
.md-about-circle {
	width: 100%;
	max-width: 500px;
	height: 100%;
	padding: 0;
	margin: 0;
}

.md-about-text1{
	padding-top: 2rem;
	font-size: 1.2rem;
	color: var(--color_dark2);
	text-shadow: 4px 4px 4px #00000040;
}
.md-about-text2 {
	font-size: 0.9rem;
	margin-top: 1rem;
}

@media screen and (min-width: 600px) {
	.md-about {
		display: flex;
		flex-direction: row-reverse;
	}
	.md-about-img {
		width: 50%;
		margin: auto;
	}

	.md-about-text {
		width: 50%;
	}

	.md-about-bg {
		width: 60vw;
	}

	.md-about-clip {
		clip-path: circle(40% at 50% 56%);
	 }
	.md-about-circle {
		width: 100%;
		height: auto;
	}
	.md-about-text1{
		padding-top: 8vw;
		font-size: 1.8rem;
	}
	.md-about-text2 {
		font-size: 1rem;
		margin-top: 2.5em;
	}
}

/* 事業紹介 service */
.md-service {
	position: relative;
	background-color: transparent;
}
.md-service::before{
	content: "";
	position: absolute;
	bottom: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 400px;
	background-image: linear-gradient(rgba(37, 65, 141, 0.8), rgba(37, 65, 141, 0.8)), url(/demo01/wp-content/uploads/img12.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: bottom;
}
.md-service .swell-block-button__link {
	border: solid 1px var(--color_bg);
}
.md-service01 {
	font-size: 1rem;
}
.md-service02 .wp-block-media-text__content,
.md-service03 .wp-block-media-text__content {
	padding:0.5rem;
}
.md-service02.wp-block-media-text {
	background-color: var(--color_dark2);
}
.md-service02 a {
	color:var(--color_bg);
	font-size: 0.6em;
}
.md-service03 a {
	color:var(--color_dark2);
	font-size: 0.6em;
}
.md-service04 {
	border-left: solid 4px var(--color_main);
	margin-bottom: 0;
	padding: 0.5rem 0 0.5rem 0.8rem;
	font-size: 1rem;
}
.md-service04 strong {
	color: var(--color_bg);
}
.md-service05 {
	width: 18rem;
	border-left: solid 4px var(--color_bg);
	padding-left: 0.8rem;
	color: var(--color_bg);
	font-size: 1rem;
}

@media screen and (min-width: 768px) {	
	.md-service01 {
		font-size: 1.2rem;
	}
	.md-service02 {
		position: absolute;
		top:8%;
		right: 4%;
		width: 70%;
	}
	.md-service03 {
		position: absolute;
		top:40%;
		right: 0;
		width: 50%;
	}
	.md-service02 a {
		color:var(--color_bg);
		font-size: 0.9em;
		white-space: nowrap;
	}
	.md-service03 a {
		color:var(--color_dark2);
		font-size: 0.8em;
		white-space: nowrap;
	}
	.md-service04 {
		margin-top: 10rem;
	}
}

/* お知らせ news */
.post_content .md-news .swell-block-button__link {
}
.p-postList.-type-simple,
.-type-simple .p-postList__link {
	border: none;
}

.p-postList__body{
	display: flex;
}
.p-postList__cat {
	background-color: var(--color_main);
	color: var(--color_bg);
	font-size: 0.8em;
	opacity: 1;
	padding: 6px;
	margin-left: 0.3rem;
	margin-right: 0.5rem;
}
.p-postList__meta {
	font-size: 0.8rem;
}
/*時計・フォルダ アイコン*/
.c-postTimes__posted:before,
.icon-folder:before {
	content: none;
}
.p-postList .p-postList__title {
	font-weight: 400;
	font-size: 0.9rem;
}
/*お問い合わせボックスメニュー*/
.swell-block-box-menu__text {
	font-size: 0.8rem;
}

@media screen and (min-width: 768px) {
	.p-postList__cat {
		font-size: 0.8em;
		padding: 8px;
		margin-left: 5rem;
		margin-right: 3rem;
	}
	.p-postList__meta {
		font-size: 1rem;
	}
	.p-postList .p-postList__title {
		font-size: 1rem;
	}
	.swell-block-box-menu__text {
		font-size: 1.2rem;
	}
}

/* トップページ下 サイトサマリ */
.md-summary01 .wp-block-image  {
	text-align: left;
}

/* コンタクトフォーム */
.md-contact {
	width: 80%;
	margin:auto;
}
.post_content table {
	width: 100%;
	margin: 2rem auto;
}
.post_content tr {
	border-top: solid 1px var(--color_border--table);
	border-bottom: solid 1px var(--color_border--table);
}
.post_content th {
	border: none;
	background-color: transparent;
	display: block;
	min-width: 12rem;
}
.post_content td {
	border: none;
	display: block;
}
@media screen and (min-width: 768px) {
	.post_content th,
	.post_content td {
		display: table-cell;
	}
}
.c-pageTitle[data-style=b_bottom],
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
	border-bottom: none;
}
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
	float: none;
}
.wpcf7-form-control.wpcf7-submit {
	display:block;
	margin: 2rem auto;
	padding: 5px;
	background-color: var(--color_main);
	color: var(--color_bg);
	width: 10rem;
	border-radius: 3px;
}
h1.c-pageTitle{
	text-align: center;
	margin: auto;
}
.c-pageTitle__inner{
	display:block;
	text-align: center;
	margin: auto;
}
.wpcf7-form-control-wrap > * {
	display:block;
	width: 100%;
	margin-bottom: 2em;
}
.required {
	font-size: 0.7rem;
	background-color: #EF5350;
	color: var(--color_bg);
	margin-left: 1rem;
	padding: 3px 5px;
}