@charset "utf-8";
/*--------------------------------------------
共通設定
--------------------------------------------*/
*{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
body:not(.wp-admin){
	color: #333;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	line-height: 1.8;
	font-weight: 500;
	font-size: clamp(.85rem, 4vw, 1rem);
}
main{
	text-align: justify;
}
main, /* IE対策 */
iframe{
	display: block;
}
iframe{
	max-width: 100%;
}

.inner_width_600{
	width: min(90%, 37.5em);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_800{
	width: min(90%, 50em);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1000{
	width: min(90%, 62.5em);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1200{
	width: min(90%, 75em);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1500{
	width: min(90%, 93.75em);
	margin-left: auto;
	margin-right: auto;
}
.width_600{
	max-width: 37.5em;
	margin-left: auto;
	margin-right: auto;
}
.width_800{
	max-width: 50em;
	margin-left: auto;
	margin-right: auto;
}
.width_1000{
	max-width: 62.5em;
	margin-left: auto;
	margin-right: auto;
}
.width_1200{
	max-width: 75em;
	margin-left: auto;
	margin-right: auto;
}
.width_1500{
	max-width: 93.75em;
	margin-left: auto;
	margin-right: auto;
}

.disnon{
	display: none !important;
}
.ib{
	display: inline-block;
}

@media print, screen and (min-width: 1024px){
	.switch_sp{
		display: none !important;
	}
}
@media screen and (max-width: 1023px){
	.switch_pc{
		display: none !important;
	}
}
@media print, screen and (min-width: 768px){
	.switch_sp_2{
		display: none !important;
	}
}
@media screen and (max-width: 767px){
	.switch_pc_2{
		display: none !important;
	}
}
.margin_top{
	margin-top: clamp(3em, 10vw, 6em) !important;
}
.margin_bottom{
	margin-bottom: clamp(3em, 10vw, 6em) !important;
}
.margin_top_no,
.is-style-margin_top_no{
	margin-top: 0 !important;
}
.margin_top_05,
.is-style-margin_top_05{
	margin-top: .5em !important;
}
.margin_top_1,
.is-style-margin_top_1{
	margin-top: 1em !important;
}
.margin_top_2,
.is-style-margin_top_2{
	margin-top: 2em !important;
}
.margin_top_3,
.is-style-margin_top_3{
	margin-top: 3em !important;
}
.margin_top_4,
.is-style-margin_top_4{
	margin-top: 4em !important;
}
.margin_top_5{
	margin-top: 5em !important;
}
.margin_top_6{
	margin-top: 6em !important;
}
.margin_bottom_no{
	margin-bottom: 0 !important;
}
.margin_bottom_05,
.is-style-margin_bottom_05{
	margin-bottom: .5em !important;
}
.margin_bottom_1{
	margin-bottom: 1em !important;
}
.margin_bottom_2{
	margin-bottom: 2em !important;
}
.margin_bottom_3{
	margin-bottom: 3em !important;
}
.margin_bottom_4{
	margin-bottom: 4em !important;
}
.padding_top_no{
	padding-top: 0 !important;
}
.padding_top{
	padding-top: clamp(3em, 10vw, 6em) !important;
}
.padding_bottom{
	padding-bottom: clamp(3em, 10vw, 6em) !important;
}
.padding_left{
	padding-left: 1em !important;
}

.text_left{
	text-align: left;
}
.text_center{
	text-align: center;
}
.text_right{
	text-align: right;
}

.mincho{
	font-family: 'Noto Serif JP', serif;
}
.gothic{
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

a{
	color: #333;
}
a:hover{
	text-decoration: none;
}
:focus-visible{
	outline: -webkit-focus-ring-color auto 1px;
}
.text_wrap a[target="_blank"]:not(:has(img)):not(.link_button){
	text-decoration: none;
	border-bottom: 1px solid;
}
.text_wrap a[target="_blank"]:not(:has(img)):hover{
	border-bottom-color: transparent;
}
.text_wrap a[target="_blank"]:not(:has(img)):not(.link_button)::after{
	display: inline-block;
	content: "";
	width: 1em;
	height: 1em;
	margin-left: .2em;
	margin-right: .2em;
	background: url("../img/arrow-blank.svg") center bottom / 80% no-repeat;
}
.link_button,
.link_button_return{
	position: relative;
	display: inline-block;
	padding: 1em 3em;
	line-height: 1.4;
	text-align: center;
	min-width: min(100%, 280px);
	text-decoration: none;
	font-size: .9em;
	color: #fff;
	border-radius: 2em;
	background-image: linear-gradient(to right, #ef8200, #f5aa00);
	transition: opacity .2s;
}
.link_button:not([target="_blank"])::before,
.link_button:not([target="_blank"])::after,
.link_button_return:not([target="_blank"])::before,
.link_button_return:not([target="_blank"])::after{
	position: absolute;
	top: 50%;
	content: "";
	height: 1px;
	background-color: #fff;
	transition: right .2s, left .2s;
}
.link_button:not([target="_blank"])::before,
.link_button:not([target="_blank"])::after{
	right: 1.5em;
}
.link_button_return:not([target="_blank"])::before,
.link_button_return:not([target="_blank"])::after{
	left: 1.5em;
}
.link_button:not([target="_blank"])::before,
.link_button_return:not([target="_blank"])::before{
	width: 30px;
}
.link_button:not([target="_blank"])::after{
	width: 7px;
	transform: rotate(45deg);
	transform-origin: 100% 100%;
}
.link_button_return:not([target="_blank"])::after{
	width: 7px;
	transform: rotate(-45deg);
	transform-origin: 0 100%;
}
.link_button:hover,
.link_button_return:hover{
	opacity: .7;
}
.link_button:not([target="_blank"]):hover::before,
.link_button:not([target="_blank"]):hover::after{
	right: 1.25em;
}
.link_button_return:not([target="_blank"]):hover::before,
.link_button_return:not([target="_blank"]):hover::after{
	left: 1.25em;
}
.link_button[target="_blank"]::after{
	position: absolute;
	top: calc(50% - min(2vw, 10px));
	right: 1.5em;
	content: "";
	width: min(4vw, 18px);
	height: min(4vw, 18px);
	background: url("../img/arrow-blank_w.svg") center bottom / 100% no-repeat;
}
.wp-block-file__button{
	position: relative;
	display: inline-block;
	padding: 1em 3em;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border-radius: 2em;
	background-image: linear-gradient(to right, #ef8200, #f5aa00);
	transition: opacity .2s;
}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
img.img_border,
.is-style-img_border img{
	box-shadow: 0 0 0 1px #ccc;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}

.font_b{
	font-weight: 700;
}
.weight_normal{
	font-weight: 400;
}
.font_small{
	font-size: .85em;
}
.font_big{
	font-size: 1.2em;
}

.text_fuchi{
	text-shadow: 2px 0px #fff, -2px 0px #fff, 0px -2px #fff, 0px 2px #fff, 2px 2px #fff, -2px 2px #fff, 2px -2px #fff, -2px -2px #fff, 1px 2px #fff, -1px 2px #fff, 1px -2px #fff, -1px -2px #fff, 2px 1px #fff, -2px 1px #fff, 2px -1px #fff, -2px -1px #fff;
}
.text-marker-yellow{
	background: linear-gradient(transparent 70%, #ffedb3 0);
}

.note{
	position: relative;
	padding-left: 1.1em;
}
.note::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "\203B";
	color: #E71852;
}

.text_wrap ul:not([class]),
.text_wrap ol:not([class]){
	margin-top: .5em;
}
ul.is-style-default,
ul.is-style-list_mt{
	list-style: none !important;
}
.text_wrap ol:not([class]),
ol.is-style-default,
ol.is-style-list_mt{
	padding-left: 2em;
	margin-bottom: .5em;
}
.text_wrap ul:not([class]) > li,
ul.is-style-default > li,
ul.is-style-list_mt > li,
.ul > li,
.list_item{
	position: relative;
	padding-left: 1.4em;
}
ul.is-style-default > li,
ol.is-style-default > li,
.ul > li,
.list_paren > li,
.is-style-list_paren > li{
	margin-top: .5em;
}
ul.is-style-list_mt > li,
ol.is-style-list_mt > li{
	margin-top: 1.5em;
}
.text_wrap ul:not([class]) > li::before,
ul.is-style-default > li::before,
ul.is-style-list_mt > li::before,
.ul > li::before,
.list_item::before{
	position: absolute;
	top: .75em;
	left: .4em;
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: #ddd;
}
.text_wrap ol:not([class]),
ol.is-style-default,
ol.is-style-list_mt{
	list-style-type: decimal;
}
ul.has-background,
ol.has-background{
	padding-left: 1.2em;
	padding-right: 1.2em;
}
.list_paren,
.is-style-list_paren{
	list-style: none;
	list-style-type: none !important;
	counter-reset: number;
}
.list_paren > li,
.is-style-list_paren > li{
	position: relative;
	padding-left: 2em;
}
.list_paren > li::before,
.is-style-list_paren > li::before{
	position: absolute;
	top: .3em;
	left: 0;
	counter-increment: number;
	content: "(" counter(number) ")";
	line-height: 1;
}

.wp-block-pullquote{
	border-top: 4px solid;
	border-bottom: 4px solid;
}
.wp-block-quote:not(.is-style-large){
	margin-top: 2em;
	padding-left: 1rem;
	font-size: .85rem;
	opacity: .85;
	border-left: 2px solid #ddd;
}

/* table */
.is-style-regular td{
	padding: .2em 1rem;
	border-width: 1px;
	border-style: solid;
}
.is-style-table_two_tone_column table,
.is-style-table_two_tone_row table{
	background-color: #f4f4f4;
	text-align: left;
	letter-spacing: 0;
}
.wp-block-table td, .wp-block-table th,
.is-style-table_two_tone_column td, .is-style-table_two_tone_column th,
.is-style-table_two_tone_row td, .is-style-table_two_tone_row th{
	padding: .6em 1rem;
}
.is-style-table_two_tone_column th, .is-style-table_two_tone_column td,
.is-style-table_two_tone_row th, .is-style-table_two_tone_row td{
	border: 2px solid #fff;
}
.is-style-table_two_tone_column tr td:first-of-type,
.is-style-table_two_tone_row th,
.is-style-table_two_tone_row:not(:has(thead)) tr:first-of-type{
    background-color: #e1efea;
	font-weight: 700;
	text-align: center;
}
.is-style-table_two_tone_row thead{
	border: none;
}

.table_simple table,
.is-style-table_simple table{
	width: auto !important;
}
.table_simple tr th,
.is-style-table_simple tr th,
.table_simple tr td,
.is-style-table_simple tr td{
	padding: .4em 0;
	border: none;
}
.table_simple tr th,
.is-style-table_simple tr th,
.table_simple tr td:first-of-type,
.is-style-table_simple tr td:first-of-type{
	padding-right: 1em;
}

/*--------------------------------------------
WordPress
--------------------------------------------*/
.wp-caption{
    margin: auto;
    text-align: center;
    max-width: 100%;
}
.wp-caption-text{
    display: inline-block;
    text-align: left;
    margin: .5em 0 0;
}
.wp-element-caption{
	font-size: .9em;
}
.sticky{
	position: relative;
}
.gallery-caption{
	font-size: .8rem;
}
.bypostauthor{
	border: 1px solid #3f3f3f;
}
.alignleft{
    display: inline;
    float: left;
    margin-right: 1.5em;
}
.alignright{
    display: inline;
    float: right;
    margin-left: 1.5em;
}
.aligncenter{
    clear: both;
    display: block;
    margin: auto;
}
.screen-reader-text{
	font-size: 1rem;
}

.text_wrap .wp-block-button__link{
	line-height: 1.6;
	font-weight: 500;
	font-size: 1em;
	color: #333;
	background-color: #FFD283;
	border: none !important;
	box-shadow: 0 0 0 3px #fff;
	transition: background .2s;
}
.text_wrap .wp-block-button__link:hover{
	background-color: #F7B94F;
}
.text_wrap .wp-block-button__link[target="_blank"]{
	position: relative;
	padding-left: calc(2em + min(4vw, 24px));
	padding-right: calc(2em + min(4vw, 24px));
	z-index: 1;
}
.text_wrap .wp-block-button__link[target="_blank"]::after{
	position: absolute;
	top: calc(50% - min(2vw, 12px));
	right: 1em;
	width: min(4vw, 24px);
	height: min(4vw, 24px);
	background: url("../img/arrow-blank_w.svg") center bottom / 100% no-repeat;
	z-index: -1;
}

.wp-block-separator{
	margin-top: clamp(3em, 10vw, 6em);
	margin-bottom: clamp(3em, 10vw, 6em);
	border-color: #dcdcdc;
}

/*--------------------------------------------
header.php
--------------------------------------------*/
#header{
	position: relative;
	border-top: 3px solid;
	border-image: linear-gradient(to right, #e95504 60%, #ef8200) 1;
}
.site_name_anchor{
	display: inline-block;
	text-decoration: none;
	color: #333;
	transition: opacity .1s;
}
.site_name_anchor:hover{
	opacity: .6;
}
.header_sns a{
	transition: opacity .1s;
}
.header_sns a:hover{
	opacity: .6;
}

#header_nav{
	line-height: 1.4;
	letter-spacing: .1em;
}
.nav_item a{
	position: relative;
	display: block;
	padding: .5em 0 .5em 1rem;
	text-decoration: none;
	color: #333;
	transition: color .3s;
}
@media print, screen and (min-width: 768px){
	.header_inner{
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 90px;
	}
	.header_inner,
	#nav{
		padding-left: min(3vw, 2rem);
		padding-right: min(3vw, 2rem);
	}
	.site_name{
		font-size: min(3vw, 2rem);
		transform: translateY(-10px);
	}
	#nav{
		position: relative;
		border-top: 1px solid #ddd;
	}
	#header_nav{
		position: relative;
		display: flex;
		justify-content: flex-end;
		font-size: min(1.7vw, 1rem);
		z-index: 10;
	}
	.nav_item > a{
		padding: 1em 2em;
		transition: color .2s;
	}
	.nav_item > a:hover{
		color: #f08200;
	}
	#nav_line{
		position: absolute;
		top: -1px;
		height: 2px;
		display: block;
		background-color: #f08200;
		z-index: 101;
		transform: scaleX(.8);
		transition: all .3s ease;
    }
}
@media screen and (max-width: 767px){
	.site_name{
		padding: 1.25em 70px 1.5em 1em;
	}
	#nav{
		font-size: .9rem;
		padding: 1.5em;
	}
	#header_nav_btn_wrap{
		position: fixed;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		z-index: 100;
		transition: background .3s
	}
	#header_nav_btn_wrap::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 100%;
		z-index: -1;
		transition: box-shadow .3s;
	}
	#header_nav_btn_wrap::after{
		position: fixed;
		top: 0;
		right: 0;
		content: "";
		background-color: rgba(0,0,0,0);
		width: 100vw;
		height: 100vh;
		z-index: -2;
		visibility: hidden;
		transition: background 1s ease-out;
	}
	#header.nav_open #header_nav_btn_wrap::after{
		visibility: visible;
		background-color: rgba(0,0,0,.2);
	}
	.header_nav_btn{
		position: absolute;
		left: 15px;
		display: block;
		width: calc(100% - 30px);
		height: 2px;
		background-color: #f08200;
		transition: all .3s ease-in-out;
	}
	.sc_down #header_nav_btn_wrap{
		background-color: #f08200;
	}
	.sc_down .header_nav_btn,
	#header.nav_open .header_nav_btn{
		background-color: #fff;
	}
	#header_nav_btn1{
		top: calc(50% - 15px);
	}
	#header_nav_btn2{
		top: calc(50% - 5px);
	}
	#header_nav_btn3{
		top: calc(50% + 5px);
	}
	.nav_open #header_nav_btn1{
		-webkit-transform: translateY(10px) rotate(45deg);
		transform: translateY(10px) rotate(45deg);
	}
	.nav_open #header_nav_btn2{
		opacity: 0;
	}
	.nav_open #header_nav_btn3{
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
	}
	#header_nav_btn_text{
		position: absolute;
		bottom: 8px;
		display: block;
		width: 100%;
		letter-spacing: 0;
		text-align: center;
		font-size: 12px;
		color: #f08200;
		line-height: 1;
		transition: color .3s;
	}
	.sc_down #header_nav_btn_text,
	#header.nav_open #header_nav_btn_text{
		color: #fff;
	}
	#nav{
		position: fixed;
		top: 0;
		left: 0;
		width: calc(100% - 60px);
		height: 100%;
		background-color: #fff;
		transition: transform .5s;
		transform: translate(-100%);
		z-index: 100;
		overflow-y: auto;
	}
	.nav_open #nav{
		transform: translate(0);
	}
	#header_nav .current > a{
		color: #f08200;
	}
	.nav_item > a::before{
		position: absolute;
		top: calc(1.2em - 4px);
		left: 0;
		content: "";
		border-style: solid;
		border-width: 4px 0 4px 6px;
		border-color: transparent transparent transparent #ccc;
	}
	.nav_item.current > a::before{
		border-color: transparent transparent transparent #f08200;
	}
	.nav_item{
		padding-top: .5em;
		padding-bottom: .5em;
	}
	#header_nav .nav_item:nth-last-of-type(n+2){
		border-bottom: 1px solid #eee;
	}
	.nav_item a{
		display: block;
	}
}

