@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** レイアウト
************************************/

/*

div#container width: 100%

div.wrap   max-width: 1200px;

*/

/************************************
** スマホの横幅最低値
************************************/

/*

350pxを最低値の基準とする

*/

/************************************
** フォント
************************************/

.archivo {
	font-family: 'Archivo', sans-serif;
}

.zen-kaku-gothic-new-regular,
p ,
.facility .flex_container .box {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium ,
.catch_phrase_text span ,
.news_box p,
.news_box span ,
#content_before_second .facility h2 span ,
.vocational h2 span.description ,
.cat-label ,
#footer_container h2 ,
#footer_container ul li a ,
#footer_container .footer_menu_heading ,
#toc ,
table ,
body.page-template-page-facility .facility_content_box p ,
ul.fare_service ,
.facility_header_text p ,
.company ul li p ,
.column_heading p ,
.entry-card-title ,
form p.contact_input, form p.contact_question ,
.mwform-checkbox-field-text ,
body.page-id-464 p ,
body.page-id-4637 p ,
#breadcrumb ,
#breadcrumb a ,
#date_and_categories span ,
#date_and_categories a ,
.single-post .entry-content p ,
.ff-noto-sans-jp ,
.wf-active .ff-noto-sans-jp ,
.wp-admin-ff-noto-sans-jp .editor-styles-wrapper ,
 .top_latest_post_area p ,
.pickup_box p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold ,
#navi .navi-in a ,
#navi #menu-item-4997 a p ,
.header-in .logo_box span ,
#content_before a.top_to_about_link ,
.facility .flex_container .box button ,
.vocational h2 ,
.vocational h3 ,
.vocational .link_to_okowa ,
.vocational_content a ,
.related-entry-card-title ,
h2#latest_article ,
.home .all_post_link ,
.company h2 , .company h3 , .company a ,
#footer .footer_bottom_menu a ,
a.top_to_about_link_mobile  ,
.menu-drawer a ,
.menu-drawer a p ,
body.page article h1.entry-title ,
body.page-template-page-facility article h1.entry-title p ,
body.page article .sub_title ,
body.single-post .article h2 ,
.page-template-default .article h2 ,
.page .article h3 ,
.single-post .article h3 ,
body.page-template-page-facility .facility_content_box .facility_text ,
.link_button ,
body.page-template-page-facility .facility_content_box .facility_page_contact .heading ,
.okowa_box p.okowa_heading ,
.okowa_retailer p.okowa_retailer_heading ,
.okowa_telnum ,
body.page-template-page-facility .facility_content_box p.okowa_order_heading ,
body.page-template-page-facility .facility_content_box h2 ,
input[type='submit'] ,
.archive .entry-card-title ,
.related-entry-card-title ,
.related-entry-heading ,
.home .header-in .header_event_link ,
.top_latest_post_area h2 ,
.top_latest_post_area h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}


@font-face{
 font-family: "Font Awesome 5 Free";
 font-style: normal;
 font-display: swap;
 font-weight: 400,900;
 src: url("https://use.fontawesome.com/releases/v6.3.0/webfonts/fa-solid-900.woff2","https://use.fontawesome.com/releases/v6.3.0/webfonts/fa-brands-400.woff2")
format("woff2");
}

/************************************
** 文字間隔指定
************************************/

#navi .navi-in a {
	letter-spacing: 0.1rem;
}

/************************************
** スクロールバーの幅取得関連
************************************/

:root {
  --scrollbar: 0;
}

body {
  margin: 0;
}


/************************************
** リセット
************************************/

ol , ul {
	list-style: none;
	padding: 0;
}

a {
	text-decoration: none;
}

a:hover ,
#navi .navi-in a:hover {
	color: #333;
}

.article ul li, .article ol li {
	margin: 0;
}

.article h2 {
	background: #f2f2f2;
}

.article h4, .article h5, .article h6 {
    font-size: 1.1rem;
	font-weight: 500;
    padding: 0.5em 0;
}

.article h4 {
	border: none;
}

.a-wrap:hover {
	background: none;
	transition: all 0s ease-in-out;
}

.toc{
    border: none;
}

.entry-categories-tags .tax-icon {
	margin: 0;
}

.eye-catch {
	margin-bottom: 0;
}

p.m_b_0 {
	margin-bottom: 0;
}

.tagcloud a {
	border: none;
    border-radius: 0;
    color: #333;
    padding: 0;
    text-decoration: none;
    font-size: 1rem;
    margin: 0;
    flex: none;
    display: block;
    justify-content: ;
    transition: none;
}

.tagcloud a .tag-caption .fas {
	display: none;
}

@media screen and (max-width: 834px) {
    .article ul, .article ol {
        padding-left: 0;
    }
}

/************************************
** hover
************************************/

@media (any-hover: hover) and (pointer: fine) {

	a  ,
	.swiper-container .swiper-slide a img ,
	.home .facility a.box img {
		transition: all .3s ease 0s;
	}
	
	/* 画像拡大 */

	.swiper-container .swiper-slide a:hover img ,
	.home .facility a.box:hover img {
		transform: scale(1.05);
	}

	.swiper-container .swiper-slide {
		overflow: hidden;
	}
	
	/* アンダーライン */

	a:hover {
    	text-decoration: underline;	
	}
	
	/* アンダーライン無効 */
	
	.logo a:hover ,
	#navi-in #menu-item-5001 a:hover ,
	#navi-in #menu-item-5002 a:hover ,
	a.top_to_about_link:hover ,
	a.top_to_about_link_mobile:hover ,
	.home .facility a:hover ,
	.home .vocational a:hover ,
	.home a.all_post_link:hover	,
	.home .company a:hover ,
	a.link_button:hover ,
	h1.page_and_single a:hover ,
	.news_box a:hover ,
	a.page-numbers ,
	a.related-entry-card-wrap:hover .related-entry-card-info span.post-date {
    	text-decoration: none;	
	}

	/* ニュース記事：文字色変化 */

	.news_box a:hover {
    	color: #02B4D5;
	}

	
	/* 白黒のリンクボタン：背景色変化 */

	a.top_to_about_link:hover ,
	a.top_to_about_link_mobile:hover ,
	.home .vocational a:hover ,
	.home a.all_post_link:hover ,
	.home .company a:hover , 
	body.page-template-page-facility .link_button:hover {
		background: #333;
		color: #fff;		
	}

	a.top_to_about_link:hover::after ,
	a.top_to_about_link_mobile:hover::after ,
	.home .vocational a:hover::after ,
	.home a.all_post_link:hover::after ,
	.home .company a:hover::after ,
	body.page-template-page-facility .link_button:hover::after {
		background: url(my_images/arrow_white.png) no-repeat;
    	background-size: contain;
	}
	
	/* トップページ・おこわページへのリンクボタン：背景色変化 */

	.home .vocational a.link_to_okowa:hover {
		background: #c66000;
	}
	
	.vocational .link_to_okowa:hover span::after {
		color: #c66000;
	}
	
}


/************************************
** display: none;
************************************/

#crumb .fa-folder , #breadcrumb .fa-file ,

.entry-card .admin-pv ,

.post-date .fa-clock , 

#main .button-caption ,

.sidebar .widget_tag_cloud h3 ,

.eye-catch .cat-label, 

#breadcrumb .fa-folder ,

#breadcrumb .fa-folder:before , 

#archive-title span.fa-folder-open ,

#archive-title span.fa-tags ,

.pagination-next-link ,

.breadcrumbs_original div:last-child .fa-angle-right ,

body.single-post div.date-tags span.post-update ,

body.single-post #date_sp .date-tags ,

#navi .top-has-sub .fa-angle-down {
	
	display: none;

}


/************************************
** wide mobile 表示切替
************************************/
	
i.i_sp {
	display: none;
}
	
i.i_pc {
	display: inline-block;
}

.mobile {
	display: none;
}

/************************************
** font awesome
************************************/

.fa-square-check {
	margin-right: 0.5em;
}


/************************************
** 装飾
************************************/

.bold {
	font-weight: 500;
}

.red {
    color: #E45DB0;
}

.blue{
	color: #0BB4D1;
}

.red-under {
    border-bottom: 2px solid #D43B99;
}

.marker-under {
    background: linear-gradient(transparent 60%, #ffff8e 60%);
}

.marker-under , 
.marker-under-blue ,
.marker-under-red {
	font-weight: 500;
}


h2 .marker-under , h3 .marker-under , h4 .marker-under , h4 .marker-under {
	font-weight: 600;
}

.under_line {
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}


/* マーク：circle */

.fa-circle-dot:before, .fa-dot-circle:before {
	color: #E30000;
	font-size: 1rem;
}

.greeting h2 .fa-circle-dot:before, .greeting h2 .fa-dot-circle:before {
	margin-bottom: 0.3em;
}


/* color */

.color_g {
	color: #44b0b0 !important;
}

.color_w {
	color: #fff !important;
}

/* color 動的生成箇所への指定 */

.copyright {
	color: #fff;
}

.article .analysis h4:before {
	color: #fff;
}


/* background */

.bg_w {
	background: #fff;
}

.bg_b {
	background: #333;
}

.bg_g {
	background: #3B9A9A;
}

.bg_p {
	background: #f8eded;
}

.bg_light_p {
	background: #ff8f8f;
}

.bg_y {
	background: #ffff8e;
}

/* テキストサイズ */

.large_text {
	font-size: 1.75rem;
}


/* background 動的生成箇所への指定 */

body.single-post .toc ,
body.single-post .white_box ,
body.single-post .closing ,
body.page .toc ,
body.page .white_box ,
body.page .closing {
	background: #fff !important;
}

table td {
	background: #fff;
}

/* 固定ぺージ・投稿記事、本文内のリンク文字列に対して */

.page .entry-content p a {
	text-decoration: underline;
}

.single-post .entry-content p a {
	text-decoration: underline;
	color: #0000ff;
}

/************************************
** シャギー対応
************************************/

.new_posts a:before {
	transform: rotate(0.05deg) translateX(0);
}

table tr th , table tr td  , h2 , h3 {
	transform: rotate(0.05deg) translateX(0);
}

/************************************
** リンクボタン・レスポンシブ用もここで指定
************************************/

/* ベースの共通指定 */ 

.home .all_post_link ,
#content_before a.top_to_about_link ,
.facility .flex_container .box button ,
.vocational_content a ,
.link_button  ,
.company_heading a ,
.latest_post_link {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 9999px;
    font-size: 0.9rem;
	height: 50px;
}

/* width:250px・白背景・黒枠のリンクボタン */

a.top_to_about_link ,
.vocational_content a ,
.home .all_post_link ,
.link_button  ,
.company_heading a ,
.latest_post_link {
    width: clamp(0px, 50vw, 250px);
	border: 1px solid #333;
    background: #fff;
}

.vocational_content a::after ,
.home .all_post_link::after ,
.link_button::after  ,
.company_heading a::after ,
.latest_post_link::after {
	content: "";
    display: inline-block;
    width: 1.2em;
    height: 0.45em;
    background: url(my_images/arrow.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: 7.5%;
}

.vocational_content a {
    margin-top: auto;
}

.home .all_post_link {
    margin-left: auto;
}

/* 施設紹介箇所のリンクボタン */

.facility .flex_container .box button {
    width: 175px;
    margin-top: auto;
    margin-bottom: 0;
    color: #fff;
    border: none;
    pointer-events: none;
}

.facility .kibou button {
	background: #dc6b00;
}

.facility .nozomi button {
	background: #099ab4 ;
}

.facility .fare button {
	background: #e55bb0;
}

.facility .iiplace button {
	background: #b661cf ;
}


/* モバイル用のリンクボタン・display:none */

a.top_to_about_link_mobile ,
.home .all_post_link_mobile ,
.company_contact_link_mobile {
	display: none;
}

/* リンクボタン・1023以下の指定 */

@media screen and (max-width: 1023px){
	
	a.top_to_about_link_mobile {
		display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 9999px;
        position: relative;
        font-size: 0.9rem;
        margin-top: -24px;
		border: 1px solid #333;
		background: #fff;
		width: clamp(0px, 50vw, 250px);
		padding: clamp(0px,8vw,12.5px) 0;
    }
	
	.company_contact_link_mobile {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
        border-radius: 9999px;
        font-size: 0.9rem;
		border: 1px solid #333;
		background: #333;
		color: #fff;
		margin: 0 auto;
	}

	.company_contact_link_mobile ,
	.vocational_content a ,
	.home .all_post_link_mobile ,
	.link_button {
		height: auto;
		padding: 1em 0;
		width: clamp( 0px,  90% , 300px ) !important;
	}
	
	.facility .flex_container .box button  {
		height: auto;
		padding: 1.2em 0;
		width: clamp( 0px,  90% , 300px );
	}
	
	.facility .flex_container .box button ,
	.link_button ,
	.vocational_content a {
		margin: 0 auto ;
	}
	
	.home .all_post_link_mobile {
		display: flex;
		margin: 30px auto 0;
	}

}


/* リンクボタンの矢印 */

a.top_to_about_link::after ,
a.top_to_about_link_mobile::after ,
.facility .flex_container .box button::after ,
.vocational_content a::after ,
.home .all_post_link::after ,
.company_heading a::after ,
.company_contact_link_mobile::after ,
.link_button::after{
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 0.45em;
    background: url(my_images/arrow.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: 7.5%;
}

.facility .flex_container .box button::after  {
    background: url(my_images/arrow_white.png) no-repeat;
	background-size: contain;
}

/************************************
** 大枠
************************************/

/* container */

#container {
    width: 100%;
    margin: 0 auto;
	position: relative;
}

.home #container {
 	overflow: hidden;
}
	
/* content */

.home .content {
	margin-top: 80px;
}

body.single-post .content , 
body.page .content {
	margin-top: 0;
	padding-top: 60px;
}

.page #content {
		overflow: hidden;
	}

