@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, 1.1rem);
}
h1,h2,h3,h4,h5,h6{
	color: #2e2e2e;
}
main{
	text-align: justify;
}
main, /* IE対策 */
iframe{
	display: block;
}
iframe{
	max-width: 100%;
}

.inner_width_600{
	width: min(90%, 37.5rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_800{
	width: min(90%, 50rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1000{
	width: min(90%, 62.5rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1120{
	width: min(90%, 70rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1200{
	width: min(90%, 75rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1400{
	width: min(90%, 87.5rem);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1500{
	width: min(90%, 93.75rem);
	margin-left: auto;
	margin-right: auto;
}
.width_600{
	max-width: 37.5rem;
	margin-left: auto;
	margin-right: auto;
}
.width_800{
	max-width: 50rem;
	margin-left: auto;
	margin-right: auto;
}
.width_1000{
	max-width: 62.5rem;
	margin-left: auto;
	margin-right: auto;
}
.width_1120{
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}
.width_1200{
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
}
.width_1400{
	max-width: 87.5rem;
	margin-left: auto;
	margin-right: auto;
}
.width_1500{
	max-width: 93.75rem;
	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: #0d51ab;
}
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{
	position: relative;
	display: inline-block;
	padding: .8em calc(2em + 22px) .8em 1em;
	line-height: 1.4;
	text-decoration: none;
	letter-spacing: .1em;
	font-weight: 700;
	font-size: min(3.2vw, .9em);
	color: #fff;
	background-color: #3F4A86;
	border-radius: 10px;
	transition: color .2s, background .2s, box-shadow .4s;
}
.text_center > .link_button{
	padding-left: calc(1.5em + 22px);
}
.link_button:not([target="_blank"])::before,
.link_button:not([target="_blank"])::after{
	position: absolute;
	top: 50%;
	content: "";
}
.link_button:not([target="_blank"])::before{
	right: 1em;
	width: 22px;
	height: 2px;
	background-color: #fff;
	transition: background .2s;
	transform: translateY(-50%);
}
.link_button:not([target="_blank"])::after{
	right: calc(1em + 1px);
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: center;
	transition: border .2s;
}
@media print, screen and (min-width: 768px){
	.link_button:hover{
		color: #e55800;
		background-color: #fff;
		box-shadow: 0 0 15px rgba(229,88,0,.4);
	}
	.link_button:not([target="_blank"]):hover::before{
		background-color: #e55800;
	}
	.link_button:not([target="_blank"]):hover::after{
		border-color: #e55800;
	}
}
.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;
}

.word_break{
	word-break: break-all;
}

.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,profile_image_bottom 
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: 5px;
	height: 5px;
	border-radius: 3px;
	background-color: #333;
}
.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
--------------------------------------------*/
.site_name_anchor{
	display: inline-block;
	text-decoration: none;
	color: #333;
	transition: opacity .1s;
}
.site_name_anchor:hover{
	opacity: .6;
}
.site_name{
	letter-spacing: .1em;
	line-height: 1.4;
	font-size: min(3.2vw, .9rem);
	font-weight: 500;
}
.site_name_in{
	display: block;
	font-size: 1.05em;
	font-weight: 700;
}

#header_nav{
	line-height: 1.4;
	letter-spacing: .1em;
}
.nav_item a{
	position: relative;
	display: block;
	padding: .75em;
	text-decoration: none;
	color: #2e2e2e;
	transition: color .3s;
}
.nav_item > a:hover,
.nav_item.current > a{
	color: #e55800;
}
@media print, screen and (min-width: 768px){
	#header{
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 80px;
		padding-left: min(5vw, 2rem);
		padding-right: min(5vw, 2rem);
		z-index: 100;
		transform: translateY(0);
		transition: transform .5s, background .5s;
	}
	body:not(#home) #header,
	.sc_down #header{
		background-color: #fff;
	}
	.nav_hide #header{
		transform: translateY(-100%);
	}
	.site_name_anchor{
		color: #2e2e2e;
		transition: color .5s;
	}
	.site_name{
		flex: 0 0 auto;
	}
	body#home:not(.sc_down) .site_name_anchor{
		color: #fff;
	}
	#nav{
		position: relative;
		padding-left: min(3vw, 2rem);
		padding-right: min(3vw, 2rem);
	}
	#header_nav{
		position: relative;
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		font-size: min(1.7vw, 1rem);
		z-index: 10;
	}
	.nav_item > a{
		transition: color .2s;
	}
}
@media screen and (max-width: 767px){
	#header,
	.spnav_site_name_wrap{
		height: 80px;
		display: flex;
		align-items: center;
		padding-left: 5vw;
	}
	#header_nav_btn_wrap{
		position: fixed;
		top: 20px;
		right: 10px;
		width: 100px;
		height: 40px;
		color: #282e42;
		background-color: #faac45;
		border: 1px solid;
		border-radius: 21px;
		cursor: pointer;
		transition: all .3s;
		z-index: 100;
	}
/*	.sc_down #header_nav_btn_wrap{
		top: 10px;
	}*/
	.header_nav_btn{
		position: absolute;
		right: 16px;
		display: block;
		width: 15px;
		height: 1px;
		background-color: #282e42;
		transition: all .3s ease-in-out;
	}
	#header_nav_btn1{
		top: calc(50% - 3px);
	}
	#header_nav_btn2{
		top: calc(50% + 3px);
	}
	.nav_open #header_nav_btn_wrap{
		background-color: #fff;
		color: #e55800;
	}
	.nav_open .header_nav_btn{
		background-color: #e55800;
	}
	.nav_open #header_nav_btn1{
		-webkit-transform: translateY(3px) rotate(30deg);
		transform: translateY(3px) rotate(30deg);
	}
	.nav_open #header_nav_btn2{
		-webkit-transform: translateY(-3px) rotate(-30deg);
		transform: translateY(-3px) rotate(-30deg);
	}
	#header_nav_btn_text{
		position: absolute;
		top: calc(50% - .65em);
		left: 14px;
		font-size: 14px;
		line-height: 1;
	}
	#nav{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: .9em;
		background-color: #ffe0bb;
		transform: translate(-100%);
		opacity: 0;
		transition: opacity .5s;
		z-index: 99;
		overflow-y: auto;
	}
	.nav_open #nav{
		opacity: 1;
		transform: translate(0);
	}
	#header_nav{
		margin: 7.5vw;
		border-top: 1px dotted rgba(0,0,0,.4);
	}
	.nav_item:not(.spnav_item){
		padding-top: .5em;
		padding-bottom: .5em;
		border-bottom: 1px dotted rgba(0,0,0,.4);
	}
	.nav_item:not(.spnav_item) a{
		display: block;
		padding: 1em 0 1em calc(10px + 1em);
	}
	.nav_item:not(.spnav_item) > a::before{
		position: absolute;
		top: calc(1.7em - 4px);
		left: 0;
		content: "";
		width: 6px;
		height: 6px;
		border: 2px solid #e55800;
		border-radius: 10px;
	}
	.spnav_item a{
		padding: .5em 0;
		color: #626262;
	}
}