/* サイドバー */
.main_inner{
	margin-top: min(10vw, 4em);
}
#side{
	margin-top: min(20vw, 6em);
}
@media print, screen and (min-width: 1024px){
	#main{
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}
	.main_inner,
	#side{
		margin-top: 3rem;
	}
	.main_inner{
		flex: 1 1 auto;
	}
	#side{
		flex: 0 0 auto;
		width: 340px;
		margin-left: 2em;
	}
}

/*--------------------------------------------
front-page.php
--------------------------------------------*/
.main_visual_wrap{
	position: relative;
	height: max(52vh, 360px);
	overflow: hidden;
	border-bottom: 2px solid #fde18f;
}
.main_visual_item{
	position: relative;
	height: max(52vh, 360px);
	overflow: hidden;
}
.main_visual_back{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: url("../img/main_visual_bg.png") top left / auto 100% no-repeat, #ef8200;
}
.main_visual_text,
.main_visual_img_text{
	position: absolute;
	top: max(44.5vh, 290px);
	right: calc(100vw - 1em);
	white-space: nowrap;
	line-height: 1.6;
	font-weight: 500;
	font-size: 6.4vw;
	color: #fff;
	transform: translate(100%, -50%);
}
.main_visual_item:is(.item_1, .item_4) .main_visual_text,
.main_visual_item:is(.item_1, .item_4) .main_visual_img_text{
	transform: translate(100%, -75%);
}
.main_visual_img > .main_visual_img_text{
	text-shadow: 0 0 10px rgba(0,0,0,.8);
}
.main_visual_img{
	position: absolute;
	top: 0;
	right: 0;
	width: 90%;
	height: max(40vh, 280px);
	background: url("../img/main_visual_01_sp.jpg") center / cover no-repeat;
	overflow: hidden;
}
.main_visual_item.item_2 .main_visual_img{
	background: url("../img/main_visual_02_sp.jpg") center / cover no-repeat;
}
.main_visual_item.item_3 .main_visual_img{
	background: url("../img/main_visual_03_sp.jpg") center / cover no-repeat;
}
.main_visual_item.item_4 .main_visual_img{
	background: url("../img/main_visual_04_sp.jpg") center top / cover no-repeat;
}
/* slickドット */
.main_visual_slide .slick-dots{
	position: absolute;
	bottom: 9px;
	left: 0;
	width: 100%;
	text-align: center;
}
.main_visual_slide .slick-dots li{
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 .5em;
	background-color: #ccc;
	border-radius: 4px;
	cursor: pointer;
}
.main_visual_slide .slick-dots li:hover,
.main_visual_slide .slick-dots li.slick-active{
	background-color: #fff;
}
.main_visual_slide .slick-dots li button{
	display: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
}
@media print, screen and (min-width: 768px){
	.main_visual_wrap,
	.main_visual_item{
		height: 80vh;
	}
	.main_visual_text,
	.main_visual_img_text{
		top: 60vh;
		font-size: max(4vw, 2.6rem);
	}
	.main_visual_text,
	.main_visual_img_text{
		transform: translate(100%, 0);
	}
	.main_visual_item:is(.item_1, .item_4) .main_visual_text,
	.main_visual_item:is(.item_1, .item_4) .main_visual_img_text{
		transform: translate(100%, -50%);
	}
	.main_visual_img{
		width: 75%;
		height: calc(100% - 40px);
	}
	.main_visual_item.item_1 .main_visual_img{
		background-image: url("../img/main_visual_01.jpg");
	}
	.main_visual_item.item_2 .main_visual_img{
		background-image: url("../img/main_visual_02.jpg");
	}
	.main_visual_item.item_3 .main_visual_img{
		background-image: url("../img/main_visual_03.jpg");
	}
	.main_visual_item.item_4 .main_visual_img{
		background-image: url("../img/main_visual_04.jpg");
	}
}
@media screen and (max-width: 767px){
	.main_visual_text,
	.main_visual_img_text{
		letter-spacing: 0;
	}
}

