@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 {
	--main-color: var(--main-color);
	
    --color_border: hsla(0,0%,78%,.5);
    --color_gray: hsla(0,0%,78%,.15);
    --swl-color_hov_gray: rgba(3,2,2,.05);
    --swl-color_shadow: rgba(0,0,0,.12);
    /* --swl-fz--root: 3.6vw; */
    --swl-fz--side: var(--swl-fz--root);
    --swl-block-margin: 2em;
    --swl-sidebar_width: 280px;
    --swl-sidebar_margin: 24px;
    --swl-pad_post_content: 0px;
    --swl-pad_container: 4vw;
    --swl-h2-margin--x: -2vw;
    --swl-box_shadow: 0 2px 4px rgba(0,0,0,.05),0 4px 4px -4px rgba(0,0,0,.1);
    --swl-img_shadow: 0 2px 8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
    --swl-btn_shadow: 0 2px 2px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
    --swl-text_color--black: #333;
    --swl-text_color--white: #fff;
    --swl-fz--xs: .75em;
    --swl-fz--small: .9em;
    --swl-fz--normal: 1rem;
    --swl-fz--medium: 1.1em;
    --swl-fz--large: 1.25em;
    --swl-fz--huge: 1.6em;
    --swl-list-padding--left: 1.5em;
    --swl-list-padding--has_bg: 1em 1em 1em 1.75em;
	--_color-text: #615347;
	--swl-font_weight: 500;
	--color-text-default: #615347;
	--color-text-subtle: #827167;
	--color-text-inverse: #FFF;
	--color-text-accent: #F38989;
	--color-bg-default: #FFF;
	--color-bg-subtle: #FFF9F4;
	--color-bg-subtler: #FFE7E3;
	--color-border-default: #E1ACA5;
	--color-accentMain: #F38989;
	--color-accentBlue: #afc469;
	--color-accentGreen: #afc469;
	--color-illust: #FFE5BD;
	--color-white: #FFF;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-bold: 600;
	--font-base: 'Zen Kaku Gothic New', sans-serif;
	--font-en: "Montserrat", 'Zen Kaku Gothic New', sans-serif;
	--box-radius-lg: clamp(40px, 4.16vw, 60px);
	--box-radius-sm: 30px;
	--color-text-default-bgata: #464D42;
	--color-text-subtle-bgata: #8C8C8C;
	--color-text-accent-bgata: #2BB86B;
	--color-bg-subtle-bgata: #F9F9F9;
	--color-bg-subtler-bgata: #FFF7DA;
	--color-border-default: #f7931e;
	--color-border-default-bgata: #8C8C8C;
	--color-accentMain-bgata: #FFF98A;
	--color-accentGreen-bgata: #2BB86B;
    /* 他サイトの */
    --blue-color: #497091;
	--blue-color-light: #7D98B0;
}


/* テキストの行間（つまり、行と行の間の距離）を調整するために使用します。 */
* {
	line-height: 2;
}
html, body {
	font-family: var(--font-base);
}
body {
	font-weight: var(--fw-medium);
	letter-spacing: 0.03em;
}
@media screen and (max-width: 959px) {
	body {
		font-size: 15px;
	}
}

/* フォント */
.font-en {
	font-family: var(--font-en);
	font-weight: var(--fw-bold);
}
.font-bold {
	font-weight: var(--fw-bold);
}
/* フォントサイズ */
@media screen and (max-width: 959px) {
	.custom-text-17-sp {
		font-size: 17px!important;
	}
	.custom-text-20-sp {
		font-size: 20px!important;
	}
	.custom-text-27-sp {
		font-size: 27px!important;
	}
}
@media screen and (min-width: 960px) {
	.custom-text-20-pc {
		font-size: 20px!important;
	}
	.custom-text-26-pc {
		font-size: 26px!important;
	}
	.custom-text-40-pc {
		font-size: 40px!important;
	}
}
/* PCのみ テキスト中央揃え */
@media screen and (min-width: 960px) {
	.pc-text-center {
		text-align: center;
	}
}

