@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: "Poppins", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
/* 白文字 */
.is-white span, p.is-white{
	color: #fff;
}

.font-poppins {/*英語用*/
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.font-roboto {/*TEL用*/
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* 色 ============== */
:root {
    --color-main: #0075C1; /*青*/
	--color-sub01: #1b48cb; /*青ビビット*/
    --color-sub02: #f8b500; /*オレンジ*/
    --color-sub03: #ffde59; /*黄 */
    --color-gray: #fdfdfd;
}
/* コンテンツ名 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;
}
/* 見出し太字 End =============== */
/* h1 ページタイトル Start =============== */
h1.c-pageTitle > span {
    letter-spacing: 0.1rem;
	font-size: 40px;
	font-weight: 600;
}
@media screen and (min-width: 768px){/*PC*/
	.h1-img{
		width: calc(100% + 32px);
		position: relative;
		left: -16px;
	}
}
@media screen and (max-width: 767px){/*sp*/
	h1.c-pageTitle > span {
		font-size: 2.4rem;
	}
	.h1-img{
		position: relative;
    	top: -32px;
	}
}
/* h1 ページタイトル Start =============== */
/* h2 Start =============== */
.post_content h2 {
    font-size: 32px;
	margin: 2em 0 2em;
}
/* h2 End =============== */
/* h2 TOPセクション用 Start =============== */
h2.wp-block-heading.is-style-section_ttl{
	margin-top: 0;
}
h2.wp-block-heading.is-style-section_ttl span.sub{
	display: block;
    letter-spacing: 0.01em;
    font-weight: 500;
    font-size: 64px;
	font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
}
h2.wp-block-heading.is-style-section_ttl span.title{
    margin-left: 2.4rem;
    font-size: 0.9rem;
    position: relative;
}
@media screen and (max-width: 767px){
	h2.wp-block-heading.is-style-section_ttl span.sub{
		font-size: 1.2em;
	}
}
h2.wp-block-heading.is-style-section_ttl span.title:before {
    content: '●';
    color: #faed0d;
    position: absolute;
    font-size: 1.2rem;
    left: -2.2rem;
    top: -0.2rem;
}
/* h2 TOPセクション用 End ================== */
/* h3 service用 Start ================== */
.service span {
    display: block;
}
span.service-title{
	font-size: 32px
}
span.service-num {
    font-size: 0.9rem;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #c9d0e7;
}
/* h3 service用 End ================== */
/* service メディアテキスト Start ======== */
@media screen and (min-width: 768px){/*PC*/
	.service-img-txt .wp-block-media-text__content {
		width: 152%;
	}
	.service-img-txt figure.wp-block-media-text__media {
		transform: translateX(8%);
	}
}
/* service メディアテキスト End ========== */
/* ボタンアイコン付き Start ============ */
.btn-icon span {
    color: #333;
}
.btn-icon a{
	display: flex;
    flex-flow: wrap;
    border: 2px solid #c9d0e7;
    border-radius: 8px;
    padding: 16px 24px;
	min-height: 128px;
	position: relative;
	transition: all 0.2s ease;
}
.btn-icon .txt{
	width: 86%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.btn-icon .title {
    font-weight: 500;
    font-size: 1.4rem;
	width:100%;
}
.btn-icon .detail{
	width: 100%;
	font-size: 0.9rem;
}
.btn-icon .icon {
    width: 14%;
    position: relative;
}
.btn-icon .icon i {
    position: absolute;
    left: calc(50% + 8px);
    top: calc(50% - 8px);
	z-index: 2;
}
.btn-icon a:after{
	content: '';
    position: absolute;
    width: 3.4em;
    height: 3.4em;
    border-radius: 50px;
    top: calc(50% - 1.7em);
    right: 1.2rem;
    z-index: 0;
	transition: all 0.2s ease;
}
.btn-icon a:hover{
	background-color: #fff;
	color: #0075c1!important;
	box-shadow: -4px -4px 4px rgba(255, 255, 255, 0.2), 4px 4px 4px rgba(0, 0, 0, 0.1);
}
.btn-icon a:hover:after{
	background-color: #ffde59;
}
/* ボタンアイコン付き End ============ */
/* 白枠 Start================== */
.box > .swell-block-columns__inner > .swell-block-column{
	padding: 2rem;
	background-color: #fff;
	border-radius: 16px;
}
/* 白枠 End ================== */
/* お問い合わせ Start================== */
.contact-wrap {
    background-image: linear-gradient(157deg, rgba(242, 251, 250, 1), rgb(232 228 245) 67%, rgb(219 223 239));
    border-radius: 24px;
    padding: 3em 1em;
    margin: 0 auto;
	max-width: 800px;
}
.contact-wrap .swell-block-columns__inner > div {
    border-right: 1px solid #d1d8df;
	border-bottom: none;
}
.contact-wrap .swell-block-columns__inner > div:last-child{
	border: none;
}
.contact-wrap p, .contact-wrap a {
    color: #0075c1;
}
@media screen and (max-width: 767px){/*sp*/
	.contact-wrap {
		padding: 2em 1em;
	}
	.contact-wrap .swell-block-columns__inner > div {
    	border-right: none;
		border-bottom: 1px solid #d1d8df;
	}
	.contact-wrap .swell-block-columns__inner > div:last-child{
		border: none;
	}
}
.contact-title {
    font-weight: bold;
    font-size: 1.2em;
}
.contact-btn a {
    padding: 2em 3.2em 2em 2em;
    font-size: 0.8em;
    background-color: #fff;
    color: #0075c1;
	border: none;
	transition: all 0.2s ease;
	box-shadow: -8px -8px 8px rgba(255, 255, 255, 0.2), 8px 8px 8px rgba(0, 0, 0, 0.05);
}
.contact-btn svg{
	margin-left: 1.5em;
	position: relative;
	z-index: 2;
}
.contact-btn a:after{
	content: '';
    position: absolute;
    width: 3.4em;
    height: 3.4em;
    border-radius: 50px;
    top: calc(50% - 1.7em);
    right: 1.7em;
    z-index: 0;
	transition: all 0.2s ease;
}
.contact-btn a:hover{
	color: #0075c1!important;
}
.contact-btn a:hover{
	background-color: #fff;
	color: #0075c1!important;
	box-shadow: -4px -4px 4px rgba(255, 255, 255, 0.2), 4px 4px 4px rgba(0, 0, 0, 0.1);
}
.contact-btn a:hover:after{
	background-color: #ffde59;
}

.phonenumber{
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
	font-size: 2em;
	white-space: nowrap;
}

/* お問い合わせ End================== */
/* pタグ装飾 Start================== */
/* メッセージ用大きめテキスト */
.txt-msg{
	font-size: 2em;
}
@media screen and (max-width: 767px){
	.txt-msg{
	  font-size: 2em;
	}
	/* sp左寄せ */
	.sp-txt-align-left{
	  text-align: left;
    }
}

/* pタグ装飾 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============== */
.bg-center{
    border-radius: 16px;
    padding: 32px;
}
@media screen and (max-width: 767px){
	.bg-center{
		padding: 24px;
	}
}
/* 中央寄せ枠 End================ */
/* 右寄せ枠 Start============== */
.bg-right{
    border-radius: 16px 0 0 16px;
    padding: 48px 32px 48px 24px;
    padding-right: calc(50vw - 50%);
    width: calc(50% + 50vw + 24px);
    height: calc(100% + 32px);
    transform: translateX(-24px);
}
@media screen and (max-width: 767px){
	.bg-right{
		padding: 32px 32px 32px 16px;
        margin-left: 16px;
	}
}
/* 右寄せ枠 End================ */
/* 青背景カラム 右寄せ Start============== */
.bg-right.bg-blue .swell-block-columns {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
}
.bg-right.bg-blue .swell-block-columns img {
    border-radius: 8px;
	width: 100% !important;
    height: auto !important;
}
/* 青背景カラム 右寄せ End================ */
/* 青背景 Start ================ */
.bg-blue{
	/*background-color: #127bc9;*/
	background-image: linear-gradient(150deg, #51d1f7 0%, #127bc9 60%);
}
/* 青背景 End ================ */
/* グレーグラデ背景 Start ================ */
.bg-gray{
	/*background-color: #cdcdcd;*/
	background-image: linear-gradient(157deg, rgba(242, 251, 250, 1), rgb(232 228 245) 67%, rgb(219 223 239));
}
/* グレーグラデ背景 End ================ */


/* FV Start ========================== */
div#main_visual {/*FV・ナビゲーション*/
    padding: 32px;
}
.p-mainVisual__inner.swiper.swiper-fade.swiper-initialized.swiper-horizontal {
    border-radius: 24px;
}
@media screen and (max-width: 767px){
	div#main_visual {
		padding: 16px;
	}
}
/* FVキャッチコピー --------- */
p.fv-title{
    margin-top: 20vh;
    font-size: 5vw;
    line-height: 1.25;
    margin-bottom: 5vh;
    background: linear-gradient(134deg, #59d9ff 0%, #1b48cb 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px){/*sp*/
	p.fv-title{
		margin-top: 10vh;
        font-size: 8vw;
	}
}
/* FV End =========================== */
/* フッター Start ====================== */
#footer, .l-footer__widgetArea{
	border-radius: 48px 48px 0 0;
}
.l-footer__widgetArea {
    background: linear-gradient(175deg, #51d1f7 0%, #127bc9 60%);
	border-bottom: 1px solid #fff;
	padding-top: 4em;
    padding-bottom: 2em;
}
/* フッターウィジェット1 左 */
#media_image-2 img {
    max-width: 400px !important;
	width: 100%;
}
div#text-2 {
    margin-top: 0 !important;
}
/* フッターウィジェット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:has(.nonstyle) {
    margin-left: 1em;
}
/* フッター プライバシーポリシーul */
ul.footer-ul-privacy {
    font-size: 0.8em;
}
ul.footer-ul-privacy  li {
    margin-left: 1em;
}
ul.footer-ul-privacy > li, }
ul.footer-ul-privacy  > l{
    margin-bottom: 0.5em;
}
ul.footer-ul-privacy li:before {
    content: '－';
    margin-right: 0.2em;
}
/* フッター End ======================== */
.service01 {
	background-color: #339fd9!important;
}
.service02 {
	background-color: #100e5f!important;
}
/* TOPセクション区切り角丸 Start ================= */
.separator{
	bottom: -1px;
}
.separator:before {
    content: "";
    background-color: #fdfdfd;
    border-radius: 0 0 48px 48px;
    position: absolute;
    inset: 0;
    z-index: 0;
    top: -2px;
}
.separator-service01:before{
	background-color: #fdfdfd;
}
.separator-service02:before{
	background-color: #339fd9;
}
.separator-news:before{
	background-color: #100e5f;
}
/* TOPセクション区切り角丸 End ============ */