/* アニメーション */
.display_event:has(.event) .event,
.scroll_event:has(.event) .event{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1.5s;
}
.display_event:has(.event) .event.on,
.scroll_event:has(.event) .event.on{
	opacity: 1;
	transform: translateY(0);
}

.page_title{
	margin-bottom: 2em;
	text-align: center;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: .15em;
	text-indent: .15em;
}
.page_title_en{
	display: block;
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 2.5em;
}
.page_title_jp{
	display: block;
	font-size: .85em;
}

/* トピックス */
.front_topics_list{
	border-top: 1px dotted #d0d0d0;
}
.front_topics_list_item{
	padding: 2em 1em;
	border-bottom: 1px dotted #d0d0d0;
}
.front_topics_list_date{
	display: inline-block;
	font-weight: 700;
	color: #afafaf;
}
.front_topics_list_anchor{
	display: block;
	text-decoration: none;
	font-size: 1.25em;
	color: #333;
}
.front_topics_list_anchor:hover{
	text-decoration: underline;
}
.new{
	display: inline-block;
	margin-left: .5em;
	font-size: .85em;
	font-weight: 700;
	color: #ea4b4b;
}

/* Policy */
.front_policy_item{
	padding: 1em 0 1.5em;
	text-align: center;
	-webkit-text-stroke: 5px #fff;
	text-stroke: 5px #fff;
	paint-order: stroke;
}
.front_policy_item.part1{
	position: relative;
	background: url("../img/policy-part1_bg.png") center right / min(50%, 292px) no-repeat;
}
.front_policy_item.part2{
	margin-top: 2em;
	background: url("../img/policy-part2_bg.png") center left / min(50%, 293px) no-repeat;
}
.front_policy_item_text{
	display: inline-block;
	padding-bottom: .5em;
	font-size: min(6.2vw, 1.6rem);
	border-bottom: 1px solid #f5aa00;
}
.front_policy_list{
	counter-reset: front_policy;
}
.front_policy_list li::before{
	counter-increment: front_policy;
	content: counter(front_policy) ". ";
}

