@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 {
	
}
p {
	line-height: 1.8;/* 行間 */
	letter-spacing: 0.12rem;/*　文字間　*/
	text-align:justify;
    word-break:break-all; 
    text-justify:inter-ideograph;
    text-justify:inter-character;
    word-wrap:break-word;
    overflow-wrap:break-word;
}

/* フォント */
:root {
	--swl-font_family: "Montserrat","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--swl-letter_spacing: 0.08em;/*　文字間　*/
}
/* リンク　指カーソル */
a { 	cursor:pointer; }

/*　リスト　行間　*/
.post_content li {
    margin: 0.6em 0;
}





/********************************************************************
** SWELL
********************************************************************/
/* --------------------------------------
// 　カラム　影
-------------------------------------- */
.is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
	box-shadow: 0 2px 10px rgba(0,0,0,.05), 0 10px 10px -10px rgba(0,0,0,.1);
}


/* --------------------------------------
// 　ボタン
-------------------------------------- */
.is-style-btn_normal a:hover {
	 opacity: 0.8;
	 transition: .25s;
}

/* --------------------------------------
// 　ボタン　黒背景
-------------------------------------- */
.btn_black a {
	background-color: #333;
}

/* --------------------------------------
// 　ボタン　文字左　　アイコン右
-------------------------------------- */
.btn_justify .swell-block-button__link[data-has-icon]  {
	justify-content: space-between;
}

/* --------------------------------------
// 　ブログパーツ下余白削除
-------------------------------------- */
.p-blogParts.post_content {
    margin-bottom: 0;
}


/* --------------------------------------
// 　角丸　画像
-------------------------------------- */
.wp-block-image.is-style-rounded img {
    border-radius: 0.5em;
}
/*　画像　角丸　*/
.img_kadomaru img {
	border-radius: 0.5em;
}

/* --------------------------------------
// 　画像 影
-------------------------------------- */
.img_shadow img {
    filter: drop-shadow(5px 5px 10px #ccc);
}


/* --------------------------------------
// 　タブ　角丸
-------------------------------------- */
button.c-tabList__button {
  border-radius: 4px;
	font-weight: bold;
}
/* 未選択時 */
.is-style-balloon>.c-tabList .c-tabList__button {
    background: #F2F2F2;
	  color: #534741;
}

/* --------------------------------------
// 　リンク　リスト　線あり
-------------------------------------- */
.swell-block-linkList.-border .swell-block-linkList__item:first-child {
    border-top: 1px solid #F0F3F5;
}
.swell-block-linkList.-border .swell-block-linkList__item {
    border-bottom: 1px solid #F0F3F5;
}

/* --------------------------------------
// 　リンク　> 右向き　矢印アイコン
-------------------------------------- */
.list_chevron-right li:before {
	content: "\e921";
	color: #ddd;
}



/* --------------------------------------
// 　アコーディオン 続き　more コンパクト
-------------------------------------- */
.more-accordion .swell-block-accordion__title {
	padding: 0.3em 1em;
  border-radius: 50px;
  font-size: .9em;
}
.more-accordion p {
	text-align:justify
}


/* --------------------------------------
// スクロールバー 横 SWELL
-------------------------------------- */
#yoko-scroll .swell-block-columns__inner::-webkit-scrollbar {
	background-color: #f7f7f7;
	height: 10px;
	border-radius: 50px;
}
#yoko-scroll .swell-block-columns__inner::-webkit-scrollbar-thumb {
	background-color: #35C3CA!important;
	border-radius: 50px;
}
@media (min-width: 960px){
	#yoko-scroll .c-scrollHint {
		  display: none;
	}
}

/* --------------------------------------
// リスト
-------------------------------------- */
/* デフォルト */
.post_content ul li::marker {
	color: #8da8cf;
    font-size: 1.2em;
}

/* アイコン右余白 */
.is-style-bad_list li, .is-style-check_list li, .is-style-good_list li, .is-style-triangle_list li {
    padding-left: 1.8em;
}
/*　アイコン　太さ　*/
.is-style-bad_list li:before, .is-style-check_list li:before, .is-style-good_list li:before, .is-style-triangle_list li:before {
	 font-weight: bold;
}
/*　アイコン　オレンジ　*/
.__icon-orange li:before {
	 color: #ffb932;
}
/*　下線（点線）　*/
.-list-under-dashed>li, .border_bottom>li {
    border-bottom: 2px dashed #faf8f4;
}



/********************************************************************
** グローバルメニュー
********************************************************************/

/* --------------------------------------
// 横幅いっぱい
-------------------------------------- */
/* スクロール前 */
.l-header__inner {
	max-width: 100%;
    padding-right: 0;
}
/* スクール後 */
.l-fixHeader__inner {
    height: 70px;
    max-width: 100%;
    padding-right: 0;
}

/* --------------------------------------
// 通常メニュー
-------------------------------------- */
.c-gnav>.menu-item>a {
	padding: 0 1.5em;
	font-weight: bold;
}
.c-gnav>.menu-item>a .ttl {
	font-size: 18px;
}
.c-gnav > li:hover > a {
	color: var(--color_main);
}


/* --------------------------------------
// お問い合わせ
-------------------------------------- */
/* 非ウィジェットの場合 */
#header .g-menu_contact a {
    background-color: #004097;
    padding-left: 1em;
    padding-right: 1em;
    color: #fff;
}

/* ウィジェットの場合 */
.g-menu--contact a {
    background-color: #007091;
    padding-left: 1em;
    padding-right: 1em;
    color: #fff;
    border-radius: 0;
    transition: box-shadow .25s;
    height: 100px;
    align-items: center;
    display: flex;
	box-shadow: none;
	font-size: 20px;
	line-height: 1.3;
}
.g-menu--contact a:hover {
    box-shadow: none;
    opacity: .8;
}

/*　スクロール後 */
.l-fixHeader__inner .g-navi_btn-area,
.l-fixHeader__inner .g-menu--contact a{
    height: 70px;
}
.-body-solid .l-fixHeader {
    box-shadow: none;
}
@media (min-width: 960px) {
    .-series-right .w-header {
        margin: 0;
        /*margin-left: 12px;*/
        margin-right: 0;
        /* height: 100px; */
        padding: 0;
        transition: all .3s;
    }
}








/********************************************************************
** フッターメニュー
********************************************************************/
/* フッター下 余白削除 */
.swell-block-fullWide.pc-py-0.sp-py-0.alignfull.site-map.f_main-menu.pc_only {
	    margin-bottom: 0;
}
/* CTAとフッター間の余白削除 */
@media (min-width: 800px){
div#block-12 {
    margin-top: 0;
	}
}

/* --------------------------------------
// メイン
-------------------------------------- */
/* 横並びメニュー */
.f-menu-list {
    padding: 1.5em 0;
    /*border-top: solid 1px #003683;
    border-bottom: solid 1px #003683;*/
	border-top: solid 1px #ffffff1c;
    border-bottom: solid 1px #ffffff1c;
}
.f-menu-link {
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
	justify-content: center;
}
.swell-block-linkList.is-style-default.-flex.f-menu-link {
	--the-gap: .5em 1.5em;
}
.swell-block-linkList.is-style-default.-flex.f-menu-link .swell-block-linkList__link:hover {
    text-decoration: none;
    opacity: .5;
}



/* --------------------------------------
// フッター（ PC ）1　に設定した場合
-------------------------------------- */
/* 余白削除 */
.l-footer__widgetArea {
    padding-bottom: 0;
    padding-top: 0;
}

@media (min-width: 960px){
	.w-footer {/*　コンテンツのずれ修正　*/
    display: block;
	}
	.w-footer__box {/*コンテンツ上下の余白削除*/
    padding: 0;
	}
}

@media not all and (min-width: 960px){
	.w-footer__box {
    padding: 2em 0;
    }
}

/* TEL・FAX 一時的に非表示 */
#tel-fax_none {
	display: none;
}


