@charset "utf-8";
/*
    Theme Name: SWELL Child
    Description: WordPressテーマ「SWELL」の自作 子テーマです。
    Template: swell
    Version: 1.1
    Author: SeaCloud,Inc.
*/

body {background-color:#fff;}
#breadcrumb, .c-widget__title.-spmenu, .p-spMenu__nav {display:none;}


/* 余白 */
.mb-0 {margin-bottom:0 !important;}
.mb-20 {margin-bottom:10px !important;}
.post_content div>.mb-20:last-child {margin-bottom:10px !important;}
.mb-30 {margin-bottom:15px !important;}
.mb-50 {margin-bottom:20px !important;}
.mb-60 {margin-bottom:30px !important;}
.mb-80 {margin-bottom:40px !important;}
.mb-90 {margin-bottom:45px !important;}
.mb-100 {margin-bottom:50px !important;}
.mb-110 {margin-bottom:30px !important;}
.mb-160 {margin-bottom:60px !important;}
.mb-180 {margin-bottom:80px !important;}
.mt-180 {margin-top:80px !important;}
@media all and (min-width: 768px) {
	.mb-20 {margin-bottom:20px !important;}
	.post_content div>.mb-20:last-child {margin-bottom:20px !important;}
	.mb-30 {margin-bottom:30px !important;}
	.mb-35 {margin-bottom:35px !important;}
	.mb-50 {margin-bottom:50px !important;}
	.mb-60 {margin-bottom:60px !important;}
	.mb-80 {margin-bottom:80px !important;}
	.mb-90 {margin-bottom:90px !important;}
	.mb-100 {margin-bottom:100px !important;}
	.mb-110 {margin-bottom:110px !important;}
	.mb-160 {margin-bottom:160px !important;}
	.mb-180 {margin-bottom:180px !important;}
	.mt-180 {margin-top:180px !important;}
}

/* テキスト系 */
.text-center {text-align:center;}
.fw-bold {font-weight:700;}

/* PC・SP表示 */
@media not all and (min-width: 600px) {
    .pc_only2 {display: none !important;}
}
@media all and (min-width: 600px) {
	.sp_only2 {display:none !important;}
}
@media not all and (min-width: 800px) {
    .pc_only3 {display: none !important;}
}
@media all and (min-width: 800px) {
	.sp_only3 {display:none !important;}
}
.d-inline-block {display: inline-block;}


/* ヘッダー */
.l-fixHeader__logo {
	padding:12px 0;
}
.l-header__bar {
    height: 2px;
}
.c-gnav {
	background:#003C62;
	color:#fff;
}
.c-gnav>.menu-item>a {
	padding:0 1.5em;
}
.c-gnav a::after {
    background: #fff;
}
.c-gnav>.menu-item>a:hover,
.c-gnav .sub-menu {
	background:#00689D;
}
@media all and (min-width: 960px) {
	.l-header__inner,
	.l-fixHeader__inner {
		max-width:none;
		padding-left:24px;
	}
	.l-header,
	.l-fixHeader:before {
		background-image: linear-gradient(to right, #fff 0%, #fff 90%, #003C62 90%, #003C62 100%)
	}
	.-series .l-header__logo {
		padding:12px 0;
	}
	.c-gnav {
		border-left:solid 20px #AACD8B;
	}
	.c-gnav:before {
		content:'';
		padding-left: calc(var(--swl-pad_container, 0) + 12px);
		border-left:solid 12px #00689D;
	}
}

/* フッター */
.w-beforeFooter {
    background: #003C62;
    color: #fff;
}
.f-wrap {
	padding:40px 0;
}
.f-wrap .f-logo {
	margin-bottom:25px;
}
.f-wrap .f-logo a {
	font-size: 18px;
	color:#fff;
	font-weight:bold;
}
.f-wrap .f-logo a:hover {
	opacity:0.7;
}
.f-wrap .add-wrap  {
	display:flex;
	flex-direction: column;
	gap:10px;
}
.f-wrap .add-wrap > dl dt,
.f-wrap .contact-add dl {
	font-size:16px;
}
.f-wrap .add-wrap > dl dd {
	font-size:14px;
	padding-left:1em;
}
.f-wrap .contact-add dl {
	display:flex;
	gap:10px;
	padding-left:1em;
}
.f-wrap .add-wrap > dl dt,
.f-wrap .contact-add dl dt {
	font-weight:bold;
}

@media all and (min-width: 600px) {
	.f-wrap {
		padding:50px 0;
		display:flex;
	}
	.f-wrap .f-logo {
		padding-right:20px;
		border-right:#fff solid 1px;
		white-space:nowrap;
		margin-bottom:0;
	}
	.f-wrap .add-wrap {
		padding-left:20px;
		width:100%;
	}
}
@media all and (min-width: 800px) {
	.f-wrap .add-wrap  {
		flex-direction: row;
		font-size:15px;
	}
}
@media all and (min-width: 900px) {
	.f-wrap .f-logo {
		padding-right:35px;
	}
	.f-wrap .f-logo a {
		font-size:25px;
	}
	.f-wrap .add-wrap {
		padding-left:35px;
	}
	.f-wrap .add-wrap > dl > dt {
		font-size:18px;
	}
}
@media all and (min-width: 950px) {
	.f-wrap .add-wrap {
		gap:60px;
	}
}

/* 見出し */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	background:none;
	padding:0;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	border:0;
}
.ttl01-en {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size:2.5em;
	color: #2b2b2b;
	margin-bottom:0;
	line-height:1;
}

.swell-block-fullWide.page-ttl-area.page-ttl-area2 {
	padding:0 0 30px !important;
}
.page-ttl-en {
	color: #fff;
	font-size:3rem;
}
.post_content div>:first-child.page-ttl-en {
	margin-top:-8px !important;
}
#page-ttl, #page-ttl2 {
	color:#00689D;
	margin-top:-20px;
	font-size:1.25rem;
}
#page-ttl2 {
	line-height:1.3;
}
.ttl01 {
	font-size:1.2em !important;
	font-weight:bold !important;
	color: #00689d !important;
	margin:5px 0 20px !important;
	line-height:1 !important;
}
.ttl01.mb-70, .ttl01.mb-100 {margin-bottom:30px !important;}
.ttl01-wh {color: #fff !important;}
.ttl02 {
	font-size:22px !important;
	font-weight:bold;
	text-align:center;
	font-weight:bold;
	color:#003C62;
	line-height:1.5;
}
h2.ttl03 {
	margin:0 0 20px;
	padding:0;
	background:unset;
	color:#333;
	border:0;
}
h2.ttl03:before {
	border:0;
}
h3.ttl04 {
	text-align:center;
	color:#00689D;
	margin-bottom:20px;
	padding-bottom:0;
}
h3.ttl04:before {
	background:unset;
}
.text-area {
	line-height:calc(30/16);
	letter-spacing:0.08em;
}

@media all and (min-width: 500px) {
	#page-ttl, #page-ttl2 {
		margin-top:-30px;
	}
}
@media all and (min-width: 600px) {
	.page-ttl-en {
		color: #fff;
		font-size:6rem;
	}
	.post_content div>:first-child.page-ttl-en {
		margin-top:-22px !important;
	}
	#page-ttl, #page-ttl2 {font-size:1.25rem;}
	.ttl02 {font-size:30px !important;}
}
@media all and (min-width: 900px) {
	.ttl01-en {font-size:4.375em;}

	.page-ttl-en {font-size:7.5rem;}
	#page-ttl, #page-ttl2 {
		font-size:1.5625rem;
		margin-top:-40px;
	}
	.ttl01 {
		font-size:1.5625em !important;
		margin:0 0 50px !important;
	}
	.ttl01.mb-70 {margin-bottom:70px !important;}
	.ttl01.mb-100 {margin-bottom:100px !important;}
}
@media all and (min-width: 960px) {
  .ttl02 {font-size:35px;}
}