/* コンテンツ */
.front_contents_list_anchor{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: calc(.25em + 40px) 1em 1.5em;
	text-align: center;
	text-decoration: none;
	color: #333;
	background-color: #f8f8f8;
	border-radius: 10px;
	box-shadow: 6px 6px 10px rgba(0,0,0,.1);
	transition: background .2s, box-shadow .2s;
}
.front_contents_list_img{
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.front_contents_list_title{
	font-size: 1.4em;
	font-weight: 700;
}
.front_contents_list_text{
	margin-top: .25em;
	line-height: 1.4;
	font-size: .8em;
}
.front_contents_list_anchor:hover{
	background-color: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,.2);
}
@media print, screen and (min-width: 600px){
	.front_contents_list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1em;
	}
	.front_contents_list_item{
		min-height: 7em;
	}
	.front_contents_list_anchor{
		padding: .6em 1em 1.5em calc(1em + 75px);
	}
	.front_contents_list_img{
		top: 50%;
		left: 1em;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 599px){
	.front_contents_list_item{
		margin-top: calc(20px + 1.5em);
	}
}

/*--------------------------------------------
footer.php
--------------------------------------------*/
#footer{
	position: relative;
	margin-top: 6em;
	padding-top: 5em;
	background-color: #f8f8f8;
	border-top: 1px solid #ddd;
	font-size: .9em;
}
.footer_address_wrap{
	position: relative;
	padding-left: 6.5em;
}
.footer_address_title{
	position: absolute;
	left: 0;
	padding: 0 1em;
	background-color: #e6e6e6;
	border-radius: 1em;
}
/*.footer_office_name{
	padding-bottom: .5em;
	margin-bottom: .5em;
	border-bottom: 1px solid #ddd;
}*/
@media print, screen and (min-width: 768px){
	#footer{
		padding-top: 2.5em;
	}
	.footer_inner{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.footer_address_wrap{
		flex: 0 1 auto;
		margin-right: 2em;
	}
	#footer_nav{
		flex: 0 2 auto;
	}
}
#footer_nav{
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
}
.footer_nav_item{
	margin-bottom: 1em;
}
.footer_nav_item:nth-last-of-type(n+2)::after{
	margin-left: 1em;
	margin-right: 1em;
	content: "/";
}
#footer_nav a{
	color: #333;
	text-decoration: none;
}
#footer_nav a:hover{
	text-decoration: underline;
}
#copyright{
	padding: 2em 1em;
	text-align: center;
	font-style: normal;
	font-size: .85em;
	color: #fff;
	background-color: #333;
}
#page_top{
	position: absolute;
	top: 0;
	right: 5vw;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 10px;
	border-radius: 40px;
	background-image: linear-gradient(135deg, #f5aa00, #ef8200);
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform .2s;
}
#page_top::after{
	position: absolute;
	top: 18px;
	left: calc(50% - 4px);
	content: "";
	border-style: solid;
	border-width: 0 5px 8px 5px;
	border-color: transparent transparent #fff transparent;
}
#page_top:hover{
	transform: translateY(-50%) scale(.92);
}
@media screen and (max-width: 767px){
	#page_top{
		right: calc(50% - 30px);
	}
}

/*--------------------------------------------
index.php
--------------------------------------------*/
body:not(:is(.archive,.search)) .post_entry_list{
	border-top: 1px solid #e5e5e5;
}
.post_entry_item{
	position: relative;
	padding: 2em 0;
	border-bottom: 1px solid #e5e5e5;
}
.post_entry_anchor{
	text-decoration: none;
	color: #333;
}
.post_entry_anchor:hover{
	text-decoration: underline;
}
.topics_list_title{
	line-height: 1.4;
	font-size: min(5vw, 1.4em);
	font-weight: 400;
}

/* ページネーション */
ul.page-numbers,
.pagebreak_links{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	font-size: .9rem;
}
.page-numbers span.page-numbers,
.page-numbers a.page-numbers,
.pagebreak_links span.post-page-numbers,
.pagebreak_links a.post-page-numbers{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 36px;
	height: 36px;
	margin: 2px;
}
.page-numbers.dots{
	border-color: #e5e5e5;
}
span.page-numbers,
span.post-page-numbers{
	border: 1px solid #333;
}
a.page-numbers,
a.post-page-numbers{
	text-decoration: none;
	color: #333;
	border: 1px solid #e5e5e5;
}
a.page-numbers:hover,
a.post-page-numbers:hover{
	border: 1px solid #f08200;
}