/* wrap */

.wrap{
	width: 90%;
	max-width: 1200px;
}

/* main */

.main {
    width: 70%;
	padding: 0;
	border: none;
	background: none;
}

/* entry-content */

.entry-content {
	margin-bottom: 3.6em;
}

.page-template-page-basic_page_list .entry-content {
	margin-top: 0;
}


/************************************
** sticky
************************************/

.sticky {
    position: -webkit-sticky; /* Safari */
	position: sticky;
	top: 100px;
}

.none {
    opacity: 0;
    z-index: -1;
    transition: 1s;
}

/************************************
** モバイルメニュー
************************************/

.mobile-menu-buttons {
	min-height:auto;
}

.mobile-menu-buttons .menu-content {
	background: #333;
}

.mobile-menu-buttons .menu-button > a {
	padding: 0.5em 0;
}

.menu-drawer a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 0.5em;
    font-size: 0.9rem;
    color: #fff;
}

.menu-drawer a i.fa-house ,
.menu-drawer a i.fa-twitter ,
.menu-drawer a i.fa-envelope ,
.menu-drawer a i.fa-chart-simple ,
.menu-drawer a i.fa-pen-to-square {
	margin-right: 1em;
}

.fa-twitter {
	color: #1da1f2;
}

.menu-drawer a i.fa-chart-simple {
	color: #E30000;
}

.menu-drawer a i.fa-pen-to-square {
    color: #ffff8e;
}

.menu-close-button {
    font-size: 2rem;
	color: #fff;
	text-align: right;
	margin: 0.25em 0.5em 0 0;
}

body.single-post .menu-drawer a p {
	color: #fff;
}

.menu-drawer .sub-menu {
	padding-left: 40px;
}

.menu-drawer .sub-menu li a {
	font-size: 0.9rem;
    margin: 0 0 1em 0;
    padding:  0.5em 0 0.5em;
}

.menu-drawer li.menu-item-912 > a , 
.menu-drawer li.menu-item-4654 > a {
	background: #444;
    margin-top: 0.5em;
    margin-bottom: 1em;
	padding-left: 1em;
}

.menu-drawer .sub-menu li a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
	font-weight: 600;
}

.menu-drawer a:hover {
	background-color: #333;
    transition: none;
    color: #fff;
}

/************************************
** ヘッダー
************************************/

#header-container {
    width: 100%;
    z-index: +1;
	background: none;
}

#header-container .wrap {
	width: 100%;
    max-width: none;
}

.page #header-container > .wrap ,
.single #header-container > .wrap ,
.archive #header-container > .wrap {
	padding-left: 20px ;
}

#header-container-in {
	padding: 20px 0 ;
}

#header {
	width: 100%;
	background: none;
}

.header-in {
	flex-direction: row;
	justify-content: space-between;	
}

 .home .header-in {
	flex-direction: row;
    align-items: center;
	justify-content: space-between;
	 padding-left: 172px;
}

#header .page_and_single_logo_box {
	display: flex;
}

#header h1.page_and_single {
	max-width: 350px;
}

#header p.page_and_single_site_name_text {
	display: flex;
    width: max-content;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #ddd;
	margin-top: 20px;
    padding: 3px 10px;
}

#header p.page_and_single_site_name_text span {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 500;
	color: #333;
}

#header p.page_and_single_site_name_text span:first-child {
	margin-right: 0.5em;
}

#header .site-name-text {
	line-height: 1;
}

#header .page_and_single_site_name_text_mobile {
	display: none;
}

#navi .navi-in a {
	font-size: 0.8rem;
	color: #333;
	padding: 0.25em 1em;
}

#navi > .navi-in > ul > li:last-child a {
	margin-right: 1em;
}

.header-container-in.hlt-top-menu .logo-header a {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.75em 1.25em;
    background: #dc6b00;
    border-radius: 0 0 4px 0;
}

.header-in .logo_box span {
	display: block;
	color: #fff;
}

.header-container-in.hlt-top-menu .navi {
	width: auto;
}

.site-name-text-link {
	padding: 0;
}

.navi-in > ul{
	padding: 0;
    margin: 0;
    display: flex;
	align-items: center;
}

.navi-in > ul li{
	width: auto;
	height: auto;
	line-height: 1;
}

#header-container .cf::after {
	content: none;
}

/************************************
** ヘッダー・PC用ドロップダウンメニュー
************************************/

#navi #menu-item-5001 ul.sub-menu ,
#navi #menu-item-5002 ul.sub-menu {
    padding: 1.5em 0 0 0;
	background: none;
}

#navi #menu-item-5001 ul.sub-menu li a ,
#navi #menu-item-5002 ul.sub-menu li a {
	display: flex;
    justify-content: space-between;
	align-items: center;
	background: #dc6b00;
	color: #fff;
	padding: 1em 0 1em 2em;
}

#navi ul.sub-menu li a .caption-wrap {
	padding-right: 4em;
}

#navi #menu-item-5001 ul.sub-menu li:first-child a ,
#navi #menu-item-5002 ul.sub-menu li:first-child a {
	padding-top: 2em;
	border-radius: 8px 8px 0 0 ; 
}

#navi #menu-item-5001 ul.sub-menu li:last-child a ,
#navi #menu-item-5002 ul.sub-menu li:last-child a {
	padding-bottom: 2em;
	border-radius: 0 0 8px 8px; 
}

.navi-in > ul li#menu-item-5001::after ,
.navi-in > ul li#menu-item-5002::after {
	content: '';
    position: absolute;
    top: 1.6em;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: transparent transparent #c66000 transparent;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease 0s;
}

.navi-in > ul .sub-menu {
	width: auto;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: all .3s ease 0s;
	background: none;
}

.navi-in > ul li#menu-item-5001:hover::after ,
.navi-in > ul li#menu-item-5002:hover::after ,
.navi-in > ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  transition: all .3s ease 0s;
}

.navi-in > ul li:hover {
	cursor: pointer;
}

.navi-in ul.sub-menu li a::after {
	content: "";
	width: 0;
    height: 0;
	padding-right: 1.5em;
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.6em solid #fff; /* 色を設定 */
    display: inline-block;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease 0s;
}

.navi-in ul.sub-menu li:hover a::after {
	visibility: visible;
	opacity: 1;
	transition: all .3s ease 0s;
}

/************************************
** パンくずリスト
************************************/

#breadcrumb_container {
	padding: 1.8em 0;
    width: calc(100vw - var(--scrollbar));
	margin: 0 calc(50% - 50vw);
}

.single-post #breadcrumb_container {
	background: #FFEDD8;
}

.breadcrumb {
	margin: 0 auto;
    width: 90%;
    max-width: 1200px;
	font-size: 0.8em;
	line-height: 2.4;
}

#breadcrumb ,
#breadcrumb a ,
#breadcrumb span {
	color: #333;
}

.breadcrumb .sp {
	margin: 0 1.5em;
}

.home #content-in {
	display: flex;
}

.home #main {
    margin: 0;
    flex: 1;
}

/************************************
** #content_before
************************************/

#content_before {
    display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 40px 0 60px;
}

/************************************
** #content_before L_box R_box
************************************/

#content_before .L_box {
	display: flex;
    flex-direction: column;
    width: 450px;
}

#content_before .L_box .L_box_link{
    margin: 30px 0 0 ;
}

#content_before .L_box .catch_phrase_text {
	margin-bottom: 30px;
}

.catch_phrase_text span {
	display: inline-block;
	width: 100%;
	padding: 0.2em 0 ;
}

#content_before .news_box{
    margin-top: 60px;
}

#content_before p.news_headline {
	display: flex;
    align-items: center;
}

#content_before p.news_headline::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	content: "\f192";
	color: #dc6b00;
	font-size: 0.75em;
	margin-top: 0.1em;
	margin-right:0.4em;
}

.news_box .news_post_title_list {
	overflow: hidden;
	height: 40px;
	margin-top:0.5em;
	background: #fff;
	border-radius: 8px;
}

.scroll_container {
	height: inherit;
}

.scroll_parent {
  position: relative;
  height: inherit;
}
 
.scroll_child {
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: absolute;
  left: 0%;
  top: 0%;
  height: inherit;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.scroll_child a {
  white-space: nowrap;
  margin-right: 30px; /* この数値はjavascriptにも適用しているため、変更する際は双方を一致させること */
}

.news_title_post_date , .news_title_post_title {
	margin-right: 1em;
	font-size: 0.9rem;
}

.scroll_child:nth-child(1) {
  animation-name: first;
}
 
.scroll_child:nth-child(2) {
  animation-name: second;
}
 
@keyframes first {
  from {
    left: 0%;
  }
  to {
    left: -100%;
  }
}
 
@keyframes second {
  from {
    left: 100%;
  }
  to {
    left: 0%;
  }
}

#content_before .R_box {
	max-width: 700px;
	margin-left: 80px;
}

.R_box img {
	border-radius: 8px;
}


/************************************
** トップページ：イベントリンク箇所
************************************/

.home  .event_link_box {
	margin: -30px auto 0;
	padding-bottom: 80px;
}

.home  .event_link_box > div {
	display: flex;
	flex-direction: column;
}

.home  .event_link_heading {
	display: flex;
	align-items: center;
	font-weight: 500;
	margin-right: 1em;
}

.home .event_link_heading::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #099ab4;
    font-size: 0.75em;
    margin-top: 0.1em;
    margin-right: 0.4em;
}

.home  .event_link_box a {
	margin-top: 0.5em;
	text-decoration: underline;
}

/************************************
** swiper・共通指定
************************************/

.swiper-wrapper {
	margin-top: 0;
}

.facility .swiper-slide {
	border: 10px solid #fff;
}

.swiper-slide img {
	vertical-align: top;
}


/************************************
** swiper・フェード型
************************************/

.R_box .swiper-container-2 .swiper-slide {
	width: 100% !important;
}

.R_box .swiper-container-2 .swiper-pagination {
	position: relative;
	text-align: right;
	margin-top: 10px;
}


/************************************
** トップページ・svg描画箇所
************************************/

.ribbon_box {
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
	top: -12px;
    left: calc(50% - 1252px);
    width: 2432px;	
}

.ribbon_box svg {
	width: 100%;
    height: auto;
    transform: translateZ(0);
}

/************************************
** content_before　おこわ・ふぁーれ更新情報箇所
************************************/

.pickup_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 40px 80px;
	margin-bottom: 40px;
	background: #FFEDD8;
}

.pickup_box p.pickup_header {
	background: #dc6b00;
    color: #fff;
    font-weight: bold;
	padding: 0.2em 0.5em;
    border-radius: 4px;
}

.fa-angles-down {
	display: none !important;
}


/************************************
** content_before_second
************************************/

#content_before_second {
	position: relative;
	margin-top: 100px;
}

#content_before_second::before {
	content: "";
    display: block;
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0;
    width: 100%;
    height: 100px;
    background-image: url(my_images/orange_radius_dc6b00.svg);
    background-size: 100% 100%;
    background-position: center;
}

/************************************
** #content_before・最新記事表示
************************************/

.top_latest_post_area {
	display: flex;
	justify-content: space-between;
	background: #FFEDD8;
	padding: 80px;
	margin-bottom: 180px;
}

.top_latest_post_area h2 {
	font-size: 1rem;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}

.top_latest_post_area h3 {
	margin: 10px 0;
	font-size: 1.5rem;
}

.top_latest_post_area > div:first-child {
	display: flex;
    flex-direction: column;
	width: 475px ;
}

.top_latest_post_area > div:last-child {
	width: calc( 100% - 535px ) ;
}

.top_latest_post_area_content {
	margin-bottom: 30px;
}

.top_latest_post_area .top_latest_post_area_link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
}

.top_latest_post_area .top_latest_post_area_link a:last-child {
	text-decoration: underline;
}

.top_latest_post_area > div:first-child .post_data {
	display:flex;
	align-items: center;
	margin-bottom: 30px;
}

span.top_latest_post_cat {
	margin-right: 20px;
}

/************************************
** #content_before_second・施設紹介
************************************/

#content_before_second .facility {
	width: 100vw;
    margin: 0 calc(50% - 50vw);
	background: #dc6b00;
	padding-bottom: 500px;
}

#content_before_second .facility h2 {
	margin-bottom: 30px;
}

#content_before_second .facility h2 span {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.75rem;
	letter-spacing: 0.05em;
}

#content_before_second .facility h2 span::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.3em;
	background: url("my_images/img_facility.webp") no-repeat;
	background-size: contain;
}

.facility .description {
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
    margin-bottom: 50px;
	letter-spacing: 0.1em;
}

.facility .swiper {
	margin-bottom: 65px;
	overflow: visible;
}

.facility .swiper .swiper-slide:first-child {
	opacity: 0;
	transition: all 0.25s 0.5s ease-in-out;
} 

.facility .swiper .swiper-pagination {
	position: relative;
	text-align: center;
	margin-top: 10px;
}

.facility .swiper .swiper-pagination-bullet {
	background: #fff;
}

.facility .swiper-button-next {
	top: auto;
	right: 0;
}

.facility .swiper-button-prev {
	top: auto;
	left: 0;
	margin-left: 0 !important;
}

.facility .flex_container {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 60px;
}