/* 文字色 */
.font-1 {
    color: var(--main-color);
}
.title-1 {
    color: #e95903;
}
/* アコーディオン */
.swell-block-accordion.is-style-main .swell-block-accordion__title {
    background-color: var(--main-color);
}
/* カスタマイズされたリストの点 */
.ullist-1 {
    list-style: none;
    /* デフォルトの点を消す */
    line-height: 1.8;
    /* 行間を広げる */
}
.ullist-1>li {
    position: relative;
    /* 点の配置基準 */
}
.ullist-1>li:before {
    content: '';
    /* 点の内容を空に */
    background-color: #fabd00;
    /* 点の色 */
    position: absolute;
    /* 点の位置 */
    top: 11px;
    /* 垂直位置の調整 */
    left: -1em;
    /* 水平位置の調整 */
    width: 7px;
    /* 点の幅 */
    height: 7px;
    /* 点の高さ */
    border-radius: 50%;
    /* 点を丸くする */
}
/* 段落 空白 */
.p1 {
    animation-delay: 0.3s;
    animation-duration: 2s;
    line-height: 2.2;
}
/* サイドバー */
/* サイドバーの見出し */
.c-widget__title.-side {
    position: relative;
    margin: 1rem 0rem 1rem;
    padding: 0rem;
    background: none;
    color: #48b24d;
    border-bottom: 4px dashed;
}
.c-widget__title.-side::before {
    background: none;
}
.c-widget__title.-side::after {
    background: none;
}
/* 空白 */
@media (min-width: 960px) {
    #sidebar .c-widget+.c-widget {
        margin-top: 3.5em;
    }
}
/* トップページ 私たちについての横画像 */
@media screen and (min-width: 960px) {
    .top-about-image1 {
        display: block;
        position: absolute;
        left: 0%;
        top: 9%;
        z-index: -1;
    }
}
@media screen and (min-width: 960px) {
    .top-about-image2 {
        display: block;
        position: absolute;
        right: 1%;
        top: 9%;
        z-index: -1;
    }
}
/* コンテンツヘッダー */
.c-pageTitle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--color-text-inverse);
	font-weight: var(--fw-medium);
	letter-spacing: 0.05em;
	text-shadow: none;
}
@media screen and (max-width: 959px) {
	.c-pageTitle {
		font-size: 35px;
		/*gap: 16px;*/
	}
}
@media screen and (min-width: 960px) {
	.c-pageTitle {
		font-size: clamp(35px, 3.33vw, 48px);
		/*gap: 24px;*/
	}
}
.c-pageTitle::before {
	/*content:'';*/
	display: block;
	width: 64px;
	height: 64px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.page-id-23 .c-pageTitle::before {
    background-image: url(/wp-content/uploads/2025/02/page-title-icon-company.svg);
}

/*投稿一覧 下線をドットにする*/
.-type-simple .p-postList__link {
	border-bottom: 4px dashed var(--color_border);
}

/*スクロールバー*/
::-webkit-scrollbar {
  width: 15px;
}
::-webkit-scrollbar-track {
  background-color:  #e5e0d6;
}
::-webkit-scrollbar-thumb {
  background-color: #8b8075;
  border-radius: 15px;
}


/* =============================================
   ボタン
============================================= */
.is-style-btn_normal {
--the-min-width: 40%;
--the-padding: .5rem 3em;
/* --the-min-width: 80%;
--the-padding: 1rem 1.5em; */
--the-fz: .9em;
--the-width: auto;
}

/*ボタンを矢印付きにする*/
.is-style-btn_normal a {
    /*background: #fff;
	color: #666;*/
	color: #FFFFFF;
    box-shadow: 0 0 0 1px #dcdcdc;
    display: inline-block;
    font-size: var(--the-fz);
    min-width: var(--the-min-width);
    padding: var(--the-padding);
    position: relative;
    text-decoration: none;
    transition: box-shadow .25s, background-color .25s;
    width: var(--the-width);
}
.is-style-btn_normal a:before {
    content: "";
    position: absolute;
    width: 2em;
    height: 2em;
    /*background-color: #F0F3F5;*/
    background-color: #FFFFFF;
    border-radius: 50%;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
}
.is-style-btn_normal a:after {
    color: var(--blue-color);
}
.is-style-btn_normal a:after {
	color: var(--main-color);/*追加*/
    content: "\e930";
    font-family: icomoon;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: -webkit-transform .25s;
    transition: transform .25s;
    transition: transform .25s, -webkit-transform .25s;
}

/* もっと見るボタン */
/* もっと見るボタンは、投稿リストブロックの下に表示させることが出来るやつです。 */
.is-style-more_btn a {
  background: var(--main-color);
  width: -moz-fit-content;
  width: fit-content;
  min-width: unset;
  padding: 0.6em 4.3em 0.5em 1.8em;
  box-shadow: none;
  color: #fff;
  border-radius: 999px;
}
.is-style-more_btn a:hover {
  background: #EF9C66;
  color: var(--color_text);
}
.is-style-more_btn a::after {
  background: #fff;
  border-radius: 999px;
  width: 20px;
  height: 20px;
  color: #EF9C66;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  right: 1.2em;
}

/*トップへ戻るボタン*/
/* #pagetop {
  background: url("/wp-content/uploads/2025/03/topreturn_1.png") no-repeat center;
  background-size: contain;
  border: none;
  box-shadow: none;
  opacity: 1;
  border-radius: 0;
  width: 70px;
  height: 70px;
}
@media (min-width: 960px) {
  #pagetop:hover {
    background-color: transparent !important;
    color: inherit !important;
  }
}
#pagetop i {
  display: none;
}
#pagetop .c-fixBtn__label {
  margin: 0;
  position: absolute;
  bottom: -15px;
} */
#pagetop {
    border-radius: 50%;
}