/* --------------------------------------
// コピーライト周り
-------------------------------------- */
.l-footer__foot, .l-footer__widgetArea {
    border-top: solid 1px #00337b;
}

/*　メニュー　*/
@media (min-width: 600px){
	.l-footer__nav li:first-child a {/* 左*/
    border-left: none;
	}
	.l-footer__nav a {/*右*/
    border-right: none;
	}
}
.l-footer__nav {
	padding: 1em 0 1em;
}
.l-footer__nav a {
	 padding: 0.25em 0.7em;
}

/* コピーライト */
.l-footer .copyright {
	opacity: .7;
	 padding-bottom: 1.5em;
}



/********************************************************************
** スマホ 上部メニュー
********************************************************************/
@media (max-width: 960px){
.-img .c-headLogo__link {
    display: block;
    padding: 10px 0;
	}
}

/* 問い合わせ（現在非表示） */
.l-header__customBtn {
	display: none;
    color: #ffffff;
    background-color: #004097;
    border-radius: 50px;
    margin: 5px;
    height: 40px;
    width: 40px;
}
.l-header__customBtn .c-iconBtn__icon {
    font-size: 20px;
}





/********************************************************************
** スマホスライドメニュー
********************************************************************/

/*　背景　*/
.p-spMenu__inner::before {
    background: var(--color_main);
    opacity: 1;
}
.p-spMenu__inner .p-blogParts.post_content {
    background-color: var(--color_main);
}
.p-spMenu__bottom #block-16 .sp-menu_list-simple {
    margin-bottom: 5em !important;
}
/* × 閉じるボタン */
.p-spMenu__closeBtn .c-iconBtn__icon {
    font-size: 20px;
    color: #fff;
}
/* メニュー */
.p-spMenu {
    color: #ffffff;
}
/* SNS LINE */
.sns-menu_simple .sns--line a {
	background-color: #00c30000;
	width: auto;
    height: auto;
}

/* menu 見出し　非表示 */
.c-widget__title.-spmenu {
    display: none;
}



/********************************************************************
** パンくずリスト
********************************************************************/
/* 共通設定*/
.p-breadcrumb__list {
    display: flow;
} 
.l-topTitleArea+.p-breadcrumb {
	padding-top: 0;
}
.p-breadcrumb:not(.-bg-on) {
    padding-top: 12px;
    padding-bottom: 12px;
}
/* 960px以下　回り込み 
@media screen and (max-width: 960px){
	.p-breadcrumb__list {
    border-radius: 0;
		 width: 100%;
		background-color: #fff;
	}
}*/
/* 固定ページ　画像あり */
.p-breadcrumb.-bg-on {
    box-shadow: none;
    background: #fff;
}
/* テキスト　リンク */
a.p-breadcrumb__text {
	/*color: #299EA7;*/
}
/* 長いタイトル折り返し */
.p-breadcrumb__text {
	white-space: break-spaces;
}
/* アイコン非表示 */
.p-breadcrumb__text .__home:before {
	display: none;
}

/* 固定ページ　画像なし */
.-body-solid .p-breadcrumb.-bg-on {
    box-shadow: none;
    background: #fff;
}
/*　>　*/
.p-breadcrumb__item:after {
	opacity: .2;
	margin-right: 6px;
}
/* 記事タイトル 表示 */
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block;
}


/********************************************************************
** 右下　ページTOPへ　ボタン
********************************************************************/

/* ページTOPへ */
 button#pagetop {
    border: 1px solid var(--color_main);
	color: var(--color_main);
	opacity: 1;
}
button#pagetop.hov-bg-main:hover {
	background: #fff!important;
	color: #333!important;
	opacity: 0.8!important;
}




/********************************************************************
** 見出し
********************************************************************/
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-radius: .5em;
}


/* --------------------------------------
// 固定ページ h1（コンテンツ上）画像なし
-------------------------------------- */
/* h1エリア余白 */
.l-topTitleArea {
    padding: 2.5em 0 0 0;
    min-height: 50px;
}
@media (min-width: 600px){
.l-topTitleArea {
    min-height: 100px;
	}
}

/*　シャドウなし　*/
#top_title_area .l-topTitleArea__body {
  text-shadow: none;
}

/* テキスト
-------------------------------------- */
/* タイトル（日本語） */
#top_title_area .c-pageTitle {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
    color: var(--color_text);
	font-size: 1.8em;
	text-align: center;
	display: grid;
	letter-spacing: 0.2rem;
}

/* サブタイトル（英語） 削除予定*/
#top_title_area .c-pageTitle__subTitle {
    margin-left: 0;
    opacity: 0.5;
    display: block;
    color: var(--color_main);
    font-size: 0.6em;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-style: normal;
    font-weight: 500 !important;
    position: relative;
    grid-row: 1;
	padding-bottom: 3px;
}

/* 画像非表示 */
#top_title_area .u-obf-cover {
	display: none;
}

/* 600px以下 */
@media (max-width: 600px){
#top_title_area .c-pageTitle {
    font-size: 1.5em;
	}
}


/* --------------------------------------
// h2　メイン（英字大）
-------------------------------------- */
/* h2 */
.post_content h2 {
	line-height: 1.2;
}
/* 英字 */
.en-txt {
	/*letter-spacing: inherit!important;*/
	letter-spacing: 0.1em;
	font-weight: 900;
	text-transform: uppercase;
}

/* h2 */
.midashi_en-big h2 {
	margin-top: .8em;
}
.midashi_en-big .midashi-yoko {
    margin-bottom: 0;
}
.midashi_en-big .en-txt {
	margin: 0;
	font-size: 5em;
	margin-bottom: 0;
}
@media (max-width: 600px){
	.midashi_en-big .en-txt {
	 font-size: 3.5em;
	}
}


/* --------------------------------------
// h2　メイン（英字小）
-------------------------------------- */
/* 日本語太字 */
.midashi_jp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900 !important;
}

/* h2 */
.midashi_en-small h2 {
	font-size: 3em;
	margin-top: 0;
}
.midashi_en-small .en-txt {
	opacity: .5;
	font-size: 1em;
	line-height: 1;
	font-weight: 600;
}

/* --------------------------------------
// 黄色下線
-------------------------------------- */
._yellow2 .mark_yellow {
	background: linear-gradient(transparent 64%, #ffe900 0%);
	background: linear-gradient(transparent 64%, #fff370 0%);
}

/* --------------------------------------
// 左に縦線（黄色）
-------------------------------------- */
h3.__tatesen.is-style-section_ttl {
	border-left: solid 5px #ffe900;
    padding-left: .7em;
}


/* --------------------------------------
// 丸アイコン付き　横並び見出し 
-------------------------------------- */

/* フッター サービス 見出しまわり
-------------------------------------- */
/* サービス見出しエリア */
.midashi-yoko {
	margin-bottom: 1.8em;
}
/*　丸アイコン　*/
.midashi-yoko .icon-maru {
    align-items: center;
    display: flex;
    padding-right: 10px;
}
/*　一覧へのボタン　*/
.midashi-yoko .mini-more {
	 margin-left: 1.5em;
}
.midashi-yoko .mini-more a {
    border-bottom: solid 1px #666;
}
.midashi-yoko .mini-more a:hover {
    opacity: 0.8;
}



/********************************************************************
** コンテンツパターン
********************************************************************/
/* --------------------------------------
// 上部が重なるコンテンツ
-------------------------------------- */
.over-content {
	   top: -150px;
    position: relative;
    z-index: 3;
    background-color: #fff;
    padding-top: 4em;
}
@media (max-width: 800px){
	.over-content {
		 top: -100px;
	}
}


/* --------------------------------------
// 画像+テキスト（横幅いっぱい）画像左→下（TOP about）
-------------------------------------- */
.wide-media-text .wp-block-media-text.img_bottom .wp-block-media-text__content {
	  max-width: 900px;
    padding: 4em 3em;
}

/* 850px以下 画像回り込み（下）
-------------------------------------- */
@media (max-width: 850px){
/*全体設定*/
.wide-media-text .wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}
/*コンテンツ*/
.wide-media-text .wp-block-media-text.img_bottom .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
	  margin-bottom: 3em!important;
}
	.wp-block-media-text.is-stacked-on-mobile.img_bottom {
    grid-column: 1;
    grid-row: 2;
	}
/* 画像 */
	.wp-block-media-text.is-stacked-on-mobile.img_bottom .wp-block-media-text__media {
    grid-column: revert;
    grid-row: none!important;
	}
}