.facility .flex_container .box {
    display: flex;
    flex-direction: column;
	width: calc(50% - 30px);
    padding: 40px;
    background: #fff;
    border-radius: 8px;
}

.facility .flex_container .box .img_box {
	margin-bottom: 20px;
}

.facility .flex_container .box h3 {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 1;
	padding-bottom: 20px;
}

.facility .flex_container .box > p {
	padding-bottom: 5px;
}

.facility .flex_container .box > p:last-of-type {
	padding-bottom: 20px;
}

.facility .flex_container .box div {
	display: flex;
	justify-content: space-between;
	margin-top: auto;
}

.facility .flex_container .box div.img_box {
	margin-top: 0;
	overflow: hidden;
}

.facility .flex_container .box div p {
	width: calc( 100% - 175px );
}

.facility .flex_container .box .address ,
.facility .flex_container .box .tel {
    display: flex;
    align-items: center;
	font-size: 0.9rem;
}

.facility .flex_container .box .address::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f015";
	margin-right: 0.4em;	
}

.facility .flex_container .box .tel::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f3cd";
	margin: 0 0.4em 0 0.2em;
}

/************************************
** #content_before_second・授産活動
************************************/

#content_before_second .vocational_introduction {
	margin-top: -440px;
	margin-bottom: 60px;
	text-align: center;
}

#content_before_second .vocational_introduction p {
	font-size: 1.2rem;
    color: #fff;
    letter-spacing: 0.1em;
	margin-bottom: 20px;
}

#content_before_second .vocational {
	background: #fff;
	border-radius: 8px;
	padding: 60px;
}

.vocational .heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 40px;
	border-bottom: 1px dashed #ddd;
}

.vocational h2 {
	display: flex;
	align-items: center;
	font-size: 1.75rem;
    letter-spacing: 0.05em;
    line-height: 1;
}

.vocational h2 span.description {
	font-size: 1rem;
	margin-left: 30px;
}

.vocational .link_to_okowa {
	background: #dc6b00;
	color: #fff;
	padding: 0.75em 2em;
	border-radius: 9999px;
}

.vocational .link_to_okowa span {
	display: flex;
	align-items: center;
}

.vocational .link_to_okowa span::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f3cd";
    margin-left: 0.5em;
    padding: 0em 0.5em;
    background: #fff;
    color: #dc6b00;
    border-radius: 50%;
    font-size: 1.25rem;	
}

.vocational h3 {
	font-size: 1.5rem;
    letter-spacing: 0.05em;
	margin-bottom: 20px;
}

.vocational_content {
	display: flex;
	justify-content: space-between;
	margin: 40px 0;
}

.vocational_content:last-of-type {
	margin: 60px 0 0;
}

.vocational_content p {
	margin-bottom: 20px;
}

.vocational_content p:last-of-type {
	margin-bottom: 40px;	
}

.vocational_content > div:first-child {
	display: flex;
	flex-direction: column;
	width: 60%;
}

.vocational_content .fade_and_thumb_swiper {
	width: 40%;
	padding-left: 40px;
}

.vocational_content .swiper-wrapper {
	margin-bottom: 10px;
}

.slider-thumbnail .swiper-slide {
	opacity: .5;
    transition: opacity .5s;
    width: calc(100% / 3);
	cursor: pointer;
	margin-right: 10px;
}

.slider-thumbnail .swiper-slide:last-oy-type {
	margin-right: 0;
}

.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
}

/************************************
** swiper・スライド型
************************************/

.swiper .swiper-container .swiper-button-prev {
    margin-left: 1em;
}

.swiper .swiper-container .swiper-button-next ,
.swiper .swiper-container .swiper-button-prev {
    position: absolute;
    background: #4D9AB8;
    border-radius: 20px;
    height: 32px;
    width: 32px;
}

.swiper-button-prev:after ,
.swiper-rtl .swiper-button-prev:after ,
.swiper-rtl .swiper-button-next:after ,
.swiper-button-next:after {
    font-size: 1rem !important;
    color: #fff;
    font-weight: 600;
}

.R_box .swiper-pagination-bullet-active {
	background: #dc6b00 !important;
}

.swiper-horizontal>.swiper-pagination-bullets ,
.swiper-pagination-bullets.swiper-pagination-horizontal ,
.swiper-pagination-custom, .swiper-pagination-fraction {
	text-align: right;
}


/************************************
** 記事一覧
************************************/

#list ,
.list-wrap {
	margin-bottom: 80px;
}

.ect-3-columns ,
.rect-vertical-card .related-list {
	justify-content: space-between;
}

.home .ect-3-columns {
	width: 100%;
	justify-content: flex-start;
	gap: 5%;
}

.ect-3-columns .entry-card-wrap {
    width: 30%;
	padding: 0;
	margin-bottom: 4vw;
}

.rect-vertical-card-3 .related-entry-card-wrap {
	width: 23%;
}

.home .ect-3-columns .entry-card-wrap {
	margin-bottom: 0;
}

.entry-card-title ,
.related-entry-card-title {
    font-size: 1rem;
    margin: 0 0 10px 0;
    line-height: 1.8;
}

.related-list {
	margin-bottom: 0;
}

.ect-vertical-card .entry-card-wrap .entry-card-thumb {
 	position: static;
    width: 100%;
    float: none;
}

.rect-vertical-card .related-entry-card-content {
	margin-top: -7.5px;
	padding: 1.4em;
	background: #fff4e7;
}

.entry-card .entry-date ,
.related-entry-card .post-date {
    display: inline-block;
	margin: 0;
	font-size: 0.8rem;
	font-weight: 500;
}

.rect-vertical-card .related-entry-card-thumb img {
	border-radius: 4px 4px 0 0;
}

.rect-vertical-card .related-entry-card-content {
	border-radius: 0 0 4px 4px;	
}

.home .ect-3-columns .entry-card-wrap {
	width: 16%; 
}

.e-card-info {
    justify-content: flex-start;
}

/* 記事一覧：トップページ・関連記事 */

.rect-vertical-card .related-entry-card-title {
	font-size: 1rem;
}

.related-list:after {
    content:"";
    display: block;
    width:30%;
}

#list_container {
	display: flex
}

.column_heading {
	display: flex;
    align-items: center;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px dashed #ddd;
}

.column_heading h2 {
	line-height: 1;
}

.column_heading p {
	display: flex;
	flex-direction: column;
	margin-left: 60px;
	font-size: 0.9rem;
}


aside#related-entries {
	margin: 0 auto;
	width: 90%;
	max-width: 1200px;
}


/************************************
** 記事一覧：カテゴリーラベル関連
************************************/

.home .ect-vertical-card .entry-card-wrap .entry-card-thumb , 
.archive .entry-card-thumb {
	margin-bottom: 10px;
}

.home .ect-vertical-card .entry-card-wrap .entry-card-thumb img , 
.archive .entry-card-thumb img {
	border-radius: 4px;
}

.home .cat-label , 
span.top_latest_post_cat ,
.archive .cat-label ,
.related-entry-card .cat-label {
	display: inline-block;
	position: relative;
	top: 0;
	left: 0;
    border: 1px solid #333;
    font-size: 0.7rem;
    color: #333;
    background: none;
    padding: 0.2em 1em;
    max-width: 100%;
    white-space: nowrap;
	border-radius: 9999px;
}


/************************************
** #content_after・法人概要
************************************/

.company {
	padding: 60px;
	background: #fff;
	border-radius: 20px 20px 0 0 ;
}

.company_heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 40px;
}

.company_heading h2 {
    display: flex;
    align-items: center;
    font-size: 1.75rem;
    letter-spacing: 0.05em;
    line-height: 1;
}

.company_heading h2 span.description {
	font-size: 1rem;
    margin-left: 30px;
}

.company_container {
	display: flex;
	justify-content: space-between;
}

.company_container .company_info {
	width: 50%;
}

.company_container .map {
	width: 50%;
	margin-left: 60px;
}

.company_container .map iframe {
	width: 100%;
}

.company ul li {
	display:flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px 0;
	border-top: 1px solid #e1e1d0;
}

.company ul li h3 {
		font-size: 1rem;
}

.company ul li p {
	font-size: 0.9rem;
}

.company ul li:last-child {
	border-bottom: 1px solid #ddd;	
}

/************************************
** 目次

ul.toc-listが最上位のul 以下はclassのないul

************************************/

.toc {
    width: 100%;
    padding: 4vw;
	border-radius: 8px;
}

.toc-title {
    font-size: 1.4rem;
	font-weight: 500;
    padding: 0;
    margin-bottom: 40px;
	line-height: 1;
}

.toc ul.toc-list {
	max-width: 400px;
	margin: 0 auto;
	font-weight: 500;
}

.toc ul.toc-list li {
	border-bottom: 1px solid rgba(47,47,47, 0.2);
}

.toc ul.toc-list li:last-child {
	border-bottom: none;
}

.toc ul.toc-list li a {
    display: flex;
    align-items: baseline;
    position: relative;
    padding: 1.2em 0;
    font-size: 1rem;
}

.toc ul.toc-list li:first-child a {
    padding-top: 0;
}

.toc ul.toc-list li:last-child a {
    padding-bottom: 0;
}

.toc ul.toc-list li a:before{
	width: 1.4em;
    font-family: 'Montserrat';
    padding: 0 1em 0 0;
    margin-right: 1em;
    border-right: 1px solid rgba(47,47,47, .2);
    line-height: 1.1;
}

.toc ul.toc-list li:nth-of-type(1) a:before {
	content: "01";
}

.toc ul.toc-list li:nth-of-type(2) a:before {
	content: "02";
}

.toc ul.toc-list li:nth-of-type(3) a:before {
	content: "03";
}

.toc ul.toc-list li:nth-of-type(4) a:before {
	content: "04";
}

.toc ul.toc-list li:nth-of-type(5) a:before {
	content: "05";
}

.toc ul.toc-list li:nth-of-type(6) a:before {
	content: "06";
}

.toc ul.toc-list li:nth-of-type(7) a:before {
	content: "07";
}

.toc ul.toc-list li:nth-of-type(8) a:before {
	content: "08";
}

.toc ul.toc-list li:nth-of-type(9) a:before {
	content: "09";
}

.toc ul li a::after {
	margin-left: auto;
	padding-left: 1em;
    font-weight: 600;
    font-family: "Font Awesome 5 Free";
    content: "\f107";
	color: rgba(47,47,47, 0.2 );
	font-size: 0.8rem;
}

ul.toc-list {
	padding: 0;
}


/************************************
** タグの表示
************************************/

body.single-post .article-header ul.entry-tags ,
body.single-post .footer_tags ul.entry-tags,
.archive ul.entry-tags ,
.home .entry-card ul.entry-tags ,
#related-entries ul.entry-tags ,
.status ul.entry-tags ,
.search-results ul.entry-tags , 
.tagcloud {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-top: 0.5em;
	gap: 10px;
}

body.single-post .footer_tags ul.entry-tags ,
.home .entry-card ul.entry-tags ,
.archive ul.entry-tags ,
#related-entries ul.entry-tags ,
.status ul.entry-tags ,
.search-results ul.entry-tags {
	margin-top: 0;
}

body.single-post .article-header ul.entry-tags li a , 
body.single-post .footer_tags ul.entry-tags li a ,
.home .entry-card ul.entry-tags li ,
.archive .entry-card ul.entry-tags li ,
#related-entries ul.entry-tags li ,
.status ul.entry-tags li ,
.search-results ul.entry-tags li ,
.tagcloud a {
	display: inline-block;
    font-size: 0.8rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
}

body.single-post .article-header ul.entry-tags li a::before , 
body.single-post .footer_tags ul.entry-tags li a::before ,
.home .entry-card ul.entry-tags li::before ,
.archive .entry-card ul.entry-tags li::before ,
#related-entries ul.entry-tags li::before ,
.status ul.entry-tags li::before ,
.search-results ul.entry-tags li::before ,
.tagcloud a::before {
	content: "＃";
	margin-right: 0.25em;
}

.status ul.entry-tags {
    margin-bottom: 0;
	padding: 0;
}

.status ul.entry-tags li {
	width: auto;
}

.footer_tags {
	display: none;
	padding: 3.6em 0 0;
    border-top: 1px solid rgba(47,47,47,0.2);
}

.footer_tags ul {
	margin: 0;
} 


/************************************
** テーブル
************************************/

table tr th, table tr td, h2, h3 {
    transform: unset;
}

.table_container {
	max-width: 99.9%;
	max-height: 99.9%;
	overflow-x: auto;
	overflow-y: hidden !important;
	margin-bottom: 2.4em;
}

.table_container table{
	width: 100% !important;
	white-space: nowrap;
	margin: 0;
}

.table_container:last-child table {
	margin: 0;
}

table th , table td {
	border: none;
	border-bottom: 6px solid #fff4e7 !important;
	font-size: 1rem;
	text-align: center;
	padding: 1em 0;
	min-width: 90px;
}

/*** テーブル：外枠線の消去 ***/

table tr:first-child th , table tr:first-child td {
	border-top: none;	
}

table tr th:first-child , table td:first-child {
	border-left: none;	
}

table tr th:last-child , table td:last-child {
	border-right: none;	
}

table tr:last-child th , table tr:last-child td {
	border-bottom: none;		
}

table .red {
	vertical-align: text-bottom;
	text-decoration: underline;
    text-underline-offset: 0.3em;
}


/*** テーブル：１列目 ***/

table tbody tr td:first-child {
	white-space: nowrap;
	text-align: center;
	position: sticky;
    top: 0;
    left: 0;
	z-index: +1;
	font-weight: 500;
}