/* =============================================
   見出し
============================================= */
/* 見出し */
.post_content .h2-1 {
    line-height: 1.5;
	margin-top: 4.5rem;
    margin-bottom: 0.5rem;
}
.post_content .h2-1::before {
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
    background: none;
}


/* トップページで使用 */
.post_content .h3-1 {
    margin: 1.5em 0 1em;
    color: #48b24d;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
}
.post_content .h3-1::before {
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
    background: none;
}
/* 上記以外 */
.post_content .h3-2 {
    line-height: 1.5;
	margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
/* アンカーリンク用 */
.post_content .h3-3 {
  border-radius: 8px;
  background-color: #f5f4ef;
  padding: 23px 0;
  text-align: center;
  font-size: 1.1rem;
}
.post_content .h3-3 a {
    color: initial;
    text-decoration: none;
    cursor: pointer;
}

/* 下線ドット（緑） */
.post_content .title-1 {
  text-align: center;
  margin-bottom: 2rem;
}
.post_content .title-1 span {
  display: inline-block;
  line-height: 1.5;
  /* font-size: 1.7rem; */
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  color: var(--main-color);
  padding-bottom: 2rem;
  /* background: url((/wp-content/uploads/2025/03/h_dotpattern-orange.svg); */
  background-image: url(/wp-content/uploads/2025/03/h_dotpattern-orange.svg);
  background-size: 1.3rem;
  background-repeat: repeat-x;
  background-position: bottom left;
}

/* ここからコピペ */
/* セクションタイトル H1, H2 */
.post_content h1.is-style-section_ttl,
.post_content h2.is-style-section_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.post_content h1.is-style-section_ttl > span:first-child,
.post_content h2.is-style-section_ttl > span:first-child {
	line-height:1;
}
.post_content h1.is-style-section_ttl > span:first-child span,
.post_content h2.is-style-section_ttl > span:first-child span {
	font-family: var(--font-en);
	line-height:1;
}
.post_content h1.is-style-section_ttl >span:last-child,
.post_content h2.is-style-section_ttl >span:last-child {
	margin-top: 8px;
}
@media screen and (max-width: 959px) {
	.post_content h1.is-style-section_ttl > span:first-child span,
	.post_content h2.is-style-section_ttl > span:first-child span{
		font-size: 12px!important;
	}
	.post_content h1.is-style-section_ttl > span:last-child,
	.post_content h2.is-style-section_ttl > span:last-child {
		font-size: 27px!important;
	}
}
@media screen and (min-width: 960px) {
	.post_content h1.is-style-section_ttl > span:first-child span,
	.post_content h2.is-style-section_ttl > span:first-child span {
		font-size: 15px!important;
	}
	.post_content h1.is-style-section_ttl > span:last-child,
	.post_content h2.is-style-section_ttl > span:last-child {
		font-size: clamp(32px, 2.77vw, 40px)!important;
	}
}
.post_content h1.is-style-section_ttl::before,
.post_content h2.is-style-section_ttl::before {
	position: relative;
	content:'';
	display: block;
	width: 32px;
	height: 32px;
	background: url(/wp-content/uploads/2025/08/バナーイラストてしおて_02アイコン.png) no-repeat center center / contain;
}

/* フッターお問い合わせ h2 */
.p-blogParts[data-partsid="2371"]  h2 {
	margin-block: 0;
}
@media screen and (max-width: 959px) {
	.p-blogParts[data-partsid="2371"]  h2 {
		font-size: 27px;
	}
}
@media screen and (min-width: 960px) {
	.p-blogParts[data-partsid="2371"]  h2 {
		/* font-size: 40px; */
		font-size: 27px;
	}
}
@media screen and (max-width: 959px) {
	.p-blogParts[data-partsid="2371"]  p {
		margin-top: 16px;
	}
}
@media screen and (min-width: 960px) {
	.p-blogParts[data-partsid="2371"]  p {
		margin-top: 24px;
	}
}
.p-blogParts[data-partsid="2371"]  h2::before {
  content: none;
}

/* セクションタイトル H3 */
.post_content h3.is-style-section_ttl {
	position: relative;
/* 	width: fit-content; */
	line-height: 1.8;
	letter-spacing: 1px;
}
@media screen and (max-width: 959px) {
	.post_content h3.is-style-section_ttl {
/* 		font-size: 27px; */
	}
}
@media screen and (min-width: 960px) {
	.post_content h3.is-style-section_ttl {
/* 		font-size: clamp(30px, 2.77vw, 40px); */
	}
}

/* 段落 */
.p-1 {
  color: #c8a062;
  font-size:23px!important;
}

/* 破線付きテキスト */
.custom-dashed-text > span {
	position: relative;
	display: inline-block;
}
.custom-dashed-text > span::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	height: 10px;
	/*background-image: radial-gradient(ellipse at center, var(--color-border-default) 35%, transparent 50%);*/
	background-image: radial-gradient(ellipse at center, var(--color-border-default) 25%, transparent 40%);
	background-size: 11px 10px;
	background-repeat: repeat-x;
}