/*--------------------------------------------
front-page.php
--------------------------------------------*/
.front_fv{
	position: relative;
/*	min-height: calc(100vh - 60px);*/
}
.front_fv::before{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(50% + 30px);
	content: "";
	background: url("../img/main_visual_bg.png") bottom center / 100% no-repeat, linear-gradient(45deg, #FF5033, #FC9101, #F5BF25);
	z-index: -1;
}
.front_catchphrase{
	letter-spacing: .15em;
	line-height: 1.6;
	font-weight: 900;
	font-size: 7.9vmin;
	color: #1B1D22;

	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1.5s;
}
.front_catchphrase.on{
	opacity: 1;
	transform: translateY(0);
}
.front_catchphrase::first-letter{
	color: #e55800;
}
.main_visual_wrap{
	width: 63vmin;

	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1.5s;
}
.main_visual_wrap.on{
	opacity: 1;
	transform: translateY(0);
}
.main_visual_name,
.main_visual_text{
	line-height: 1.6;
	letter-spacing: .1em;
	text-indent: .075em;
	color: #fff;
	text-shadow: 0 3px 5px rgba(0,0,0,.4);
}
.main_visual_name{
	font-weight: 900;
	font-size: min(9vw, 6vh);
}
.main_visual_text{
	font-size: min(3.8vw, 4vh);
}
.main_visual_name_en{
	position: absolute;
	top: 0;
	left: calc(100% + 1.65em);
	letter-spacing: .2em;
	font-weight: 900;
	font-size: min(1.7vw, 4vh);
	white-space: nowrap;
	transform: rotate(90deg);
	transform-origin: 0 0;
}
.front_slide_wrap{
	position: relative;
	margin-top: 130px;
}
.front_catchphrase_en_img_wrap{
	position: absolute;
	bottom: calc(100% - 40px);
	right: 0;
	width: max(16vw, 160px);
	height: max(16vw, 160px);
	z-index: 1;
	overflow: hidden;
}
.front_catchphrase_en_img{
	position: absolute;
	top: 5px;
	width: max(calc(16vw - 10px), 150px);
	height: auto;
	right: -70px;
	animation: rotateAnimation 20s linear infinite;
}
@keyframes rotateAnimation {
	from {
	transform: rotate(0deg);
	}
	to {
	transform: rotate(360deg);
	}
}
@media print, screen and (min-width: 768px){
	.front_fv{
		height: 100vmin;
	}
	.front_fv::before{
		top: 0;
		width: 53%;
		height: 100%;
	}
	.front_catchphrase{
		position: absolute;
		top: 50%;
		left: calc(53% - 1.1em);
		letter-spacing: .2em;
/*		font-size: min(6.2vw, 10vh);*/
		font-size: min(5.4vw, 11vh);

		transform: translateY(calc(-50% - .63em + 30px));
	}
	.front_catchphrase.on{
		transform: translateY(calc(-50% - .63em));
	}
	.front_catchphrase::first-letter{
		color: #fff;
	}
	.main_visual_wrap{
		position: absolute;
		top: 50%;
		left: 25%;
		width: min(25vw, 50vh);

		transform: translate(-50%, calc(-50% + 3vh + 30px));
	}
	.main_visual_wrap.on{
		transform: translate(-50%, calc(-50% + 3vh));
	}
	.main_visual_name{
		font-size: min(5vw, 9vh);
	}
	.main_visual_text{
		font-size: min(1.1vw, 2vh);
	}
	.front_slide_wrap{
		margin-top: clamp(3em, 10vw, 6em);
	}
	.front_catchphrase_en_img{
		right: -20px;
	}
}
@media screen and (max-width: 767px){
	.front_fv{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding-bottom: 5vw;
		min-height: calc(100vh - 80px);
	}
	.main_visual_wrap{
		margin-top: 1em;
	}
}

/* アニメーション */
.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);
}

.section_title{
	line-height: 1.2;
	letter-spacing: .05em;
	font-size: min(8.8vw, 3.2em);
	font-weight: 700;
}
.section_title_en{
	display: block;
	margin-left: .25em;
	font-weight: 900;
	font-size: .42em;
}
.section_title_en::before{
	display: inline-block;
	content: "";
	margin-right: .5em;
	width: .4em;
	height: .4em;
	border: 3px solid;
	border-radius: 1em;
}
.section_title_jp{
	display: block;
}