/* フォーム Start================== */
.wpcf7 {
    background-color: #d3dde5;
    padding: 64px 56px;
    border-radius: 16px;
    max-width: 960px;
    margin: auto;
}
.wpcf7 p:has(label) {
    border-bottom: 1px solid #a2b6bf;
    padding: 1.6rem;
}
.wpcf7 label {
    display: flex;
}
.wpcf7 span.form-label {
    width: 30%;
    display: block;
}
.wpcf7-form-control-wrap{
	width: 70%;
}
.wpcf7-form-control-wrap input {
    height: 50px;
	width: 100%;
}
.wpcf7-form-control-wrap textarea {
	width: 100%;
}
/* 送信ボタン */
.wpcf7-form p:has(input[type="submit"]) {
    text-align: center;
}
.wpcf7-form input[type="submit"] {
	background-color: #0075cd;
	color: #fdfdfd;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    margin-top: 2rem;
    padding: 1rem 4rem;
    border-radius: 50px;
	margin-left: 5rem;
}
.wpcf7-form input[type="submit"]:hover {
    color: #0075cd;
	background-color: #fff;
}
@media screen and (max-width: 767px){/*sp*/
	.wpcf7 {
		padding: 1rem 0.5rem;
	}
	.wpcf7 p:has(label) {
		margin: 0 1rem;
		padding: 1rem;
	}
	.wpcf7 label {
		display: block;
	}
	.wpcf7 span.form-label, .wpcf7-form-control-wrap {
		width: 100%;
	}
}
/* フォーム End==================== */

/* 地図 Start ================ */
.map{
    position: relative;
    width: auto;
    height: 480px;
}
.map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 地図 End ================ */


/* 横スク文字 Start ===========*/
.txtscroll {
  display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0;
}
.txtscroll-wrap {
  display: flex;
  animation: loop-text 40s linear infinite;
}
span.double-content{
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    display: inline-block;
    font-size: 10em;
    line-height: 1;
    white-space: nowrap;
    background: linear-gradient(134deg, #cef4ff 0%, #fbeed5 60%, #e9e6ff 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* 横スク文字 End ================ */
/* ==================================== */