/********************************************************************
** 背景
********************************************************************/

/* --------------------------------------
// 帯（青）
-------------------------------------- */

/* 青（上） */
.bg_yoko-obi:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30%;
	height: 50%;/*後援会のバナーなしの場合*/
	background-color: #105265;
}

@media (max-width: 960px){
	.bg_yoko-obi:before {
		height: 40%;
	}
}


/* 水色（上） */
.bg_yoko-obi.__mizuiro:before {
    background-color: #1DA1F2;
	background: linear-gradient(330deg, rgb(0 189 214) 0%, #007091 58%);
	background: linear-gradient(330deg, rgb(0 189 214) 0%, #03637f 58%);
}


/* --------------------------------------
// ハーフ（青+白）
-------------------------------------- */
.bg-half {
    background: linear-gradient(180deg, #004097 0%, #004097 50%, #fff 50%, #fff 100%);
}

/* --------------------------------------
// グラデーション
-------------------------------------- */
/* 青　右下 */
.bg-gradation {
	background: linear-gradient(330deg, rgb(0 189 214) 0%, #007091 58%);
	background: linear-gradient(330deg, rgb(0 189 214) 0%, #03637f 58%);
}



/* --------------------------------------
// 境界線　三角
-------------------------------------- */
/* 微妙な余白対策　*/
.bg-border_arrow svg  {
    top: -2px;
    /*width: 101vw;*/
	  overflow: hidden;
	  position: relative;
}
/* 境界線前コンテンツ用 */
.bottom_p_none {
	padding-bottom: 0!important;
}




/********************************************************************
** ボックス
********************************************************************/

/* --------------------------------------
// ボックス　角丸　シャドウなし
-------------------------------------- */
/*　メイン　*/
.box-maru, p.box-maru.has-background, div.box-maru.has-background {
	background-color: #fff;
    border-radius: 1em;
	padding: 2.5em 2em;
}
/*　M　*/
.box-maru.__m, p.box-maru.__m.has-background, div.box-maru.__m.has-background {
    border-radius: 0.5em;
	padding: 1em;
}

/* 角丸のみ　余白なし */
.kadomaru, p.kadomaru.has-background, div.kadomaru.has-background {
    border-radius: 1em;
}

/* 上下の余白広め */
.box-maru2, p.box-maru2.has-background, div.box-maru2.has-background {
	background-color: #fff;
    border-radius: 1em;
	padding: 4em 2em;
}



/* --------------------------------------
// ボックス シャドウ
-------------------------------------- */
.box-shadow {
	 box-shadow: 0 0px 20px 0 rgb(11 21 42 / 20%);
}

/* --------------------------------------
// シャドウなし
-------------------------------------- */
.box-shadow-none {
	 box-shadow: none;
}

/* --------------------------------------
// ボックス　吹き出しかぶり用
-------------------------------------- */
.box-maru.b-over {
  padding-top: 3em;
  margin-bottom: 2.5em!important;
}




/********************************************************************
** ボタン
********************************************************************/


/* --------------------------------------
// メインボタン（アウトライン用）
-------------------------------------- */

/* 白→青 */
.main-btn a {
    max-width: 500px;
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    font-size: 1.1em;
    font-weight: bold;
	box-shadow: none;
	border-radius: .5em;
	transition: all .25s;
	background-color: #fff;
	border: solid 2px;
}
.swell-block-button.main-btn .__icon.-right {
    opacity: .7;
}
.swell-block-button.main-btn .swell-block-button__link[data-has-icon] {
	justify-content: space-between;
}

/* 白背景 
.btn_white a {
	background-color: #fff;
	border: solid 2px;
}*/

/* 青→白 */
.main-btn.btn_blue a {
    background-color: var(--color_main);
    color: #fff;
	border: solid 2px var(--color_main);
}
.main-btn.btn_blue a:hover {
    background-color: #fff;
    color: var(--color_main) !important;
	border: solid 2px var(--color_main);
}



/* --------------------------------------
// ボタン　背景変更（ノーマル）
-------------------------------------- */

/* 濃い水色 */
.btn_blue2 a {
	  background-color: #299EA7;
}








/* --------------------------------------
// ボタン　角丸
-------------------------------------- */
.btn-shikaku a {
	border-radius: 0.5em;
}

/* --------------------------------------
// ボタン　リスト　両脇揃え
-------------------------------------- */
/* 両脇揃え */
.btn-list_between a {
    padding: 0.7em 1em;
    background-color: #f7f7f7;
    border-radius: 0.5em;
    font-size: 0.9em;
	   /*border: solid 1px #f7f7f7;*/
}
/*　アイコン　*/
.btn-list_between .swell-block-linkList__icon.-right {
	color: #c3c4c7;
}
/* リスト下余白 */
ul.swell-block-linkList.btn-list_between {
	--the-color: #fff;/*ホバー時の文字*/
	--the-gap: .3em;
}
/* ホバー */
.btn-list_between a:hover {
    background-color: #333;
    transition: background-color .20s,color .20s;
    /*border: solid 1px #333333;*/
}


/* --------------------------------------
// ボタン　一覧へ　小
-------------------------------------- */
.mini-more a {
	border-bottom: solid 1px #fff;
  line-height: 1.8;
  font-size: .85em;
}
.swell-block-linkList.is-style-default.-flex.mini-more .swell-block-linkList__link:hover {
    text-decoration: none;
}



/********************************************************************
** 画像
********************************************************************/

/* --------------------------------------
// 画像　角丸
-------------------------------------- */
.kadomaru-img img {
	border-radius: 1em;
}

/* --------------------------------------
// 画像　複数　カバー スマホで2列
-------------------------------------- */
.cover-imgs .wp-block-cover {
	min-height: 120px!important;
	}	
@media (min-width: 960px){
.cover-imgs .wp-block-cover {
	min-height: 180px!important;
	}	
}


/********************************************************************
** リスト
********************************************************************/

/* --------------------------------------
// リスト　横並び
-------------------------------------- */
@media (max-width: 960px){
.swell-block-column.swl-has-mb--s.list-right {
	margin-top: -0.8em;
	}
}

/* --------------------------------------
// リスト　青
-------------------------------------- */
/*　デフォルト　*/
.list-blue li::marker {
    color: #93DCDC;
    /*content: "■";*/
}
/* 目次風 */
ul.list-blue.is-style-index li:before {
    color: #93DCDC;
    /*content: "■";*/
}

/* --------------------------------------
// リスト　四角アイコン
-------------------------------------- */
.list_shikaku li:before {
    color: #0071bb;
    content: "■";
}

/* --------------------------------------
// リスト　横線アイコン
-------------------------------------- */
.list-yokosen li:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 10px;
    height: 1px;
    content: "";
    /*background: #35c3ca;*/
	background: #777;
    z-index: 5;
}
.list-yokosen svg {
    display: none;
}
.list-yokosen a {
    margin-left: 1.5em;
}
@media (max-width: 800px){
	.wp-block-column.list-content {
		margin-bottom: 2em!important;
	}
}

/* --------------------------------------
// リスト　アイコンなし横並び　黄背景BOX
-------------------------------------- */
.list_yoko-box li {
    margin: 0;
    background-color: #ffe200;
    padding: 0.4em 0.7em;
    border-radius: 0.4em;
}
.list_yoko-box li:before {
	display: none;/*アイコン非表示*/
}
ul.list_yoko-box {
	gap: 0.4em 0.3em;/*リスト間余白*/
	padding: 0;
}
@media (max-width: 800px){
	.list_yoko-box {
		font-size: 1em!important;
	}
}

/* --------------------------------------
// リスト　中央配置
-------------------------------------- */
ul.-list-flex.list-center {
	display: inline-block;
}
.list-center {
	text-align: center;
}
.list-center li {
	display: inline-block;
	margin-bottom: 0.4em;
}

/* --------------------------------------
// リスト　アイコン
-------------------------------------- */
/*　丸　*/
.icon_maru li:before {
    color: #ffe200;
    font-family: "FontAwesome";
    content: "\f111";
    font-size: .7em;
    top: 0.3em;
}

/* 丸を小さく */
.icon_maru.mini-maru li:before {
    font-size: .5em;
    top: 0;
    bottom: 0;
	align-items: center;
    display: flex;
}
.is-style-check_list.mini-maru li {
    padding-left: 1.3em;
}



/********************************************************************
** テキスト
********************************************************************/

/* --------------------------------------
// 角丸　背景ありテキスト
-------------------------------------- */
.maru-bg-txt .has-white-background-color {
	border-radius: 4px;
   padding: 6px 8px;
	letter-spacing: 0.08em;
}

/* --------------------------------------
// テキスト 両橋揃え
-------------------------------------- */
.txt-justify p {
	text-align: justify;
}





/********************************************************************
** 余白調整
********************************************************************/

/* --------------------------------------
// 余白広めのbox
-------------------------------------- */
.wp-block-group.hirome-box {
	padding: 3em;
}
@media (max-width: 800px){
	.wp-block-group.hirome-box {
		  padding: 2.5em 2em;
	}
}

/* --------------------------------------
// 上下の余白広めbox
-------------------------------------- */
.wp-block-group.hirome-box2 {
	padding: 2.5em 2em 3em 2em;
}
@media (max-width: 800px){
	.wp-block-group.hirome-box2 {
		  padding: 2.5em 2em 3em 2em;
	}
}


/* --------------------------------------
// 下 余白追加（フルワイド）
-------------------------------------- */
.swell-block-fullWide.last_yohaku {
	padding-bottom: 10em!important;
}
@media (max-width: 600px){
.swell-block-fullWide.last_yohaku {
	padding-bottom: 6em!important;
	}
}

/* --------------------------------------
// 下 余白　L
-------------------------------------- */
.bottom-yohaku_l {
	padding-bottom: 8em!important;
}
@media (max-width: 600px){
.bottom-yohaku_l {
	padding-bottom: 6em!important;
	}
}

/* --------------------------------------
// 下 余白　m
-------------------------------------- */
.bottom-yohaku_m {
	 padding-bottom: 2.5em;
}




/********************************************************************
** サイズ制限　幅
********************************************************************/

.w--400 {
	max-width: 400px;
	margin-inline: auto;
}
.w--500 {
	max-width: 500px;
	margin-inline: auto;
}
.w--600 {
	max-width: 600px;
	margin-inline: auto;
}
.w--700 {
	max-width: 700px;
	margin-inline: auto;
}
.w--800 {
	max-width: 800px;
	margin-inline: auto;
}
.w--900 {
	max-width: 900px;
	margin-inline: auto;
}

@media (max-width: 800px){
		.w--80p {
		max-width: 80%;
		margin-inline: auto;
	}
	.w--90p {
		max-width: 90%;
		margin-inline: auto;
	}
}






/********************************************************************
** TOPページ
********************************************************************/

/* --------------------------------------
// KV下　コンテンツ余白
-------------------------------------- */
/* KV下ニュースエリア非表示 */
.w-frontTop {
    display: none;
}
/*　KV下余白削除　*/
.top .post_content {
    margin: 0;
}




/* --------------------------------------
//  メッセージ
-------------------------------------- */

/* KVが1枚画像の場合 
#message {
	padding-top: 0 !important;
}
#message .kv-over {
	top: -1em;
    position: inherit;
}*/

/* PCのみ中央揃え */
@media(min-width: 600px) {
	.txt_pc-center p {
		text-align: center;
	}
}

/* --------------------------------------
//  YouTube埋め込み
-------------------------------------- */
/* YouTube埋め込み */
.is-type-video.wp-has-aspect-ratio iframe {
	box-shadow: 0 0px 20px 0 rgb(11 21 42 / 20%);
    border-radius: 0.5em;
	margin-bottom: 3em;
}

/* --------------------------------------
//  活動報告
-------------------------------------- */

/* X（Twitter）埋め込み */
.twitter-timeline {
    margin-inline: auto;
	margin-bottom: 3em !important;
}

/* スマホで表示されない件の対策 */
@media not all and (min-width: 600px) {
    .instagram-media, .twitter-tweet {
        display: block !important;
    }
}

/* SNSエリア（キャプションボックス） */
#activity .cap_box_ttl {
    margin-inline: auto;
    left: 0;
    right: 0;
    display: table;
    border-radius: 50px;
    padding: .7em 1.2em;
    font-size: 1.1em;
	background-color: #ffe900;
    color: var(--color_main);
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 900 !important;
}
#activity .cap_box_content {
	background-color: #f7f7f7;
    border: none;
    border-radius: 1em;
    padding: 4em 2em;
}


/*  SNSリンク
-------------------------------------- */
/* LINE */
.wp-block-social-links .sns--line.wp-social-link svg {
	display: none;
}
.sns--line a {
    padding: 4px 4px !important;
    background-color: #00c300;
    display: grid;
    width: 54px;
    height: 54px;
    justify-items: center;
    font-size: .9em;
    border-radius: inherit;
}
.sns--line a:before {
	font-family: icomoon !important;
    content: "\e907";
	color: #fff;
}
/* フッター・スライドメニュー用（背景ありの白抜き） */
#footer .wp-block-social-links .wp-block-social-link-anchor,
#sp_menu .wp-block-social-links .wp-block-social-link-anchor {
	font-size: .8em;
    border: solid 1px #1f84a2;
    background-color: #1f84a2 !important;
    border-radius: 50px;
    /*padding: .3em;*/
}
#footer .sns--line a,
#sp_menu .sns--line a {
    font-size: .75em !important;
    width: 45px;
    height: 45px;
}
#footer .wp-block-social-links,
#sp_menu .wp-block-social-links {
    gap: .4em;
}



