/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 16 2026 | 12:57:38 */
/* 
@media (max-width: 640px) 
@media (min-width: 960px) 
var(--color_main)
サブカラーの設定
var(--color_deep01)
var(--color_deep02)
var(--color_deep03)
*/

/* =========================
  共通：ボタンアニメーション
========================= */
.c-button-animation a,
.c-button-animation img {
  margin: 0 auto;
  animation: c-button-scale 2s ease 0s infinite alternate;
  transform-origin: center;
  cursor: pointer;
}

@keyframes c-button-scale {
  from {
    transform: scale(0.95);
  }
  to {
    transform: scale(1);
  }
}
/* 通常ボタン hover */
.swell-block-button.is-style-btn_normal .swell-block-button__link {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.swell-block-button.is-style-btn_normal .swell-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  opacity: 0.95;
}
/* ----------------------------------- */
/*SWELLテーマ側のクラス余白調整*/
/* ----------------------------------- */
.w-beforeFooter {
	margin: 0 auto 3em;
}
.l-content {
	margin: 0 auto;
}
/* =========================
  Utility：スマホ時テキスト位置
========================= */
@media (max-width: 480px) {
  .u-sp-text-left {
    text-align: left !important;
  }
  .u-sp-text-center {
    text-align: center !important;
  }

}
/* =========================
  Utility：幅・余白調整
========================= */
/* 幅 */
.u-w-fit {
  width: fit-content;
}

.u-w-600 {
  max-width: 600px;
  margin-inline: auto;
}

.u-w-800 {
  max-width: 800px;
  margin-inline: auto;
}

/* padding */
.u-p-05 { padding: .5em !important; }
.u-p-1  { padding: 1em  !important; }
.u-p-2  { padding: 2em; }

.u-px-1 { padding-inline: 1em; }
.u-px-2 { padding-inline: 2em; }

.u-py-1 { padding-block: 1em; }
.u-py-2 { padding-block: 2em; }

.u-mt-1 { margin-top: 1em; }
.u-mb-2 { margin-bottom: 2em; }

@media (min-width: 960px) {
  .u-px-lg {
    padding-inline: 6em;
  }

  .u-px-xl {
    padding-inline: 10em;
  }
}
/* =========================
  Utility：角丸・影・線
========================= */
/* 角丸 */
.u-radius-10 {
  border-radius: 10px;
}

.u-radius-10 img {
  border-radius: 10px;
}

.u-radius-20 {
  border-radius: 20px;
}

/* 影 */
.u-shadow {
  box-shadow: 1px 3px 7px #d7d7d7;
}

/* 線 */
.u-border-main {
  border: 1px solid var(--color_deep02);
}
/* =========================
  Utility：横幅設定
========================= */

.u-w-600 {
  max-width: 600px;
  margin-inline: auto;
}

.u-w-800 {
  max-width: 800px;
  margin-inline: auto;
}

.u-w-900 {
  max-width: 900px;
  margin-inline: auto;
}

.u-w-1150 {
  max-width: 1150px;
  margin-inline: auto;
}
/* ----------------------------------- */
/* その他 */
/* ----------------------------------- */
.wp-block-group.u-align-center{
    align-items: center;
}
/* =========================
  Utility：position
========================= */

.u-relative {
  position: relative;
}

.u-absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 640px) {
  .u-sp-column-reverse .swell-block-columns__inner {
    flex-direction: column-reverse;
  }
}
/* カラムの高さ合わせる */
@media (min-width: 960px){
.eight-frame1006-main .wp-block-group__inner-container{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.eight-frame1006-arrange-text{
  margin-top: auto;
  width: 100%;
}
.eight-frame1006-main .swell-block-column{
  display: flex;
}
.eight-frame1006-main .wp-block-group{
  display: flex;
  width: 100%;
}
}
/* =========================
  Component：カード高さ揃え
========================= */
/* 親：高さ揃え */
.c-equal-card .swell-block-columns__inner {
  display: flex;
  align-items: stretch;
}

/* 各カラム */
.c-equal-card .swell-block-column {
  display: flex;
  flex-direction: column;
}

/* カード本体 */
.c-equal-card__item {
  display: flex;
  width: 100%;
  height: 100%;
  flex: 1;
}


/* SWELLグループ内も縦に伸ばす */
.c-equal-card__item > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
    width: 100%;
  height: 100%;
}