/* プロフィール */
.front_profile_slide_item{
	margin-left: 1em;
	max-height: 50vw;
	width: auto !important;
}
.front_profile_wrap{
	margin-left: 5vw;
	margin-right: 5vw;
	padding: 5vw;
	background-color: #faac46;
	border-radius: 2em;
}
.front_profile_button .link_button{
	display: block;
}
@media print, screen and (min-width: 768px){
	.section_title{
		font-size: min(5.6vw, 3.5em);
	}
	.section_title_en{
		font-size: .23em;
	}
	.front_profile_wrap{
		display: grid;
		grid-template-columns: 1fr 40%;
		grid-template-rows: 5em 1fr calc(max(.9em, 1.2vw)*3);
		grid-column-gap: 5vw;
		grid-row-gap: 1em;
		margin-left: 10vw;
		margin-right: 10vw;
		transform: translateY(-3em);
	}
	.front_profile_wrap .section_title{
		grid-row: 1 / 2;
		grid-column: 1 / 2;
	}
	.front_profile_text{
		grid-row: 2 / 3;
		grid-column: 1 / 2;
	}
	.front_profile_button{
		grid-row: 3 / 4;
		grid-column: 1 / 2;
	}
	.front_profile_img{
		grid-row: 1 / 4;
		grid-column: 2 / 3;
	}
	.front_profile_wrap .link_button{
		font-size: max(.9em, 1.2vw);
	}
}
@media screen and (max-width: 767px){
	.front_profile_wrap{
		margin-top: 2em;
		padding-top: 3em;
		padding-bottom: 3em;
	}
	.front_profile_img{
		margin-top: 1.5em;
	}
	.front_profile_text{
		margin-top: 1.5em;
	}
	.front_profile_button{
		margin-top: 2em;
	}
}

/* 展望・構想　政策　メッセージ */
.front_contents_anchor{
	position: relative;
	display: block;
	padding: max(7vw, 3em) 5vw;
	text-decoration: none;
	color: #fff;
	background: url("../img/front-vision.jpg") center / cover no-repeat;
	z-index: 1;
}
.front_contents_anchor .section_title{
	color: #fff;
}
.item_policy .front_contents_anchor{
	background-image: url("../img/front-policy.jpg");
}
.item_message .front_contents_anchor{
	background-image: url("../img/front-message.jpg?new");
}
.front_contents_anchor::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .6;
	z-index: -1;
	transition: opacity .2s;
}
.front_contents_anchor:hover::before{
	opacity: .2;
}

/* 日程　お知らせ */
.front_schedule_topics_wrap{
	margin-left: 5vw;
	margin-right: 5vw;
}
.front_schedule_topics_wrap .section_title{
	padding: .5em .75em;
	background-color: #faac46;
}
.front_schedule_wrap,
.front_topics_wrap{
	box-shadow: 0 10px 20px rgba(0,0,0,.2);
	border-radius: 2em;
	overflow: hidden;
}
.front_schedule_topics_inner{
	padding: 2em min(5vw, 2em);
}

.front_schedule_table{
	width: 100%;
	margin-bottom: 1.5em;
	text-align: center;
	font-size: 1.15em;
}
.front_schedule_table :is(th, td){
	padding: .5em;
}
.front_schedule_table tr:nth-last-of-type(n+2) :is(th, td){
	font-size: min(3.6vw, 1rem);
	border: 1px solid #ddd;
}
.front_schedule_table th{
	color: #fff;
	background-color: #838383;
}
.front_schedule_table tr:last-child th{
	background-color: #ae3636;
}
.front_schedule_table tr:last-child td{
	color: #fff;
	background-color: #333;
}
.front_schedule_table tr:last-child :is(th, td){
	padding-top: .75em;
	padding-bottom: .75em;
	transform: translateY(1.5em);
}

.front_topics_list{
	text-align: left;
}
.front_topics_list_item:nth-child(n+2){
	margin-top: 1em;
}
.front_topics_list_date{
	display: inline-block;
	font-size: .9em;
	color: #919191;
}
.front_topics_list_anchor{
	display: block;
	text-decoration: none;
	font-size: min(4.6vw, 1.25em);
	color: #333;
}
.front_topics_list_anchor:hover{
	text-decoration: underline;
}
.new{
	display: inline-block;
	margin-left: .5em;
	font-size: .75em;
	font-weight: 700;
	color: #ea4b4b;
}
@media print, screen and (min-width: 1024px){
	.front_schedule_topics_wrap{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.5vw;
	}
}
@media screen and (max-width: 1023px){
	.front_schedule_topics_wrap .section_title{
		padding-top: 1em;
		padding-bottom: 1em;
	}
	.front_topics_wrap{
		margin-top: 10vw;
	}
}

/* 公聴会日程 */
.front_hearing_wrap{
	margin-top: 6em;
}
.front_hearing_list{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
	font-weight: 700;
}
.front_hearing_list_item{
	position: relative;
	width: 25%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: 2em;
	padding-bottom: 2em;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
}
.front_hearing_list_item:last-of-type::after{
	position: absolute;
	top: -1px;
	right: -1px;
	content: "";
	width: 1px;
	height: calc(100% + 2px);
	background-color: #333;
}
.front_hearing_date{
	margin-bottom: .25em;
	font-size: .9em;
}
.front_hearing_area{
	font-size: min(3.8vw, 2em);
}
.front_hearing_hall{
	font-size: .7em;
}
.front_hearing_hall::after{
	content: "\FF1A";
}
.front_hearing_area:has(+.front_hearing_area) .front_hearing_hall::after{
	margin-left: 1em;
}
@media print, screen and (min-width: 768px){
	.front_hearing_list_item > p:nth-last-of-type(2).front_hearing_date{
		margin-bottom: 2em;
	}
	.front_hearing_list_item:nth-last-of-type(-n+3){
		border-bottom: 1px solid #333;
	}
	.front_hearing_list_item:nth-of-type(4){
		border-right: 1px solid #333;
	}
	.front_hearing_list_item:nth-of-type(4)::after{
		position: absolute;
		bottom: -1px;
		left: -1px;
		content: "";
		width: calc(100% + 2px);
		height: 1px;
		background-color: #333;
	}
}
@media screen and (max-width: 767px){
	.front_hearing_list_item{
		width: 50%;
	}
	.front_hearing_list_item:is(:first-of-type, :nth-of-type(3)) .front_hearing_date{
		margin-bottom: 1.75em;
	}
	.front_hearing_list_item:nth-of-type(even){
		border-right: 1px solid #333;
	}
	.front_hearing_list_item:last-of-type{
		border-bottom: 1px solid #333;
	}
	.front_hearing_list_item:nth-of-type(6)::after{
		position: absolute;
		bottom: -1px;
		left: -1px;
		content: "";
		width: calc(100% + 2px);
		height: 1px;
		background-color: #333;
	}
	.front_hearing_area{
		font-size: 6vw;
	}
}