/* カラム */
.service-col-area > .swell-block-columns__inner,
.service-col-area2 > .swell-block-columns__inner {
	justify-content: space-between;
}
.service-col-area > .swell-block-columns__inner > .swell-block-column,
.service-col-area2 > .swell-block-columns__inner > .swell-block-column {
	background:#D9E2E7;
	padding:28px;
}

/* アコーディオン */
.service-acc .swell-block-accordion__title,
.service-acc .swell-block-accordion__body {
	background:#D9E2E7;
}
.service-acc .swell-block-accordion__title,
.service-acc .c-switchIconBtn {
	font-weight:bold;
	color:#00689D;
}

/* メガメニュー(PC) */
.parent-menu-pc {
	position : unset !important;
}
.parent-menu-pc .sub-menu {
    position: absolute;
    left: 0;
    width: 100vw; /* ビューポート全幅 */
    padding: 0;
    margin: 0;
}
.parent-menu-pc .sub-menu a {padding: 0em;}
.c-gnav .sub-menu a:hover {background-color:unset;}
.parent-menu-pc .sub-menu a:before,
.parent-menu-pc .sub-menu .swell-block-columns .swell-block-column.test > a:first-child {display : none;}
.rollover {position: relative;}
.rollover figure {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  display: block;
  transition: 0.7s;
}
.rollover:hover figure:nth-of-type(2) {opacity: 0;}