/* =============================================
   投稿関係
============================================= */
/* カテゴリーページ一覧に表示される「サブタイトル」の文字を非表示にする */
.c-pageTitle__subTitle {
    display: none;
}
.widget_categories>ul>.cat-item>a:before, .wp-block-categories-list>li>a:before {
    content: "";
}
 /*親カテゴリーのファイルアイコンを削除*/
.widget_categories>ul>.cat-item>a, .wp-block-categories-list>li>a {
    padding-left: 0;
}
 /*タググラウド*/
.tagcloud .tag-cloud-link {
  padding-left: 23px !important;
  background: 	#48b24d; /*背景色*/
  color: #fff !important; /*文字色*/
  border-radius: 5px; /*角丸（999pxにすると左右が半円になる）*/
}
.tagcloud .tag-cloud-link::after {
  font-family: "Font Awesome 6 Free";
  content: "\f02b"; /*アイコンの種類*/
  font-size: 15px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  color: #fff; /*アイコンの色*/
}
.p-fixBtnWrap {
  right: 0.5em;
}

/* =============================================
   固定ページ
============================================= */
:is(.page:not(.home), .blog, .archive) .l-topTitleArea {
    /* margin: 6em auto 1em; */
}
:is(.page:not(.home), .blog, .archive) .l-topTitleArea.c-filterLayer:before {
    background-color: transparent;
}
:is(.page:not(.home), .blog, .archive) .c-filterLayer.-texture-dot:after {
    max-width: 1200px;
    background-color: rgba(255, 255, 255, 0.3);
    background-image: url(/wp-content/themes/swell/assets/img/texture/white-brushed.png);
    background-size: initial;
    left: 50%;
    transform: translateX(-50%);
    opacity: .55;
}
/* 固定ページのアーカイブ画像に丸みをつける */
:is(.page:not(.home), .blog, .archive) :is(.l-topTitleArea.c-filterLayer:before, .c-filterLayer.-texture-dot:after, .c-filterLayer__img) {
    max-width: 1200px;
    margin: 0 auto 0;
    border-radius: 24px;
    left: 50%;
    transform: translateX(-50%);
}
:is(.page:not(.home), .blog, .archive) .c-pageTitle {
    font-size: 2em;
    text-align: center;
    text-shadow: none;
}
/* :is(.page:not(.home), .blog, .archive) .c-pageTitle {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #ffffff;
  color: #333;
  padding: 5px 15px 8px;
  border-radius: 10px;
  text-wrap: nowrap;
}
@media (max-width: 768px) {
  :is(.page:not(.home), .blog, .archive) .c-pageTitle {
    top: 137px;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
} */


/* =============================================
   テーブルレイアウト
============================================= */
/*横列：1行目にタイトル*/
.table1 {
    border: 1px solid #e6eef3;
    border-radius: 10px;
    border-spacing: 0;
    text-align: center;
    border-collapse: separate;
    width: 100%;
}
.table1 tr td {
    border: none;
    border-right: 1px solid #e6eef3;
    border-bottom: 1px solid #e6eef3;
}
.table1 tr td:first-child {
    border-left: none;
}
.table1 tr td:last-child {
    border-right: none;
}
.table1 tr:first-child td {
    border-top: none;
    background: #f2f6f9;
    color: #5b9599;
    /*white-space: nowrap;折り返さない*/
}
.table1 tr:last-child td {
    border-bottom: none;
}
/*縦列：1列目にタイトル*/
.table2 {
    border: 1px solid #aaa;
    border-collapse: separate;
    overflow: hidden;
    border-spacing: 0;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #e6eef3;
    width: 100%;
}
.table2 th,
.table2 td {
    padding: 0.6em 3em;
    vertical-align: middle;
    border-right: 1px solid #e6eef3;
    border-bottom: 1px solid #e6eef3;
}
.table2 th:last-child,
.table2 td:last-child {
    border-right: none;
}
.table2 td:first-child {
    background: #f2f6f9;
}
.wp-block-table.table2 td:first-child {
    border-color: #e6eef3;
    color: #5b9599;
}
.table2 td {
    background: #fff;
}
.table2 tbody tr:last-child th,
.table2 tbody tr:last-child td {
    border-bottom: none;
}