/*  投稿一覧
-------------------------------------- */

/* タブ下余白 */
#top-news .c-tabBody {
	margin-top: 1em;
}






/* --------------------------------------
// プロフィール
-------------------------------------- */

/* メイン部分のデザイン変更（リッチカラムの場合） */
.profile_main .c-bannerLink__figure {
	border-radius: 0.5em;
}
@media (min-width: 960px) {
	.profile_main.bg_yoko-obi:before {
		display: none;
	}
	.profile_main .c-bannerLink__figure {
		height: 900px!important;
	}	
}
@media (max-width: 959px) {
	.profile_main {
		padding-top: 0!important;
	}
}
.profile_main.bg_yoko-obi:before {
	height: 200px;
	background-color: #ecf1f6;
}
@media (max-width: 579px) {
	.profile_main.bg_yoko-obi:before {
	height: 150px;
	}
}



/*  互い違いコンテンツ（大）
-------------------------------------- */
#top-about .media-txt_over .is-image-fill>.wp-block-media-text__content {
    padding-bottom: 4.5rem;
    padding-top: 4.5rem;
}
#top-about .list_yoko_s .list_yoko-box li {
	background-color: #ffe200;
}
#top-about .list_yoko_s .list_yoko-box li.list_last_simple {
    background-color: #F4F5F700;
}

/* 名前 */
#profile .__name .midashi_jp {
	top: -15px;
    position: relative;
}


/*  テーブル（シンプル）
-------------------------------------- */