/* スマホ開閉メニュー */
.p-spMenu__body {
	border-top:#4C95BA 1px solid;
}
.p-spMenu__bottom {margin-top:0;}
ul.sp-menu > li {
	border-bottom: #4C95BA 2px solid;
	color: #4C95BA;
	font-size:18px;
	line-height:1;
	font-weight:bold;
}
ul.sp-menu li span {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size:24px;
	color: #fff;
	padding-right:15px;
}
ul.sp-menu li a {
	padding:20px 0;
	display:block;
}
ul.sp-menu li.contents {
	padding:20px 0;
}
ul.sp-menu li.contents a {
}
ul.sp-menu li.contents ul {
	margin-top:10px;
	margin-left:10px;
}
ul.sp-menu li.contents ul li {
	color: #fff;
	line-height:1.5;
	margin-left: 1.5em;
	font-size:16px;
}
ul.sp-menu li.contents ul li a {
	padding:10px 0;
}
ul.sp-menu li.contents ul li a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0a9";
	margin-right: 5px;
	margin-left:-1.5em;
}

/* ボタン */
.is-style-btn_line a {
	background:#fff;
}

/* トップページ */
@media all and (max-width: 799px) {
	.message {
		flex-direction: column-reverse;
	}
	.message .wp-block-image .alignright {
		float:none;
		margin:0 auto;
	}
	.message .sp-right {
		text-align:right;
	}
}
@media all and (min-width: 600px) {
	.bnr-area.swell-block-columns .swell-block-column {
		margin-left:1rem;
		width: calc(var(--clmn-w) - 1rem);
	}
}
@media all and (min-width: 960px) {
	.top #content {
		padding-top: 100px;
	}
}


/* 会社概要 */
.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {white-space: nowrap;}
.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
	border:0;
	padding:20px 0 5px;
	font-size:18px;
}

.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
	border:0;
	border-bottom:solid 1px #00689D;
	padding:0 0 20px;
	font-size:16px;
}
.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:last-child th,
.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:last-child td {
	border-bottom:0;
}

.licence-area dl,
.access-area dl {
	display:flex;
	flex-direction: column;
}
.licence-area dl:not(:last-child) {
	margin-bottom:40px;
}
.licence-area dt {
	color:#00689D;
	font-weight:bold;
	font-size:16px;
}
.access-area dl {
	gap:20px;
}
.licence-area dd,
.access-area dd {
	border-left:solid 3px #00689D;
	padding-left:15px;
	margin-left:7px;
}
.licence-area dd.zeb-img {
	text-align:right;
	padding-top:10px;
}
.licence-area dd.zeb-img img {
	width:64px;
}

.history {
	border-top: solid 1px #00689D;
}
.history:last-child {
	border-bottom: solid 1px #00689D;
}
.history,
.history .date {
	display:flex;
	flex-direction: column;
}
.history .date {
	width:100%;
}
.history h3 {
	color: #00689d;
	font-size:18px;
	vertical-align:top;
	padding:20px 0;
	margin-bottom:0;
}
.history > h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content: none;
}
.history dl {
	display:flex;
}
.history dl:not(:first-child) {
	background-image: linear-gradient(to right, #00689D, #00689D 2px, transparent 2px, transparent 6px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: left top;
}
.history dl dt,
.history dl dd {
	padding-bottom:10px;
}
.history dl dt {
	color: #00689d;
	text-align:right;
	flex-basis:45px;
	font-size:16px;
}
.history dl dd {
	padding-left:20px;
	width:100%;
}
.history dl:not(:first-child) dt,
.history dl:not(:first-child) dd {
	padding-top:10px;
}

.address h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding:0;
	color:#00689D;
	margin-left:-0.5em;
}
.address h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content:none;
}
.map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media all and (max-width: 599px) {
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:first-child th{
		padding-top:0;
	}
}
@media all and (min-width: 600px) {
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
		margin-top:3em;
	}
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
		padding:30px 0;
		border-top:solid 2px #00689D;
		/*font-size:1.25rem;*/
	}
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
		width:35%;
	}
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:last-child th,
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:last-child td {
		border-bottom:solid 2px #00689D;
	}
	
	.licence-area dd {
		padding-left:20px;
	}
	
	.history {
		flex-direction: row;
		border-top: solid 2px #00689D;
	}
	.history:last-child {
		border-bottom: solid 2px #00689D;
	}
	.history h3,
	.history dl dt {
		padding:20px 30px 20px 10px;
	}
	.history h3 {
		font-size:20px;
	}
	.history dl dt {
		font-size:18px;
		flex-basis: 60px;
        padding-left: 0;
        padding-right: 0;
	}
	.history dl dd {
		padding:20px 0 20px 20px;
	}
	.history dl:not(:first-child) dt, .history dl:not(:first-child) dd {
		padding-top: 20px;
	}
}
@media all and (min-width: 800px) {
	.licence-area dl,
	.access-area dl {
		flex-direction: row;
	}
	.licence-area dt {
		width:16%;
	}
	.licence-area dd {
		border-left:solid 6px #00689D;
		padding-left:18px;
	}
	.access-area dd {
		border-left:solid 10px #00689D;
		padding-left:18px;
	}
	.licence-area dd:first-child {
		padding-right:15px;
	}
	.licence-area dd.col2 {
		width:41%;
	}
	.licence-area dd.zeb-img {
		border-left:none;
		padding:0;
		text-align:center;
		margin-top:0;
		margin-left:20px;
	}
	.licence-area dd.zeb-img img {
		width:128px;
	}
	
	.access-area dl {
		justify-content: space-between;
		flex-direction: row;
	}
}
@media all and (min-width: 960px) {
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
		width:25%;
	}
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
	.about-us_table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
		padding:40px 30px;
	}
	
	.licence-area dl:not(:last-child) {
		margin-bottom:80px;
	}
	.licence-area dt {
		font-size:20px;
		padding-right:30px;
	}
	.licence-area dd {
		padding-left:34px;
	}
	.licence-area dd:first-child {
		width:42%;
		padding-right:30px;
	}
	.licence-area dd.zeb-img {
		margin-left:80px;
	}
	
	.history h3,
	.history dl dt {
		padding:30px 45px 30px 10px;
	}
	.history h3 {
		font-size:32px;
	}
	.history dl {
		align-items: center;
	}
	.history dl dt {
		font-size:24px;
		flex-basis: 140px;
	}
	.history dl dd {
		padding:30px 10px 30px 0;
	}
	
	.access-area dl {
		justify-content: flex-start;
		gap:180px;
	}
}