/*--------------------------------------------
footer.php
--------------------------------------------*/
#footer{
	position: relative;
	padding-bottom: 2em;
	color: #fff;
	background-color: #2a2a2a;
}
body:not(:is(#profile, #vision, #policy, #message)) #footer{
	margin-top: min(20vw, 6em);
}
.footer_inner{
	padding-top: min(20vw, 4em);
	padding-bottom: min(20vw, 4em);
}
.footer_address a{
/*	color: #0077ff;*/
	color: #fff;
}
.footer_address,
#footer_nav{
	font-weight: 300;
	font-size: .8em;
}
#footer_nav{
	margin-left: auto;
	margin-right: auto;
}
#footer_nav a{
	color: #fff;
	text-decoration: none;
}
#footer_nav a:hover{
	text-decoration: underline;
}
#copyright{
	margin-left: 5vw;
	margin-right: 5vw;
	text-align: center;
	font-style: normal;
	font-weight: 300;
	font-size: .8em;
}
#page_top{
	position: absolute;
	top: -30px;
	right: 5vw;
	width: 60px;
	height: 60px;
	border: 2px solid #e55800;
	border-radius: 60px;
	background-color: #fff;
	cursor: pointer;
	transition: transform .2s;
	z-index: 10;
}
#page_top::after{
	position: absolute;
	top: calc(50% - 3px);
	right: 22px;
	content: "";
	width: 10px;
	height: 10px;
	border-left: 2px solid #e55800;
	border-top: 2px solid #e55800;
	transform: rotate(45deg);
	transition: border .3s;
}
#page_top:hover{
	transform: scale(.92);
}
@media print, screen and (min-width: 768px){
	.footer_inner{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
}
@media screen and (max-width: 767px){
	body:is(#vision, #policy, #message) #footer{
		margin-top: min(20vw, 6em);
	}
	#page_top{
		right: calc(50% - 30px);
	}
	#footer_nav{
		margin-top: 2em;
		padding-top: 2em;
		border-top: 1px solid #919191;
	}
}

/*--------------------------------------------
index.php
--------------------------------------------*/
.post_entry_item{
	position: relative;
	padding: 2em min(5vw, 2rem);
	border-bottom: 1px solid #919191;
}
.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;
	justify-content: center;
	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: 44px;
	height: 44px;
	margin: .5em;
	color: #fff;
	border-radius: 1em;
}
.page-numbers.dots{
	background-color: #919191;
}
span.page-numbers,
span.post-page-numbers{
	background-color: #919191;
}
a.page-numbers,
a.post-page-numbers{
	text-decoration: none;
	background-color: #45518E;
}
a.page-numbers:hover,
a.post-page-numbers:hover{
	background-color: #919191;
}
a.page-numbers.prev,
a.page-numbers.next{
	position: relative;
	color: transparent;
}
a.page-numbers.prev::before,
a.page-numbers.prev::after,
a.page-numbers.next::before,
a.page-numbers.next::after{
	position: absolute;
	top: 50%;
	content: "";
}
a.page-numbers.prev::before,
a.page-numbers.next::before{
	left: 50%;
	width: 18px;
	height: 2px;
	background-color: #fff;
	transform: translate(-50%, -50%);
}
a.page-numbers.prev::after,
a.page-numbers.next::after{
	width: 9px;
	height: 9px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: center;
	transition: border .2s;
}
a.page-numbers.prev::after{
	left: calc(50% - 8px);
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
}
a.page-numbers.next::after{
	left: calc(50% - 2px);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

/*--------------------------------------------
sidebar.php
--------------------------------------------*/

/*--------------------------------------------
single.php
--------------------------------------------*/
.single_main{
	padding: max(5vw, 1em) 5vw max(5vw, 2em);
	border-radius: 2em;
	box-shadow: 0 0 20px rgba(0,0,0,.2);
}
.single_title{
	padding-bottom: .5em;
	font-size: clamp(1rem, 5.5vw, 1.6em);
	border-bottom: 1px solid #ddd;
}
.single_date_wrap{
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	z-index: 1;
}
body.single .single_date_wrap{
	justify-content: flex-end;
}
.single_date{
/*	margin-left: .5em;*/
	color: #919191;
}
body.single-post .single_date{
	margin-left: 1em;
}

/* カテゴリー */
.single_category_anchor{
    display: inline-block;
    text-align: center;
    padding: .2em 1.75em;
	line-height: 1.4;
	text-decoration: none;
	font-size: .75em;
	color: #333;
    background-color: #faac46;
	border-radius: 50px;
}
.front_topics_list .single_category_anchor{
/*	margin-bottom: .2em;*/
	transform: translateY(-.2em);
}
.single_category_anchor:hover{
	background-color: #FFCA75;
}
.front_topics_list .single_category_anchor,
.post_entry_list .single_category_anchor{
	margin-left: 1em;
}
/* タグ */
.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: min(5vw, 2em);
	text-align: left;
	background-color: #f8f8f8;
	border: 1px solid #e8e8e8;
}
#comments p{
	margin-top: .5em;
}
#comments_title{
	margin-bottom: .5em;
	padding-bottom: .5em;
	font-weight: 700;
	border-bottom: 1px solid #ef8200;
}
#commentform label[for="comment"]{
	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{
	display: flex;
	line-height: 1.4;
	font-size: .85em;
}
.post_link_wrap a{
	position: relative;
	display: block;
	margin-top: .5em;
	padding: .5em 0;
	text-decoration: none;
	transition: color .2s;
}
.post_link_wrap a[rel="prev"]{
	padding-left: calc(.5em + 18px);
}
.post_link_wrap a[rel="prev"]::before,
.post_link_wrap a[rel="prev"]::after,
.post_link_wrap a[rel="next"]::before,
.post_link_wrap a[rel="next"]::after{
	position: absolute;
	top: 50%;
	content: "";
	transition: border-color .2s, background-color .2s;
}
.post_link_wrap a[rel="prev"]::before,
.post_link_wrap a[rel="prev"]::after{
	left: 0;
}
.post_link_wrap a[rel="next"]::before,
.post_link_wrap a[rel="next"]::after{
	right: 0;
}
.post_link_wrap a[rel="prev"]::before,
.post_link_wrap a[rel="next"]::before{
	width: 18px;
	height: 2px;
	background-color: #0d51ab;
	transition: background .2s;
	transform: translateY(-50%);
}
.post_link_wrap a[rel="prev"]::after,
.post_link_wrap a[rel="next"]::after{
	width: 9px;
	height: 9px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: center;
	transition: border .2s;
}
.post_link_wrap a[rel="prev"]::after{
	border-bottom: 2px solid #0d51ab;
	border-left: 2px solid #0d51ab;
	transition: border-color .2s;
}
.post_link_wrap a[rel="next"]{
	margin-left: auto;
	padding-right: calc(.5em + 18px);
}
.post_link_wrap a[rel="next"]::after{
	border-top: 2px solid #0d51ab;
	border-right: 2px solid #0d51ab;
}
.post_link_wrap a:hover{
	color: #e55800;
}
.post_link_wrap a:hover::before{
	background-color: #e55800;
}
.post_link_wrap a:hover::after{
	border-color: #e55800;
}