.post_content table {
	letter-spacing: 0.1em;
	font-size: 95%;
	line-height: 1.45;
}
.wp-block-table {
    --table-border: 1px solid #eee;
}
.wp-block-table td, .wp-block-table th {
	padding: 1em .75em;
}
#profile .profile-accordion .wp-block-table th {
	min-width: 250px !important;
}

@media (max-width: 960px){
	.post_content table {
		font-size: 90%;
	}
	#profile .profile-accordion .wp-block-table th {
		min-width: 100px !important;
	}
	/* 縦並び */
	.profile-accordion .wp-block-table th, .profile-accordion .wp-block-table td {
		border: none;
	}
	.profile-accordion .wp-block-table th {
        padding-bottom: .5em;
	}
	.profile-accordion .wp-block-table td {
		border-bottom: 1px solid #eee;
        padding-top: 0;
	}
}


/* 最低幅 100px */
.wp-block-table.width-80 td, .wp-block-table.width-80 th {
	min-width: 80px !important;
}


/*  学歴・職歴 アコーディオン
-------------------------------------- */
.profile-accordion .swell-block-accordion__body {
	padding: 2.5em 1.5em;
	background-color: #fff;
}
/*.profile-accordion .wp-block-table th {
	color: #034097;
}*/


/*  互い違いコンテンツ（デフォルト）
-------------------------------------- */
.profile2 .wp-block-media-text {
	--swl-mediatext--space: 3rem;
	margin-bottom: 3.5em;
}
.profile2 p {
	font-size: .9em;
}
.profile2 .wp-block-media-text>.wp-block-media-text__media {
	align-self: start;
}

@media (max-width: 600px) {
	.profile2 .is-stacked-on-mobile>.wp-block-media-text__content {
		padding: 2rem 0.2rem 0 0.2rem !important;
	}
}



/* --------------------------------------
// 政策
-------------------------------------- */

#policy .policy-h2 {
	font-size: 70%;
}

/* キャッチフレーズ */
.policy2 .__big-txt {
	font-size: 2em;
    line-height: 1.5;
}
@media (min-width: 1400px) {
	.policy2 .__big-txt {
		font-size: 2.5em;
	}
}
@media (max-width: 600px) {
	.policy2 .__big-txt {
		font-size: 1.5em;
	}
}


/* 番号 */
.policy2 .wp-block-cover__inner-container p {
    position: absolute;
    top: -8px;
    left: -8px;
    background-color: var(--color_main);
    width: 55px;
    height: 55px;
    align-items: center;
    align-content: center;
    /* padding-bottom: 3px; */
    border-radius: 0.2em;
    font-weight: bold;
    font-size: 2em !important;
    /* line-height: 1; */
    color: #ffffff;
    font-family: 'Oswald', sans-serif;
    justify-content: center;
    display: grid;
}
.policy2 .wp-block-cover .wp-block-cover__inner-container {
	z-index: 5;
	position: static;
}
.policy2 .wp-block-cover {
	overflow: visible;
}
/* チェックリスト */
.policy2 .is-style-check_list li:before {
	opacity: .5;
}
.policy2 .-list-under-dashed>li, .policy2 .border_bottom>li {
    border-bottom: 2px solid #faf8f4;
}

/*　背景　*/
.cover-image-list .wp-block-cover__background {
    background-color: #c2cfdc !important;
    border-radius: 12px 12px 0 0;
}

/*　画像　*/
.cover-image-list img {
  border-radius: 12px 12px 0 0;
}
.cover-image-list .wp-block-cover {
	min-height: 200px!important;
}
@media (min-width: 960px){
.cover-image-list .wp-block-cover {
	min-height: 250px!important;
	}	
}
/* テキストエリア */
.top-service-txt {
	 padding: 1.5em;
	padding-bottom: 0;
}
.cover-image-list p {
	font-size: .9em;
}

/* 最下部にボタン配置しない場合 */
.swell-block-column.last-btn_none {
    padding-bottom: 2.5em;
}

/* 横並び→縦並びの場合 */
#policy-list.cover-image-list img {
    border-radius: 12px;
}
#policy-list .top-service-txt {
	padding-bottom: 1.5em;
}
@media (max-width: 600px){
	#policy-list .top-service-txt {
		padding: .5em;
	}
}



/* --------------------------------------
// 応援する
-------------------------------------- */
/* 後援会バナー */
.goenkai-bnr a {
	max-width: 700px;
    width: 85%;
    margin-inline: auto;
}
#koenkai-banner {
	margin-bottom: 5em!important;
}


/* --------------------------------------
// googlemap
-------------------------------------- */
.google-map iframe {
	  max-width: 100%;
   max-height: 400px;
	  width: 100%;
}

@media (max-width: 800px){
	.google-map{
		width: calc(100vw - var(--swl-scrollbar_width, 0));
    margin: 0 calc((100% - 100vw)/2);
	}
	.google-map iframe {
		 height: 300px;
	}
}




/* --------------------------------------
// 画像+テキストコンテンツ（ブロークングリッド）
-------------------------------------- */

/* 画像　右
-------------------------------------- */

/* テキストエリア */
.media-txt_over .__txt {
    border-radius: 1em;
    padding: 2.5em 2em;
    font-size: .9em;
}
/* 内容リスト　mini */
.media-txt_over .list_yoko_s .list_yoko-box li {
    background-color: #F4F5F7;
    padding: 0.5em 1.2em;
    box-shadow: none;
}
/* etc. */
.media-txt_over .list_yoko_s .list_yoko-box li.list_last_simple {
	background-color: #F4F5F700;
}

@media (min-width: 960px){
/*img 左_ 右だけ角丸*/
.media-txt_over figure.wp-block-media-text__media {
    border-radius: 0 1em 1em 0;
}
/* txt */
.media-txt_over .__txt {
   padding: 4em 3em;
	max-width: 900px;
	}
}
@media (min-width: 600px){
/* txt コンテンツ 余白 */
.media-txt_over .__txt {
   padding: 3em 2.5em;
	}
}

@media (max-width: 960px){
/* サービスへのリンクボタン */
.media-txt_over .swell-block-box-menu.is-style-fill .swell-block-box-menu__link {
    padding: 0.7em 1em;
    font-size: .9em;
	}
}


/* 画像　右
-------------------------------------- */
@media (min-width: 960px){
.media-txt_over .__img-right figure.wp-block-media-text__media {/* img 右_ 左だけ角丸*/
    border-radius: 1em 0 0 1em;
}
.media-txt_over .__img-right .__txt {/* txt 左 */
	 margin-inline: auto;
    margin-right: 0;
	}
}

/*  960px以下で1カラム
-------------------------------------- */
@media (max-width: 960px){
/*全体設定*/
.media-txt_over .is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}
.media-txt_over .wp-block-media-text {
    --swl-mediatext--space: 1rem;
}
/*コンテンツ*/
	.media-txt_over .is-style-broken.is-stacked-on-mobile .wp-block-media-text__content {
    margin: var(--swl-mediatext--lap) 0 0!important;
}
	.media-txt_over .is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
	}
	.media-txt_over .is-stacked-on-mobile.wp-block-media-text {
    --swl-mediatext--gap: 0;
    --swl-mediatext--offsetX: 0;
}
/* txt　コンテンツ */
.media-txt_over .is-stacked-on-mobile>.wp-block-media-text__content {
    grid-row: 2!important;
    padding: var(--swl-mediatext--space)!important;
}
/* 被る部分 */
	.media-txt_over .is-style-broken.wp-block-media-text {
    --ark-mediatext--gap: 0;
    --swl-mediatext--lap: -4em;
}
/* 画像 */
	.media-txt_over .wp-block-media-text.is-image-fill-element>.wp-block-media-text__media {
		    min-height: 600px;
	}
	.media-txt_over .is-stacked-on-mobile>.wp-block-media-text__media {
    grid-row: 1;
	}
	.media-txt_over .is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1!important;
	}
}