/* =============================================
   タイトル
============================================= */
.title1 {
    text-align: center;
    font-size: 30px;
    line-height: normal;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 40px;
    padding-bottom: 20px;
    background-image: url(/wp-content/uploads/2025/02/line_2-1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    background-size: 54px 6px;
}
@media only screen and (max-width: 768px) {
    .title1 {
        font-size: clamp(24px, 5vw, 30px);
        margin-bottom: 30px;
    }
}

/* =============================================
   画像
============================================= */
/* 角を丸くする */
.photo-1 img {
    max-width: 43rem;
    width: 100%;
    border-radius: 3rem;
    margin-right: 5rem;
}

/* =============================================
   画像スライダー
============================================= */
.loop-slider-bgBox {
	background-color: var(--color-bg-subtle);
	padding-block: 34px;
	border-radius: var(--box-radius-sm)!important;
}
@media screen and (min-width: 960px) {
	.loop-slider-bgBox {
		padding-block: clamp(48px, 4.44vw, 64px);
		border-radius: var(--box-radius-lg)!important;
	}
}
.loop-slider-bgBox h3 {
	margin-inline: auto;
	font-size: 20px!important;
}
@media screen and (min-width: 960px) {
	.loop-slider-bgBox h3 {
		font-size: clamp(30px, 2.77vw, 40px)!important;
	}
}
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 1.5rem; /* 画像間の余白 */
}
.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}
.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 45s infinite linear; /* アニメーションの時間を指定 */
}
.loop-slider--slow .swell-block-columns__inner {
    animation: infinity-scroll-left 70s infinite linear; /* アニメーションの時間を指定 */
}
/* .loop-slider .swell-block-columns__inner:first-of-type {
	margin-right: -1.5rem;
} */
.loop-slider .swell-block-column figure {
    width: 500px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}
.loop-slider .swell-block-column figure::before {
	content:'';
	display: block;
	padding-top: 66%;
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 277px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* =============================================
   記事スライダー
============================================= */
/* 共通 */
.swiper-postListWrap .p-postList {
	flex-wrap: nowrap;
	margin: 0;
}
/* カード型 */
.swiper-postListWrap .-type-card .p-postList__item {
	padding: 0;
}
.swiper-postListWrap .swiper-pagination-bullet {
    background: currentcolor;
    color: inherit;
}
/* サムネイル型 */
.swiper-postListWrap .-type-thumb .p-postList__item {
	padding: 0;
}
.p-postList.-type-thumb + .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -4.5px;
}

/* デザイン */
.swiper-button-next::after,
.swiper-button-prev::after {
}
.sample-slider [class^="swiper-button-"]{
    width: 100px;
}

/* ここからslide */
/* スライダーの位置を相対指定にしてボタン位置基準にする */
.p-postListWrap.slide .swiper {
  position: relative;
}

/* ナビゲーションボタン（左右）を外側に出す */
.p-postListWrap.slide .swiper-button-prev,
.p-postListWrap.slide .swiper-button-next {
  top: 37%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background: var(--color_main);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 左ボタン：左に外出し */
.p-postListWrap.slide .swiper-button-prev {
  left: -50px;
}

/* 右ボタン：右に外出し */
.p-postListWrap.slide .swiper-button-next {
  right: -50px;
}
@media (max-width: 599px) {
    .p-postListWrap.slide .swiper-button-prev {
        left: -12px;
    }
    .p-postListWrap.slide .swiper-button-next {
        right: -12px;
    }
}

/* カスタムプロパティ */
:root {
  --swiper-nav-size: 30px;
  --swiper-nav-border-width: 3px;
  --swiper-nav-color: #fff;
}

/* 疑似要素ベースの矢印 */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(var(--swiper-nav-size) * 0.4);
  height: calc(var(--swiper-nav-size) * 0.4);
  box-sizing: border-box;
  border-style: solid;
  border-color: var(--swiper-nav-color);
  transform: translate(-50%, -50%) rotate(45deg) skew(10deg, 10deg);
}

