@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
*/

body {
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
}
/* 白文字 */
.is-white span, p.is-white{
	color: #fff;
}
.font-noto-serif-jp {/*明朝体*/
  font-family: 'Noto Serif JP', serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.font-inter {/*英語用*/
  font-family: 'Inter', sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.font-biz-udpgothic {/*装飾数字用*/
  font-family: 'BIZ UDPGothic', sans-serif;
  font-weight: 400;
  font-style: normal;
}


/* ポップアップ  画像拡大表示をポップアップの上に表示 Start===== */
img.lum-img{
	z-index:999;
}
/* ポップアップ  画像拡大表示用 End=========== */

/* 採用情報 Entry Start================== */
.cta-entry.swell-block-columns {
    background: linear-gradient(90deg, rgba(1, 51, 153, 1), rgba(157, 212, 229, 1));
    padding: 6rem 2rem;
    color: #fff;
	border-radius: 8px;
}
.cta-entry .swell-block-columns__inner{
	max-width: 1024px;
	margin: 0 auto;
}
.cta-entry h2{
	font-size: 3rem!important;	
}
/* 採用情報 Entry End================== */


/* 採用情報 FAQ Start================== */
.acc-faq details.swell-block-accordion__item {
    background-color: #fff;
    border-radius: 32px;
    padding: 1.6rem 1rem;
}
/* Q */
.acc-faq summary.swell-block-accordion__title {
    padding-bottom: 1.3rem;
}
.acc-faq h4.swell-block-accordion__label {
    position: relative;
    font-weight: bold;
    font-size: 1.2rem;
    padding-left: 2.5rem;
	color: #013399;
}
.acc-faq .swell-block-accordion__title:before {
    content: 'Q';
    position: absolute;
    top: 40%;
    transform: translateY(-46%);
    left: 0.5rem;
    font-size: 2.5rem;
    font-weight: bold;
    color: #57c1ea;
}
@media screen and (max-width: 767px){/*sp*/
	
}
/* ふきだしリスト */
ul.ul-bubble li{
	list-style: none;
}
ul.ul-bubble > li:before {
    content: "\f075";
    position: relative;
    font-family: "Font Awesome 6 Free";
    margin-right: .5em;
    font-weight: 900;
    color: #57c1ea;
}

/* 採用情報 FAQ End================== */



/* 事業案内 解析例 Start================== */
.col-gallery > div > .swell-block-column {
    border: 2px solid #ebeff3;
    border-radius: 8px;
}
.col-gallery a {
    padding: 2rem;
}

/* 再生ボタンアイコン */
.play-wrap{
	text-align:center;
}
i.fa-solid.fa-play {
    position: relative;
}

i.fa-solid.fa-play:before{
	position: relative;
	z-index: 3;
}
i.fa-solid.fa-play:after {
    content: '';
    position: absolute;
    width: 4rem;
    height: 4rem;
    border-radius: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    transition: all 0.2s ease;
}

.col-gallery a:hover i.fa-solid.fa-play:after{
	background-color: #6dd6ff;
}
/* 事業案内 解析例 End================== */


/* 事業案内左サイドバー Start================== */
.sticky {
    position: sticky !important;
	top: 150px;
}
#side-menu {
	list-style: none;
	font-size: 0.8rem;
}
#side-menu li {
	margin: .5em 0 !important;
}
#side-menu a {
	color: #333;
	opacity: .5;
}
#side-menu a.currentTocPosition {
    color: #333;
	opacity:1;
	font-weight: bold;
	list-style: initial;
}
#side-menu li:has(> .currentTocPosition) {
	list-style:initial;
}
#side-menu li:has(> .currentTocPosition)::marker {
	color:#013399;
}
/* 事業案内左サイドバー End=================== */


/* 色 ============== */
:root {
    --color-main: #013399; /*青*/
	--color-sub01: #1b48cb; /*青グレー*/
    --color-sub02: #f8b500; /*オレンジ*/
    --color-sub03: #ffde59; /*黄 */
    --color-gray: #a6a6a6;
}
/* コンテンツ名 Start================== */