@media (max-width: 600px){
/* 画像 */
	.media-txt_over .is-style-broken.is-image-fill .wp-block-media-text__media {
    min-height: 250px;
	}
		.media-txt_over .wp-block-media-text.is-image-fill-element>.wp-block-media-text__media {
		    min-height: 300px;
	}
}




/********************************************************************
** お問い合わせ　フォーム
********************************************************************/


/* --------------------------------------
// 完了画面
-------------------------------------- */
.mw_wp_form.mw_wp_form_complete p {
	text-align: center;
}


/* --------------------------------------
//　MW WP Form カスタム
-------------------------------------- */

/* フォームの入力枠 */
input[type="date"], select, input[type="text"], input[type="email"], textarea {
    background: #f7f7f7;
    border: solid 1px #f0f0f1;
    padding: 0.5em 1em;
    width: 100%;
	 border-radius: 0.5em;
}

/* フォーム入力枠 電話 */
.form-tel {
	white-space: nowrap;
	width: 100%;
}

.mwform-tel-field input[type="text"] {
	white-space: initial;
	width: auto;
	max-width: 30%;
}

/* フォームの入力枠 ショートバージョン */
.form_text_erea input[type="text"] {
    background: #f7f7f7;
    border: solid 1px #f0f0f1;
    padding: 0.5em 1em;
    width: 40%;
}

/* フォームの入力枠+テキスト　横並び */
.form-txt_row1 input {
    width: auto;
}

/*　入力エリア内 例文　*/
::placeholder {
  color: #ccc;
}

/*　郵便番号（テキストボックス）　*/
.form_input-area.__yubin {
    display: flex;
    align-items: center;
}
.__yubin .yubin-icon {
	margin-right: 0.5em;
}
.__yubin input[type="text"] {
    width: 120px;
    margin-right: 1em;
}
/* サブ項目（住所など） */
.tb-sub {/* コンテンツ */
	padding: 1em 0;	
}
.tb-midashi._sub {/* 小見出し */
	 font-size: .9em;
    margin-bottom: -1em;
    display: block;
}


/* 　MW WP Form エラー表示 */
.mw_wp_form .error {
    font-size: 93%;
    color: var(--color_text);
    display: block;
    font-weight: bold;
    background: #ffe200;
    padding: 5px 10px;
    margin: 5px 0;
	line-height: normal;
}


/* --------------------------------------
//　MW WP Form プルダウンカスタム
-------------------------------------- */
.mwform-select {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  padding: 0.7em 1em;
  width: auto;
  border-right: solid 15px #fff;
}

/* --------------------------------------
//　MW WP Form ラジオボタンカスタム
-------------------------------------- */
.mwform-radio-field input {
        display: none; /* まず、＜input＞タグの表示を消します*/
}

.mwform-radio-field label {
        position: relative;/* ＜label＞を位置の指標になる指示を書きます*/
        display: inline-block;
        padding: 3px 1em 3px 25px;
        cursor: pointer;
}
.mwform-radio-field input+span::before,
.mwform-radio-field span::after {/* ＜span＞タグの疑似要素を作ります*/
        position: absolute;
        content: '';
        border-radius: 100%;
        -webkit-transition: all .2s;
        transition: all .2s;
		top: 50%;
}
.mwform-radio-field input+span::before {
        left: 0;
        width: 18px;
        height: 18px;
        background: #fff;/* ラジオボタンの元の色の指定*/
        border: 1px solid var(--color_text);
		top: 50%;
   	 	transform: translateY(-50%) translateX(-0%);
    	-webkit- transform: translateY(-50%) translateX(0%);
}
.mwform-radio-field input+span:hover::before {
        background: #fff;/* ラジオボタンのマウスオーバーしたときの色の指定*/
}
.mwform-radio-field input+span::after {
        opacity: 0;
        left: 4px;
		top: 50%;
        width: 10px;
        height: 10px;
        background: var(--color_text);/* ラジオボタンのチェックした時の色の指定*/
		border: 1px solid var(--color_text);
        -webkit-transform: scale(2);
        transform: scale(2);
}
.mwform-radio-field input:checked + span::before {/* ラジオボタンがチェックされたときの隣接しているタグへの指示を書きます*/
        background: #fff;
        border: 1px solid var(--color_text);/* ラジオボタンのチェックした時の枠の線の指定*/
		  top: 50%;
   	 	  transform: translateY(-50%) translateX(-0%);
    	  -webkit- transform: translateY(-50%) translateX(0%);
}
.mwform-radio-field input:checked + span::after {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
		top: 50%;
        transform: translateY(-50%) translateX(-0%);
        -webkit- transform: translateY(-50%) translateX(0%);
}

/* --------------------------------------
//　MW WP Form チェックボタンカスタム
-------------------------------------- */
/* チェックボタン　横並び */
.mw_wp_form .vertical-item {
    display: inline-block;
}

/* 文字の左余白 */
.mwform-checkbox-field-text {
    margin-left: 10px;
    margin-right: 1em;
}
.mwform-checkbox-field input  {
  display: none; /* まず、＜input＞タグの表示を消します*/
}
.mwform-checkbox-field label {
   position: relative;/* ＜label＞を位置の指標になる指示を書きます*/
   display: inline-flex;
   margin: 0;
   cursor: pointer;
	padding: 3px 3px 3px 20px;
}
/* チェック印 */
.mwform-checkbox-field input+span::before {
	position: absolute;
	z-index: 1;
	top: 25%;
   left: 0.1875rem;
   width: 1.2rem;
   height: 0.5rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #e60033;
	border-top-style: none;
	border-right-style: none;
}
.mwform-checkbox-field input:checked + span::before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
/*　四角box　*/
.mwform-checkbox-field input+span::after {
    position: absolute;
    left: 0;
    width: 1.2rem;
    height: 1.2rem;
    content: '';
    cursor: pointer;
    border: 1px solid #707070;
    background: #ffffff;
    border-radius: 0;
    top: 50%;
    transform: translateY(-50%) translateX(-0%);
    -webkit- transform: translateY(-50%) translateX(0%);
}
/*800px以下*/
@media screen and (max-width: 800px){
	.form_input-area.__flex .vertical-item {
		display: block;
	}
}
/*480px以下*/
@media screen and (max-width: 480px){
	.mwform-checkbox-field input+span::before {
	  top: .5rem;
	}
  /*.mwform-checkbox-field input+span::after {
	 width: 0.9rem;
    height: 0.9rem;
	}*/
}

/* --------------------------------------
//　MW WP Form ボタンカスタム
-------------------------------------- */

/* 確認画面へ */
.kakunin, .soshin {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    background-color: var(--color_main);
    font-size: 1.2em;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 1.3px;
    padding: 0.5em 1em;
    border: none;
    border-radius: 50px;
    transition: .15s ease-out;
    text-align: center;
    /*box-shadow: 0 2px 10px rgb(65 65 65 / 33%);*/
    line-height: normal;
    white-space: nowrap;
	 box-shadow: 0 4px 0 var(--the-solid-shadow,var(--color_main_dark));
	 margin-bottom: 0.7em;
}
.kakunin:hover,
.soshin:hover {
    transform: translateY(2px);
    box-shadow: none;
    opacity: 1;
}

/* 戻る */
.modoru {
    background-color: #fff0;
    font-size: 18px;
    color: #524840;
    /* font-weight: bold; */
    letter-spacing: 1.3px;
    border: none;
    transition: .2s ease-out;
    text-align: center;
    text-decoration: underline;
}
.modoru:hover {
    opacity: .75;
}

/* 送信する 
.soshin {
    display: inline-block;
    width: 100%;
    max-width: 200px;
    background-color: #f43c65;
    font-size: 1.2em;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 1.3px;
    padding: 0.5em 1em;
    border: none;
    border-radius: 0;
    transition: .2s ease-out;
    text-align: center;
    box-shadow: 0 2px 10px rgb(65 65 65 / 33%);
	 margin-bottom: 1em;
	 line-height: normal;
	 white-space: nowrap
} 
.soshin:hover {
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 37%);
    opacity: .75;
}*/