/* 左矢印（←） */
.swiper-button-prev::after {
  border-width: var(--swiper-nav-border-width) var(--swiper-nav-border-width) 0 0;
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* 右矢印（→） */
.swiper-button-next::after {
  border-width: 0 0 var(--swiper-nav-border-width) var(--swiper-nav-border-width);
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* =============================================
   TOPページ
============================================= */
/* TOP - 余白調整*/
.top #content {
	padding-top: 0!important;
	margin-bottom: 0!important;
}
.w-beforeFooter {
	margin-top: 0!important;
}

/*  TOP - MV  */
.p-mainVisual {
	position: relative;
	background-color: var(--color-white);
	/* padding-top: 40px!Important;*/
	padding-bottom: 120px!Important;
}
@media screen and (max-width: 959px) {
	.p-mainVisual {
		padding-top: 24px!Important;
		padding-bottom: 38px!Important;
	}
}
.p-mainVisual__inner {
	max-width: min(85%, 1100px);
	overflow: visible;
}
.p-mainVisual__inner::before, .p-mainVisual__inner::after {
	content:'';
	display: block;
	position: absolute;
	z-index: 2;
}
.p-mainVisual__inner::before {
	width: clamp(170px, 16.25vw, 234px);
	height: clamp(110px, 11.94vw, 172px);
	left: calc(clamp(20px, 2.77vw, 40px) * -1);
	bottom: -20px;
	background: url(/wp-content/uploads/2025/04/tit_illust02.png) no-repeat center center / contain;
}
.p-mainVisual__inner::after {
	width: clamp(500px, 48.61vw, 700px);
	height: clamp(150px, 20.83vw, 300px);
	right: calc(clamp(150px, 13.88vw, 200px) * -1);
	bottom: calc(clamp(100px, 6.94vw, 150px) * -1);
	background: url(/wp-content/uploads/2024/07/mv-text-thankyou.svg) no-repeat center center / contain;
}
@media screen and (max-width: 959px) {
	.p-mainVisual__inner::after {
		display: none;
	}	
}
.p-mainVisual__slideTitle {
	display: flex;
   justify-content: center;
   align-items: center;
	text-align: left;
	writing-mode: vertical-rl;
	letter-spacing: 0.4em;
	font-size: clamp(30px, 3.47vw, 50px);
}
@media screen and (max-width: 959px) {
	.p-mainVisual__slideTitle {
		font-size: 28px;
	}
}
.p-mainVisual__textLayer {
	justify-content: initial;
}
.p-mainVisual__textLayer {
	padding-top: 20px;
}


/* =============================================
   フッター
============================================= */
/* Footer*/
.l-footer {
	border-radius: var(--box-radius-lg) var(--box-radius-lg) 0 0;
	margin-top: -3rem;
}
@media screen and (max-width: 959px) {
	.l-footer {
		border-radius: var(--box-radius-sm) var(--box-radius-sm) 0 0;
		margin-top: -2rem;
	}
}
.l-footer__widgetArea {
	padding-block: 0;
}
.l-footer .w-footer__box:nth-child(3) {
	padding-block: 0;
}
@media screen and (max-width: 959px) {
	.l-footer__inner {
		padding-top: 70px;
		padding-bottom: 76px;
	}
	.l-footer .w-footer__box:nth-child(3) {
		margin-top: 48px;
	}
}
@media screen and (min-width: 960px) {
	.l-footer__inner {
		padding-top: 112px;
		padding-bottom: 76px;
	}
	.l-footer .w-footer {
		flex-wrap: wrap;
	}
	.l-footer .w-footer__box:nth-child(1) {
		flex: 25%;
		padding-left: 0;
	}
	.l-footer .w-footer__box:nth-child(2) {
		flex: 90%;
		padding-right: 0;
	}
	.l-footer .w-footer__box:nth-child(3) {
		flex: 100%;
		margin-top: 66px;
	}
}
@media screen and (min-width: 1200px)  {
	.l-footer .w-footer__box:nth-child(1) {
		flex: 25%;
	}
	.l-footer .w-footer__box:nth-child(2) {
		flex: 75%;
	}
}

/* ロゴ */
@media screen and (max-width: 959px) {
	#media_image-3 {
		text-align: center;
	}
	#media_image-3 a {
		display: block;
	}
}
#media_image-3 img {
	width: 200px;
}
@media screen and (min-width: 12000px) {
	#media_image-3 img {
		width: 223px;
	}
}