/*--------------------------------------------
投稿
--------------------------------------------*/
@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{
	position: relative;
	padding-top: .6em;
	padding-left: 10vw;
	line-height: 1.2;
	letter-spacing: .05em;
	font-size: min(8.8vw, 3.2em);
	font-weight: 800;
	z-index: 1;
}
#page_title::after{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 30vw;
	height: 1.8em;
	background-color: #faac46;
	border-radius: 0 5px 5px 0;
	z-index: -1;
}
.page_title_jp{
	display: block;
	margin-left: .25em;
	font-weight: 900;
	font-size: .42em;
}
.page_title_jp::before{
	display: inline-block;
	content: "";
	margin-right: .5em;
	width: .4em;
	height: .4em;
	border: 3px solid;
	border-radius: 1em;
}
.page_main,
.single_main{
	margin-top: min(5vw, 5em);
}
@media print, screen and (min-width: 768px){
	body:not(#home){
		margin-top: calc(80px + 1rem);
	}
	#page_title{
		padding-top: 1em;
		font-size: min(5.6vw, 3.5em);
	}
	#page_title::after{
		width: 20vw;
	}
	.page_title_jp{
		font-size: .23em;
	}
}
@media screen and (max-width: 767px){
	#page_title{
		margin-top: 1em;
	}
}

/* パンくずリスト */
#breadcrumb_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: .25em;
	margin-left: 5vw;
	margin-right: 5vw;
	line-height: 1.2;
	color: #2e2e2e;
}
.breadcrumb_item{
	margin-top: .5em;
	margin-bottom: .5em;
	font-size: .8em;
}
.breadcrumb_item:nth-last-of-type(n+2)::after{
	content: "\3E";
	margin-left: 1em;
	margin-right: 1em;
	display: inline-block;
	color: #555;
	transform: scaleY(1.4);
}
.breadcrumb_item a{
	color: #555;
}

/* コンテンツタイトル */
.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{
	padding: .5em min(5vw, 2rem);
	line-height: 1.4;
	font-size: min(4.6vw, 1.25em);
	background-color: #eee;
}
.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;
}

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

/*--------------------------------------------
プロフィール
--------------------------------------------*/
.profile_top_wrap{
	position: relative;
	padding: max(5vw, 3em) 5vw 5vw;
	background-color: #fff;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
	border-radius: 2em;
	z-index: 1;
}
figure.profile_top_img_wrap{
	margin: 0;
	text-align: center;
}
.profile_top_img_wrap img{
	max-width: min(65vw, 100%);
}
.profile_name{
	font-size: 2em;
}
.profile_name_en{
	margin-left: 1em;
	font-size: .5em;
}
.profile_career_title{
	margin-top: 1.5em;
	padding-left: .5em;
	border-left: 3px solid #e55800;
}
.profile_career_table td{
	min-width: 8em;
}
.profile_career_table td:first-child{
	font-size: .8em;
	color: #919191;
}
@media print, screen and (min-width: 768px){
}
@media screen and (max-width: 600px){
	.profile_name{
		margin-top: .5em;
	}
	.profile_career_table td{
		display: block;
		width: 100%;
	}
	.profile_career_table td:first-child{
		padding-bottom: 0;
	}
	.profile_career_table td:nth-of-type(2){
		padding-top: 0;
	}
}
/* 歩み */
.profile_career_wrap{
	position: relative;
	padding-top: max(10vw, 6em);
	padding-bottom: max(10vw, 6em);
	background-color: #f6f6f6;
}
.profile_career_wrap::before{
	position: absolute;
	top: -99px;
	left: 0;
	content: "";
	width: 100%;
	height: 100px;
	background-color: #f6f6f6;
}
.profile_career_inner{
	position: relative;
	overflow: hidden;
}
.profile_career_active_line{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 4px;
	background-color: #e55800;
	z-index: 1;
}
.profile_career_list{
	position: relative;
	border-left: 4px solid #dadada;
}
.profile_career_list dt{
	padding-left: 1.5rem;
	font-weight: 700;
	font-size: 1.5em;
	color: #333;
	opacity: .2;
	transition: color .3s, opacity .3s;
}
.profile_career_list dt.on{
	color: #e55800;
	opacity: 1;
}
.profile_career_list dd{
	opacity: .4;
	transition: opacity .3s;
}
.profile_career_list dt.on+dd{
	opacity: 1;
}
.profile_career_list :is(dt, dd):nth-last-of-type(n+2){
	margin-bottom: max(6vw, 4rem);
}
.profile_career_list_img{
	width: 50%;
}
@media print, screen and (min-width: 768px){
	.profile_top_wrap > .wp-block-group__inner-container{
		display: flex;
		justify-content: space-between;
	}
	.profile_top_img_wrap{
		flex: 0 0 35%;
	}
	.profile_top_text_wrap{
		flex: 0 0 60%;
	}
	.profile_career_list{
		display: flex;
		flex-wrap: wrap;
	}
	.profile_career_list dt{
		flex: 0 0 14em;
	}
	.profile_career_list dd{
		flex: 0 0 calc(100% - 21em);
	}
}
@media screen and (max-width: 767px){
	.profile_career_wrap{
		padding-bottom: max(10vw, 4em);
	}
	.profile_career_list dt:nth-last-of-type(n+2){
		margin-bottom: .5em;
	}
	.profile_career_list dd{
		padding-left: 1.5rem;
	}
	.profile_career_list dd:nth-last-of-type(n+2){
		margin-bottom: 3em;
	}
	.profile_career_list_img{
		width: 100%;
	}
}