/* 中央寄せしたい場合 */
.c-equal-card__item--center > .wp-block-group__inner-container {
  align-items: center;
  justify-content: center;
}

/* テキストだけ伸ばさない */
.c-equal-card__text {
  flex-grow: 0 !important;
  margin-top: 0.6em;
  margin-bottom: 0;
}
/* 文章エリアを伸ばして、ボタンを下に揃える */
.c-equal-card .box_shaow_blue .wp-block-paragraph {
  flex-grow: 1;
}
/* ボタン位置を下揃え */
.c-equal-card .box_shaow_blue .swell-block-button {
  margin-top: auto;
}
/* ----------------------------------- */
/* 共通お問い合わせボタンボックス */
/* ----------------------------------- */
.contact_common_box{
	text-shadow:none;
}
.wp-block-group.is-row.contact_common_box {
    justify-content: center;
	gap:20px;
}
.contact_common_box a{
	font-weight:200;
    min-width: 250px;
    padding: 1em;
}
/* ----------------------------------- */
/* グラデーション背景 */
/* ----------------------------------- */
.gradation_back{
	background-image: linear-gradient(182deg, rgba(255, 255, 255, 1) 11%, rgba(245, 251, 254, 1) 65%, rgba(241, 250, 254, 1));
}
/* ----------------------------------- */
/*ボックスシャドウ*/
/* ----------------------------------- */
/*水色*/
.box_shaow_blue{
box-shadow: 3px 5px 14px rgba(0, 160, 239, 0.2);
}
/*グレー*/
.box_shaow{
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/*----------------------------*/
/*テキスト配置*/
/*----------------------------*/
/*960px以下は右寄せを左寄せ*/
@media (max-width: 960px) {
.has-text-align-right.sp_left,.sp_left{
	text-align:left !important;
}
}
/*PCでは中央揃え*/
@media (min-width: 960px){
.pc_center.has-text-align-left {
    text-align: center;
}
}
/*スマホでは左揃え*/
@media (max-width: 959px){
.sp_left {
    text-align: left;
}
/*スマホでは中央揃え*/
.sp_center {
    text-align: center !important;
}
}
@media (max-width: 599px){
/*スマホのみ中央揃え*/
.sp_only_center {
    text-align: center !important;
}
	/*スマホのみ左揃え*/
.sp_only_left {
    text-align: left !important;
}
}
/* ----------------------------------- */
/* カラムの高さ合わせる設定 */
/* ----------------------------------- */

@media (min-width: 960px){
/* column_fixed 内の swell-block-column を除外 */
.eight-frame-main .swell-block-column:not(.column_fixed .swell-block-column){
  display: flex;
  justify-content: center;
}

.eight-frame-arrange{
  display: flex;
  flex-grow: 1;
}

.eight-frame-arrange .wp-block-group__inner-container{
  display: flex;
  flex-direction: column;
}

.eight-frame-arrange .wp-block-group__inner-container .eight-frame-arrange-text{
  flex-grow: 1;
}
}
@media (min-width: 599px){
/* column_fixed 内の swell-block-column を除外 */
.tb-eight-frame-main .swell-block-column:not(.column_fixed .swell-block-column){
  display: flex;
  justify-content: center;
}

.tb-eight-frame-arrange{
  display: flex;
  flex-grow: 1;
}

.tb-eight-frame-arrange .wp-block-group__inner-container{
  display: flex;
  flex-direction: column;
}

.tb-eight-frame-arrange .wp-block-group__inner-container .eight-frame-arrange-text{
  flex-grow: 1;
}
}
/*----------------------------*/
/*spでカラムを反転*/
/*----------------------------*/
@media (max-width: 959px) {
  .tb_column_reverse > .swell-block-columns__inner {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media (max-width: 599px) {
  .column_reverse > .swell-block-columns__inner {
    display: flex;
    flex-direction: column-reverse;
  }
}
/*-------------------------*/
/*追従cta*/
/*-------------------------*/
.floating_cta{
	display:none;
}
@media (max-width: 959px){
.floating_cta {
    display: block;
    position: fixed;
    left: 50%;
    bottom: -10px;
	width:100%;
    z-index: 100;
    text-align: center;
    transition: opacity 0.5s ease;
	transform: translate(-50%, 0);
}
	.floating_cta a{
	padding: 1em .5em;
}
	.f_material a{
		border-radius:30px 0 0 0 ;
	}
	.f_contact a{
		border-radius:0 30px 0 0 ;
	}
/* 非表示状態 */
.floating_cta.is-hide {
  opacity: 0;
  pointer-events: none;
}
.floating_cta img {
    width: 240px;
	margin-bottom:-1em;
}
}
/* ----------------------------------- */
/* 下層ページのタイトルデザイン */
/* ----------------------------------- */
/* 下層トップ画像を右寄せ＆左を空ける */
.wp-singular #top_title_area,
.blog #top_title_area{
  position: relative;
  overflow: hidden;
}
.wp-singular .c-pageTitle,
.blog .c-pageTitle{
  position: relative;
  display: grid;
  line-height:.7;
  font-size:1.8em;
  color:#0F1148;
}
.wp-singular .l-topTitleArea__body,
.blog .l-topTitleArea__body{
	text-align:left;
	text-shadow:none;
}
.wp-singular .c-pageTitle__subTitle,
.blog .c-pageTitle__subTitle{
	display: inline-block;
	width: fit-content;
	font-size: 16px;
	font-family: "DM Sans", sans-serif;
	color:#fff;
    margin-left: 0;
    opacity: 1;
    padding-block: 5px;
    position: relative;
    top: 0em;
    left: 0;
    transform: translateY(50%);
	background-image: linear-gradient(145deg, rgba(43, 168, 214, 1) 10%, rgba(41, 91, 186, 1) 90%);
    padding: 0.5em 1em;
}
@media (min-width: 600px) {
    .wp-singular .l-topTitleArea,
	.blog .l-topTitleArea{
        min-height: 296px;
        padding: 1em 0;
    }
}
@media (min-width: 600px) {
    .wp-singular .c-pageTitle,
	.blog .c-pageTitle{
        font-size: 2em;
    }
}
/* ----------------------------------- */
/* ステップ表デザイン */
/* ----------------------------------- */
.swell-block-step__number{
	font-family: "DM Sans", sans-serif;
}
.swell-block-step__number .__label {
    font-size: 11px;
}
/* ----------------------------------- */
/*アコーディオン*/
/* ----------------------------------- */
.faq_section .swell-block-accordion__title{
	background:#fff;
}
.faq_section .__icon--closed.icon-caret-down:before, .faq_section .__icon--opened.icon-caret-up:before{
	color: #149DD0;
}
.faq_section .swell-block-accordion__title::before,
.faq_section .swell-block-accordion__body::before{
	font-family: "DM Sans", sans-serif;
    font-size: 17px;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
}
.faq_section .swell-block-accordion__title::before{
	 content: "Q";
	background: #0393EA;
}
.faq_section .swell-block-accordion__body::before {
    content: "A";
	background: #343434;
}
.faq_section .swell-block-accordion__title .swell-block-accordion__label,
.faq_section .swell-block-accordion__body p{
	padding-left:2.5em;
}
/* ----------------------------------- */
/*アンカーボタン*/
/* ----------------------------------- */
.anker_btn:hover{
    opacity:.6;
	transition:.3s;
}
.anker_btn .wp-block-image img {
    vertical-align: middle;
}
/* ----------------------------------- */
/*パンくずリスト*/
/* ----------------------------------- */
.p-breadcrumb__item:has(a[href*="/products/"]) {
	display: none;
}
/* ----------------------------------- */
/*見出し調整*/
/* ----------------------------------- */
.post_content h3{
   font-size:1.3em;
}