table tbody tr td:first-child:after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right: 6px solid #fff4e7;
}

/*** th,tdの親CSS無効化 ***/

table:not(.has-border-color) :where(th, td) {
	border: none;
	padding: 1em 0;
}

/************************************
** 投稿記事	/ 固定ページ 基本レイアウト
************************************/

/*** 固定ページ：タイトル ***/

body.page article h1.entry-title {
	margin: 0;
    padding: 4vw 0;
    line-height: 1.8;
    font-weight: 600;
    font-size: 2.4rem;
}

body.page article header .sub_title {
    display: inline-block;
	line-height: 1;
    padding: 0.5em;
	margin: 0;
    background: #dc6b00;
	color: #fff;
	border-radius: 4px;
}


body.page article .header_facility .sub_title {
	display: flex;
	align-items: center;
    padding: 0;
	margin: 0;
    background: none;
	color: #333;
}

body.page .eye-catch-wrap {
	margin-top: 0;
}

body.single-post .eye-catch img ,
body.page .eye-catch img {
	border-radius: 8px;
}

/*** article ***/

body.single-post main > article.article ,
body.page main > article.article {
    position: relative;
	margin: 0 auto 3.6em;
	padding:0 17.5%;
}

body.single-post p ,
body.single-post h2 ,
body.single-post h3 ,
body.single-post h4 ,
body.single-post h5 {
	color: #333;
}

.page .article h3 ,
.single-post .article h3 {
	line-height: 1.8;
	border: none;
	padding: 0;
	margin-bottom: 28.8px;
}

.is-style-primary-box, .primary-box, .sp-primary, .primary , .is-style-secondary-box, .secondary-box {
	color: #333;
    font-size: 1rem;
    background: none;
    border: none;
    padding: 0;
    border-radius: none;
    margin-bottom: 20px;
}

/*** 固定ページ・投稿記事：本文中画像 ***/

.page a.link_text {
	color: #0000ee;
	text-decoration: underline !important;
}

/*** 固定ページ・投稿記事：本文中画像 ***/

.page .entry-content img {
	border-radius: 8px;
}


/*** 投稿記事：タイトル ***/

body.single-post article h1.entry-title {
	margin: 0;
	padding: 4vw 0;
	line-height: 1.8;
    font-weight: 600;
    font-size: 2.4rem;
}

body.single-post #date_and_categories {
	display: flex;
    align-items: center;
	line-height: 1;
}

.date-tags {
    line-height: 1;
    text-align: left;
    border-right: 1px solid rgba(47,47,47, .3);
    padding-right: 1.5em;
	margin-right: 1.5em;
}

body.single-post #date_and_categories ul {
	display: flex;
	margin: 0;
}


body.single-post #date_and_categories ul li a {
   font-size: 0.8rem;
}

body.single-post #date_and_categories ul li:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f105';
    font-weight: 600;
    color: rgba(47,47,47, .3);	
	padding: 0 1.5em;
}

body.single-post #date_and_categories ul li:last-child:after {
	content: none;
}

body.single-post .entry-date {
	margin-left: 0;
	font-size: 0.9rem;
}

body.single-post .post-date {
	margin-right: 0;
	vertical-align: bottom;
}

body.single-post .entry-categories-tags > div , body.single-post .entry-categories-tags , body.single-post .date-tags {
	margin-bottom: 0;
}

body.single-post ul.entry-categories {
	display: flex;
	align-items: center;
	margin-bottom: 0;
}

body.single-post .entry-categories .cat-link {
	font-size: 0.9rem;
	font-weight: 500;
	color: #099ab4;
    margin: 0;
	padding: 0;
    background: none;
}

body.single-post ul.entry-categories li:nth-of-type(2) a:before {
    font-family: "Font Awesome 6 Free";
	content: "\f054";
	font-weight: 600;
	color: rgba(47,47,47, .3);
	padding: 0 1em;
}

.eye-catch-wrap {
	margin: 4vw 0;
}

.single-post header img {
	border-radius: 4px;
}

/*** 投稿記事ヘッダー ***/

.single-post .article-header {
	margin-bottom: 4vw;
}


/*** 投稿記事本文：ツイート埋め込み ***/

.tw_block {
    position: relative;
    background: #fff;
    padding: 4vw;
}

body.single-post .tw_block {
	margin-bottom: 4vw;
}

.page-template-page-basic_page .tw_block {
	margin-bottom: 55px;
}

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}


body.single-post .tw_block p:first-child ,
body.page .tw_block p:first-child {
    font-weight: 500;
    line-height: 1.8;
    display: inline-block;
	text-decoration: underline;
    text-underline-offset: 0.3em;
}

/*** 投稿記事・固定ページ：h2 ***/

body.single-post .article h2 ,
.page-template-default .article h2 {
	display: flex;
    align-items: baseline;
    width: 100%;
	margin: 4vw 0 28.8px;
    padding: 28.8px 0;	
    background: none;
    border-top: 1px solid rgba(47,47,47, .2);
    border-bottom: 1px solid rgba(47,47,47, .2);
    line-height: 1.8;
	font-size: 1.8rem;
}

body.single-post .article h2:before , 
.page-template-default .article h2:before {
    font-family: 'Montserrat';
    padding-right: 0.75em;
    border-right: 1px solid rgba(47,47,47,0.2);
    color: #333;
    font-weight: 600;
    margin-right: 0.75em;
    line-height: 1;
}

body.single-post .article h2:nth-of-type(1):before , 
.page-template-default .article h2:nth-of-type(1):before {
	content: "01";
}
body.single-post .article h2:nth-of-type(2):before , 
.page-template-default .article h2:nth-of-type(2):before {
	content: "02";
}
body.single-post .article h2:nth-of-type(3):before ,
.page-template-default .article h2:nth-of-type(3):before {
	content: "03";
}
body.single-post .article h2:nth-of-type(4):before ,
.page-template-default .article h2:nth-of-type(4):before {
	content: "04";
}
body.single-post .article h2:nth-of-type(5):before ,
.page-template-default .article h2:nth-of-type(5):before {
	content: "05";
}
body.single-post .article h2:nth-of-type(6):before ,
.page-template-default .article h2:nth-of-type(6):before{
	content: "06";
}
body.single-post .article h2:nth-of-type(7):before ,
.page-template-default .article h2:nth-of-type(7):before {
	content: "07";
}
body.single-post .article h2:nth-of-type(8):before ,
.page-template-default .article h2:nth-of-type(8):before {
	content: "08";
}
body.single-post .article h2:nth-of-type(9):before ,
.page-template-default .article h2:nth-of-type(9):before {
	content: "09";
}
body.single-post .article h2:nth-of-type(10):before ,
.page-template-default .article h2:nth-of-type(10):before {
	content: "10";
}

/*** 投稿記事：h3 ***/

body.single-post h3 {
   border: none;
   padding: 0;
   font-size: 1.1rem;
   font-weight: 500;
}


/*** 投稿記事：dl ***/

body.single-post dl {
	margin-bottom: 2.4em;
}

body.single-post dl.overview dt {
	display: flex;
    align-items: center;
	position: relative;
    border: none;
    margin: 1.8em 0 1.2em;
	font-weight: 500;
}

body.single-post dl.overview dt:before {
    content: "";
    display: inline-block;
    height: 0.5em;
    margin-right: 0.6em;
    width: 0.5em;
    background: #333;
}

dl.overview dd , .analysis dl dd {
    position: relative;
	margin-bottom: 1.2em;
    margin-left: 0;
    padding-left: 2em;
}

dl.overview dd:before , .analysis dl dd:before {
    border-top: 1px solid rgba(47,47,47, .2);
    display: inline-block;
    content: "";
    width: 1em;
    position: absolute;
    top: 0.9em;
    left: 0;
}

dl.overview dd:before , .analysis dl dd:before {
  margin-right: 1em; /* 文字の右隣 */
}

h2 span.denomination:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
	margin: 0 0.75em;
}

/* 目次での表示 */

.toc span.denomination:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 600;
    margin: 0 0.75em;
}

.analysis {
	margin: 3em 0;
}

.article .analysis h4 {
	line-height: 1.8;
	border-top: 1px solid rgba(47,47,47, 0.2);
	border-bottom: 1px solid rgba(47,47,47, 0.2);
}

.article .analysis h4:before {
    font-family: "Font Awesome 5 Free";
    content: "\f080";
    margin-right: 0.5em;
    background: #3B9A9A;
    padding: 0.2em;
}

.article .analysis .type {
	display: flex;
    align-items: center;
	font-weight: 500;
}

.article .analysis .type i {
    margin-right: 0.6em;
}

.article .analysis dl dt {
    display: flex;
    align-items: center;
    position: relative;
    border: none;
    margin: 1.8em 0 1.2em;
    font-weight: 500;
}

.article .analysis dl dt:before {
    content: "";
    display: inline-block;
    height: 0.5em;
    margin-right: 0.6em;
    width: 0.5em;
    background: #333;
}

.article .analysis table .blue {
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

/*** 投稿記事： .white_box ***/

.white_box {
	position: relative;
	padding: 40px;
	margin-bottom: 2.4em;
}

.white_box:last-child {
	margin-bottom: 0;
}

.white_box p:last-child {
	margin-bottom: 0;
}

.annotation .white_box p ,
ul.closing li ,
body.single-post ul.normal_list li ,
body.page ul.normal_list li {
	padding-left: 1.6em;
}

.annotation .white_box p:first-child , 
ul.closing li ,
body.single-post ul.normal_list li ,
body.page ul.normal_list li {
	position: relative;
}

.annotation .white_box p:first-child:before ,
ul.closing li:before ,
body.single-post ul.normal_list li:before ,
body.page ul.normal_list li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    font-weight: 600;
    position: absolute;
    background: #E30000;
	color: #fff;
    top: 0.65em;
    left: 0;
    line-height: 1;
    display: inline-block;
    padding: 0.2em;
    font-size: 0.7em;
}

body.single-post ul.normal_list li:before ,
body.page ul.normal_list li:before {
    background: #333;
}

/*** 投稿記事： .closing ***/

body.single-post ul.closing ,
body.single-post ul.normal_list ,
body.page ul.normal_list ,
body.page ul.closing {
    padding: 40px;
}

body.single-post ul.closing li ,
body.single-post ul.normal_list li ,
body.page ul.normal_list li ,
body.page ul.closing li {
    margin-bottom: 1.8em;
}

body.single-post ul.closing li:last-child ,
body.single-post ul.normal_list li:last-child ,
body.page ul.normal_list li:last-child ,
body.page ul.closing li:last-child {
    margin-bottom: 0;
}


/*** 投稿記事：画像・リンク ***/

body.single-post .entry-content img.size-large {
	width: 75%;
}

body.page .blogcard-wrap ,
body.single-post .blogcard-wrap {
	margin-left: 0;
}

/*** 投稿記事： シェアボタン ***/

#main #side_sns_area {
	position: absolute;
	left: 0;
	top: 0;
    display: block;
	height: 100%;
	text-align: center;
}

#main .sns-share-buttons , #main .sns-follow-buttons {
	display: flex;
    flex-flow: column;
	justify-content: center; /*中央寄せ*/
}

#main .sns-share a {
	margin-bottom: 1.5em;
}

#main .sns-share a:last-child {
	margin-bottom: 0;
}

.sns-share-message, .sns-follow-message {
	margin-bottom: 1.5em;
	line-height: 1 !important;
}

.sns-share, .sns-follow {
	margin: 0;
}

.icon-x-corp:before {
	content:"Ｘ";
	font-weight: bold;
}

.sns-buttons {
	row-gap: 20px;
}

/*SNSシェアボタン*/

.sns-share-message , .sns-follow-message {
    font-weight: 600;
    color: #875d5b;
    line-height: 2.25;
    font-size: 0.9rem;
}

.sns-share-buttons a {
	border-radius: 50%;
	font-size: 1.2rem;
	margin: 0;
}

#main .sns-share a {
	width: 2.75rem;
	height: 2.75rem;
	background: #c66000;
}

#main #side_sns_area .sns-share a {
	font-size: 1rem;
	width: 2rem;
	height: 2rem;
	background: #c66000;
}

.bc-brand-color-white.sns-share a, .bc-brand-color-white.sns-follow a {
	border: none;
}

#side_sns_area .social-icon {
	color: #fff;
}

.bc-brand-color-white.sns-share a:hover, .bc-brand-color-white.sns-follow a:hover {
	opacity: 1;
}

#main .sns-share a:hover {
	background: #E30000;	
}

/*SNSフォローボタン*/

.sns-follow-message{
	font-weight: bold;
	color: #875d5b;
}
.sns-follow-buttons {
	justify-content: center;
}
.sns-follow-buttons a {
	border-radius: 50%;
	font-size: 1.2rem;
	margin: 0 ;
}
#main .sns-follow a {
	width: 2.5rem; 
	height: 2.5rem;
}

/* 投稿記事本文下のカテゴリーリンク */

body.single-post footer.article-footer {
	margin-bottom: 1.8em:
}

.footer_cat_link {
	margin-bottom: 3.6em;
	text-align: center;
}

.footer_cat_link a {
	display: inline-block;
	padding: 1em;
	font-weight: 600;
}


/************************************
** 投稿記事下
************************************/

.under-entry-content {
	margin: 0 calc(50% - 50vw);
    width: calc(100vw - var(--scrollbar));
    padding: 4vw 0 0;
	background: #FFEDD8 !important;
}

.related-entry-heading, .comment-title {
	margin: 0 0 4vw;
    font-size: 1.8rem;
	font-weight: 600;
	line-height: 1;
}