/* フッターナビ */
/*#nav_menu-4 {
	display: none;
} */
@media screen and (max-width: 959px) {
	#nav_menu-7 {
		width: 95%;
		margin-inline: auto;
	}
	#nav_menu-7 ul {
		column-count: 2;
		column-gap: 1.5em;
	}
}
@media screen and (min-width: 960px) {
	#nav_menu-7 ul {
		display: flex;
		justify-content: flex-end;
	}
}
#nav_menu-7 li.current-menu-item a::before {
	opacity: 1;
}
#nav_menu-7 li.link-external a {
	display: flex;
	align-items: center;
	gap: 4px;
}
#nav_menu-7 li.link-external a::after {
	content:'';
	display: block;
	width: 20px;
	height: 20px;
}
#nav_menu-7 a {
	position: relative;
	padding: 0.3em 17px;
	border: none;
}
@media screen and (max-width: 959px) {
	#nav_menu-7 a {
		display: inline-block;
		font-size: 15px;
		letter-spacing: 0.45px;
		padding: 1.2em 5px;
	}
}
#nav_menu-7 a:hover {
	background-color: inherit;
}
#nav_menu-7 a::before {
	content:'';
	display: block;
	width:calc(100% - 34px);
	height: 1.5px;
	background-color: var(--color-white);
	opacity: 0;
	position: absolute;
	top: unset;
	transform: translateY(0);
	left: 17px;
	bottom: -8px;
}
@media screen and (max-width: 959px) {
	#nav_menu-7 a::before {
		width:calc(100% - 10px);
		left: 5px;
		bottom: 10px;
	}
}

/* フッターメニューの仕切りの縦線を消す */
.l-footer__nav li:first-child a,
.l-footer__nav li a {
    border-left: 0;
    border-right: 0;
}
/* フッターのリストの装飾（リストブロックの丸等）を消す */
.l-footer .post_content :where(ul:not([type])),
.l-footer .post_content ol ul,
.l-footer .post_content ul ul {
    list-style: none;
	
}
/* フッターのリストの下線を消す */
.l-footer .c-listMenu a{
	border-bottom: 0;
}

/* TOPページのフッター真上にある余白を無くす（他のページは残す） */
.home .l-content {
  margin-bottom: 0 !important;
}
/* フッター直前ウィジェットにある余白を無くす*/
.w-beforeFooter {
	margin-top:0;
}

/* =============================================
   FAQブロックをアコーディオンにするカスタマイズ
============================================= */
.faq_q {
    background-color: var(--color_main);
    color: #fff;
}
.faq_a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0s;
    padding: 0!important;
}
.faq_a.open {
    max-height: fit-content;
    padding: 1em 1em 1em 3em!important;
    border: solid 1px var(--color_main);
}
.swell-block-faq .faq_q:before,
.swell-block-faq .faq_a:before {
    box-shadow: none;
    left: 1px;
}
.swell-block-faq .swell-block-faq__item+.swell-block-faq__item {
    position: relative;
}
.swell-block-faq__item .faq_q:after {
    content: "\e910";
    font-family: icomoon!important;
    color: #fff;
    font-weight: bold;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
}
.swell-block-faq__item.open .faq_q:after {
    content: "\e912";
}
/*同様にSWELLアイコンを利用して変更 */
.swell-block-faq__item .faq_q:after {
    content: "\e91c";
}
.swell-block-faq__item.open .faq_q:after {
    content: "\e919";
}