/*--------------------------------------------
sidebar.php
--------------------------------------------*/
#side{
	font-size: .9em;
}
.side_title{
	padding: .25em .5em;
	text-align: center;
	letter-spacing: .15em;
	text-indent: .15em;
	font-weight: 500;
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1.25rem;
	background-color: #f8f8f8;
	border-top: 2px solid;
	border-image: linear-gradient(to right, #ef8200, #f5aa00) 1;
}
.side_interview_item{
	padding-top: 2em;
	padding-bottom: 1.5em;
	border-bottom: 1px dotted #d0d0d0;
}
.side_interview_item:nth-last-of-type(n+2){
}
.side_interview_item:first-of-type{
	padding: 2em 1em 2.5em;
	background: url("../img/side-interview-bg.png") center bottom / 680px 240px no-repeat;
}
.side_fb_wrap{
	margin-left: auto;
	margin-right: auto;
}
.youtube{
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe{
	width: 100%;
	height: 100%;
}

/*--------------------------------------------
single.php
--------------------------------------------*/
.single_title{
	padding-bottom: .25em;
	font-size: clamp(1rem, 5.5vw, 1.6em);
	border-bottom: 1px solid #ddd;
}
.single_date_wrap{
	position: relative;
	text-align: right;
	z-index: 1;
}
.single_date{
	margin-left: .5em;
}

/* カテゴリー */
.single_category_anchor{
    display: inline-block;
    text-align: center;
	margin-left: 1em;
	margin-bottom: .2em;
    padding: .2em 2em;
	line-height: 1.4;
	text-decoration: none;
	font-size: .85rem;
	color: #333;
    background-color: #f8f8f8;
	border: 1px solid #ddd;
}
.single_category_anchor:hover{
	background-color: #EBEBEB;
}
/* タグ */
.single_tag_anchor{
	position: relative;
	margin-left: 1.2em;
	margin-bottom: .2em;
	font-size: .9em;
}
.single_tag_anchor::before{
	position: absolute;
	top: 0;
	left: -.6em;
	content: "#";
	color: #555;
	text-decoration: none;
}

#comments{
	padding: 2em;
	background-color: #f8f8f8;
	border: 1px solid #e8e8e8;
}
#comments_title{
	margin-bottom: .5em;
	padding-bottom: .5em;
	font-weight: 700;
	border-bottom: 1px solid #ef8200;
}
#commentform label{
	display: block;
}
#comments_list li{
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px dotted #ccc;
}
#reply-title{
	font-size: 1rem;
}
input,
textarea{
	max-width: 100%;
}

/* 続きを読む */
.more_wrap{
	position: relative;
	margin-bottom: 1em;
	transition: padding .2s;
}
.more_link{
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 200px;
	max-width: 100%;
	text-align: center;
	line-height: 40px;
	font-size: .9rem;
	cursor: pointer;
	background-color: #e1efea;
	border-radius: 20px;
	transition: bottom .2s, background .2s;
	z-index: 1;
	transform: translateX(-50%);
}
.more_link:hover{
	background-color: #CBE4DB;
}
.more_link::before{
	content: "\2b";
	margin-right: .6em;
}
.more_wrap.more_open{
	padding-bottom: 60px;
}
.more_wrap.more_open .more_link::before{
	content: "\2d";
}
.more_text{
	position: relative;
	height: 90px;
	overflow: hidden;
}
.more_wrap:not(.more_open) .more_text::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 90px;
	background-image: linear-gradient(rgba(255,255,255,0), #fff 50px);
}

/* 改ページ */
.pagebreak_link_wrap{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.4;
}
.pagebreak_text.return .post-page-numbers{
	margin-top: 1em;
}
.pagebreak_text .post-page-numbers{
	position: relative;
	display: block;
	padding: 1.5em 2em;
	text-decoration: none;
	border-radius: 4px;
}
.pagebreak_text_next{
	font-size: .8em;
	font-weight: 800;
	color: #545252;
	transition: color .3s;
}

/* 前後リンク */
.post_link_wrap{
	line-height: 1.4;
	font-size: .9rem;
}
.post_link_wrap a{
	position: relative;
	display: block;
	margin-top: .5em;
	padding: .5em 1em;
	text-decoration: none;
	border: 1px solid #e5e5e5;
	transition: border .1s;
}
.post_link_wrap a:hover{
	border-color: #f08200;
}
.post_link_wrap a::before{
	margin-right: .5em;
	color: #333;
}
.post_link_wrap a[rel="prev"]::before{
	content: "\226A\a0\524D\306E\8A18\4E8B";
}
.post_link_wrap a[rel="next"]::before{
	content: "\226B\a0\6B21\306E\8A18\4E8B";
}

/*--------------------------------------------
投稿
--------------------------------------------*/
@media print, screen and (min-width: 768px){
	.wp-block-image .alignright{
		position: relative;
		padding-left: 2em;
		padding-bottom: 1em;
		background-color: #fff;
		z-index: 1;
	}
}
@media screen and (max-width: 767px){
	.text_wrap .alignright{
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	.wp-block-image .alignright{
		margin-bottom: 2em;
	}
}

/*--------------------------------------------
page.php
--------------------------------------------*/
#page_title{
	display: flex;
	align-items: center;
	height: min(30vw, 220px);
	margin-left: 10vw;
	padding-left: .5em;
	letter-spacing: .1em;
	font-size: min(8vw, 3.2em);
	color: #fff;
	clip-path: inset(0);
	z-index: 1;
}
#page_title::after{
	position: fixed;
	top: 0;
	right: 0;
	content: "";
	width: 90vw;
	height: calc(90px + 4rem + min(30vw, 220px));
	background: url("../img/head-bg.jpg") center top / cover no-repeat;
	z-index: -1;
}

/* パンくずリスト */
#breadcrumb_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-top: .25em;
	margin-left: 10vw;
	line-height: 1.2;
	color: #555;
}
.breadcrumb_item{
	margin-top: .5em;
	margin-bottom: .5em;
	font-size: .8rem;
}
.breadcrumb_item:nth-last-of-type(n+2)::after{
	content: "\3E";
	margin-left: 1em;
	margin-right: 1em;
	display: inline-block;
	transform: scaleY(1.4);
}
@media screen and (max-width: 1200px){
	#page_title,
	#breadcrumb_list{
		margin-left: 5vw;
	}
	#page_title::after{
		width: 95vw;
	}
}
@media screen and (max-width: 767px){
	#page_title::after{
		height: calc(3.2rem + 44px + min(30vw, 220px));
	}
}

.text_wrap p:nth-child(n+2),
.text_wrap figure{
	margin-top: 1.5em;
}
.wp-block-table{
	margin-top: 1.5em;
}