/************************************
** 投稿記事内・左側縦線
************************************/

.analysis , #toggle_base_odds , #toggle_base_expected_value , #toggle_notation {
	position: relative;
	padding-left: 1.5em;
}

.analysis:before , #toggle_base_odds:before, #toggle_base_expected_value:before , #toggle_notation:before {
    background: rgba(47,47,47, .2);
    content: "";
    height: 100%;
	top: 0;
    left: 0;
    position: absolute;
    width: 2px;
}

.annotation .expansion {
    margin-bottom: 0;
	line-height: 1;
    font-size: 0.9rem;
    text-align: right;
}


/************************************
** 固定ページ：希望の会福祉会について
************************************/

ul.company_profile li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 1px solid #e1e1d0;
}

body.page-template-page-facility .facility_content_box ul.company_profile li p {
	margin-bottom: 0;
	min-width: 100px;
}

ul.company_profile li.tel {
	display: block;
}

ul.company_profile li.tel p {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

ul.company_profile li.tel p.mobile {
	display: none;
}

body.page-template-page-facility .facility_content_box .company_profile_heading {
	font-weight: 700;
	margin-bottom: 20px;
}

/************************************
** 投稿記事	/ イベントページ
************************************/

.categoryid-61 main #side_sns_area .sns-share a {
	background: #099ab4 !important
}

.categoryid-61 .detail p {
	display: flex;
	align-items: center;
}

.categoryid-61 .detail p span:first-child {
	align-self: baseline;
	text-align: center;
	border-radius: 4px;
	margin-right: 1em;
	min-width: 75px;
	background: #099ab4;
	color: #fff;
	font-weight: 500;
	font-size: 0.9rem;
}

.categoryid-61 .program .heading {
	display: flex;
	align-items: center;
	font-weight: 700;
}

.categoryid-61 .program .heading::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #099ab4;
    font-size: 0.75em;
    margin-top: 0.3em;
    margin-right: 0.5em;
}

.categoryid-61 .program .heading span:first-child {
	margin-right: 1em;
}

.categoryid-61 .program .lecture_title {
	font-weight: 700;
}

.categoryid-61 .program h3 {
	display: flex;
	align-items: center;
	font-size: 1rem;
	margin-bottom: 1.8em;
}

.categoryid-61 .lecturer {
	padding: 40px;
	margin-bottom: 1.8em;
	background: #fff;
}

.categoryid-61 .lecturer h3.profile::before {
	display: block;
	content:"";
	width: 0.3em;
	height: 1em;
	background: #333;
	margin: 0 0.5em 0 0;
	border-radius: 2px;
}

.categoryid-61 .lecturer .name {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	margin-bottom: 1em;
}

.categoryid-61 .lecturer .name span:first-child {
    font-size: 0.8rem;
	margin-right: 0.5em;
}

.categoryid-61 .lecturer .text:first-of-type  {
	margin-bottom: 1.8em;
	padding-bottom: 1.8em;
}

.categoryid-61 .lecturer .text:first-of-type {
	border-bottom: 1px solid rgba(47,47,47, .2);	
}

.categoryid-61 .lecturer .text p {
	margin-bottom: 1em;
	font-size: 0.9rem;
}

.categoryid-61 .lecturer .text p:last-child ,
.categoryid-61 .lecturer .text:last-child {
	margin-bottom: 0;
}

.categoryid-61 .white_box {
	background: #fff;
    padding: 40px;
    border-radius: 8px;
    border: 1px solid #e1e1d0;
}

.categoryid-61 .white_box .tel  {
	margin-bottom: -1.8em;
}

.categoryid-61 .white_box .tel .tel_num {
	text-decoration: underline;
}

.categoryid-61 .wp-block-file__embed ,
.categoryid-61 .pdf_file a:first-of-type {
	display: none;
}

.categoryid-61 .wp-block-file *+.wp-block-file__button {
	margin-left: 0;
}

.categoryid-61 .pdf_file .wp-block-file__button {
	background: none;
	padding: 0;
	text-decoration: underline;
	font-size: 1rem;
	color: #099ab4;
}

/************************************
** 固定ページ：施設紹介ページ
************************************/

/*  固：施設紹介ページ　ヘッダー・タイトル */

.page-template-page-facility article header {
	display: flex;	
}

.page-template-page-facility article header h1.entry-title {
	padding: 0.5em 0 0.75em;
}

.page-template-page-facility article header h1 p {
	font-size: 1.6rem;
	margin-bottom: 0;
}

.page-template-page-facility article header > div:first-child {
	width: 50%;
}

.page-template-page-facility article header > div:last-child {
	width: 50%;
	padding-left: 20px;
}

/*  固：施設紹介ページ　#side_sns_area  */

.page-template-page-facility #main #side_sns_area {
	height: 0;
}

/*  固：施設紹介ページ　main・wrap 等の大枠 */

body.page-template-page-facility main > article.article {
	padding: 0 6vw;
}

body.page-template-page-facility .wrap {
	width: 90vw;
}

/*  固：施設紹介ページ　facility_content_box */

body.page-template-page-facility .facility_content_box {
	width: 90vw;
	margin: 0 calc(50% - 45vw) 5vw;
}

body.page-template-page-facility .facility_content_box > div {
	max-width: 1200px ;
    background: #FFEDD8;
    padding: 6vw;
    margin: 0 auto;
	border-radius: 8px;
}

/*  固：施設紹介ページ　facility_content_box h2関連*/


body.page-template-page-facility .facility_content_box h2 {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	padding: 0;
	background: none;
	line-height: 1.6;
}

body.page-template-page-facility .facility_content_box p.facility_check span:first-child {
	font-size: 0.9rem;
    line-height: 1;
    margin-bottom: 0.5em;
    padding-top: 0.2em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
}

body.page-template-page-facility .facility_content_box p.facility_text {
	display: flex;
	flex-direction: column;
	font-size: 1.4rem;
}

/*  固：施設紹介ページ　facility_content_box内のpタグ関連 */

body.page-template-page-facility .facility_content_box p {
	margin-top: 0;
	margin-bottom: 1em
}

body.page-template-page-facility .facility_content_box p.facility_check {
	display: flex;
	flex-direction: column;	
	align-items: center;
	background: #dc6b00;
	color: #fff;
	border-radius: 50%;
	margin: 0 30px 0 0;
	padding: 20px;
	white-space: nowrap;
}

/*  固：施設紹介ページ　facility_content_box内のpタグ イレギュラーな設定箇所*/

body.page-template-page-facility .facility_content_box .numbered_list p.heading {
	margin: 0 30px 0 0;
	min-width: 125px;
}

/*  固：施設紹介ページ　facility_content_box > medium_box  */

body.page-template-page-facility .facility_content_box .medium_box .column-right {
	padding-left: 20px;	
}

body.page-template-page-facility .facility_content_box .thin_box {
	margin-top: 20px;
}

body.page-template-page-facility .facility_content_box .thin_box > div ,
body.page-template-page-facility .facility_content_box .facility_page_contact ,
body.page-template-page-facility .okowa_box {
	padding: 40px;
	background: #fff4e7;
	border-radius: 8px;
	border: 1px solid #e1e1d0;
}

body.page-template-page-facility table td {
	padding: 0.5em;
	font-size: 0.9rem;
}

body.page-template-page-facility .link_button {
	margin-top: 30px;
}

/* 固：施設紹介ページ　white_box関連 */

.page .white_box {
	background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e1e1d0;
}

body.page-template-page-facility .facility_content_box .white_box .tel p {
	margin-bottom: 0;
}

/* 固：施設紹介ページ　その他細かい箇所 */

.facility_check span:last-child ,
.numbered_list .num {
	font-family: 'Montserrat';
	letter-spacing: 0.1em;
	line-height: 1;
}

/* 固：施設紹介ページ　番号付きリストのul関連 */

ul.numbered_list li {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #e1e1d0;	
	padding-bottom: 1em;
	margin-bottom: 1em;
}

ul.numbered_list li:last-child {
	border: none;
}

ul.numbered_list li span.num {
	margin-right: 0.25em;
}

/* 固：施設紹介ページ　ふぁーれ個別設定 */

ul.fare_service {
	display: flex;
    flex-wrap: wrap;
    gap: 1em;
	margin-top: 1em;
}

ul.fare_service li {
	font-size: 0.8rem;
	background: #fff;
	padding: 0.25em 0.5em;
	border-radius: 8px;
}

ul.fare_service li::before {
	content:"#";
	margin-right: 0.2em:
}

body.page-template-page-facility .remarks div {
	border-bottom: 1px solid #e1e1d0;
	padding-bottom: 20px;
    margin-bottom: 20px;
}

body.page-template-page-facility .remarks div:last-child {
	border-bottom: none;
    padding-bottom: 0;
	margin-bottom: 0;
}

/* 固：授産活動ページ　おこわページ個別設定 */

body.page-template-page-facility .okowa_retailer_box {
	margin-top: 50px;
}

body.page-template-page-facility .okowa_retailer {
	display: flex;
	flex-direction: column;
}

body.page-template-page-facility .okowa_retailer_box > div {
	display: flex;
	width: 47.5%;
}

body.page-template-page-facility .okowa_retailer img {
	margin-top: auto;
}

.okowa_box .column-wrap > div {
	width: 47.5%;
}

.okowa_telnum {
	color: #0000ee;
	text-decoration: underline;
}

/* 固：賃借対照表の公告ページ */

.page-id-5601 table tr:first-child td {
	background: #3A96A7;
	color: #fff;
}

.page-id-5601 table a { 
	color: #0000ee;
}

/* 固：施設紹介ページ　ふぁーれ・居いプレイス　margin-bottom対処 */

.page-id-4948 .entry-content > .wp-block-columns:nth-of-type(2),
.page-id-5046 .entry-content > .wp-block-columns:nth-of-type(1) {
	margin-bottom: 5vw;
}

/* 固：プライバシーポリシーページ */

.page-id-4637 .article-header img {
	display: none;
}

/* 固：施設紹介ページ　fontawesome・その他疑似要素関連 */

.page-template-page-facility article header .sub_title ,
.okowa_box p.okowa_heading ,
p.okowa_heading ,
.okowa_retailer p.okowa_retailer_heading ,
.okowa_order_heading ,
body.page-template-page-facility .remarks p.remarks_heading ,
body.page-template-page-facility .remarks p.remarks_transfer_heading ,
p.fare_service_heading ,
body.page .entry-content p.fare_service_heading_min ,
p.dismantling_heading {
	display: flex;
	align-items: center;
}

.okowa_heading::before ,
.okowa_retailer_heading::before ,
.okowa_order_heading::before ,
p.dismantling_heading::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #dc6b00;
    font-size: 0.75em;
    margin-top: 0.12em;
    margin-right: 0.4em;
}

p.okowa_fee {
	display: flex;
	align-items: center;
}

span.okowa_fee_heading {
    width: 80px;
	white-space: nowrap;
    padding: 0.05em 0.4em 0.1em;
    background: #dc6b00;
    color: #fff;
    border-radius: 4px;
    margin-right: 1em;
    font-size: 0.8rem;
	text-align: center;
}

span.okowa_fee_prices {
  flex: 1 1 0%;
}

.page-template-page-facility article header .sub_title::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #dc6b00;
    font-size: 0.75em;
	margin-top: 0.1em;
    margin-right: 0.4em;
}

body.page-template-page-facility .remarks p.remarks_heading::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #dc6b00;
    font-size: 0.75em;
    margin-top: 0.13em;
    margin-right: 0.4em;
}

body.page .entry-content p.fare_service_heading_min::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #dc6b00;
    font-size: 0.75em;
    margin-top: 0.35em;
    margin-right: 0.5em;
}

.facility_page_contact .heading::before {
    font-family: "Font Awesome 5 Free";
    content: "\f3cd";
    font-weight: 600;
	margin-right: 0.25em;
}

body.page-template-page-facility .remarks p.remarks_transfer_heading::before {
	content: "";
	width: 1.25em ;
	height: 1.25em ;
	background: url("my_images/img_car.png") no-repeat;
	background-size: contain;
	margin: 0.7em 0.4em 0 0;
}

p.fare_service_heading::before {
	content: "";
	width: 1.25em;
	height: 1.25em;
	background: url("my_images/img_space.png") no-repeat;
	background-size: contain;
	margin: 0.1em 0.4em 0 0;
}

.timeschedule_heading::before {
    font-family: "Font Awesome 5 Free";
    content: "\f017";
	margin-right: 0.25em;
}

body.page-template-page-facility .facility_content_box h2.page_wide_h2 {
	font-size: 1.6rem ;
	margin-bottom: 1.4em ;
}

body.page-template-page-facility .facility_content_box .greeting_heading {
	font-size: 1.2rem;
	font-weight: 700;
	margin-top: 1.6em;
	padding-top: 1.6em;
	border-top: 1px solid #e1e1d0;
}

body.page-template-page-facility .facility_content_box .greeting_heading:first-child {
	margin-top: 0;
	padding-top: 0;
	border: none;
}

body.page-template-page-facility .facility_content_box .greeting_name {
	margin-top: 1.6em;
}


/************************************
** 固定ページ：ページ毎のキーカラー
************************************/

/* のぞみの家ページ */

body.page-id-4902 #main #side_sns_area .sns-share a ,
body.page-id-4902 .facility_content_box p.facility_check {
	background:	#02768C;
}

body.page-id-4902 article header .sub_title::before {
	color: #099ab4;
}

/* ふぁーれページ */