/* --------------------------------------
//　MW WP Form用 コンテンツ
-------------------------------------- */
/* フォームコンテンツ 下に余白追加 */
.mw_wp_form {
	padding-bottom: 3em!important;
	color: var(--color_text);
}
/* 各項目 */
.form-set {
   padding: 1em 0;
	font-size: .9em;
}

/*　横2列コンテンツ　*/
.form_flex-content {
    margin-bottom: 2em;
}
@media (min-width: 800px){
.form-set.form-flex {
    margin-bottom: -1em;
    padding-bottom: 0;
}
.form-flex {
	display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   width: 100%;
   margin: 0 auto;
}
.form_flex-content {
	width: 48%;
	}
/* 住所 横並び */
.address-area .form_flex-content.yubin {
		width: 30%;
	}
.address-area .form_flex-content.address1 {
		width: 70%;
	}
}

/* 入力エリア */
.form_input-area {
    padding: 0.5em 0;
}


/* --------------------------------------
//　MW WP Form用 装飾
-------------------------------------- */
/* タイトル */
.form-ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: .5em;
}
/* 必須ラベル */
.content-label {
    color: #fff;
    background-color: #e40111;
    padding: 0.4em 0.5em;
    margin-right: 1em;
    font-size: .8em;
    border-radius: 0;
    font-weight: normal;
    letter-spacing: 1px;
	 border: solid 1px #e40111;
	 border-radius: 0.3em;
}
/* 任意ラベル */
.content-label.__nini {
    color: var(--color_text);
    background-color: #fff;
    border: solid 1px var(--color_text);
}
/*　各項目の注意事項　*/
.form-attention {
	font-size: .9em;
	color: #29B9BA;
}


/* --------------------------------------
//　MW WP Form用 同意チェック
-------------------------------------- */
.mw_privacy-checkbox {
    text-align: center;
    display: inline-flex;
    align-items: center;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 1.5em;
}
.mw_wp_form input[name="__children[privacy-check][]"] + .error {
	display : inline;
	padding-right:.5em;
}

/* 余白調整 */
.mw_privacy-checkbox .mwform-checkbox-field-text {
	margin-left: 0;
}
.mw_privacy-checkbox .mwform-checkbox-field-text {
    margin-right: 0;
}
.mw_privacy-checkbox .mwform-checkbox-field label {
    padding: 3px 3px 3px 10px;
}

/*599px以下*/
@media screen and (max-width: 599px){
	.mw_privacy-checkbox {
    font-size: .9em;
	}
}

/* --------------------------------------
// Snow Monkey Forms
-------------------------------------- */

/* 入力フォームのデザイン */
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
	background-color: #f7f8fa;
}
/* プルダウンフォームのデザイン */
.smf-form .smf-select-control__control {
	background-color: #0000;
}
.smf-form .smf-select-control__toggle {
	background-color: #f2fcfd;
}

/* フォームの最大幅 */
.snow-monkey-form  {
    max-width: 800px;
    margin-inline: auto;
}
/* 入力エリアの最大幅 */
input[type="text"],
input[type="number"],
input[type="tel"],
.smf-select-control__control {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/* 郵便番号エリア */
.yubin-area {
	align-items: center;
}
.yubin-area p {
	padding-right: .5em;
}

/* 項目ごとの余白 */
.smf-form--simple-table .smf-item {
	padding: 1.3rem 0;
}

/* 項目名 */
.smf-item__label {
    font-weight: bold;
}

/* 必須・任意ラベル */
.smf-item__col .swl-bg-color {
    font-size: .8em;
    padding: .3em .4em;
    border-radius: 3px;
    margin-right: .4em;
}

/* 項目テキスト */
.smf-item__col.smf-item__col--label {
	margin-bottom: .5em;
}

/* ラジオボタン */
.smf-form .smf-radio-button-control {
	align-items: center;
}
.smf-form .smf-radio-button-control__control {
	height: 22px;
	width: 22px;
	padding: inherit;
	margin-top: 0;
	border: 1px solid #cecece;
}

/* チェックボックス */
.smf-form .smf-checkbox-control__control {
	height: 20px;
	width: 20px;
	padding: inherit;
	border: 1px solid #cecece;
}
:root {
	--_half-leading: 0.35;/*ラジオボタン・チェックボックス用*/
	--_form-control-border-color: #e8e8e8;/*フォームの枠線*/
	--_form-control-border-color-hover: #21a4cb;/*フォーム ホバー枠線色*/
	--_form-control-border-color-focus: #21a4cb;/*フォームを選択中の枠線の色*/
	--_global--border-radius: .3em;/*フォームの角丸*/
}

/* エラー文言 */
.smf-error-messages {
	color: #e01313;
	background-color: #fffccc;
    padding: .2em .5em;
}
.smf-form [data-invalid="1"] {
	border-color: #e01313;
	border-width: 2px;
}

/* フォームが重なる場合の下余白 */
.contact-form_area .smf-item__col .form_bottom-yohaku {
	margin-bottom: .5em !important;
}

/* 注意文 */
.mini-txt {
	line-height: 1.4;
	font-size: .85em !important;
	padding-top: 1em;
}


/*  ボタン
-------------------------------------- */

.smf-action .smf-button-control__control[disabled] {
	color: #fff;
}

/* ボタンエリア */
.smf-action {
	margin-top: 3em;
	justify-content: center;
    display: flex;
}

/* 送信ボタン */
.smf-action .smf-button-control__control {
    font-size: 1.2em;
	font-weight: bold;
    background-color: var(--color_main);
	background-color: #E60034;
    background-image: none;
    color: #fff;
    border: none;
	box-shadow: .1em .25em #22782b;
	box-shadow: none;
    /*transition: transform .25s, box-shadow .25s, -webkit-transform .25s;*/
    transition: transform .20s, box-shadow .20s, background-color .20s;
    border-radius: .4em;
    display: inline-block;
    letter-spacing: 1px;
    line-height: 1.5;
    margin: 0;
    min-width: 35%;
    padding: .8em 2em;
    position: relative;
    text-decoration: none;
    width: 100%;
}
.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);
	/*box-shadow: none;*/
    /*transform: translate3d(0, 4px, 0);*/
	background-color: #ba052e;
}

/* 戻るボタン */
.smf-action .smf-button-control__control[data-action="back"] {
	background-color: #ffffff;
    background-image: none;
    color: #E60034;
    border: solid 1px #E60034;
}

/* 縦並び */
@media (max-width: 800px){
	.smf-form--simple-table+.smf-action {
		margin-inline: auto;
	}
	.smf-action  {
		display: grid;
		width: 90%;
		max-width: 350px;
		margin-inline: auto;
		justify-content: normal;
	}
	.smf-action .smf-button-control__control {
		font-size: 1.1em;
		padding: 0.5em 1.3em;
		width: 100%;
		
	}
	.smf-action .smf-button-control+.smf-button-control {
		margin-left: 0;
		margin-top: .5em;
	}
}






/*  ステップバー
-------------------------------------- */
.smf-progress-tracker {
	margin-bottom: 3em;
	padding-left: 0 !important;
}
.smf-progress-tracker__item__number {
	letter-spacing: normal;
}

/* テキスト */
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
	background-color: var(--color_main);
}
button, input, select, textarea {
	color: var(--color_text);
}
.smf-progress-tracker__item__text {
	color: var(--color_text) !important;
}
.smf-progress-tracker__item__number {
	height: 30px;
	width: 30px;
}


/*  Cloudflare Turnstile 調整
-------------------------------------- */
#form-area{
	padding-bottom: 10em;
}
.smf-action {
    margin-bottom: 3em !important;
}

.snow-monkey-forms-turnstile,
.snow-monkey-forms-turnstile > div,
.snow-monkey-forms-turnstile iframe {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
	margin-top: 2em !important;
}