/* コンテンツタイトル */
.contents_title_mt,
.is-style-contents_title_mt,
.bottom_borer_title_mt,
.is-style-bottom_borer_title_mt{
	margin-top: clamp(3em, 5vw, 4em);
}
.contents_title,
.is-style-contents_title,
.contents_title_mt,
.is-style-contents_title_mt{
	position: relative;
	padding: .5em 1em .5em 2em;
	line-height: 1.4;
	font-size: min(4.6vw, 1.25em);
	background-color: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.contents_title::before,
.is-style-contents_title::before,
.contents_title_mt::before,
.is-style-contents_title_mt::before{
	position: absolute;
	top: .75em;
	left: 1em;
	content: "";
	width: 3px;
	height: 1em;
	background-color: #ef8200;
}
.bottom_borer_title,
.is-style-bottom_borer_title,
.bottom_borer_title_mt,
.is-style-bottom_borer_title_mt{
	font-size: 1.15em;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #ef8200, #f5aa00) 1;
}

/*--------------------------------------------
設立趣旨
--------------------------------------------*/
.about_catchphrase{
	font-size: 1.6em;
}
.about_item_number{
	font-family: "Roboto Mono", monospace;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;	
	display: flex;
	align-items: center;
	margin-bottom: .5em;
	font-size: 1.25em;
}
.about_item_number::after{
	flex: 1 1 auto;
	content: "";
	height: 1px;
	background-color: #dcdcdc;
	margin-left: .5em;
	transform: translateY(2px);
}
.about_item_title{
	font-size: 1.1em;
}

.about_logo_title{
	position: relative;
	margin-top: 4em;
	margin-bottom: 2em;
	padding: 1.5em 1em;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
	font-size: 1.25em;
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,.5);
	background: linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)), url("../img/about-logo_bg.jpg") top center / cover no-repeat;
}
.about_logo_title::after{
	position: absolute;
	top: 5px;
	left: 5px;
	content: "";
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	border: 1px solid #fff;
}
@media screen and (max-width: 600px){
	.about_logo_title{
		background: linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)), url("../img/about-logo_bg.jpg") top right/ 600px auto no-repeat;
	}
}

/* 代表世話人 */
.about_profile_img{
	position: relative;
	max-width: 60vw;
	z-index: 2;
}
.about_profile_img::before{
	position: absolute;
	top: min(10vw, 40px);
	left: 10px;
	content: "";
	width: 100%;
	height: calc(100% - 20px);
	background-image: linear-gradient(to right, #ee8100, #f4a900);
	z-index: -2;
}
.about_profile_img::after{
	position: absolute;
	top: min(10vw, 40px);
	left: 10px;
	content: "";
	border-style: solid;
	border-width: min(74vw, 320px) min(60vw, 260px) 0 0;
	border-color: #fff transparent transparent transparent;
	z-index: -1;
}
.about_profile_name{
	margin-top: .25em !important;
	line-height: 1.6;
	font-size: 2.4em;
	letter-spacing: .2em;
}
.about_profile_name_en{
	margin-top: 0 !important;
	font-size: 1.15em;
	letter-spacing: .1em;
}
.about_profile_career_wrap{
	padding-top: 5em;
	padding-bottom: min(6vw, 4em);
	box-shadow: 5px 5px 20px rgba(0,0,0,.1);
	transform: translateY(-2em);
}
.about_profile_career_wrap > .wp-block-group__inner-container{
	width: min(80%, 520px);
	margin-left: auto;
	margin-right: auto;
}
.about_profile_career_title{
	line-height: 1;
	padding-left: .5em;
	font-size: 1.1em;
	font-weight: 700;
	border-left: 3px solid #ee8100;
}
.about_profile_wrap > .wp-block-group__inner-container{
	display: flex;
}
.about_profile_career tr td:first-of-type{
	position: relative;
	padding-left: 1em;
	width: 9em;
}
.about_profile_career tr td:first-of-type::before{
	position: absolute;
	top: calc(1.4em - 4px);
	left: 0;
	content: "";
	width: 8px;
	height: 8px;
	background-color: #ddd;
	border-radius: 4px;
}
@media print, screen and (min-width: 768px){
	.about_profile_img{
		order: 1;
		margin-top: 0 !important;
		margin-right: 4em;
	}
	.about_profile_name_wrap{
		order: 2;
		padding-top: 3em;
	}
	.about_profile_career_wrap{
		width: min(90%, 670px);
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 767px){
	.about_profile_wrap > .wp-block-group__inner-container{
		flex-direction: column;
		align-items: center;
	}
	.about_profile_career tr td{
		width: 100%;
		display: block;
		padding-left: 1em;
	}
	.about_profile_career tr td:nth-of-type(n+2){
		padding-top: 0;
	}
}

/*--------------------------------------------
政策
--------------------------------------------*/
.pamphlet_dl_anchor{
	line-height: 1.4;
	font-size: .95em;
}
.pamphlet_dl_anchor > a{
	position: relative;
	display: inline-block;
	padding-right: 1em;
	text-decoration: none;
	color: #404040;
	border-bottom: 1px solid;
}
.pamphlet_dl_anchor > a:hover{
	border-bottom-color: transparent;
}
.pamphlet_dl_anchor > a::after{
	position: absolute;
	top: calc(50% - 3px);
	right: 1px;
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 6px 4px 0 4px;
	border-color: #f08200 transparent transparent transparent;
}
body#policy #page_title{
	letter-spacing: .5em;
}
body#policy section h5,
body#policy section p{
	font-family: 'Noto Serif JP', serif;
}
#policy .bottom_borer_title,
#policy .is-style-bottom_borer_title{
	margin-top: 2em;
}
.policy_part_title{
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: min(6.2vw, 2.2rem);
	text-shadow: 6px 6px 2px rgba(0,0,0,.15); 
}
.policy_part_title.part1{
	padding-bottom: 1em;
}
.policy_part_title.part1::after{
	position: absolute;
	top: -20%;
	right: 0;
	content: "";
	width: 100%;
	height: 292px;
	background: url("../img/policy-part1_bg.png") center right / 292px auto no-repeat;
	z-index: -1;
}
.policy_part_title.part2{
	margin-top: 2em;
	padding-bottom: 1em;
}
.policy_part_title.part2::after{
	position: absolute;
	top: -20%;
	right: 0;
	content: "";
	width: 100%;
	height: 293px;
	background: url("../img/policy-part2_bg.png") center right / 293px auto no-repeat;
	z-index: -1;
}
.policy_part{
	position: relative;
	font-size: .5em;
	letter-spacing: .5em;
}
.policy_part_number{
	display: inline-block;
	font-size: 2.2rem;
	transform: translateY(.15em);
}
.policy_part::before,
.policy_part::after{
	position: absolute;
	top: .75em;
	content: "";
	width: 40px;
	height: 1px;
	background-color: #333;
	box-shadow: 6px 6px 2px rgba(0,0,0,.15); 
}
.policy_part::before{
	left: -50px;
}
.policy_part::after{
	right: -46px;
}
#policy .text_wrap h5{
	margin-top: 2em;
	font-size: 1.1em;
}
@media screen and (max-width: 599px){
	.policy_part_title.part1::after,
	.policy_part_title.part2::after{
		background-position: center center;
		opacity: .8;
	}
}