/* 事業内容 */
.results-title-area {
	background-image: linear-gradient(to bottom, #fff 0%, #fff 10px, #D9E2E7 10px, #D9E2E7);
}
.result-area {
	padding-top:30px !important;
}
.result-area .swell-block-column {
	padding:25px;
	background:#fff;
}
.result-area h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding:0;
	margin-bottom:20px;
	text-align:center;
	color:#00689D;
}
.result-area h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	background:none;
	height:0;
}

.result-area h3.service-ttl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding:0;
	color:#00689D;
	margin-top:0;
	margin-bottom:10px;
	margin-left:-0.5em;
	text-align:left;
}
.result-area h3.service-ttl:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content:none;
}

.zeb-table {
	padding:5px 15px 14px;
	background:#fff;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr th {
	white-space: nowrap;
	font-size:11px;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr td {
	font-size:11px;
}

.result-col-area .result-col,
.result-col-area2 .result-col,
.service-col-area2 .swell-block-column {
	display: flex;
	flex-direction: column;
}
.result-col-area .result-col .text,
.result-col-area2 .result-col .ttl-wrap,
.service-col-area2 .swell-block-column h3 {
	flex: 1;
	height: 100%;
	min-height: 0%;
}
.result-col-area2 .result-col .ttl-wrap,
.service-col-area2 .swell-block-column h3 {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.service-col-area2 .swell-block-column p {
	flex: 2;
	height: 100%;
	min-height: 0%;
}
.result-col-area .result-col .is-style-btn_normal,
.result-col-area2 .result-col .is-style-btn_normal {
	margin-left:0;
	margin-right:0;
}
@media all and (min-width: 480px) {
	.results-title-area {
		background-image: linear-gradient(to bottom, #fff 0%, #fff 13px, #D9E2E7 13px, #D9E2E7);
	}
	
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr th {
		font-size:14px;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr td {
		font-size:16px;
	}
}
@media all and (max-width: 655px) { /* max-width */
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr:not(:first-child) th,
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr td {
		padding-left:0;
		padding-right:0;
	}
}
@media all and (min-width: 600px) {
	.results-title-area {
		background-image: linear-gradient(to bottom, #fff 0%, #fff 22px, #D9E2E7 22px, #D9E2E7);
	}
	
	.zeb-table {
		padding:5px 15px 15px;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr th,
	.result-col-area2 .result-col h3 {
		font-size:16px;
	}
}
@media all and (min-width: 900px) {
	.results-title-area {
		background-image: linear-gradient(to bottom, #fff 0%, #fff 27px, #D9E2E7 27px, #D9E2E7);
	}
	
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr:first-child th {
		font-size:20px;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.zeb-table>table tr th br {
		display:none;
	}
	.result-col-area2 .result-col h3 {
		font-size:1.3em;
	}
}
@media all and (min-width: 960px) {
	.result-col-area .result-col {
		padding-left:70px;
		padding-right:70px;
	}
}