/* =============================================
   Snow Monkey Formsの調整
============================================= */
/*Snow Monkey Formsで必須マークをつける　項目の前につけたい場合 */
.smf-item__label__text {
    position: relative;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::before {
    position: absolute;
    top: 50%;
    left: -50px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 40px;
    height: 23px;
    border-radius: 4px;
    content: "必須";
    font-size: 12px;
    color: #fff;
    /* background: #ff0000;*/
	background: var(--color_main);
}

/* 確認ボタン*/
.smf-action .smf-button-control__control {
    font-size: 1em;
    background-color: var(--color_main);
    background-image: none;
    color: #fff;
    border: none;
    transition: box-shadow 0.25s;
    border-radius: 80px;
    display: inline-block;
    letter-spacing: 1px;
    line-height: 1.5;
    margin: 0;
    min-width: 260px;
    padding: 1em;
    position: relative;
    text-decoration: none;
    width: auto;
}
.smf-action .smf-button-control__control:hover {
    border-color: inherit!important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 12px 24px -12px rgba(0, 0, 0, .2);
}

/* アクション部分の上下マージン（シンプルテーブルも --_margin1 を使用） */
.smf-form .smf-text-control__control  {
  border-radius: 20px;
}
.smf-form .smf-textarea-control__control {
  border-radius: 20px;
}

.contact-form-box {
	padding: 60px 24px!important;
}
@media screen and (min-width: 960px) {
	.contact-form-box {
		padding: clamp(64px, 6.94vw, 100px) clamp(56px, 6.52vw, 94px)!important;
	}	
}

/* =============================================
   トップページ：事業内容
============================================= */
.has-border,div.has-background,p.has-background {
    padding: var(--swl-box_padding);
}
.has-swl-pale-01-background-color {
    background-color: #fdf7c7 !important;
    color: var(--swl-text_color--black, #333);
}

/* 事業内容  */
.service-service-box-parent {
	padding: 48px 24px!important;
}
@media screen and (min-width: 960px) {
	.service-service-box-parent {
		padding:  clamp(48px, 4.44vw, 64px)!important;
	}
}
.service-service-box-child {
	padding: 24px 18px!important;
	border-radius: 16px!important;
	overflow: hidden;
	background-color: #FFFFFF;
}
@media screen and (min-width: 960px) {
	.service-service-box-child {
		padding: 34px!important;
		border-radius: 34px!important;
	}
}
.service-heart01,
.service-heart02,
.service-heart03 {
	display: none;
}
@media screen and (min-width: 960px) {
	.service-heart01,
	.service-heart02,
	.service-heart03 {
			display: block;
			position: absolute;
			z-index: -1;
	}
	.service-heart01 {
		top: 4%;
		right: 8%;
	}
	.service-heart02 {
		bottom: 31%;
		left: -4%;
		transform: scale(1.05) rotate(40deg);
	}
	.service-heart03 {
		bottom: 0%;
		right: -1%;
		transform: scale(0.9);
	}
}
.custom-flow-box {
	padding: 2px!important;
	overflow: hidden;
	max-width: 912px;
	margin-inline: auto;
	border-radius: 12px;
}
@media screen and (min-width: 960px) {
	.custom-flow-box {
		border-radius: 24px;
	}
}
.custom-flow-box > .swell-block-columns__inner {
	align-items: stretch!important;
}
.custom-flow-box-head {
	background-color: var(--color-bg-subtle);
	padding: 0 24px!important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media screen and (min-width: 960px)  {
	.custom-flow-box-head {
		height: 100%;
		padding: 6px 24px!important;
	}
}
.custom-flow-box-index {
	font-size: 41px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
@media screen and (min-width: 960px) {
	.custom-flow-box-index {
		font-size: clamp(24px, 3.81vw, 55px)
	}
}
.custom-flow-box-body {
	padding: 24px!important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media screen and (min-width: 960px)  {
	.custom-flow-box-body {
		padding: 6px 24px!important;
	}
}

/* =============================================
   その他いろいろ
============================================= */
.swell-block-fullWide__inner.l-container {
    --swl-fw_inner_pad: var(4vw, 0px);
}

/* 角丸ボックス */
.custom-box-radius {
	border-radius: 30px;
	overflow: hidden;
/* 	padding: 0!important; */
}
@media screen and (min-width: 960px) {
	.custom-box-radius {
		border-radius: clamp(40px, 4.16vw, 60px);
	}
}

.column1{
  height : 100%;
}










.donation-box {
  background-color: #EAF6E0;
  padding: 2em;
  border-radius: 10px;
  color: #4D2C14;
  line-height: 1.7;
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
}

.bank-section {
  background-color: #F5FDF2;
  padding: 1.5em;
  border-radius: 10px;
  margin-bottom: 1.5em;
}
.bank-section div {
  margin-bottom: 0.8em;
}
.bank-section .h3-bank {
  color: #356C2E;
  font-size: 1.2em;
  margin-bottom: 1em;
  border-bottom: 1px solid #A9D7A9;
  padding-bottom: 0.4em;
  margin: 0em 0em 1em;
}

.label {
  background-color: #65B042;
  color: #FFFFFF;
  padding: 0.2em 0.6em;
  border-radius: 4px;
  font-weight: bold;
  margin-right: 0.5em;
  display: inline-block;
  font-size: 0.95em;
}

/* ✅ スマホ対応 */
@media screen and (max-width: 600px) {
  .donation-box {
    padding: 1em;
  }

  .bank-section {
    padding: 1em;
  }

  .bank-section .h3-bank {
    font-size: 1em;
	margin: 0em 0em 1em;
  }

  .label {
    font-size: 0.85em;
    padding: 0.2em 0.5em;
  }

  .bank-section div {
    font-size: 0.95em;
    margin-bottom: 0.7em;
  }
}