/*--------------------------------------------
活動報告
--------------------------------------------*/
.activity_catchphrase{
	font-size: clamp(1rem, 5.5vw, 1.6em);
}
.benren-map-wrap{
	max-width: 780px;
	margin: auto;
	text-align: center;
}
body:not(#activity) .benren-map-wrap{
	width: min(70vw, 500px);
}
.benren-map{
	max-height: 95vh;
}
.benren-map .cls-1{
	letter-spacing: .4em;
}
.benren-map .cls-1,
.benren-map .cls-2{
	fill: #333;
	font-family: SourceHanSansJP-Bold-90ms-RKSJ-H, 'Source Han Sans JP', sans-serif;
	font-size: 20px;
	font-weight: 700;
}
.benren-map .cls-5{
	fill: #f08200;
}
.benren-map .cls-6{
	stroke: #fff;
	stroke-width: .6px;
}
.benren-map .cls-6,
.benren-map .cls-7{
	stroke-linecap: round;
	stroke-linejoin: round;
}
.benren-map .cls-6,
.benren-map .cls-7,
.benren-map .cls-8{
	fill: none;
}
.benren-map .cls-9{
	fill: #fff;
}
.benren-map .cls-7{
	stroke: #ededed;
	stroke-width: 3px;
}
.benren-map .cls-8{
	stroke: #333;
	stroke-miterlimit: 10;
}
.benren-map .cls-12,
.benren-map .cls-14,
.benren-map .cls-4,
.benren-map .cls-13,
.benren-map .cls-15,
.benren-map .cls-3,
.benren-map .cls-10,
.benren-map .cls-11{
	fill: #e0e0e0;
}
body:is(#activity, #hokkaido) .benren-map .cls-12{
	fill: #509dea;
}
body:is(#activity, #tohoku) .benren-map .cls-14{
	fill: #7fd3ea;
}
body:is(#activity, #kanto) .benren-map .cls-4{
	fill: #4dc17c;
}
body:is(#activity, #chubu) .benren-map .cls-13{
	fill: #bad86a;
}
body:is(#activity, #kinki) .benren-map .cls-15{
	fill: #ffd578;
}
body:is(#activity, #chugoku) .benren-map .cls-3{
	fill: #ffb236;
}
body:is(#activity, #shikoku) .benren-map .cls-10{
	fill: #f98794;
}
body:is(#activity, #kyushu) .benren-map .cls-11{
	fill: #ab80d8;
}
.benren-map a > #map_hokkaido:hover > .cls-12,
.benren-map a > #map_tohoku:hover > .cls-14,
.benren-map a > #map_kanto:hover > .cls-4,
.benren-map a > #map_chubu:hover > .cls-13,
.benren-map a > #map_kinki:hover > .cls-15,
.benren-map a > #map_chugoku:hover > .cls-3,
.benren-map a > #map_shikoku:hover > .cls-10,
.benren-map a > #map_kyushu:hover > .cls-11{
	fill: #f08200;
}
.benren-map a > #map_hokkaido:hover .cls-9,
.benren-map a > #map_tohoku:hover .cls-9,
.benren-map a > #map_kanto:hover .cls-9,
.benren-map a > #map_chubu:hover .cls-9,
.benren-map a > #map_kinki:hover .cls-9,
.benren-map a > #map_chugoku:hover .cls-9,
.benren-map a > #map_shikoku:hover .cls-9,
.benren-map a > #map_kyushu:hover .cls-9{
	fill: #FFEFDC;
}
@media screen and (min-width: 501px) {
	#benren-map-sp{
		display: none;
	}
}
@media screen and (max-width: 500px) {
	#benren-map-pc{
		display: none;
	}
	.benren-map .cls-1,
	.benren-map .cls-2{
		font-size: 30px;
	}
}