body.page-id-4948 #main #side_sns_area .sns-share a ,
body.page-id-4948 .facility_content_box p.facility_check {
	background:	#b7488c;
}

body.page-id-4948 article header .sub_title::before ,
body.page-id-4948 .entry-content p.fare_service_heading_min::before{
	color: #e55bb0;
}

/* 居いプレイスページ */

body.page-id-5046 #main #side_sns_area .sns-share a ,
body.page-id-5046 .facility_content_box p.facility_check {
	background:	#8f24ac;
}

body.page-id-5046 article header .sub_title::before ,
body.page-id-5046 .remarks p.remarks_heading::before {
	color: #b661cf ;
}


/* 希望の会とは？ページ */

.page-id-5302 #main #side_sns_area .sns-share a  {
	background: #c66000;
}

body.page-id-5302 .facility_content_box p.facility_check {
	background: #dc6b00;	
}

.page-id-5302 article header .sub_title::before {
	color: #dc6b00;
}

/* これまでの歩み・理事長挨拶ページ */

.page-id-5601 #main #side_sns_area .sns-share a ,
.page-id-5368 #main #side_sns_area .sns-share a , 
.page-id-5400 #main #side_sns_area .sns-share a { 
	background: #037287;
}

.page-id-5601 article header .sub_title::before ,
.page-id-5368 article header .sub_title::before ,
.page-id-5400 article header .sub_title::before {
	color: #3A96A7;
}


/************************************
** 固定ページ：プライバシーポリシーページ
************************************/

body.page-id-4637 article header .sub_title ,
body.page-id-4637 #main #side_sns_area {
	display: none;
}

body.page-id-4637 article header h1.entry-title {
	padding-top: 0 !important;
}

/************************************
** 固定ページ：問い合わせページ
************************************/

body.page-id-464 article .header_facility .sub_title {
	display: none;
}

.page-id-464 .white_box {
	padding: 40px;
}


.page-id-464 .entry-content {
	margin-top: 0;
}

.page-id-464 h2.page_contact_h2_tel ,
.page-id-464 h2.page_contact_h2_mail {
	font-size: 1rem;
	background: none;
	padding: 0;
}

.page-id-464 h2.page_contact_h2_tel::before {
	font-family: "Font Awesome 5 Free";
    content: "\f3cd";
    font-weight: 600;
    margin-right: 0.4em;
}

.page-id-464 h2.page_contact_h2_mail::before {
	font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: 600;
    margin-right: 0.4em;
}

.page-id-464 .tel .wide {
	margin-bottom: 0;
}

.entry-content form p input {
	margin-bottom: 0.9em;
}

.entry-content .submit_button {
	margin-bottom: 2.7em;
	width: 50%;
}

.submit_button .back {
	background: rgba(47,47,47,0.5);
	margin-bottom: 1.8em;
}

.entry-content .submit_button {
    margin-bottom: 2.7em;
    width: clamp( 0px , 100% ,250px );
}

.submit_button {
	margin: 0 0 3.6em;
}

input[type='submit'] {
    border: none;
    background-color: #333;
    color: #fff;
    font-size: 1rem;
    letter-spacing: 0.2em;
	border-radius: 4px;
}

input[type='submit'], #bbp_reply_submit, .bp-login-widget-register-link a {
	padding: 1em;
}

form p input {
	margin-bottom: 2.1em;
}

form .check_box {
	margin: 2.7em 0;
}

form p.recaptha {
    margin-bottom: 0;
    font-size: 0.9rem;
}

form p.contact_input , form p.contact_question  {
	display: flex;
	align-items: center;
}

form p.contact_input:before , form p.contact_question:before {
	font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f192";
    color: #dc6b00;
    font-size: 0.75em;
    margin-top: 0.1em;
    margin-right: 0.4em;
}

.contact_red {
	color: #c66000;
}

.mw_wp_form_preview .check_box {
	display: none;
}


/************************************
** ブロックエディタ
************************************/


/* ブロックエディタ：リスト */

ul.list_normal {
	background: #fff;
	padding: 40px;
}

ul.list_normal li {
	position: relative;
	padding-left: 1.6em;
    margin-bottom: 1.8em;
}

ul.list_normal li:last-child {
    margin-bottom: 0;
}

ul.list_normal li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    font-weight: 600;
    position: absolute;
    background: #333;
    color: #fff;
    top: 0.65em;
    left: 0;
    line-height: 1;
    display: inline-block;
    padding: 0.2em;
    font-size: 0.7em;
}

/* ブロックエディタ上でのグループ化で付与される、cssクラスのリセット */

body .is-layout-constrained > * + * {
	margin-block-start: 0;
}

/************************************
** サイト内検索
************************************/

.archive-header .search-box {
    margin: 0;
	padding: 40px 0;	
}

.search-submit {
	color: #333;
	background: #fff;
}


/************************************
** フッター
************************************/

#footer {
    margin: 0 ;
    padding: 60px 0;
}

#footer_container {
	display: grid;
	grid-template-columns: 296px 1fr;
	justify-content: space-between;
	justify-items: start;
	-moz-column-gap: 40px;
	column-gap: 40px;
	padding-bottom: 60px;
}

#footer_container h2 {
	font-size: 0.9rem;
	color: #fff;
	margin-top: 20px;
}

#footer_container h2 span:first-child {
	margin-right: 0.5em;
}

#footer_container a.link_to_about {
	display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
	color: #333;
    background: #fff;
    padding: 0.8em 1em;
    border-radius: 9999px;
    font-weight: bold;
    position: relative;
    font-size: 0.9rem;
}

#footer_container a.link_to_about::after {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 0.45em;
    background: url(my_images/arrow.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: 7.5%;
    margin-top: 1px;
}

#footer_container .footer_menu_wide {
	width: 100%;
}

#footer_container ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
}

#footer_container ul.footer_menu_wide_a {
	width: 100%;
	align-items: center;
	justify-content: space-between;
}

#footer_container .footer_menu_heading {
	margin: 20px 0 10px 0;
	display: flex;
	align-items: center;
	color: #fff;
}

#footer_container .footer_menu_heading::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f111";
    color: #fff;
    font-size: 0.3em;
    margin-top: 0.65em;
    margin-right: 1.5em;
}

.footer_menu_wide_b li a {
	font-size: 0.9rem;
}

footer.footer ,  footer .footer-bottom {
    padding: 0;
}

.footer-bottom {
	margin: 0;
	font-size: 0.8rem;
}

.footer-bottom-logo {
	float: none;
	position: relative;
	line-height: 1;
}

.footer-bottom-logo img {
	height: 35px;
}

.footer-bottom-content {
	float: none;
    text-align: center;
}

#footer .copyright {
	margin-top: 0;
	text-align: auto;
}

.footer-bottom.fdt-up-and-down .footer-bottom-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer .footer_bottom_menu a {
	background: #dc6b00;
	padding: 6px 10px;
	border-radius: 4px;
	margin-right: 10px;
	font-size: 0.7rem;
}

#footer .footer_bottom_menu a::after {
	margin-right: 0;    
}

/************************************
** アーカイブページ  アーカイブは全て共通の構造
************************************/

body.archive .content {
	margin-top: 0;
	padding-top: 61.5px;
}

#main .archive-content {
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}

.archive-content #archive-title ,
.page-template-page-all_post #archive-title  {
	margin: 0;
    padding: 4vw 0;
    line-height: 1.8;
    font-weight: 600;
    font-size: 2.4rem;
}

body.archive .archive-header .sub_title ,
body.tag .archive-content .article-header p {
    display: inline-block;
	font-weight: 600;
	line-height: 1;
    padding: 0.5em;
	margin: 0;
    background: #dc6b00;
	color: #fff;
	border-radius: 4px;
}

.archive-content .entry-content {
    margin: 0;
}

.archive-content .entry-content p {
	font-size: 0.9rem;
	padding-top: 0.1em;
	margin: 0;
}

.archive #list:after {
    content:"";
    display: block;
    width:30%;
}

.archive-content .article-header p {
	margin-bottom: 0.9em;
	font-size: 0.9rem;
}

/************************************
** ページネーション
************************************/

.pagination {
	margin: 0 0 3.6em;
}

.pagination-next {
	margin: 0;
}

.pagination .current {
	background: #333;
	color: #fff;
}
.page-numbers, .pagination-next-link {
    border-style: none;
}