/* イメージ */
.profile_image_wrap{
	padding-top: max(10vw, 6em);
	padding-bottom: max(10vw, 6em);
	text-align: center;
	background-color: #fcf9f0;
}
.profile_image_wrap > .wp-block-group__inner-container{
	width: min(90%, 70rem);
	margin-left: auto;
	margin-right: auto;
}
.profile_image_title{
	font-size: 1.5em;
	color: #e55800;
}
.profile_image_bottom img{
	border-radius: 2em;
}
@media screen and (max-width: 767px){
	.profile_image_wrap{
	padding-top: max(10vw, 3em);
	}
}

/*--------------------------------------------
展望・構想
--------------------------------------------*/
.vision_catchphrase{
	padding: max(5vw, 2em) 5vw;
	line-height: 1.6;
	letter-spacing: .1em;
	font-weight: 700;
	font-size: min(4.8vw, 1.8em);
	color: #1b1d22;
	background-color: #ffebde;
}
.vision_sec_item{
	font-family: 'Noto Serif JP', serif;
}
.vision_sec_item:nth-of-type(n+2){
	margin-top: clamp(4em, 10vw, 8em);
}
body#vision .page_main{
	counter-reset: number;
}
.vision_sec_title{
	position: relative;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 1.5em;
	counter-increment: number;
}
.vision_sec_title::before{
	position: absolute;
	content: counter(number);
	font-size: 2.5em;
	font-weight: 700;
	font-family: "Roboto Condensed", sans-serif;
	color: #45518E;
	line-height: 1;
}
.vision_sec_title::after{
	position: absolute;
	content: "";
	background-color: #45518E
}
.vision_sec_item:nth-of-type(even) .vision_sec_title::before{
	color: #e55800;
}
.vision_sec_item:nth-of-type(even) .vision_sec_title::after{
	background-color: #e55800;
}
.vision_sec_img{
	width: 100%;
	height: max(180px, 20vw);
	margin-top: 2em;
	background: url("../img/vision-part-01.jpg") center / cover no-repeat;
	border-radius: 2em;
}
.vision_sec_item:nth-of-type(2) .vision_sec_img{
	background-image: url("../img/vision-part-02.jpg");
}
.vision_sec_item:nth-of-type(3) .vision_sec_img{
	background-image: url("../img/vision-part-03.jpg");
}
.vision_sec_item:nth-of-type(4) .vision_sec_img{
	background-image: url("../img/vision-part-04.jpg");
}
@media print, screen and (min-width: 768px){
	.vision_sec_title{
		padding-left: 2.25em;
	}
	.vision_sec_title::before{
		top: -.26em;
		left: 0;
	}
	.vision_sec_title::after{
		top: .45em;
		left: 1.75em;
		width: 3px;
		height: 1em;
	}
}
@media screen and (max-width: 767px){
	.vision_sec_title{
		padding-top: 3em;
		font-size: min(5.2vw, 1.5em);
		text-align: center;
	}
	.vision_sec_title::before{
		top: 0;
		left: 0;
		width: 100%;
	}
	.vision_sec_title::after{
		top: 2.5em;
		left: calc(50% - 13px);
		width: 26px;
		height: 3px;
	}
}

.page_footer_link_wrap{
	display: flex;
	margin-top: min(20vw, 5em);
}
.page_footer_link_anchor{
	flex: 0 0 50%;
	position: relative;
	display: block;
	padding: max(6vw, 1em) 5vw;
	text-decoration: none;
	font-size: min(5.6vw, 3.2em);
	color: #fff;
	background: url(../img/front-vision.jpg) center / cover no-repeat;
	z-index: 1;
}
.page_footer_link_anchor.item_policy{
	background-image: url("../img/front-policy.jpg");
}
.page_footer_link_anchor.item_message{
	background-image: url("../img/front-message.jpg");
}
.page_footer_link_anchor::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .6;
	z-index: -1;
	transition: opacity .2s;
}
.page_footer_link_anchor::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .6;
	z-index: -1;
	transition: opacity .2s;
}
.page_footer_link_anchor:hover::before{
	opacity: .2;
}
@media print, screen and (min-width: 768px){
/*	.page_footer_link_anchor{
		font-size: min(5.6vw, 3.5em);
	}*/
}