#activity .main_inner{ /* slick対応 */
    min-height: 0;
    min-width: 0;
}
/* slick 矢印 */
.slick-arrow{
	position: absolute;
	top: 50%;
	width: 32px;
	height: 32px;
	background-color: #fff;
	border: none;
	border-radius: 16px;
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	transform: translateY(-50%);
	transition: box-shadow .35s;
	z-index: 100;
}
.slick-arrow:not(.slick-disabled){
	cursor: pointer;
}
.slick-arrow:not(.slick-disabled):hover{
	box-shadow: 0 0 20px rgba(0,0,0,.4);
}
.slick-prev{
	left: -10px;
}
.slick-next{
	left: auto;
	right: -10px;
}
.slick-arrow::after{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
}
.slick-prev::after{
	transform: translate(calc(-50% + 1px), -50%) rotate(225deg);
}
.slick-next::after{
	transform: translate(calc(-50% - 1px), -50%) rotate(45deg);
}
/* slick ドット */
.slick_custom_dots{
	position: absolute;
	bottom: -50px;
	left: 5%;
	width: 90%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.slick_custom_dots > li{
	flex: 1 1 auto;
	max-width: 40px;
}
.slick_custom_dots button{
	position: relative;
	font-size: 0;
	line-height: 0;
	display: block;
	width: 100%;
	height: 40px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick_custom_dots button::before{
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    width: 100%;
    height: 4px;
    content: '';
    text-align: center;
    background-color: #eaeaea;
	transition: background .1s;
}
.slick_custom_dots button:hover::before,
.slick-active button::before{
	background-color: #f08200
}

.activity_img_wrap{
	margin-top: .5em;
	text-align: left;
}
.activity_img_wrap figure{
	position: relative;
	display: inline-block;
	margin-top: 0;
	margin-bottom: 5px;
}
.activity_img_wrap figcaption{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: .25em .5em;
	line-height: 1.2;
	font-size: .75em;
	color: #fff;
	background-color: rgba(0,0,0,.5);
}
.activity_img_wrap img{
	display: inline-block;
	height: min(40vw, 240px);
	width: auto;
}
.activity_return_button{
	position: relative;
	display: inline-block;
	padding: calc(1em - 2px) 3em;
	line-height: 1.4;
	text-align: center;
	min-width: min(100%, 280px);
	text-decoration: none;
	font-size: .9em;
	color: #333;
	border-radius: 2em;
	border: 2px solid #ef8200;
	transition: border .2s;
}
.activity_return_button:hover{
	border-color: #e6e6e6;
}

/*--------------------------------------------
世話人紹介
--------------------------------------------*/
.introduce_profile_img{
	position: relative;
	display: block;
	width: 200px;
	max-width: 60vw;
	margin: 0 auto 2em;
	z-index: 2;
}
.introduce_profile_img::before{
	position: absolute;
	top: min(10vw, 35px);
	left: 10px;
	content: "";
	width: 100%;
	height: calc(100% - 20px);
	background-image: linear-gradient(to right, #ee8100, #f4a900);
	z-index: -2;
}
.introduce_profile_img::after{
	position: absolute;
	top: min(10vw, 35px);
	left: 10px;
	content: "";
	border-style: solid;
	border-width: min(74vw, 242px) min(60vw, 200px) 0 0;
	border-color: #fff transparent transparent transparent;
	z-index: -1;
}
.introduce_name{
	font-size: 1.25em;
	font-weight: 700;
}
body#introduce .wp-block-separator{
	margin-top: 2em;
	margin-bottom: 2em;
}
@media print, screen and (min-width: 768px){
	.introduce_profile_wrap > .wp-block-group__inner-container{
		display: flex;
		justify-content: space-between;
	}
	.introduce_profile_img{
		order: 1;
		margin-top: 0 !important;
		margin-left: 4em;
		margin-right: 11px;
	}
}

/*--------------------------------------------
スケジュール等
--------------------------------------------*/
body#schedule #page_title{
	letter-spacing: 0;
}
.schedule_table{
	font-size: .9em;
	line-height: 1.4;
}
.schedule_table thead{
	border-bottom: 2px solid #333;
}
.schedule_table th,
.schedule_table td{
	border-top: none;
	border-left: none;
	border-right: none;
	padding-top: .75em;
	padding-bottom: .75em;
	padding-right: 0;
	border-bottom: 1px dotted #b9b9b9;
}
.schedule_table th:first-of-type,
.schedule_table tr td:first-of-type{
	padding-left: 0;
	min-width: 5em;
}

@media screen and (max-width: 700px) {
	.schedule_table{
		position: relative;
		padding-top: 2em;
		padding-bottom: 1em;
		box-shadow: inset -20px 0 20px -20px rgba(0,0,0,.15);
		overflow-x: auto;
		transition: box-shadow .5s;
	}
	.schedule_table > table{
		min-width: 44em;
	}
	.schedule_table::before{
		position: absolute;
		top: .5em;
		left: 0;
		display: inline-block;
		content: "\6A2A\306B\30B9\30AF\30ED\30FC\30EB\3057\3066\304F\3060\3055\3044";
		padding: .25em 1em;
		line-height: 1.2;
		font-size: .9em;
		color: #f08200;
		background-color: #fff6ed;
		border-radius: 1em;
		z-index: -1;
	}
	.schedule_table::after{
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		width: 90px;
		height: 90px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: url(../img/icon-scroll-x.png) center / 75px 65px no-repeat, rgba(0, 0, 0, .5);
		border-radius: 5px;
		transform: translate(-50%, -50%);
		transition: opacity .5s;
		opacity: 1;
	}
	.schedule_table.active::after{
		opacity: 0;
	}
	.schedule_table.active:not(.start):not(.end){
		box-shadow: inset -20px 0 20px -20px rgba(0,0,0,.15), inset 20px 0 20px -20px rgba(0,0,0,.15);
	}
	.schedule_table.end{
		box-shadow: inset 20px 0 20px -20px rgba(0,0,0,.15);
	}
}
.note_box{
	position: relative;
	padding: 3em 2em 2.5em;
	background-color: #fff6ed;
}
.note_box::before{
	position: absolute;
	top: -6px;
	left: 2em;
	content: "";
	width: 40px;
	height: 32px;
	background: url("../img/icon-excl.png") center / 7px 22px no-repeat, #ee8100;
}
.note_box::after{
	position: absolute;
	top: -6px;
	left: calc(2em + 40px);
	content: "";
	border-style: solid;
	border-width: 6px 0 0 4px;
	border-color: transparent transparent transparent #be6400;
}

/* contact form 7 */
.contact_form_wrap{
	padding: min(5vw, 2em) min(5vw, 5em) .5em;
	background-color: #f3f3f3;
}
.contact_form_wrap input:is([type="text"], [type="email"]),
.contact_form_wrap textarea{
	width: 100%;
	padding: .5em;
	font-size: 1rem;
	border: none;
}
.contact_form_item:nth-of-type(n+2){
	margin-top: 1em;
}
.contact_form_req{
	font-size: .75em;
	color: #f14455;
}
.contact_form_area{
	margin-top: .25em;
}
.contact_form textarea{
	resize: vertical;
}
.contact_form_submit_wrap > p{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.contact_form_submit_wrap input{
	-webkit-appearance: none;
	margin: 5px;
	padding: .5em 3em .6em;
	font-size: 1em;
	color: #333;
	background-color: #fff;
	border: 2px solid #ee8100;
	border-radius: 2em;
	cursor: pointer;
	transition: color .2s, background .2s, transform .1s;
}
.contact_form_submit_wrap input:hover{
	color: #fff;
	background-color: #ee8100;
}
.contact_form_submit_wrap input:active{
	transform: scale(.95);
}
/* contact form 7 - 入力してください。 */
.wpcf7-not-valid-tip{
	position: relative;
	display: inline-block;
	margin-top: 10px;
	padding: 0 .5em;
	font-size: .85em;
	color: #fff;
	background: #dc3232;
}
.wpcf7-not-valid-tip::before{
	position: absolute;
	top: -6px;
	left: 1em;
	content: "";
	border-style: solid;
	border-width: 0 5px 8px 5px;
	border-color: transparent transparent #dc3232 transparent;
}

/*--------------------------------------------
サイトマップ
--------------------------------------------*/
@media print, screen and (min-width: 768px){
	.sitemap_list{
		display: flex;
		flex-wrap: wrap;
	}
	.sitemap_list_item{
		flex: 0 0 auto;
		width: calc(100% / 3);
	}
}
.sitemap_list_item.child_title{
	width: 100%;
	padding-bottom: .5em;
	border-bottom: 1px solid #f3f3f3;
}
.sitemap_page_wrap,
.sitemap_post_wrap{
	line-height: 1.4;
	font-size: .9rem;
}
.sitemap_page_wrap > .sitemap_list:nth-last-of-type(n+2),
.sitemap_post_wrap > .sitemap_list:nth-last-of-type(n+2){
	margin-bottom: 2em;
}
.sitemap_list_item_main,
.sitemap_list_item_sub,
.sitemap_list_item{
	padding-left: 16px;
	padding-right: 1em;
}
.sitemap_list_item_main{
	margin-bottom: .5em;
	padding-bottom: .5em;
	font-size: 1.3rem;
	border-bottom: 1px solid #ccc;
}
.sitemap_list_item_sub{
	margin-bottom: .2em;
	padding-top: .3em;
	padding-bottom: .5em;
	padding-left: 24px;
	background-color: #f3f3f3;
}
.sitemap_list_item{
	margin-top: 1em;
}
.sitemap_list_anchor{
	position: relative;
	text-decoration: none;
    color: #555;
}
.sitemap_list_anchor::before{
	position: absolute;
	top: calc(0.8em - 5px);
	left: -14px;
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #ccc;
}
.sitemap_list_item_sub .sitemap_list_anchor::before{
	top: calc(0.9em - 5px);
}
.sitemap_list_anchor:hover{
	text-decoration: underline;
    color: #f08200;
}