.page-numbers {
	background: #fff;
	border: 1px solid rgba(47,47,47,0.2);
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/* モバイル用のブレイクポイント：1023px */

@media screen and (max-width: 1023px){
	
	/* 1023 フォントサイズ共通指定 */

	.header-container-in.hlt-top-menu .logo-header .site-name ,

	#footer .footer_bottom_menu a ,
	
	#footer .copyright ,
	
	.home .cat-label ,
	
	.archive .cat-label ,
	
	.related-entry-card .cat-label ,
	
	.entry-card .entry-date ,

	.related-entry-card .post-date ,
	
	ul.fare_service li ,
	
	body.single-post #date_and_categories ul li a ,
	
	.categoryid-61 .lecturer .name span:first-child {
		
		font-size: clamp( 0rem , 3vw , 0.8rem);

	}
	
	
	.header-container-in.hlt-top-menu .logo-header .site-name ,
	
	.catch_phrase_text span ,

	.all_post_link a ,

	#content_before_second .vocational h2 span:last-child ,
	
	.catch_phrase_text span ,
	
	a.top_to_about_link_mobile ,
	
	.entry-card-title ,

	body.page-template-page-facility .facility_content_box p.facility_check span ,
	
	body.page-template-page-facility .facility_content_box p.facility_check span:first-child ,
	
	body.page-template-page-facility table td ,
	
	.sns-share-message ,
	
	.sns-follow-message ,
	
	body.archive .archive-header .sub_title ,
	
	body.tag .archive-content .article-header p ,
	
	body.single-post .entry-date ,
	
	.categoryid-61 .detail p span:first-child ,
	
	.categoryid-61 .lecturer .text p {

		font-size: clamp( 0rem , 3.65vw , 0.9rem ) ;

	}	


	#content_before p.news_headline ,
	
	.news_title_post_date, .news_title_post_title ,
	
	.facility .description ,
	
	.facility .flex_container .box > p ,
	
	#content_before_second .vocational_introduction p,
	
	.vocational h2 span.description ,
	
	.vocational_content p ,
	
	.column_heading p , 
	
	body.single-post h3.related-entry-card-title ,
	
	.entry-content .status .a-wrap h2.entry-card-title ,
	
	.company ul li h3 ,
	
	#footer_container h2 , 
	
	.facility .flex_container .box .tel ,
	
	.facility .flex_container .box .address ,
	
	#content_before_second .vocational h2 span:last-child ,
	
	.vocational_content a ,
	
	.facility .flex_container .box button ,
	
	.home .all_post_link_mobile , 
	
	.entry-card .entry-date ,
	
	.related-entry-card .post-date ,
	
	.company ul li p ,
	
	.company_contact_link_mobile  ,
	
	body.single-post .entry-content p ,
	
	body.page .entry-content p ,
	
	body.page article .sub_title ,
	
	.breadcrumb ,
	
	.facility_header_text p ,
	
	.link_button ,
	
	body.page-template-page-facility .facility_content_box p.facility_text span:last-child ,
	
	.page-id-464 h2.page_contact_h2_tel ,
	
	.page-id-464 h2.page_contact_h2_mail ,
	
    form .check_box span ,
	
	input[type='submit'] ,
	
	.toc ul.toc-list li a ,
	
	.toc-title ,
	
	.categoryid-61 .program h3 ,
	
	.categoryid-61 .pdf_file .wp-block-file__button ,
	
	.home .event_link_heading ,
	
	.home .event_link_box a ,
	
	.top_latest_post_area h2 ,
	
	.top_latest_post_area > div:first-child .post_data ,
	
	.top_latest_post_area_content ,
	
	.top_latest_post_area_link a ,
	
	.pickup_box  a {

		font-size: clamp( 0rem , 4.5vw , 1rem);

	}
	
	span.okowa_fee_heading {

		font-size: clamp( 0rem , 4.5vw , 0.8rem);

	}
	
	body.page-template-page-facility .facility_content_box p.facility_text {
			
		font-size: clamp( 0rem , 6vw , 1.4rem);
		
	}
	
	#content_before_second .facility h2 span ,
	
	.large_text ,
	
	.facility .flex_container .box h3 ,
	
	#content_before_second .vocational h2 span:first-child ,
	
	.vocational h3 ,
	
	.column_heading h2 ,
	
	.company_heading h2 , 

	.page-template-page-facility article header h1 p ,
	
	body.page-template-page-facility .facility_content_box h2.page_wide_h2 ,

	.archive-content #archive-title,
	
	.page-template-page-all_post #archive-title ,
	
	body.single-post article h1.entry-title ,
	
	body.single-post .article h2 ,
	
	.related-entry-heading ,
	
	.top_latest_post_area h3 {

		font-size: clamp( 0rem , 6vw , 1.5rem);

	}
	
	
	/* 1023 margin・padding 共通指定 */
	
	.eye-catch-wrap {
		margin: clamp( 0px , 8vw , 40px ) 0;
	}
	
	#content_before_second {
		
		margin-top: clamp( 0px , 30vw , 100px ) ;
		
	}
	
	body.single-post .article h2 {
		
		margin-top: clamp( 0px , 10vw , 60px ) ;
		
	}

	.facility .flex_container .box button  {
		
		margin-top: clamp( 0px , 8vw , 40px ) ;
		
	}
	
	
	#content_before .news_box ,
	
	body.page-template-page-facility .link_button ,
	
	.home .event_link_box {
		
		margin-top: clamp( 0px , 6vw , 30px ) ;
		
	}

	
	.vocational_content .fade_and_thumb_swiper {
		
		margin-top: clamp( 0px , 4vw , 20px ) ;

	}
	
	
	.facility .description {
		
		margin-bottom: clamp( 0px , 10vw , 50px )
		
	}
	
	
	.single-post .article-header ,
	
	.toc ,
	
	.facility .flex_container .box .img_box ,
	
	.vocational_content p:last-of-type ,
	
	.toc-title ,
	
	.categoryid-61 .program h3 ,
	
	.categoryid-61 .lecturer .text:first-of-type ,
	
	.page-id-464 .white_box:first-of-type {
		
		margin-bottom: clamp( 0px , 8vw , 40px );

	}
	
	
	#content_before .L_box ,
	
	.facility .swiper ,

	.facility .swiper ,
	
	#content_before_second .facility h2 ,
	
	#content_before_second .vocational_introduction p ,

	#content_before_second .greeting h2 ,

	#list_container h2#latest_article ,

	.latest_post > h2 ,
	
	body.page-template-page-facility .facility_content_box h2 ,
	
	.entry-content ,
	
	body.page-template-page-facility .facility_content_box h2.page_wide_h2 {

		margin-bottom: clamp( 0px , 6vw , 30px ) ;
		
	}
	
	
	.company_heading h2 span , 

	.vocational_content .fade_and_thumb_swiper ,
	
	.entry-content>*, .mce-content-body>*, .article p, .demo .entry-content p, .article dl, .article ul, .article ol, .article blockquote, .article pre, .article table, .article .toc, .body .article, .body .column-wrap, .body .new-entry-cards, .body .popular-entry-cards, .body .navi-entry-cards, .body .box-menus, .body .ranking-item, .body .rss-entry-cards, .body .widget, .body .author-box, .body .blogcard-wrap, .body .login-user-only, .body .information-box, .body .question-box, .body .alert-box, .body .information, .body .question, .body .alert, .body .memo-box, .body .comment-box, .body .common-icon-box, .body .blank-box, .body .button-block, .body .micro-bottom, .body .caption-box, .body .tab-caption-box, .body .label-box, .body .toggle-wrap, .body .wp-block-image, .body .booklink-box, .body .kaerebalink-box, .body .tomarebalink-box, .body .product-item-box, .body .speech-wrap, .body .wp-block-categories, .body .wp-block-archives, .body .wp-block-archives-dropdown, .body .wp-block-calendar, .body .ad-area, .body .wp-block-gallery, .body .wp-block-audio, .body .wp-block-cover, .body .wp-block-file, .body .wp-block-media-text, .body .wp-block-video, .body .wp-block-buttons, .body .wp-block-columns, .body .wp-block-separator, .body .components-placeholder, .body .wp-block-search, .body .wp-block-social-links, .body .timeline-box, .body .blogcard-type, .body .btn-wrap, .body .btn-wrap a, .body .block-box, .body .wp-block-embed, .body .wp-block-group, .body .wp-block-table, .body .scrollable-table, .body .wp-block-separator, .body .wp-block, .body .video-container, .comment-area, .related-entries, .pager-post-navi, .comment-respond ,body.page-template-page-facility .facility_content_box p , .page-id-464 h2.page_contact_h2_tel , .page-id-464 h2.page_contact_h2_mail{

		margin-bottom: clamp( 0px , 5vw , 20px );

	}
	
	.m_b_img {

		margin-bottom: clamp( 0px , 5vw , 20px ) !important;

	}
	
	body.page-template-page-facility .facility_content_box p.facility_text span:first-child {
		
		margin-bottom: clamp( 0px , 2vw , 10px );
		
	}

	
	.page-id-464 .white_box ,
	
	.toc ,
	
	.categoryid-61 .lecturer ,
	
	.categoryid-61 .white_box {
		
		padding: clamp( 0px , 8vw , 40px );
		
	}
	
	body.single-post .article h2 ,
	
	#breadcrumb_container {
		
		padding: clamp( 0px , 8vw , 40px ) 0;
		
	}
	

	.archive-content #archive-title , 
	
	.page-template-page-all_post #archive-title {
		
		padding: clamp( 0px , 8vw , 40px ) 0;
		
	}
	
	
	#content_before_second .facility h2 ,
	
	body.archive .content {
		
		padding-top: clamp( 0px , 10vw, 50px );
		
	}
	
	.page-template-page-facility article header h1.entry-title {

		padding-top: clamp( 0px , 4vw, 20px );

	}

	#content_before_second .vocational,
	
	.facility .flex_container .box {
		
		padding: 45px 20px;	
		
	}

	body.single-post article h1.entry-title ,

	body.page article h1.entry-title,

	.facility .flex_container .box h3 ,
	
	.categoryid-61 .lecturer .text:first-of-type {

		padding-bottom: clamp( 0px , 8vw , 40px );

	}
	
	
	.facility .flex_container .box > p:last-of-type {
		
		padding-bottom: clamp( 0px , 6vw , 30px );
		
	}
	
	.facility .flex_container .box > p {
		
		padding-bottom: clamp( 0px , 4vw , 20px );
		
	}
	
	
	/* 1023 wide mobile 表示切替*/
	
	.wide {
		display: none !important;
	}
	
	.mobile {
		display: block;
	}
	
	ul.company_profile li.tel p.mobile {
		display: flex;
	}
		
	/* 1023 wrap */
	
	.wrap {
		width: 100%;
		padding: 0 20px;
	}
	
	.inner_wrap {
		width: 90%;
		margin: 0 auto;
	}
	
	.home #content {
		padding-bottom: 1px;
	}
	
	.home #content-in {
		border: none;
	}
	
	.page #header-container > .wrap ,
	.single #header-container > .wrap ,
	.archive #header-container > .wrap {
		padding: clamp(0px, 4%, 20px) 0;
        border-bottom: 1px solid #ddd;
        width: calc(100% - 40px);
	}


	/* 1023 header */
	
	#header #navi {
		display: none;
	}
	
	.home .header-in {
		padding-left: 0;
	}
	
	.header-container-in.hlt-top-menu .logo-header a {
		font-size: 0.9rem;
		padding: 0.5em 1em;
	}
	
	.header-container-in.hlt-top-menu .logo-header .site-name {	
		right: 0;
		left: auto;
		border-radius: 0 0 0 4px;
	}
	
	#header-container-in {
		padding: 0.9em 0;
	}
	
	#header .page_and_single_logo_box {
		width: 100%;
		align-items: center;
		justify-content: space-between;
	}
	
	#header h1.page_and_single {
		width: 65%;
		padding-right: 2.5%;
	}
	
	#header h1.page_and_single a {
		display: flex;
	} 
		
	#header p.page_and_single_site_name_text_mobile {
		display: flex;
		flex-direction: column;
		width: max-content;
		background: rgba(239, 239, 239, 0.5);
		border: 1px solid #ddd;
		padding: 0.2em 0.5em;
		font-size: clamp( 0rem , 3vw , 0.8rem );
		font-weight: 500;
		color: #333;
	}

   #header p.page_and_single_site_name_text_mobile span {
	   display: inline-block;
	}
	
	
	/* 1023 content_before */

	#content_before	{
		flex-direction: column;
		padding: 20px 20px 0
	}
	
	#content_before .L_box {
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
	}
	
	#content_before .L_box .catch_phrase .mobile img {
		max-width: 500px;
        width: 100%;
        padding-right: 10px;
	}
	
	#content_before .L_box .L_box_link {
		margin-top: 15px;
	}
	
	#content_before .L_box .catch_phrase_text {
		margin-bottom: 0;
	}

	#content_before .R_box {
		max-width: 100%;
		margin: 0;
	}
	
	a.top_to_about_link_mobile::after {
		display: none;
	}
	
	.event_link_box > div {
		flex-direction: column;
	}
	
	
	/* 1023 リボン */
	
	.ribbon_box {
		left: -500px;
		width: 1500px;
		top: 15px;
	}
	
	.scroll_container {
		width: 1085px;
	}

	.scroll_child a {
		margin-right: 30px !important;
	}
	
	
	/* 1023 ニュース */
	
	#content_before_second .news {
		flex-direction: column;
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		width: 100vw;
		padding: 40px 3.75% 20px;
	}
		
	#content_before_second .news h2 i {
		margin: 0.1em 0.75em 0 0;
	}
	
	#content_before_second .news a {
		align-items: baseline;
	}
		
	
	/* 1023 content_before：swiper箇所・最新記事箇所 */
	
	#content_before_second .greeting ,
	#list_container ,
	.latest_post {
		display: block;
	}

	#content_before_second .greeting h2 ,
	#list_container h2#latest_article ,
	.latest_post > h2 {
		writing-mode: horizontal-tb;
		margin-right: 0;
	}
	
	#list_container h2#latest_article ,
	.latest_post > h2 {
		margin-bottom: 40px;
	}
	
	#content_before_second .fa-dot-circle:before ,
	#list_container h2#latest_article .fa-dot-circle:before ,
	.latest_post > h2 .fa-dot-circle:before {
        margin: 0 0.3em 0 0;
	}
		
	#content_before_second::before {
		height: 50px;
	}
	
	
	/* 1023 swiper */
	
	.swiper .swiper-container .swiper-button-prev ,
	.swiper .swiper-container .swiper-button-next {
		display: none;
	}
	
	.swiper .swiper-pagination {
		bottom: 10px !important;
	}
	
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		width: 7px;
		height: 7px;
	}

	/* 1023  pickup箇所 */

	.pickup_box {
		flex-direction: column;
		height: 300px;
		margin-top: clamp( 0px , 15vw , 50px );
		padding-top: clamp( 0px , 15vw , 50px) !important; 
		padding-bottom: clamp( 0px , 15vw , 50px) !important; 
	}	
	
	.fa-angles-right {
		display: none !important;
	}

	.fa-angles-down {
		display: block !important;
	}

	.partition {
		display: none;
	}


	/* 1023  トップページ・最新のスタッフコラム箇所 */
	
	.top_latest_post_area > div:first-child {
		width: 100%;
	}
	
	.top_latest_post_area {
		margin-top: clamp( 0px , 15vw , 50px );
		margin-bottom: 0;
		padding-top: clamp( 0px , 15vw , 50px) !important; 
		padding-bottom: clamp( 0px , 15vw , 50px) !important; 
	}
	
	.top_latest_post_area > div:first-child {
		padding-right: 0;
	}
	
	.top_latest_post_area h2 {
		margin-bottom: 20px;
	}
	
	.top_latest_post_area > div:first-child h3 {
		margin-top: 20px;
	}
	
	.top_latest_post_area .top_latest_post_area_link {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.top_latest_post_area .top_latest_post_area_link a:first-child {
		margin-bottom: 20px;
	}

	
	/* 1023 トップページ・施設紹介 */
	
	.facility .flex_container .box {
		width: 100%;
	}
	
	.facility .flex_container .box div {
		flex-direction: column;
	}
	
	.facility .flex_container .box div p {
		width: 100%;
	}
	
	
	/* 1023 トップページ・授産活動 */
	
	#content_before_second .vocational_introduction {
		margin-top: -455px;
		margin-bottom: 45px;
	}
	
	#content_before_second .vocational {
		width: calc(100% - 40px);
	}
	
	#content_before_second .vocational h2 {
		flex-direction: column;
		width: 100%;
	}
	
	#content_before_second .vocational h2 span {
		margin: 0 0 clamp( 0px , 6vw , 30px ) 0;
	}

	#content_before_second .vocational h2 span:last-child {
		margin-bottom: 0;
	}	
	
	.vocational .heading {
		flex-direction: column;
		padding-bottom: 0;
		border: none;
	}
	
	.vocational_content {
		flex-direction: column;
		margin: 45px 0;
	}

	.vocational h3.mobile {
		text-align: center;
		margin-bottom: 1.2em;
	}
	
	.vocational_content_okowa {
		padding: 35px 0 45px;
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
	}
	
	.vocational_content > div:first-child {
		width: 100%;		
	}
	
	.vocational_content > div:first-child > p ,
	.vocational_content > div:first-child > a {
		display: none;
	}
	
	.vocational_content .fade_and_thumb_swiper {
		width: 100%;
		padding-left: 0;
	}
		
	.vocational_content:last-of-type {
		margin: 0;
	}
	
	.vocational .link_to_okowa {
		display: none;
	}

	.company_heading h2 {
		flex-direction: column;
	}
	
	.company_heading h2 span.description {
		margin: 0;
	}
	
	.company ul li {
		padding: clamp( 0px , 6vw , 30px ) 0;
	}
	
	.company ul li h3 {
		min-width: 45px;
	}
	
	.company_contact_link_mobile::after {
		background: url(my_images/arrow_white.png) no-repeat;
		background-size: contain;
	}


	/* 1023 記事一覧：トップページ・関連記事 */
	
	#list ,
	.list-wrap {
		margin-bottom: 60px;
	}
	
	.home .content {
		margin-top: 60px;
	}
	
	.column_heading {
		flex-direction: column;
		margin-bottom: 0;
		padding-bottom: 0;
		border: none;
	}

	.column_heading h2{
		margin-bottom: 1.2em;
	}

	.column_heading p {
		margin-left: 0;
		margin-right: auto;
	}
	
	.column_heading p span {
		margin-bottom: 20px;
	}
	
	.ect-vertical-card .entry-card-wrap .entry-card-content ,
	.rect-vertical-card .related-entry-card-content {
		padding: 1.4em 1.4em 3.2em;
	}
	
	.entry-card .entry-date ,
	.related-entry-card .post-date {
		padding: 1.4em;
	}
	
	main.main, div.sidebar {
		padding: 0;	
	}
	
	body.single-post main > article {
		width: auto;
	}
	
	.archive .ect-3-columns .entry-card-wrap ,
	.rect-vertical-card-3 .related-entry-card-wrap {
		width: calc( 50% - 2vw);
		
	}
	
	.home .cat-label ,
	.archive .cat-label ,
	.related-entry-card .cat-label {
		padding: 0.6em;
	}
	
	
	/* 1023 法人概要 */
	
	.company {
		padding: 45px 20px;
	}
	
	.company_container {
		flex-direction: column;
	}

	.company_container .company_info {
		width: 100%;	
	}	
	
	.company_heading {
		flex-direction: column;
	}
	
	.company_container .map {
		width: 100%;
		margin: 0;
		padding: 30px 0;
	}
	
	.company ul li p {
		text-align: right;
	}
	
	/* 1023 全固定ページ １カラム時の調整 */
	
	.page .container .column-wrap {
        flex-direction: column;
    }
	.page .container .column-wrap > div {
		width: 100%;
	}
	.page .container .column-wrap {
		gap: 0;
	}
	
	.facility_page_contact {
		margin-top: 1.8em !important;
	}
	
	.page-id-5046 .entry-content > div:first-child .wp-block-columns {
		flex-direction: column;
	}


	/* 1023 固定ページ：施設紹介テンプレート使用ページ */
		
	.page-template-page-facility article header {
		flex-direction:column;
	}
	
	.page-template-page-facility article header > div:first-child ,
	.page-template-page-facility article header > div:last-child {
		width: 100%;
		padding: 0;
	}
	
	body.page-template-page-facility .wrap ,
	body.page-template-page-facility .facility_content_box {
		width: 100%;
	}
	
	body.page-template-page-facility .facility_content_box {
		margin: 0 0 40px;
	}
	
	body.page-template-page-facility .facility_content_box > div {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 40px 20px;
		border-radius: 0;
	}
	
	body.page-template-page-facility .facility_content_box p.facility_text span:last-child {
		font-weight: 500;
	}
	
	body.page-template-page-facility .facility_content_box .medium_box .column-right  {
		padding: 0;
	}
	
	body.page-template-page-facility .facility_content_box h2 {
		flex-direction: column;
	}
	
	body.page-template-page-facility .facility_content_box h2 {
		align-items: baseline;
	}
	
	body.page-template-page-facility .facility_content_box p.facility_check {
		flex-direction: row;
        border-radius: 4px;
        margin: 0 0 clamp( 0px , 4vw , 20px );
        padding: 0.5em 0.75em;
		border-radius: 4px;
	}
	
	body.page-template-page-facility .facility_content_box p.facility_check span:first-child {
		margin: 0 0.25em 0 0;
		padding: 0;
	}
	
	.facility_check span:last-child, .numbered_list .num {
		font-family: "Noto Sans JP", sans-serif;
	}
	
	body.page-template-page-facility .facility_content_box .thin_box > div ,
	body.page-template-page-facility .facility_content_box .facility_page_contact ,
	body.page-template-page-facility .okowa_box {
		padding: 20px;
	}
	
	body.page-template-page-facility table td {
		padding: 1em;
	}
	
	ul.numbered_list li {
		align-items: baseline;
		flex-direction: column;
	}
	
	ul.numbered_list li:last-child {
		padding-bottom: 0;
	}
	
	body.page-template-page-facility .facility_content_box .numbered_list p.heading {
		margin: 0 0 0.5em;
		font-weight: 700;
	}
	
	.page-template-page-facility #main #side_sns_area {
		height: auto;
	}
	
	.sns-buttons {
		margin-bottom: 0;
	}
	
	.okowa_box .column-wrap > div ,
	body.page-template-page-facility .okowa_retailer_box > div {
		width: 100%;
	}
	
	body.page-template-page-facility .okowa_retailer_box {
		margin-top:1.8em ;
		padding-top:1.8em ;
		border-top: 1px solid #e1e1d0;
	}

	/* 1023 handle */
	
	.page-id-5046 .handle {
		margin-bottom: -1.5em !important;
	}
	
	.page-id-5129 .handle {
		margin-top: 1.8em !important;
	}
				
	/* 1023 サイドバー・及び関係する要素 */
		
	.home #content-in {
		display: block;
	}
	
	/* 1023 フッター */

	#footer {
		padding: clamp( 0px , 6vw , 30px ) 0;
	}
	
	#footer_container {
		display: block;
		width: clamp( 0px , 85% , 400px );
		padding-bottom: 30px;
	}
		
	#footer_container > div:last-child {
		display: none;
	}
	
	.footer-bottom.fdt-up-and-down .footer-bottom-content {
		flex-direction: column;
		text-align: left;
	}
	
	.footer-bottom.fdt-up-and-down .footer-bottom-content .footer_bottom_menu {
		width: 100%;
		text-align: left;
		margin-bottom: 30px;
	}
	
	/* 1023 記事一覧 */
	
	.ect-vertical-card .entry-card-wrap .entry-card {
		flex-direction: row-reverse;
	}
	
	.list {
		row-gap: 0;
	}
	
	.home .ect-vertical-card .entry-card-wrap .entry-card-thumb {
		margin-bottom: 0;
	}
	
	.home .entry-card ,
	.entry-card ,
	.related-entry-card ,
	.entry-content .status .a-wrap h2.entry-card-title {
		background: none !important;
	}
	
	.home .entry-card ul.entry-tags ,
	.archive ul.entry-tags ,
	#related-entries ul.entry-tags ,
	.entry-content .status .a-wrap ul.entry-tags ,
	.search-results ul.entry-tags {
		display: none;
	}
	
	.ect-vertical-card .entry-card-wrap .entry-card-content ,
	.rect-vertical-card .related-entry-card-content ,
	.entry-content .status .a-wrap .entry-card-content {
		display: flex;
        flex-direction: column;
		flex: 1;
		padding: 0;
		margin: 0;
	}
	
	.ect-vertical-card .entry-card-wrap .entry-card-thumb ,
	.rect-vertical-card .related-entry-card-thumb ,
	.entry-content .status .a-wrap .entry-card-thumb {
		width: clamp( 0px , 35% , 200px );
		padding-left: 15px;
		line-height: 1;	
	}
	
	.home .ect-3-columns .entry-card-wrap ,
	.archive .ect-3-columns .entry-card-wrap ,
	.rect-vertical-card-3 .related-entry-card-wrap ,
	.entry-content .status .a-wrap {
		width: 100%;
		margin: 0;
		padding: clamp( 0px , 6vw , 30px ) 0;
		border-bottom: 1px solid rgba(47,47,47,0.2);
	}
	
	.home .ect-3-columns .entry-card-wrap:first-child ,
	.archive .ect-3-columns .entry-card-wrap:first-child ,
	.rect-vertical-card-3 .related-entry-card-wrap:first-child ,
	.entry-content .status .a-wrap:first-child {
		border-top: 1px solid rgba(47,47,47,0.2);
	}
	
	article.entry-card ,
	article.related-entry-card {
		display: flex;
		flex-direction: row-reverse;
	}
	
	.entry-card-title ,
	body.single-post h3.related-entry-card-title ,
	.entry-content .status .a-wrap h2.entry-card-title {
		line-height: 1.6;
		margin: 0 0 1em;
	}
	
	.entry-card-meta ,
	.related-entry-card-meta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: static;
		margin: auto 0 0;
	}
		
	.entry-card .entry-date ,
	.related-entry-card .post-date {
		padding: 0;
	}
	
	.pagination {
		margin-top: 1.8em;
	}
	
	.rect-vertical-card .related-entry-card {
		flex-direction: row-reverse;
	}
	
	
	/* 1023 投稿記事：投稿日・カテゴリー */
	
	body.single-post #date_and_categories {
		display: block;
	}
	
	body.single-post .date-tags {
		display: none; 
	}
	
	body.single-post #date_sp .date-tags {
		display: block; 
		margin: 0 0 clamp( 0px , 8vw , 40px ) 0 ;
		padding: 0;
		border: none;
		text-align: right;
	}
	
	/* 1023 投稿記事：本文 */

	.tw_block ,
	.white_box ,
	body.single-post ul.closing ,
	body.page ul.closing {
		padding: 40px 20px;
	}
	
	body.single-post ul.closing ,
	body.page ul.closing {
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        width: 100vw;
	}
	
	/* 1023 投稿記事・固定ページ */
	
	body.single-post .content ,
	body.page .content {
		padding-top: clamp( 0px , 12% , 60px );
	}
	
	body.single-post #date_and_categories ul li a {
		padding: 0;
	}
	
	body.single-post #date_and_categories ul li:after {
		margin: 0 1.5em;
	}
	
	.page-template-default .article h2 ,
	.article .status > h2 {
		margin-top: 60px;		
	}
	
	body.single-post main > article.article ,
	body.page main > article.article {
		padding: 0;
	}
	
	body.single-post .toc ul.toc-list li a {
		padding: 0;
		margin: 1.2em 0;
	}
	
	body.single-post .toc ul.toc-list li:last-child a {
		margin-bottom: 0;
	}
	
	.tw_block ,
	.exercise {
		padding: 40px;
	}
	
	body.single-post .tw_block ,
	.entry-content .inside_link {
		margin-bottom: 40px;
	}
	
	/* 投稿記事：関連する記事箇所 */
	
	.single-post .under-entry-content {
		margin-top: clamp(0px ,8vw ,40px);
		padding-top: clamp(0px ,8vw ,40px);
	}
	
	.single-post .under-entry-content .related-entry-heading {
		margin-bottom: clamp(0px ,8vw ,40px);
	}
	
	.single-post  .rect-vertical-card .related-entry-card-content {
		background: #FFEDD8;
	}

	
	/* snsシェアボタン */
		
	#main .sns-share a span {
		padding: 1em;
		border-radius: 50%;
	}
	
	#main #side_sns_area {
		position: relative;
		max-width: 600px;
		margin: 0 auto;
		padding: clamp(0px ,8% ,40px);
		background: #fff;
		border-radius: 8px;
	}
	
	#main .sns-share-buttons ,
	#main .sns-follow-buttons {
		display: flex;
		flex-flow: row;
		justify-content: space-between;
	}
	
	#main .sns-share a {
		margin: 0;
	}
	
	#main .sns-share a:last-child {
		margin-right: 0;
	}
	
	body.single-post main > article.article ,
	body.page main > article.article {
		margin-bottom: 0;
	}
	
	
	/* 投稿記事：本文下タグ */
	
	body.single-post .footer_tags {
		margin-bottom: 3.6em;
	}
	
	
	/* 1023 イベント情報 */
	
	.categoryid-61 .program .heading {
		flex-wrap: wrap;
	}

	.categoryid-61 .program .heading span:last-child {
		width: 100%;
		margin-top: 1em;
	}
	
	.categoryid-61 .white_box .tel {
		margin-bottom: 0;
	}
	
	.home .event_link_box {
		padding-bottom: 0;
	}


	/* モバイルメニュー */
	
	.mobile-menu-buttons {
		align-items: center;
	}
	
	.mobile-menu-buttons .menu-caption {
		display: none;
	}
	
	.mobile-menu-buttons {
		font-size: 1.2rem;
	}
	
	.mobile-menu-buttons > li {
		padding-top: 0;
	}
	
		/**** 1023 active リセット ****/
	
		*:focus {
			outline: none;
		}
	
	    ul.mobile-footer-menu-buttons li.search-menu-button ,
	    ul.mobile-footer-menu-buttons li.navi-menu-button {
			tap-highlight-color:rgba(0,0,0,0);
			-webkit-tap-highlight-color:rgba(0,0,0,0);
			cursor:pointer;
		}
	
	    .bc-brand-color-white.sns-share a:hover .social-icon ,
        .bc-brand-color-white.sns-follow a:hover .social-icon {
			color: rgba(47,47,47, .4);
        }

	    .menu-drawer a ,
	    .swiper-container .swiper-slide a ,
	    .recommend a {
			tap-highlight-color: rgba( 255 , 255 , 255 , 0.5) ;
			-webkit-tap-highlight-color: rgba( 255 , 255 , 255 , 0.5) ;
		}

	
}



/* モバイル用のブレイクポイント：600px以下 */

@media screen and (max-width: 600px){
	
	.facility .flex_container .box div {
		flex-direction: column;
	}
	
	.facility .flex_container .box {
		pointer-events: none;
	}
	
	.facility .flex_container .box button {
		pointer-events: auto;
	}
	
}

/* モバイル用のブレイクポイント：380px以下 */

@media screen and (max-width: 380px){
		
	#content_before_second::before {
		height: 40px;
	}
	
	/* 380px 投稿記事：イベントページ */
	
	.categoryid-61 .detail p span:first-child {
		min-width: 18vw;
	}
}

/* モバイル用のブレイクポイント：300px以下 */

@media screen and (max-width: 300px){
	
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		display: none;
	}
	
	a.top_to_about_link_mobile {
		margin-top: 10px;
	}
	
		#content_before_second::before {
		height: 30px;
	}
}

@media screen and (max-width: 356px) {
	.ect-vertical-card .entry-card-wrap ,
	.rect-vertical-card .related-entry-card-wrap ,
	.ect-2-columns > * ,
	.ect-3-columns > * ,
	.fpt-2-columns > * ,
	.fpt-3-columns > * {
        width: 100% !important;
    }
	
}