/*--------------------------------------------
政策
--------------------------------------------*/
.policy_toc_wrap{
	line-height: 1.4;
}
.policy_toc_wrap a{
	text-decoration: none;
}
.policy_toc_wrap a:hover{
	text-decoration: underline;
}
.policy_toc_title{
	padding: .5em 2rem;
	font-size: 1.2em;
	color: #2e2e2e;
	background-color: #eee;
}
.policy_toc_large{
	padding: 1.5rem 1rem;
	background-color: #f6f6f6;
}
.policy_toc_large_title{
	display: block;
	font-weight: 700;
	font-size: min(5vw, 1.6em);
	color: #2e2e2e;
}
@media print, screen and (min-width: 768px){
	.policy_toc_large{
		display: flex;
	}
	.policy_toc_large > li{
		flex: 0 0 50%;
		padding: 0 1rem;
	}
	.policy_toc_large > li:first-child{
		border-right: 1px solid #c0c0c0;
	}
	.policy_toc_large_title{
		font-size: min(2.7vw, 1.6em);
	}
}
@media screen and (max-width: 767px){
	.policy_toc_large > li:first-child{
		margin-bottom: 1em;
		border-bottom: 1px solid #c0c0c0;
	}
}
.policy_toc_large_title_num{
	position: relative;
	letter-spacing: .25em;
	text-indent: .25em;
	font-size: max(.9rem, .6em);
}
.policy_toc_large_title_num::before,
.policy_toc_large_title_num::after{
	position: absolute;
	top: .75em;
	content: "";
	width: 1em;
	height: 1px;
	background-color: #2e2e2e;
}
.policy_toc_large_title_num::before{
	left: -1.25em;
}
.policy_toc_large_title_num::after{
	right: -1.25em;
}
.policy_toc_medium{
	margin-top: 2em;
	counter-reset: mediumNum;
}
.policy_toc_medium_title{
	position: relative;
	display: block;
	padding: .5em 1em .5em 2.25em;
	font-weight: 700;
	color: #1b1d22;
	border-left: 2px solid #e55800;
	background-color: #eee;
}
.policy_toc_medium_title::before{
	position: absolute;
	top: .5em;
	left: 1rem;
	color: #e55800;
	counter-increment: mediumNum;
	content: counter(mediumNum);
}
.policy_toc_small{
	font-size: .95rem;
	counter-reset: smallNum;
}
.policy_toc_small > li{
	margin-top: 1em;
}
.policy_toc_small_title{
	position: relative;
	padding-left: 2em;
	font-weight: 600;
}
.policy_toc_small_title::before{
	position: absolute;
/*	top: 0;*/
	left: 0;
	counter-increment: smallNum;
	content: "(" counter(smallNum) ")";
}
.policy_toc_small a,
.policy_toc_little a{
	color: #333;
}
.policy_toc_little{
	margin: 1em 0 1.75rem .6rem;
	padding-left: 1em;
	font-size: .85rem;
	font-weight: 400;
	border-left: 1px solid #c0c0c0;
}
.policy_toc_little > li > a{
	position: relative;
	display: inline-block;
	margin-top: .5em;
	padding-left: 1.25em;
}
.policy_toc_little > li > a::before{
	position: absolute;
	top: 0;
	left: 0;
}
.policy_toc_little > li:first-child > a::before{
	content: "\2460";
}
.policy_toc_little > li:nth-child(2) > a::before{
	content: "\2461";
}
.policy_toc_little > li:nth-child(3) > a::before{
	content: "\2462";
}
.policy_toc_little > li:nth-child(4) > a::before{
	content: "\2463";
}
.policy_toc_little > li:nth-child(5) > a::before{
	content: "\2464";
}

/* 政策本文 */
.policy_main_wrap{
	padding-top: max(10vw, 6em);
	display: flex;
}
.policy_main_nav{
	flex: 0 0 min(33vw, 30em);
	postion: -webkit-sticky;
	position: sticky;
	top: calc(80px + 1rem);
	height: calc(100vh - 2rem - 80px);
	font-size: .9em;
	padding: 2em 1em 2em 2em;
	background-color: #f6f6f6;
	border-radius: 0 1em 1em 0;
	transition: height .5s, top .5s;
}
.nav_hide .policy_main_nav{
	top: 1rem;
	height: calc(100vh - 2rem);
}
.policy_main_nav_inner{
	max-height: 100%;
	padding-right: 1em;
	overflow-y: auto;
	scrollbar-color: #ccc #f6f6f6;
}
.policy_main_nav_title{
	display: block;
	padding-bottom: .25em;
	color: #2e2e2e;
	border-bottom: 1px solid #e55800;
}
.policy_main_nav a{
	text-decoration: none;
}
.policy_main_nav a:hover{
	text-decoration: underline;
}
.policy_main_nav_title .policy_toc_large_title_num{
	font-size: 1em;
}
.policy_main_text{
	padding: 0 5vw;
	font-size: clamp(.85rem, 4vw, 1rem);
}

.policy_large_title{
	position: relative;
	margin-bottom: 2em;
	line-height: 1.6;
	font-size: min(6.2vw, 2.5em);
	text-shadow: 5px 5px 8px rgba(0,0,0,.4);
	-webkit-text-stroke: 2px #fff;
	text-stroke: 2px #fff;
	paint-order: stroke fill;
}
.policy_large_title::before{
	position: absolute;
	top: -1.5em;
	right: 0;
	content: "";
	width: 100%;
	height: min(50vw, 290px);
	background-position: center;
	background-size: auto 100%;
	background-repeat: no-repeat;
	z-index: -1;
}
#sec-1.policy_large_title::before{
	background-image: url(../img/policy-part-01.png);
}
#sec-2.policy_large_title::before{
	background-image: url(../img/policy-part-02.png);
}
@media print, screen and (min-width: 1024px){
	.policy_large_title{
		font-size: min(3vw, 2.5em);
	}
	.policy_large_title::before{
		background-position: center right;
	}
}
.policy_large_title_num{
	position: relative;
	display: inline-block;
	margin-bottom: .25em;
	text-indent: .25em;
	letter-spacing: .25em;
	font-size: .9em;
}
.policy_large_title_num::before,
.policy_large_title_num::after{
	position: absolute;
	top: .8em;
	content: "";
	width: 2em;
	height: 1px;
	background-color: #2e2e2e;
}
.policy_large_title_num::before{
	left: -2.25em;
}
.policy_large_title_num::after{
	right: -2.25em;
}

.policy_medium{
	counter-reset: mediumMainNum;
}
.policy_medium_title{
	position: relative;
	display: block;
	margin-bottom: 1em;
	padding: .5em 1em .5em 2.25em;
	line-height: 1.4;
	font-size: 1.2em;
	border-left: 2px solid #e55800;
	background-color: #eee;
}
.policy_medium_title::before{
	position: absolute;
	top: .5em;
	left: 1rem;
	color: #e55800;
	counter-increment: mediumMainNum;
	content: counter(mediumMainNum);
}

.policy_small{
	counter-reset: smallMainNum;
}
.policy_small_title{
	position: relative;
	margin-top: 2em;
	margin-bottom: 1.25em;
	padding-left: 2em;
	padding-bottom: .25em;
	line-height: 1.4;
	font-size: 1.2em;
	border-bottom: 1px solid #e55800;
}
.policy_small_title::before{
	position: absolute;
	left: 0;
	counter-increment: smallMainNum;
	content: "(" counter(smallMainNum) ")";
}
.policy_little_title{
	margin-top: 3em;
	margin-bottom: 1.5em;
	padding: .75em;
	line-height: 1.4;
	font-weight: 500;
	background-color: #ffddc8;
	border-radius: 5px;
}