/* コンテンツ名 End==================== */

/* sp・PC切り替え Start================== */
@media screen and (max-width: 767px){/*sp*/
	.pc{display: none;}
	.sp{display: block;}
}
@media screen and (min-width: 768px){/*PC*/
	.pc{display: block;}
	.sp{display: none;}
}
/* sp・PC切り替え End================== */
/* スマホで左寄せ Start ================= */
@media screen and (max-width: 767px){
	.sp-align-l{
		text-align: left!important;
	}
}
/* スマホで左寄せ End =================== */
/* 見出し太字 Start =============== */
.post_content dt, .post_content h2, .post_content h3, .post_content h4 {
    font-weight: 600;
	margin: 1rem 0;
}
/* 見出し太字 End =============== */
/* 見出し Start =============== */
/* 見出し数字装飾 */
span.num {
    display: block;
    font-size: 0.8rem;
    color: #a6a6a6;
}
/* h1 ページタイトル */
h1.c-pageTitle > span {
    letter-spacing: 0.1rem;
	font-size: 2.6rem;
	font-weight: 600;
}
.swell-block-bannerLink.h1-img {
    width: calc(100% + 50vw - 50% + 16px);
}
@media screen and (min-width: 768px){/*PC*/
	h1.c-pageTitle > span {
		padding-left: 2rem;
	}
}
@media screen and (max-width: 767px){/*sp*/
	h1.c-pageTitle > span {
		font-size: 2.4rem;
	}
}
/* h2 */
.post_content h2{
	font-size: 2rem;
	margin: 1rem 0 6rem 0;
}
/* h2 セクション用 */
h2.wp-block-heading.is-style-section_ttl {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    font-size: 3rem;
    margin-bottom: 2rem;
	font-weight: 600;
}
h2.wp-block-heading.is-style-section_ttl span.sub {
    display: block;
    font-size: 0.8rem;
    margin-top: 0.8rem;
}
/* h3 */
.post_content h3{
	font-size: 1.6rem;
	position: relative;
	padding-top: 5rem;
	margin-bottom: 2rem;
}
.post_content h3:before{
	content:'';
	width: 4rem;
	height:2px;
	background-color: #6dd6ff;
	position: absolute;
	top: 0;
	left: 0;
}
/* h4 */
/* .post_content h4{
	font-size:1.2rem;
	position: relative;
	padding-left: 1.8rem;
}
.post_content h4:before{
	content: '';
	width: 1rem;
	height: 2px;
	background-color:#65b3f0;
	margin-right: .5rem;
	position: absolute;
	top: calc(50% - 1px);
	left: 2px;
} */
/* 見出し End =============== */
/* アンカーリンク Start================== */
.anchor-arrow a .sub{
	display: block;
	position: relative;
	font-size: 0.8rem;
	color: #a6a6a6;
	margin-left: 1.8rem;
}
.anchor-arrow a .sub:before{
	content:'';
	position: absolute;
	width:1.2rem;
	height:4px;
	background-color: #013399;
	top: calc(50% - 2px);
	left: -1.6rem;
}
.anchor-arrow a .title{
	font-size: 1.2rem;
	color: #333;
	font-weight: 600;
}
.anchor-arrow a .icon {
    font-size: 1.2rem;
    color: #a6a6a6;
    position: relative;
    margin-left: 0.5rem;
    bottom: -0.1rem;
}
.anchor-arrow a .icon svg{
	transition: all 0.2s ease-in-out;
}
.anchor-arrow a:hover .icon svg{
	transform: translateY(4px);
}
/* アンカーリンク End==================== */
/* ボタン Start =============== */
/* 矢印ボタン */
.btn-arrow a.swell-block-button__link {
    border: unset;
    position: relative;
	transition: all 0.25s ease-in-out;
	padding: 2rem;
}
.btn-arrow a.swell-block-button__link span {
	transition: all 0.25s ease-in-out;
}
.btn-arrow a.swell-block-button__link .__icon {
    margin-right: 2.5rem;
	z-index: 3;
	transition: all 0.25s ease-in-out;
}
.btn-arrow a.swell-block-button__link:before {
    content: '';
    width: 4rem;
    height: 4rem;
    border: 1px solid #013399;
    position: absolute;
    left: 4px;
	z-index: 0;
	transition: all 0.25s ease-in-out;
}
.btn-arrow.is-white a.swell-block-button__link{
	color: #fff;
}
.btn-arrow.is-white a.swell-block-button__link:before {
    border: 1px solid #fff;
}
.btn-arrow a.swell-block-button__link:hover{
	background-color: unset!important;
	color: #013399!important;
}
.btn-arrow a.swell-block-button__link:hover span{
	transform: translateX(4px);
}
.btn-arrow a.swell-block-button__link:hover .__icon{
	color: #fff;
}
.btn-arrow a.swell-block-button__link:hover:before{
	background-color: #013399;
}
.btn-arrow.is-white a.swell-block-button__link:hover{
	color: #fff!important;
}
.btn-arrow.is-white a.swell-block-button__link:hover .__icon{
	color: #fff;
}
.btn-arrow.is-white a.swell-block-button__link:hover:before{
	background-color: #013399;
	border-color: #013399;
}
/* トップページserviceボタン */
@media screen and (min-width: 768px){/*PC*/
	.top-service-btn img{
		max-height: 172px;
		min-height: 172px;
	}
}
@media screen and (max-width: 767px){/*sp*/
	.top-service-btn img{
		min-height: 172px;
	}
}
/* ボタン End =============== */