/********************************************************************
** 投稿ページ（一覧）
********************************************************************/

/* --------------------------------------
// 統一設定
-------------------------------------- */

/* 　h1
-------------------------------------- */
.archive.category .c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
    border-bottom: none;
    float: none;
    margin-bottom: -1px;
    padding: 0.25em 0.5em;
}
/* サブタイトル 非表示 */
.c-pageTitle__subTitle {
	display: none;
}
/* 下線 非表示 */
.archive.category .c-pageTitle[data-style=b_bottom] {
    border-bottom: none;
}
/* 記事がない場合のテキスト */
.c-tabBody__item p {
    text-align: center;
}


/* カテゴリ（統一）
-------------------------------------- */
.c-categoryList__link {
    background-color: var(--color_main);
    color: #fff;
    border: solid 1px;
	border-radius: 0.5em;
}
.c-categoryList__link, .c-tagList__link, .tag-cloud-link {
    padding: 6px 10px;
}
/* アイコン非表示 */
.c-categoryList:before {
    display: none;
}


/* 記事一覧（テキスト型）
-------------------------------------- */
.p-postList.-type-simple {
	border-top: 1px solid #eee;
}
.-type-simple .p-postList__link {
	border-bottom: 1px solid #eee;
}
.-type-simple .p-postList__link:hover {
    background-color: #f7f7f7;
}


/* 日付エリア
-------------------------------------- */
/* 上余白 */
.-type-thumb .p-postList__meta, .c-widget .p-postList__meta {
    margin-top: 8px;
}
/* 日付アイコン */
.c-postTimes__modified, .c-postTimes__posted {
    margin-right: 0.4em;
    color: var(--color_text);
    opacity: .8;
	letter-spacing: .1em;
}
.p-postList__meta :before {
    display: none;
}


/* ページネーション
-------------------------------------- */
[class*="page-numbers"] {
    color: var(--color_main);
    background-color: #ffffff;
    border: solid 1px var(--color_main);
}



/********************************************************************
** 投稿ページ（詳細）
********************************************************************/

/* --------------------------------------
// タイトル周り（コンテンツ内）
-------------------------------------- */
/*　h1　*/
.c-postTitle__ttl {
	margin-bottom: .5em;
}
/*　投稿日・更新日　*/
.c-postTimes {
	font-weight: 300;
	color: var(--color_text);
}
.p-articleMetas__termList{
	margin: 0;
}

/* --------------------------------------
// タイトル周り（コンテンツ上）
-------------------------------------- */
.c-postTitle__ttl {
    margin-bottom: .5em;
    color: var(--color_text);
}
.l-topTitleArea .c-categoryList__link, .l-topTitleArea .c-tagList__link {
	background-color: var(--color_main);
}



/* --------------------------------------
// 見出し
-------------------------------------- */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    border-radius: 0;
}

/* h2
-------------------------------------- */
.post_content h2 {
	margin: 6em 0 2em;
}
@media (min-width: 600px) {
.post_content h2{
	margin: 8em 0 2em;
	}
}

/* h3
-------------------------------------- */
.post_content h2 {
	margin: 4em 0 2em;
}
@media (min-width: 600px) {
.post_content h2{
	margin: 6em 0 2em;
	}
}





/* --------------------------------------
// 目次
-------------------------------------- */
#main_content .p-toc {
    border-radius: .5em;
    background-color: #f7f7f7;
}

.p-toc.-border .p-toc__ttl {
    font-weight: bold;
}
.p-toc.-border {
    border: none;
    background-color: #fff;
}
.p-toc__ttl:before {
	display: none;
}
ol.is-style-index ol>li:before, ol.is-style-index>li:before {
	border-right: 1px solid #ddd;
}

/* --------------------------------------
// 次の記事 前の記事
-------------------------------------- */
/* 共通 */
.p-pnLinks__item {
    background: #fff;
	 border-radius: 1em;
}
/* 右 */
.p-pnLinks .-next .p-pnLinks__link {
	 padding: 1.5em 3em 1.5em 2em;
}
.p-pnLinks__item.-next:before {/* アイコン */
	color: var(--color_main);
	 margin-right: 1em;
}
/*　左　*/
.p-pnLinks .-prev .p-pnLinks__link {
	padding: 1.5em 2em 1.5em 3em;
}
.p-pnLinks__item.-prev:before {/* アイコン */
	color: var(--color_main);
	 margin-left: .8em;
}
/* 600px以下　回り込み */
@media screen and (max-width: 600px){
	.p-pnLinks {
    display: block;
	}
	.p-pnLinks__item {
    width: 100%;
    margin-bottom: 1em;
	}
}



/* --------------------------------------
// サイドバー
-------------------------------------- */

/* 各項目 背景あり
-------------------------------------- */

#sidebar div#categories-3,
#sidebar div#archives-3,
#sidebar div#tag_cloud-3 {
    background-color: #f7f7f7;
    border-radius: .5em;
    padding: 1.3em;
}
#sidebar .c-widget+.c-widget {
	margin-top: 1.5em;
}

/* 見出し
-------------------------------------- */
.c-widget__title.-side {
    padding: 0.3em 0;
	padding-left: .3em;
    margin-bottom: 0;
    /*color: var(--color_main);*/
    font-size: larger;
    border-bottom: solid 0px #f9f6f4;
}
/* 見出しアイコン */
.c-widget__title.-side::before, .c-widget__title.-side::after {
	display: none;
}

/* 新着
-------------------------------------- */
#sidebar .-type-list .p-postList__thumb {
	border-radius: .5em;
}
#sidebar #swell_new_posts-3 .p-postList.p-postList {
	margin: .5em 0 2.5em;
}

/* カテゴリ
-------------------------------------- */
.widget_categories>ul>.cat-item>a:before {
	color: var(--color_main);
    opacity: 1;
    font-family: icomoon !important;
    content: "\e93b";
    display: inline-block;
    left: 2px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    vertical-align: middle;
}
.widget_categories>ul>.cat-item>a {
	transition: padding .25s;
	border: none;
	margin-left: 0;
	padding-top: .6em;
    padding-bottom: .6em;
}
.widget_categories>ul>.cat-item>a:hover {
	background-color: #f7f7f700;
    padding-left: 2em;
    padding-right: 0.75em;
}
/*　子カテゴリ 表示　*/
#categories-3 ul.children {
	height: auto;
	opacity: 1;
	padding: 0 0 0 1em;
}
/*サブメニュー用開閉ボタン非表示*/
#categories-3 button.c-submenuToggleBtn.c-plainBtn {
    display: none;
}
/* 投稿数 */
.cat-post-count, .post_count, .tag-link-count {
	color: var(--color_text);
	opacity: .7;
}


/* アーカイブ
-------------------------------------- */
.c-listMenu a {
	padding-left: 1.75em;
	border-bottom: 0px solid #f7f7f2;
	transition: padding .25s;
}
.c-listMenu a:before {
    font-family: icomoon!important;
    content: "\e93b";
    display: inline-block;
    left: 2px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    vertical-align: middle;
	color: var(--color_main);
    opacity: 1;
}
.c-listMenu a:hover {
	background-color: #f7f7f700;
    padding-left: 2em;
    padding-right: 0.75em;
}


/* 記事タイトル（サイドバー共通） */
.-type-card .p-postList__title, .-type-list .p-postList__title, .-type-list2 .p-postList__title {
	font-size: 3.3vw;
}
@media (min-width: 600px) {
    .-type-card .p-postList__title, .-type-list .p-postList__title, .-type-list2 .p-postList__title {
        font-size: 16px;
    }
}


/* --------------------------------------
// フッター前 シェアエリア（ブログパーツ）
-------------------------------------- */
#blog_share {
	padding-top: 4em;
}

/* --------------------------------------
// サムネイル
-------------------------------------- */
.-ps-style-img .p-postList__link, .-type-thumb .p-postList__link, .p-postList__thumb {
	border-radius: .5em;
}