.policy_tiny{
	counter-reset: tinyNum;
}
.policy_tiny_title{
	margin-top: 2.5em;
	color: #45518E;
}
.policy_tiny_title::before{
	counter-increment: tinyNum;
	content: counter(tinyNum, lower-alpha) "\3010";
}
.policy_tiny_title::after{
	content: "\3011";
}
.text_wrap .policy_tiny_title + p{
	margin-top: .5em;
}

/* 追従ハイライト */
.policy_main_nav a.current{
	text-decoration: underline;
}
.policy_main_nav .policy_toc_medium a.current{
	color: #e55800;
}
/*.policy_main_nav .policy_toc_small > li{
	opacity: .4;
}
.policy_toc_small > li:has(> a.current),
li:has( > .policy_toc_little > li > a.current){
	opacity: 1;
}*/

/*--------------------------------------------
メッセージ
--------------------------------------------*/
.message_toc{
	padding-bottom: min(5vw, 4.5em);
	margin-bottom: min(10vw, 5em);
	border-bottom: 1px solid #919191;
}
.message_toc_item{
	margin-bottom: .5em;
	font-size: min(3.4vw, 1rem);
}
@media print, screen and (min-width: 768px){
	.message_toc{
		display: flex;
		justify-content: space-between;
	}
	.message_toc_item{
		flex: 0 0 auto;
		font-size: min(2vw, 1rem);
		width: calc(100%/3 - 1em);
	}
}
.message_toc_anchor{
	display: block;
	padding: 1em;
	text-decoration: none;
	color: #0d51ab;
	background-color: #ebebeb;
	transition: background .2s, box-shadow .4s; 
}
.message_toc_anchor::after{
	content: "";
	display: inline-block;
	margin-left: .5em;
	margin-bottom: .2em;
	border-style: solid;
	border-width: 6px 3px 0 3px;
	border-color: #0d51ab transparent transparent transparent;
}
.message_toc_anchor:hover{
	background-color: #fff;
	box-shadow: 0 0 15px rgba(13,81,171,.3);
}
.mv_wrap{
	position: relative;
/*	width: min(100%, 1000px);
	margin-left: auto;
	margin-right: auto;*/
	padding: calc(min(5vw, 2em) + 8px);
}
.mv_wrap::before,
.mv_wrap::after{
	position: absolute;
	bottom: 0;
	content: "";
	width: min(15vw, 120px);
	height: min(15vw, 120px);
	border-bottom: min(1.5vw, 8px) solid #e55800;
}
.mv_wrap::before{
	left: 0;
	border-left: min(1.5vw, 8px) solid #e55800;
	border-bottom-left-radius: 20px;
}
.mv_wrap::after{
	right: 0;
	border-right: min(1.5vw, 8px) solid #e55800;
	border-bottom-right-radius: 20px;
}
.mv_wrap:nth-of-type(even)::before,
.mv_wrap:nth-of-type(even)::after{
	border-color: #45518E;
}
.mv_item_title{
	position: absolute;
	top: -.9em;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: min(4.5vw, 1.5em);
	color: #e55800;
	z-index: 2;
}
.mv_item_title::before{
	position: absolute;
	top: .9em;
	left: 0;
	content: "";
	width: calc(100% - min(1.5vw, 8px)*2);
	height: min(15vw, 120px);
	border-top: min(1.5vw, 8px) solid #e55800;
	border-left: min(1.5vw, 8px) solid #e55800;
	border-right: min(1.5vw, 8px) solid #e55800;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	z-index: -2;
}
.mv_item_title::after{
	position: absolute;
	top: 0;
	left: 50%;
	content: "";
	width: 8em;
	height: 100%;
	background-color: #fff;
	transform: translateX(-50%);
	z-index: -1;
}
.mv_wrap:nth-of-type(even) .mv_item_title{
	color: #45518E;
}
.mv_wrap:nth-of-type(even) .mv_item_title::before{
	border-color: #45518E;
}
.mv_wrap:nth-of-type(even) .mv_item_title::after{
	width: 12em;
}
.mv_item{
	display: block;
	max-width: 100%;
}
#mv-memories .mv_item{
	padding-left: min(266px, 10vw);
	padding-right: min(266px, 10vw);
	background-color: #000;
}
@media print, screen and (min-width: 768px){
	#mv-memories .mv_item{
		padding-left: min(266px, 20vw);
		padding-right: min(266px, 20vw);
	}
}

/*--------------------------------------------
サイトマップ
--------------------------------------------*/
.sitemap_page_wrap{
	line-height: 1.4;
	font-size: .9em;
}
.sitemap_list_item:nth-of-type(n+2){
	margin-top: .5em;
}
.sitemap_list_anchor{
	display: inline-block;
	padding-top: .5em;
	padding-bottom: .5em;
	text-decoration: none;
}
.sitemap_list_anchor:hover{
	text-decoration: underline;
}
@media print, screen and (min-width: 768px){
	.sitemap_page_wrap{
		display: flex;
		flex-wrap: wrap;
	}
	.sitemap_list:nth-last-of-type(n+2){
		margin-right: 4em;
		padding-right: 4em;
		border-right: 1px solid #d9d9d9;
	}
}
@media screen and (max-width: 767px){
	.sitemap_list:nth-of-type(n+2){
		margin-top: 1.5em;
		padding-top: 1.5em;
		border-top: 1px solid #d9d9d9;
	}
}

/*--------------------------------------------
プライバシーポリシー
--------------------------------------------*/
.page_main{
	counter-reset: olNum;
}
.title_ol{
	position: relative;
	margin-top: 3em;
	padding-left: 1.5em;
	font-size: 1.25em;
}
.title_ol::before{
	position: absolute;
	left: 0;
	counter-increment: olNum;
	content: counter(olNum) ".";
}