/* 0付き数字装飾リスト Start ======= */
ol.wp-block-list.ol-title {
  list-style: none;
  counter-reset: number;
}
ol.wp-block-list.ol-title li {
  position: relative;
  padding-left: 2rem;
  counter-increment: mycounter;
	font-size: 1.4rem;
}
ol.wp-block-list.ol-title li:before {
  content: counter(mycounter, decimal-leading-zero);
  position: absolute;
	top: calc(50% - 0.4rem);
  left: 0;
	font-family: 'BIZ UDPGothic', sans-serif;
  font-weight: 400;
  font-style: normal;
	color: #013399;
	font-size: 0.8rem;
}
/* 0付き数字装飾リスト End ======= */
/* リンクリスト 数字・矢印 Start======= */
ul.linklist-num {
    color: #013399;
}
ul.linklist-num li a {
    padding: 1rem 0 2rem 0;
    border-bottom: 2px dotted #d9d9d9;
}
ul.linklist-num li a span.swell-block-linkList__text{
	display: flex;
	align-items: center;
	font-weight: 600;
}
ul.linklist-num li a span.num {
    font-family: 'BIZ UDPGothic', sans-serif;
	font-weight: 400;
    margin-right: 2rem;
    font-size: 0.8rem;
	width: 2rem;
}
/* リンクリスト 数字・矢印 End ======= */
/* 枠 Start ======= */
/*黒枠 角丸*/
.box01 {
    border: 1px solid #333 !important;
    border-radius: 8px;
    padding: 2rem;
	background-color: #fff;
}
/*装飾数字*/
.box01-num {
    font-size: 2rem;
    font-family: 'BIZ UDPGothic', sans-serif;
    font-weight: 600;
    color: #013399;
}
/*画像丸く切り抜き*/
.bnr-maru figure.c-bannerLink__figure{
	aspect-ratio: 240 / 240;
    border-radius: 9999px;
	margin: auto;
}
/*幅最大800px*/
.max-w800{
	max-width: 800px;
}
/* 枠 End ======= */
/* 水平線幅広 Start ==================== */
hr.wp-block-separator.has-alpha-channel-opacity.is-style-wide {
	position:relative;
    border:none;
	height: 1rem;
}
hr.wp-block-separator.has-alpha-channel-opacity.is-style-wide:before {
    content: '';
    display: block;
    width: 98%;
    height: 4px;
    border-bottom: 1px solid #ccc;
    position: absolute;
    top: 1px;
}
hr.wp-block-separator.has-alpha-channel-opacity.is-style-wide:after {
    content: '';
    width: 4px;
    height: 4px;
    background-color: #ccc;
    position: absolute;
    top: 2px;
}
/* 水平線幅広 End ==================== */
/* table 表 Start================== */
.wp-block-table td, .wp-block-table th {
    padding: 24px .75em;
}
.wp-block-table td, .wp-block-table th {
    border: unset;
    border-bottom: 1px solid var(--color_border--table, #dcdcdc);
}
.post_content th {
    background-color: unset;
}
.post_content table tbody tr:first-child {
    border-top: 1px solid var(--color_border--table, #dcdcdc);
}
/* table 表 End==================== */
/* 幅広テキストエリア Start =========== */
.alignfull-column-txt {
    padding: 0 2rem;
}
/* 幅広テキストエリア End ============ */
/* 幅広右寄せ Start ================== */
.alignfull-right{
	justify-content: end!important;
}
/* 幅広右寄せ End =================== */
/* カラムpadding Start==================== */
@media screen and (min-width: 768px){/*PC*/
	.col2-p{
		padding: 3rem 3rem 3rem 2rem;
	}
	.col1-p{
		padding: 3rem 5rem 5rem 2rem;
	}
}
/* カラムpadding End==================== */
/* 高さいっぱいに拡張 Start======= */
@media screen and (min-width: 768px){/*PC*/
	/*グループ, カラム*/
	.h100{
		height: 100%;
	}
	/*バナーリンク*/
	.bnr-h100, .bnr-h100 .c-bannerLink, .bnr-h100 .c-bannerLink__figure{
		height: 100%;
	}
}
/* 高さいっぱいに拡張 End======= */
/* キャッチコピーサイズ Start======= */
@media screen and (min-width: 768px){/*PC*/
	.msg-l{font-size: 1.6vw;}
	.msg-m{font-size: 1.3vw;}
}
@media screen and (max-width: 767px){/*sp*/
	.msg-l{font-size: 2rem;}
	.msg-m{font-size: 1.2rem;}
}
/* キャッチコピーサイズ End ======== */
/* FAQ Q.テキスト Start ======== */
.p-faq-q:before {
    content: 'Q.';
    font-size: 2rem;
    color: #013399;
    margin-right: .5rem;
}
p.p-faq-q {
    text-indent: -2.5em;
    padding-left: 2.5em;
}
/* FAQ Q.テキスト End ======== */



/* フッター Start ====================== */
.l-footer__widgetArea {
	padding-top: 4em;
    padding-bottom: 2em;
}
/* フッターウィジェット1 左 */
img.image.wp-image-117.attachment-full.size-full {
    margin-top: 16px;
    max-width: 200px !important;
}
div#custom_html-3 {
    margin-top: 0.5rem;
}
/* フッターウィジェット2 右 */
p.footer02-title {
    font-size: 1.5em;
}
p.tel-num {
    font-size: 3em;
    font-weight: 500;
	line-height: 1.2;
}
/* フッター用ul固定ページリスト */
.footer-ul-page li {
    margin-bottom: 0.8em;
}
.footer-ul-page > li:not(.nonstyle):before {
    content: '－';
}
.footer-ul-page > li a{
	margin-left: 0.2em;	
}
.footer-ul-page > li.nonstyle a {
    margin-left: 1.2rem;
}
/* フッター プライバシーポリシーul */
ul.footer-ul-privacy {
    font-size: 0.8em;
}
ul.footer-ul-privacy  li {
    margin-left: 1em;
	margin-bottom: 0.8em;
}
ul.footer-ul-privacy > li{
    margin-bottom: 0.5em;
}
ul.footer-ul-privacy li:before {
    content: '－';
    margin-right: 0.2em;
}
/* フッター End ======================== */
/* FV Start================== */
.p-mainVisual__textLayer div {
	font-family: 'Inter', 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.p-mainVisual__slideTitle {
    font-weight: 600!important;
}
span.fv-sub {
    color: #a6a6a6;
    line-height: 1.2;
}
a.c-mvBtn__btn {
    padding: 0.8rem 2rem;
    border-radius: 2px;
}
/*ページャー*/
.swiper-button-prev, .swiper-button-next{
	color: #a6a6a6;
    background-color: unset;
}
.swiper-button-prev{
	padding-left: 4px;
}
.swiper-button-next{
	padding-right: 4px;
}
@media screen and (min-width: 961px){/*PC*/
	.p-mainVisual__slide.swiper-slide.c-filterLayer {
		display: flex;
		flex-direction: row-reverse;
		padding: 0 2rem;
	}
	.c-filterLayer__img {
		height: 100%;
        position: relative;
        width: 65%;
    	object-fit: cover;
	}
	.p-mainVisual__textLayer {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: center;
		left: 0;
		position: relative;
		-webkit-transform: translateX(-50%);
		transform: unset;
		width: 35%;
		padding: 0 0 0 4vw;
	}
	.p-mainVisual__slideTitle {
		font-size: 2vw;
	}
	.p-mainVisual__slideText {
		margin-top:3rem;
		font-size: 1vw;
		line-height: 2;
	}
	span.fv-sub {font-size: 0.9vw;}
	a.c-mvBtn__btn {
		font-size: 1vw;
	}
}
@media screen and (max-width: 960px){/*タブレット以下*/
	.p-mainVisual__inner{
		height: 60vh;
	}
	picture.p-mainVisual__imgLayer.c-filterLayer__img{
		height: 28vh;
    	object-fit: cover;
	}
	.p-mainVisual__textLayer.l-parent.l-parent.l-container.u-ta-l {
		top: 12vh;
		position: absolute;
		padding: 0 0 0 2rem;
		
	}
	.c-mvBtn {
		margin: .5em auto 0;
	}
	.swiper-button-prev, .swiper-button-next{
		top: 40vh;
	}
}
/* FV End==================== */
/* キャッチコピー Start=============== */
@media screen and (min-width: 788px){/*PC*/
	.top-msg-wrap{padding-left: 6em;}
	.top-msg{
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 787px){/*sp*/
	.top-msg-wrap {
		padding: 0 1.6em;
	}
	.top-msg{
		font-size: 2rem;
	}
}
/* キャッチコピー End=============== */
/* TOP事業案内 Start================== */
/* Business部分 */
.top-business-txt, .top-business-txt p, .top-business-txt h2{
	position: relative;
	z-index: 3;
	color: #fff;
}

.top-business-bg {
    transform: translateY(200px);
    position: relative;
    z-index: 3;
}

@media screen and (max-width: 787px){/*sp*/
	.top-business-bg{
		gap: 0!important;
		padding-left: 10vw;
	}
}
@media screen and (min-width: 788px){/*PC*/
	.top-business-bg {
		padding-left: calc(50vw - 50% - 32px);
	}
}
.top-business-txt:before {
    content: '';
    position: absolute;
    display: block;
    width: 100vw;
    background-color: #0a1130;
	height: 100%;
	left: calc(50% - 50vw);
	bottom: 0;
	z-index: 0;
}
.top-business-img{
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 787px){/*sp*/
	.top-business-bg {
		transform: translateY(140px);
	}
}

/* TOP事業案内 End================== */
/* TOP採用情報 Start================== */
.top-recruit {
    background-color: #fdfdfd;
    padding: 6rem 6em 0 6em;
    transform: translateY(-10rem);
}
.top-recruit .wp-block-cover__inner-container {
    max-width: 960px;
}
.top-recruit .btn-arrow a {
    font-size: 2em;
}
.top-recruit .btn-arrow a:before{
    width: 6rem;
	height: 6rem;
	left: -2px;
}
.top-recruit .btn-arrow a.swell-block-button__link .__icon {
    margin-right: 4.5rem;
}
@media screen and (max-width: 787px){/*sp*/
	.top-recruit {
		padding: 2rem 2em 0 2em;
	}
	.top-recruit .btn-arrow a {
		font-size: 1.6em;
	}
	.top-recruit .btn-arrow a.swell-block-button__link .__icon {
    	margin-right: 3rem;
	}
}
/* TOP採用情報 End==================== */
/* 地図 Start ================ */
.map{
    position: relative;
    width: auto;
    height: 480px;
}
.map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 地図 End ================ */


