@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;
	letter-spacing: .1em;
	font-weight: 400;
	font-size: clamp(.88rem, 3vw, 1rem);
}
main{
	text-align: justify;
}
main, /* IE対策 */
iframe{
	display: block;
}
iframe{
	max-width: 100%;
}
img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a{
	color: #003366;
}
a:hover{
	text-decoration: none;
}
:focus-visible{
	outline: -webkit-focus-ring-color auto 1px;
}
.text_wrap a[target="_blank"]:not(:has(img)){
	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))::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;
}
.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;
	}
	.line_height_pc{
		line-height: 2.4;
	}
}
@media screen and (max-width: 767px){
	.switch_pc_2{
		display: none !important;
	}
}
.margin_top{
	margin-top: clamp(2em, 10vw, 3em) !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_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_4{
	padding-top: 4em !important;
}
.padding_left{
	padding-left: 1em;
}

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

.letter_spacing_1{
	letter-spacing: .1em;
}
.letter_spacing_2{
	letter-spacing: .2em;
}

/*.border_bottom{
	border-bottom: 1px solid #003366;
}*/
img.img_border,
.is-style-img_border img{
	box-shadow: 0 0 0 1px #ccc;
}

.clearfix::after{
	content: "";
	display: block;
	clear: both;
}

/*--------------------------------------------
WordPress
--------------------------------------------*/
.wp-caption{
    margin: auto;
    text-align: center;
    max-width: 100%;
}
.wp-caption-text{
    display: inline-block;
    text-align: left;
    margin: .5em 0 0;
}
.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;
}

/*--------------------------------------------
共通設定
--------------------------------------------*/
.inner_width_600{
	width: min(90%, 600px);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_800{
	width: min(90%, 800px);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1000{
	width: min(90%, 1000px) !important;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1200{
	width: min(90%, 1200px);
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1500{
	width: min(90%, 1500px);
	margin-left: auto;
	margin-right: auto;
}
.width_600{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.width_800{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.width_1000{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.width_1200{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.width_1500{
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}

.link_button{
	position: relative;
	display: inline-block;
	padding: .8em calc(1em + 35px);
	min-width: min(80vw, 250px);
	line-height: 1.4;
	letter-spacing: .2em;
	text-align: center;
	text-decoration: none;
	font-family: 'Noto Serif JP', serif;
	color: #fff;
	background-color: #003366;
	border: 1px solid #003366;
	border-radius: 100px;
	transition: color .3s, background .3s;
}
.link_button:hover{
	color: #003366;
	background-color: #fff;
}
.link_button::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	width: 35px;
	height: 1px;
	background-color: #fff;
	transition: transform .3s, background .3s;
}
.link_button:hover::after{
	transform: translateX(50%);
	background-color: #003366;
}
.link_button_re{
	position: relative;
	display: inline-block;
	padding: .8em calc(1em + 35px);
	min-width: min(80vw, 250px);
	line-height: 1.4;
	letter-spacing: .2em;
	text-align: center;
	text-decoration: none;
	font-family: 'Noto Serif JP', serif;
	color: #003366;
	background-color: #fff;
	border: 1px solid #003366;
	border-radius: 100px;
	transition: color .3s, background .3s;
}
.link_button_re::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	width: 35px;
	height: 1px;
	background-color: #003366;
	transition: transform .3s;
}
.link_button_re:hover{
	color: #fff;
	background-color: #003366;
}
.link_button_re:hover::after{
	background-color: #fff;
	transform: translateX(50%);
}
.link_button_re .font_small{
	letter-spacing: 0;
}

.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;
}

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

.text_wrap ul:not([class]),
.text_wrap ol:not([class]),
.text_wrap.ol{
	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,
ol.ol{
	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{
	position: relative;
	padding-left: 1.4em;
}
ul.is-style-default > li,
ol.is-style-default > li,
.ul > 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{
	position: absolute;
	top: .75em;
	left: .4em;
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: #003366;
}
.text_wrap ol:not([class]),
ol.is-style-default,
ol.is-style-list_mt,
ol.ol{
	list-style-type: decimal;
}
ul.has-background,
ol.has-background{
	padding-left: 1.2em;
	padding-right: 1.2em;
}

ol.roman_list{
/*	margin-left: 1.5em;*/
/*	list-style-type: lower-roman;*/
	list-style-type: none;
	counter-reset: romanNumber;
}
ol.roman_list > li{
	position: relative;
	margin-top: 1em;
	margin-left: 2em;
}
ol.roman_list > li::before{
	position: absolute;
	top: 0;
	left: -2em;
	counter-increment: romanNumber;
	content: counter(romanNumber, lower-roman) "）";
}

/*.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 #003366;
}*/

.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;
}

/* table */
.is-style-regular td{
	padding: .2em 1rem;
	border-width: 1px;
	border-style: solid;
}
.table_two_tone_column,
.is-style-table_two_tone_column table,
.table_two_tone_row,
.is-style-table_two_tone_row table{
	width: auto !important;
	background-color: #f4f4f4;
}
.wp-block-table td, .wp-block-table th,
.table_two_tone_column td, .table_two_tone_column th,
.is-style-table_two_tone_column td, .is-style-table_two_tone_column th,
.table_two_tone_row td, .table_two_tone_row th,
.is-style-table_two_tone_row td, .is-style-table_two_tone_row th{
	padding: .6em 1rem;
}
.table_two_tone_column th, .table_two_tone_column td,
.is-style-table_two_tone_column th, .is-style-table_two_tone_column td,
.table_two_tone_row th, .table_two_tone_row td,
.is-style-table_two_tone_row th, .is-style-table_two_tone_row td{
	border: 2px solid #fff;
}
.table_two_tone_column th,
.is-style-table_two_tone_column tr td:first-of-type,
.table_two_tone_row th,
.is-style-table_two_tone_row tr:first-of-type{
    background-color: #003366;
	color: #fff;
	font-weight: 700;
}

table.table_simple,
.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;
}

.wp-element-caption{
	font-size: .9em;
}

.wp-block-table.width_auto table{
	width: auto;
}

.table_border_no_width_3 td, .is-style-table_border_no th{
	border: none;
	padding: 0;
}
.table_border_no_width_3 tr td:first-of-type{
	width: 5.2em;
}
.table_th_width_4 tr td:first-of-type{
	width: 6.2em;
}
.table_th_width_5 tr td:first-of-type{
	width: 7.2em;
}

/*--------------------------------------------
header.php
--------------------------------------------*/
#header{
	position: relative;
	padding-top: clamp(1rem, 3vw, 1.5rem);
	padding-left: clamp(1rem, 3vw, 1.5rem);
	display: flex;
	background-color: #fff;
}
.sc_down #header{
}
.site_name{
	width: 290px;
	max-width: calc(100% - 60px - 1rem);
	transition: width .3s;
}
/*.sc_down .site_name{
	width: 200px;
}*/
.site_name_anchor{
	text-decoration: none;
	transition: opacity .2s;
}
.site_name_anchor:hover{
	opacity: .5;
}
#header_nav a{
	position: relative;
	display: block;
	line-height: 1.4;
	text-decoration: none;
	color: #333;
}
#header_nav > li > a{
	position: relative;
}
#header_nav > li > a::before{
	position: absolute;
	content: "";
	display: block;
	background-color: #0199f1;
}

@media print, screen and (min-width: 1024px){
	#header{
		justify-content: space-between;
		padding-right: 5vw;
	}
	.site_name{
		flex: 0 0 auto;
	}
	#nav{
		margin-top: calc(.5em + 35px);
		margin-bottom: 2em;
		writing-mode: vertical-rl;
	}
	#header_nav{
		display: flex;
		flex-direction: column-reverse;
	}
	#header_nav a{
		padding: 1rem;
	}
	#header_nav > li > a::before{
		top: calc(-.5em - 35px);
		left: 50%;
		width: 2px;
		height: 0;
		transition: height .3s;
	}
	#header_nav > li.current-menu-item > a::before,
	#header_nav > li:hover > a::before,
	#header_nav > li.current-menu-parent > a::before{
		height: 35px;
	}
	#header_nav a:hover,
	#header_nav li:hover > a{
		color: #0199f1;
	}
	/* 副項目 */
	.menu-item-has-children{
		position: relative;
	}
	.sub-menu{
		display: none;
		position: absolute;
		top: 100%;
		left: 50%;
		padding-left: 1em;
		padding-right: 1em;
		height: 15.2em;
		background-color: rgba(248,247,246,.9);
		box-shadow: 0 6px 8px -2px rgba(0,0,0,.15);
		transform: translate(-50%, 10px);
		transition: transform .5s;
		z-index: 101;
	}
	#header_nav .sub-menu a{
		padding: 1.5em 1em;
	}
	.sub-menu a:hover,
	.sub-menu .current-menu-item a{
		background-color: #fff;
	}
}
@media screen and (max-width: 1023px){
	body:not(#home) #header{
		padding-bottom: clamp(2rem, 3vw, 1.5rem);
	}
	body#home #header{
		height: max(30vh, 160px);
	}
	#header_nav_btn_wrap{
		position: fixed;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		z-index: 100;
	}
	#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: #003366;
		transition: all .3s ease-in-out;
	}
	#header.nav_open .header_nav_btn{
		background-color: #fff;
	}
	#header_nav_btn1{
		top: calc(50% - 11px);
	}
	#header_nav_btn2{
		top: calc(50% - 1px);
	}
	#header_nav_btn3{
		top: calc(50% + 9px);
	}
	.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);
	}
	#nav{
		position: fixed;
		top: 60px;
		right: 0;
		width: min(calc(100% - 60px), 400px);
		height: calc(100% - 60px);
		padding: 1.5rem 1rem 2rem;
		background-color: #fff;
		transition: transform .5s;
		transform: translateX(100%);
		border-top-left-radius: 30px;
		z-index: 100;
		overflow-y: auto;
	}
	.nav_open #nav{
		transform: translateX(0);
	}
	#header_nav a{
		padding-left: 2em;
	}
	#header_nav > li{
		padding-top: 1em;
		padding-bottom: 1em;
	}
	#header_nav > li > a::before{
		top: .75em;
		left: .5em;
		width: .5em;
		height: 2px;
		background-color: #ccc
	}
	#header_nav .menu-item-has-children li.current-menu-item a{
		color: #0199f1;
	}
	#header_nav > li.current-menu-item > a::before,
	#header_nav > li.current-menu-parent > a::before{
		background-color: #0199f1;
	}
	#header_nav .nav_item:nth-last-of-type(n+2){
		border-bottom: 1px solid #eee;
	}
	.nav_item a{
		display: block;
	}
	/* 副項目 */
	.sub-menu{
		display: flex;
        flex-direction: column-reverse;
		font-size: .9em;
		padding-left: 1rem;
		opacity: .8;
	}
	.sub-menu > li{
		padding-top: 1.5rem;
	}
	.header_contact_title{
		margin: 1em;
		padding-bottom: .5em;
		color: #003366;
		border-bottom: 1px solid #003366;
	}
	.header_contact_tel{
		display: inline-block;
		line-height: 1;
		margin-top: 1rem;
		padding-left: 1em;
		font-size: min(8vw, 2.2rem);
		color: #003366;
		background: url("../img/icon-tel.svg") top .2em left / .8em auto no-repeat;
	}
	.header_contact_tel_anchor{
		text-decoration: none;
		border-bottom: 1px solid #003366;
	}
	.header_contact_tel_text{
		margin-top: .5em;
		font-size: .88rem;
		color: #333;
	}
}
.fixed_contact_button{
	position: fixed;
	top: 30%;
	right: 0;
	writing-mode: vertical-rl;
	z-index: 100;
}
.fixed_contact_button_anchor{
	position: relative;
	display: block;
	padding: 1.5em .8em;
	text-decoration: none;
	letter-spacing: .2em;
	color: #fff;
	background: #003366;
	border-radius: 5px 0 0 5px;
	box-shadow: 0 0 10px rgba(0,0,0,.5);
	transition: padding .3s;
}
.fixed_contact_button_anchor:hover{
	padding-right: 2em;
}
.fixed_contact_button_anchor:active{
	padding-right: 1.5em;
}
.fixed_contact_button_anchor::after{
	position: absolute;
	top: calc(50% - 6px);
	right: 1em;
	content: "";
	border-style: solid;
	border-width: 6px 0 6px 6px;
	border-color: transparent transparent transparent #ffffff;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .3s, transform .2s ease .1s;
}
.fixed_contact_button_anchor:hover::after{
	opacity: 1;
	transform: translateX(0);
}

/*--------------------------------------------
front-page.php
--------------------------------------------*/
.main_visual{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	z-index: -10;
	background: url("../img/main-visual.jpg") center bottom / cover no-repeat;
	transform: scale(1.2);
	-webkit-filter: blur(1.4rem);
	filter: blur(1.4rem);
	opacity: 0;
	transition: transform 1.4s, filter 1.4s, opacity 1.5s;
}
.main_visual.on{
	transform: scale(1);
	-webkit-filter: blur(0);
	filter: blur(0);
	opacity: 1;
}
@media screen and (max-height: 414px){
	.scroll_down{
		display: none;
	}
}
.scroll_down{
	position: fixed;
	top: calc(96dvh - calc(min(10vh,90px) + 2em));
	left: 50%;
	letter-spacing: .2em;
	text-indent: .2em;
	font-size: .75rem;
	text-shadow: 0 0 6px rgba(0,0,0,.25);
	color: #fff;
	transform: translateX(-50%);
}
.scroll_down::before{
	position: absolute;
	top: 100%;
	left: 50%;
	content: "";
	width: 1px;
	height: min(10vh,90px);
	background-color: #fff;
	animation: sdb 3s infinite;
}
.scroll_down::after{
	position: absolute;
	top: calc(100% + min(10vh,90px));
	left: calc(50% - 4px);
	content: "";
	border-style: solid;
	border-width: 10px 4px 0 4px;
	border-color: #fff transparent transparent transparent;
	animation: sda 3s infinite;
}
@keyframes sdb{
	0%{
		height: min(5vh,45px);
		opacity:0;
	}
	50%{
		opacity:1;
	}
	100%{
		height: min(10vh,90px);
		opacity:0;
	}
}
@keyframes sda{
	0%{
		transform: translateY(max(-5.1vh,-46px));
		opacity:0;
	}
	50%{
		opacity:1;
	}
	100%{
		transform: translateY(0);
		opacity:0;
	}
}
.main_visual_text_wrap{
	position: fixed;
	top: calc(290px - 1.5em);
/*	top: calc(2rem + 150px);*/
	left: 15vw;
	writing-mode: vertical-rl;
	letter-spacing: .2em;
	font-size:  max(2rem, 6vmin);
}
.main_visual_text_en{
	position: absolute;
	bottom: 100%;
	left: max(-13vw, -2em);
}
.main_visual_text_en img{
	max-width: 68vw;
}
.main_visual_text{
	line-height: 1.6;
}
.main_visual_text_sm{
	margin-right: 1em;
	padding-top: .8em;
	letter-spacing: .1em;
	font-size: max(.3em, .8rem);
}
.main_visual_text.on{
	transform: translateX(0);
	-webkit-filter: blur(0);
	filter: blur(0);
	opacity: 1;
}

/* アニメーション */
.event,
.main_visual_text_en,
.main_visual_text,
.main_visual_text_sm{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1.5s;
}
.event.on,
.main_visual_text_en.on,
.main_visual_text.on,
.main_visual_text_sm.on{
	opacity: 1;
	transform: translateY(0);
}
/*.blur_event::before{
	transform: scale(1.2);
	-webkit-filter: blur(1.4rem);
	filter: blur(1.4rem);
	transition: transform 1.4s, filter 1.4s;
}
.blur_event.on::before{
	transform: scale(1);
	-webkit-filter: blur(0);
	filter: blur(0);
}*/

.front_title{
	position: relative;
	padding-bottom: 2em;
	text-align: center;
	font-size: .75rem;
}
.front_title::after{
	position: absolute;
	bottom: 0;
	left: 50%;
	content: "";
	width: 50px;
	height: 1px;
	background-color: #333;
	transform: translateX(-50%);
}

.front_main{
	position: relative;
	margin-top: 100svh;
	background-color: #fff;
	z-index: 1;
}

/* メッセージ */
.front_message_wrap{
	padding-top: max(8vw, 4rem);
	padding-bottom: max(8vw, 4rem);
	background: url("../img/message-bg.jpg") center / cover no-repeat;
}
.front_message_inner_title{
	font-size: 1.5rem;
}
.front_message_text{
	font-size: .88rem;
}

/* コンテンツ */
.front_contents_wrap{
	padding-top: max(8vw, 4rem);
}
.front_contents_inner{
	position: relative;
	margin-top: calc(3rem + 32px);
	background-color: #003366;
}
.front_contents_about_wrap{
	padding-bottom: max(5vw, 3rem);
}
.front_contents_about_img{
	width: 80vw;
	height: 40vw;
	transform: skewX(347deg) translate(-9%, -32px);
	overflow: hidden;
}
.front_contents_about_img::before{
	position: absolute;
	top: 0;
	left: -2%;
	content: "";
	width: 100%;
	height: 100%;
	background: url("../img/contents-about-img.jpg") center / cover no-repeat;
	transform: translateX(8%) skewX(-347deg);
}
.front_contents_about_title{
	font-size: 1.5rem;
	color: #fff;
}
.front_contents_about_list{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
}
.front_contents_about_anchor{
	position: relative;
	display: block;
	padding: .8em calc(.5em + 35px);
	line-height: 1.4;
	letter-spacing: .2em;
	text-decoration: none;
	font-family: 'Noto Serif JP', serif;
	color: #333;
	background-color: #fff;
	border-radius: 100px;
	transition: background .3s;
}
.front_contents_about_anchor:hover{
	background-color: rgba(255,255,255,.75);
}
.front_contents_about_anchor::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	width: 35px;
	height: 1px;
	background-color: #333;
	transition: transform .3s;
	transform-origin: right;
}
.front_contents_about_anchor:hover::after{
	transform: scaleX(50%);
}

.front_contents_banner_wrap{
	padding-bottom: max(8vw, 4rem);
	background-image: linear-gradient(#003366 40%, #F8F7F6 0);
}
.front_contents_banner_inner{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1em;
}
.front_contents_banner{
	height: 260px;
}
.front_contents_banner_anchor{
	position: relative;
	display: flex;
	height: 100%;
	align-items: flex-end;
	padding: 1.75em;
	text-decoration: none;
	color: #333;
	background-color: #ccc;
	overflow: hidden;
}
.front_contents_banner_anchor::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	transition: transform .3s;
}
@media print, screen and (min-width: 1024px){
	.front_contents_about_wrap{
		display: flex;
		justify-content: flex-end;
	}
}
@media print, screen and (min-width: 768px){
	.front_contents_wrap{
		font-size: min(1.6vw, 1rem);
	}
	.front_contents_about_img{
		position: absolute;
		top: -32px;
		left: -3%;
		width: 38vw;
		height: 24vw;
	}
	.front_contents_about_img::before{
		left: 0;
	}
	.front_contents_about_wrap{
		padding-top: max(5vw, 3rem);
	}
	.front_contents_about_list{
		grid-template-columns: 1fr 1fr;
	}
	.front_contents_banner_inner{
		grid-template-columns: 1fr 1fr 1fr;
	}
	.front_contents_banner{
		height: min(calc(calc(1000px - 2em) / 3), calc(calc(90vw - 2em) / 3));
	}
}
@media screen and (max-width: 1023px){
	.main_visual_text_wrap{
		top: max(25vmax, 120px);
		left: 50%;
		transform: translateX(-50%);
	}
	.main_visual_text_en{
		left: auto;
		right: -3.8vw;
	}
}
@media screen and (max-width: 767px){
	.front_contents_about_list{
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
	.front_contents_banner_inner{
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.front_message_wrap{
		background-position: center right 20%;
	}
}
.front_contents_banner:nth-of-type(1) .front_contents_banner_anchor::before{
	background: url("../img/contents-banner-01.jpg") center / cover no-repeat;
}
.front_contents_banner:nth-of-type(2) .front_contents_banner_anchor::before{
	background: url("../img/contents-banner-02.jpg") center / cover no-repeat;
}
.front_contents_banner:nth-of-type(3) .front_contents_banner_anchor::before{
	background: url("../img/contents-banner-03.jpg") center / cover no-repeat;
}
.front_contents_banner_anchor:hover::before{
	transform: scale(1.1);
}
.front_contents_banner_text{
	position: relative;
	display: block;
	padding: .8em calc(.5em + 35px);
	width: 100%;
	line-height: 1.4;
	letter-spacing: .2em;
	background-color: #fff;
	border-radius: 100px;
}
.front_contents_banner_text::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	width: 35px;
	height: 1px;
	background-color: #333;
	transition: width .3s;
}
.front_contents_banner_anchor:hover .front_contents_banner_text::after{
	width: 19px;
}

/* トーエー不動産鑑定の特長 */
.front_feature_wrap{
	padding-top: max(8vw, 4rem);
	padding-bottom: max(8vw, 4rem);
	overflow: hidden;
}
.front_feature_list_item{
	margin-top: 4rem;
}
.front_feature_list_title{
	font-size: 1.5rem;
}
.front_feature_list_point{
	margin-right: 1em;
}
.front_feature_list_text{
	margin-top: 1em;
	font-size: .88rem;
}
.front_feature_inner{
	position: relative;
}
.front_feature_img_top{
	position: relative;
	width: min(80vw, 540px);
	height: min(46vw, 300px);
	transform: skewX(13deg) translateX(-8%);
	overflow: hidden;
	box-shadow: clamp(10px, 1vw, 20px) clamp(10px, 1vw, 20px) 0 0 #f2f2f2;
	z-index: -1;
}
.front_feature_img_top::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: url("../img/features-img-01.jpg") center / cover no-repeat;
	transform: translateX(7%) skewX(-13deg);
}
.front_feature_img_bottom{
	position: relative;
	width: min(80vw, 540px);
	height: min(46vw, 300px);
	margin-left: auto;
	transform: skewX(13deg) translateX(7%);
	overflow: hidden;
	box-shadow: clamp(-10px, -1vw, -20px) clamp(-10px, -1vw, -20px) 0 0 #f2f2f2;
	z-index: -1;
}
.front_feature_img_bottom::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: url("../img/features-img-02.jpg") center / cover no-repeat;
	transform: translateX(-7%) skewX(-13deg);
}
@media print, screen and (min-width: 1024px){
	.front_feature_list_item:nth-of-type(1){
		margin-left: auto;
		max-width: 33rem;
		transform: translateX(-5rem);
	}
	.front_feature_list_item:nth-of-type(2){
		margin-left: auto;
		max-width: 35rem;
	}
	.front_feature_list_item:nth-of-type(3){
		margin-left: 30%;
		width: 60%;
	}
	.front_feature_list_item:nth-of-type(4){
		margin-left: 15%;
		width: 70%;
	}
	.front_feature_list_item:nth-of-type(5){
		width: 70%;
	}
	.front_feature_list_item:nth-of-type(6){
		margin-left: 15%;
		width: 85%;
	}
	.front_feature_img_top{
		position: absolute;
		top: 5vw;
		left: -3%;
		width: 35vw;
		height: 20vw;
		transform: skewX(13deg);
	}
	.front_feature_img_bottom{
		position: absolute;
		top: 65%;
		right: -3%;
		width: 26vw;
		height: 15vw;
		transform: skewX(13deg);
	}
}
@media screen and (max-width: 1023px){
	.front_feature_img_top{
		margin-top: 2rem;
	}
	.front_feature_img_bottom{
		margin-top: 3rem;
	}
}
@media screen and (max-width: 767px){
	.front_feature_list_point{
		max-width: 30vw;
		transform: translate(-2vw, -2vw) rotate(356deg);
	}
}

/* 新着情報 */
.front_topics_wrap{
	padding-top: max(8vw, 4rem);
	padding-bottom: max(8vw, 4rem);
	background-color: #F8F7F6;
}
@media print, screen and (min-width: 768px){

}
.front_topics_list{
	line-height: 1.4;
	font-size: 1.1rem;
}
.front_topics_list_item{
	padding: 0 1em 1.3em;
	margin-bottom: 1.3em;
	border-bottom: 1px solid #333;
}
.front_topics_list_date{
	margin-bottom: 1em;
	font-size: .75em;
}
.front_topics_list_anchor{
	text-decoration: none;
	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;
}

/*--------------------------------------------
footer.php
--------------------------------------------*/
/* バナー */
.banner_wrap{
	position: relative;
	padding-bottom: 14rem;
	background-color: #fff;
	background-image: url("../img/footer-building.png");
	background-position: center bottom;
	background-repeat: repeat-x;
	z-index: 1;
}
.banner_divestment_lawyer_wrap{
	font-size: min(4.8vw, 1.4rem);
}
.banner_anchor{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 250px;
	text-decoration: none;
	color: #fff;
	overflow: hidden;
}
.banner_anchor::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	transition: transform .3s;
	z-index: -1;
}
.banner_divestment .banner_anchor::before{
	background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)),
		url("../img/banner-divestment.jpg") center / cover no-repeat;
}
.banner_lawyer .banner_anchor::before{
	background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)),
		url("../img/banner-lawyer.jpg") center / cover no-repeat;
}
.banner_anchor:hover::before{
	transform: scale(1.1);
}
.banner_button{
	position: relative;
	display: inline-block;
	margin-top: 1.2em;
	padding: .8em calc(1em + 35px);
	min-width: min(80%, 320px);
	line-height: 1.4;
	letter-spacing: .2em;
	font-size: .8em;
	border: 1px solid #fff;
	border-radius: 100px;
}
.banner_button::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	width: 35px;
	height: 1px;
	background-color: #fff;
	transition: transform .3s;
}
.banner_anchor:hover .banner_button::after{
	transform: translateX(50%);
}

.footer_contact_wrap{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 1em;
	background-color: #f8f7f6;
}
.footer_contact_wrap::before{
	position: absolute;
	top: 2rem;
	right: 50%;
	content: "";
	width: min(60vw, 260px);
	height: min(55vw, 240px);
	background: url("../img/contact-img.jpg?new") center / cover no-repeat;
}
.footer_contact_title{
	font-size: 1.6rem;
	color: #003366;
}
.footer_contact_text{
	font-size: .88rem;
}
.footer_contact_tel{
	margin-bottom: 1.5rem;
	font-size: min(8vw, 2.2rem);
	color: #003366;
	border-bottom: 1px solid #003366;
}
.footer_contact_tel_text{
	font-size: .5em;
}
.footer_contact_tel_text:nth-of-type(2){
	margin-left: .5em;
}
@media print, screen and (min-width: 768px){
	.banner_wrap{
		padding-top: max(6vw, 3rem);
	}
	.banner_divestment_lawyer_wrap{
		display: flex;
		letter-spacing: .2em;
		font-size: min(2.2vw, 1.4rem);
	}
	.banner_divestment,
	.banner_lawyer{
		flex: 0 0 auto;
		width: 50%;
	}
	.footer_contact_wrap{
		margin-left: min(30vw, 350px);
		height: 340px;
	}
	.footer_contact_wrap::before{
		top: 0;
		right: 100%;
		width: min(30vw, 350px);
		height: 100%;
	}
	.footer_contact_tel_text:nth-of-type(1){
		margin-right: 1em;
	}
}
@media screen and (max-width: 767px){
	.banner_wrap{
		background-size: auto 100px;
		padding-bottom: 8rem;
	}
	.footer_contact_wrap{
		margin-top: 2em;
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding: calc(min(55vw, 240px) + 3rem) 1rem 2.5rem;
	}
	.footer_contact_wrap::before{
		transform: translateX(50%);
	}
	.footer_contact_tel{
		margin-top: 1rem;
	}
	.footer_contact_tel_text{
		width: 100%;
		text-align: center;
	}
	.footer_contact_tel_text:nth-of-type(1){
		display: block;
	}
	.footer_contact_wrap .link_button,
	.link_button_re{
		padding: .8em calc(.5em + 20px);
	}
	.footer_contact_wrap .link_button::after,
	.link_button_re::after{
		width: 20px;
	}
}

/* フッター */
#footer{
	position: relative;
	color: #fff;
	background-color: #003366;
	z-index: 1;
}
.footer_inner{
	padding-top: max(4vw, 3rem);
	padding-bottom: max(4vw, 3rem);
}
.footer_address_wrap{
	font-size: .88rem;
}
.footer_address a{
	color: #fff;
}
#footer_nav{
	margin-top: 2.5rem;
	margin-bottom: 1.5rem;
	line-height: 1;
	font-size: .88rem;
}
#footer_nav li{
	display: inline-block;
	margin-bottom: 1.5em;
}
#footer_nav li:nth-last-of-type(n+2){
	margin-right: 1.5em;
	padding-right: 1.5em;
	border-right: 1px solid #fff;
}
#footer_nav a{
	text-decoration: none;
	color: #fff;
}
#footer_nav a:hover{
	text-decoration: underline;
}

.footer_souzoku_anchor{
	text-decoration: none;
}
.footer_souzoku_img{
	position: relative;
	height: 230px;
	flex: 0 0 55%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	letter-spacing: .2em;
	font-size: min(4.8vw, 1.4rem);
	color: #fff;
	overflow: hidden;
}
.footer_souzoku_img::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)),
		url("../img/banner-souzoku.jpg") center / cover no-repeat;
	transition: transform .3s;
	z-index: -1;
}
.footer_souzoku_anchor:hover .footer_souzoku_img::before{
	transform: scale(1.1);
}
.footer_souzoku_img_text{
	text-indent: 1.2em;
}
.footer_souzoku_text{
	flex: 0 0 45%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: min(1.8vw, 1rem);
	color: #333;
	background-color: #fff;
}
.footer_souzoku_anchor:hover .link_button{
	color: #003366;
	background-color: #fff;
}
.footer_souzoku_anchor:hover .link_button::after{
	transform: translateX(50%);
	background-color: #003366;
}
.footer_souzoku_anchor:hover .banner_button::after{
	transform: translateX(50%);
}
#footer .googlemap{
	margin-top: 1em;
}
@media print, screen and (min-width: 768px){
	#footer .footer_address:nth-of-type(2) .googlemap{
		margin-top: 2.8em;
	}
}

#copyright{
	position: relative;
	padding: 2em 1em;
	text-align: center;
	font-style: normal;
	font-size: .88rem;
	background-color: #333;
}
#page_top{
	position: absolute;
	top: -20px;
	right: calc(50% - 20px);
	width: 40px;
	height: 40px;
	border: 1px solid #fff;
	cursor: pointer;
	background-color: #333;
	transition: background .3s, transform .2s;
}
#page_top::after{
	position: absolute;
	top: calc(50% - 3px);
	right: 13px;
	content: "";
	width: 11px;
	height: 11px;
	border-left: 1px solid #fff;
	border-top: 1px solid #fff;
	transform: rotate(45deg);
	transition: border .3s;
}
#page_top:hover{
	background-color: rgba(255,255,255,.2);
	transform: scale(.92);
}
@media print, screen and (min-width: 768px){
	.footer_address_wrap{
		display: flex;
		justify-content: space-between;
	}
	.footer_address{
		flex: 0 0 auto;
		width: calc(50% - 2em);
	}
	.footer_souzoku_anchor{
		display: flex;
	}
	.footer_souzoku_img{
		height: 180px;
	}
	#page_top{
		top: 20px;
		right: 5vw;
	}
}

/*--------------------------------------------
index.php
--------------------------------------------*/
/* 投稿一覧 */
.post_entry_list{
	border-top: 1px solid #e5e5e5;
}
.post_entry_item{
	position: relative;
	padding: 1.5em 0;
	border-bottom: 1px solid #e5e5e5;
}
.post_entry_item .single_date_wrap{
	margin-left: auto;
	font-size: .9em;
}
.post_entry_item:hover{
	background-color: #fff;
}
.post_entry_anchor{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
@media screen and (max-width: 767px) {
	.post_entry_item .single_date_wrap{
		margin-top: .5em;
	}
}
@media print, screen and (min-width: 768px){
	.post_entry_item{
		display: flex;
		flex-wrap: wrap;
		padding: 1.5em 66px 1.5em  1em;
	}
	.post_entry_item::before{
		position: absolute;
		top: 50%;
		right: 30px;
		content: "";
		width: 24px;
		height: 1px;
		background-color: #003366;
		opacity: 0;
		transition: opacity .3s;
	}
	.post_entry_item::after{
		position: absolute;
		top: 50%;
		right: 36px;
		content: "";
		width: 8px;
		height: 8px;
		border-right: 1px solid #003366;
		border-top: 1px solid #003366;
		transform: translateY(-50%) rotate(45deg);
		transition: right .3s;
	}
	.post_entry_item:hover::before{
		opacity: 1;
	}
	.post_entry_item:hover::after{
		right: 30px;
	}
}

/* パンくずリスト */
#breadcrumb_list{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding-top: clamp(1em, 4vw, 3em);
	padding-left: 5vw;
	padding-right: 5vw;
	line-height: 1.2;
	font-size: .8rem;
	color: #7c7c7c;
/*	background-color: #F8F7F6;*/
}
.breadcrumb_item{
	position: relative;
	margin-top: .5em;
	margin-bottom: .5em;
}
.breadcrumb_item:nth-of-type(n+2){
	padding-left: 50px;
}
.breadcrumb_item:nth-of-type(n+2)::before{
	position: absolute;
	top: 50%;
	left: 10px;
	content: "";
	width: 30px;
	height: 2px;
	background-color: #0199f1;
}
#breadcrumb_list a{
	text-decoration: none;
	color: #333;
}

/* ページネーション */
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 #003366;
}

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

/*--------------------------------------------
single.php
--------------------------------------------*/
.single_date_wrap{
	position: relative;
	text-align: right;
	z-index: 1;
}
.single_date{
	margin-left: .5em;
}

#comments{
	padding: 2em;
	background-color: #f8f7f6;
	border: 1px solid #e8e7e6;
}
#comments_title{
	margin-bottom: .5em;
	font-weight: 800;
}
#commentform label{
	display: block;
}
#comments_list li{
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px dotted #ccc;
}
input,
textarea{
	max-width: 100%;
}

/* カテゴリー */
.single_category_anchor{
    display: inline-block;
    text-align: center;
	margin-left: .5em;
	margin-bottom: .2em;
    padding: .2em 1em;
	line-height: 1.4;
	text-decoration: none;
	font-size: .8em;
	color: #fff;
    background-color: #003366;
	transform: translateY(-.1em);
}
.single_category_anchor:hover{
	background-color: #555;
}
/* タグ */
.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;
}

/* 続きを読む */
.more_wrap{
	position: relative;
	margin-bottom: 1em;
}
.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: #ffe7cc;
	border-radius: 20px;
	transition:  bottom .2s, background .3s;
	z-index: 1;
	transform: translateX(-50%);
}
.more_link:hover{
	background-color: #FFF0E0;
}
.more_link::before{
	content: "\2b";
	margin-right: .6em;
}
.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);
}
.more_wrap.more_open .more_text{
	padding-bottom: 60px;
}

/* 改ページ */
.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;
}

/* 前後リンク */
.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: #003366;
}
.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";
}

/*--------------------------------------------
投稿 - お知らせ
--------------------------------------------*/
.display_flex .wp-block-group__inner-container{
	display: flex;
}
.display_flex_wrap .wp-block-group__inner-container{
	display: flex;
	flex-wrap: wrap;
}
.display_flex div,
.display_flex_wrap div,
.display_flex figure,
.display_flex_wrap figure{
	flex: 1 1 auto;
}
.single-post .text_wrap figure{
	margin-top: 1.5em;
}
.single-post .figure2 > figure{
	margin-top: 0.8em;
}
@media screen and (max-width: 767px){
	.text_wrap .alignright{
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
}

/*--------------------------------------------
page.php
--------------------------------------------*/
body:not(#home){
	background-color: #F8F7F6;
}
.page_title_wrap{
	position: relative;
}
.page_title_img{
	background: url("../img/main-visual.jpg") center bottom / cover no-repeat;
	height: 40vmin;
}
#page_title{
	min-width: 400px;
	padding: 0 1rem 1.2em;
	line-height: 1.4;
	text-align: center;
	font-weight: 400;
	font-size: clamp(1.2rem, 5vw, 1.6rem);
	background-color: #fff;
}
@media print, screen and (min-width: 768px){
	.page_title_wrap{
		height: 40vmin;
	}
	.page_title_img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}
	#page_title{
		display: inline-block;
		padding-bottom: 2em;
	}
}
@media screen and (max-width: 410px){
	#page_title{
		width: 100%;
		min-width: auto;
	}
}
.page_title_big{
	display: inline-block;
	text-indent: .3em;
	letter-spacing: .3em;
	padding-bottom: .75em;
	border-bottom: 2px solid #0199f1;
}
.page_title_small{
	display: block;
	margin-top: 1em;
	font-size: max(1rem, .8em);
}

.page_main{
	padding-top: max(4vw, 3em);
	padding-bottom: max(4vw, 3em);
	container-type: inline-size;
}
.text_wrap{
	word-break: break-all;
}
.text_wrap p:nth-child(n+2),
.text_wrap figure{
	margin-top: 1.5em;
}
.wp-block-table{
	margin-top: 1.5em;
}

.box_item{
	position: relative;
	padding-top: max(4vw, 2rem);
	padding-bottom: max(6vw, 3rem);
}
.box_item::before{
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	width: 100cqw;
	height: 100%;
	background-color: #fff;
	z-index: -1;
	margin: 0 calc(50% - 50cqw);
}
@media print, screen and (min-width: 1024px){
	.box_item::before{
		width: calc(100% + calc(50cqw - 50%) + 4cqw);
		box-shadow: max(-60px, -5vw) 0 0 -30px #eaeaea;
	}
}

/* サイドバー */
.column_wrap{
}
#side_contents{
	padding: 1em;
	color: #fff;
	background-color: #003366;
}
@media print, screen and (min-width: 1024px){
	.column_wrap{
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
	}
	.column_wrap .box_item{
		padding-right: 4em;
	}
	.column_wrap .box_item::before{
		right: 190px;
		width: max(calc(100cqw - 380px), calc(100% + 3em));
	}
	#side_contents{
		flex: 0 0 auto;
		position: sticky;
		top: 1em;
		left: 0;
		margin-right: 100px;
		width: 280px;
	}
}
@media screen and (max-width: 1023px){
	#side_contents{
		margin: 2rem 1rem 0;
	}
}
.side_cnt_title{
	padding-bottom: .5em;
	border-bottom: 1px solid #fff;
}
.children_list{
	margin-top: 1em;
	font-size: .8rem;
}
.children_list_item{
	margin-top: .3em;
}
.children_list_anchor{
	display: block;
	padding: .2em 1em;
	text-decoration: none;
	color: #fff;
}
.children_list_anchor:hover,
.children_list_anchor.current{
	color: #003366;
	background-color: #fff;
}

/* コンテンツタイトル */
.title_main,
.is-style-title_main{
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 1em;
	line-height: 1.4;
	letter-spacing: .15em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 1.5rem;
}
.title_main::after,
.is-style-title_main::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 50px;
	height: 1px;
	background-color: #0199F1;
}
.title_contents,
.is-style-title_contents{
	margin-bottom: 1.5em;
	padding-left: min(3vw, 1.25em);
	line-height: 1.6;
	letter-spacing: .15em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 1.15rem;
	color: #003366;
	border-left: 5px solid #003366;
}
.title_color,
.is-style-title_color{
	margin-bottom: .5em;
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 1.25rem;
	color: #003366;
}
.title_main:nth-of-type(n+2),
.is-style-title_main:nth-of-type(n+2),
.title_contents:nth-of-type(n+2),
.is-style-title_contents:nth-of-type(n+2),
.title_color:nth-of-type(n+2),
.is-style-title_color:nth-of-type(n+2){
	margin-top: clamp(2em, 10vw, 3em);
}

.theme_color{
	color: #003366;
}

h2.is-style-default{
	font-size: 1.4rem;
}
h3.is-style-default{
	font-size: 1.2rem;
}

/*.center_title{
	margin-bottom: 1em;
	text-align: center;
	line-height: 1.4;
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
}
.center_title .border_bottom{
	display: inline-block;
	padding-bottom: .5em;
}*/

/*.bg_marker{
	font-weight: 700;
	background-image: linear-gradient(#ffff4d, #ffff4d);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 100% 45%;
}*/

/*--------------------------------------------
不動産鑑定について
--------------------------------------------*/
/*body#feature #page_header_img{ .page_title_img
	background-image: url("../img/head-feature.jpg");
}*/

/*--------------------------------------------
サービス内容
--------------------------------------------*/
body#service .page_title_img{
	background: url("../img/head-service.jpg") bottom center / cover no-repeat;
}
.list_check > li{
	position: relative;
	margin-top: .75em;
	margin-left: .5em;
	padding-left: calc(1em + 20px);
}
.list_check > li::before{
	position: absolute;
	top: calc(.9em - 8px);
	left: 0;
	content: "";
	width: 20px;
	height: 17px;
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2020%2017%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%230199f1%3B%20%7D%20.st1%20%7B%20fill%3A%20%23939393%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22check%22%3E%20%3Cpolygon%20class%3D%22st1%22%20points%3D%2213.11%2014.91%202.09%2014.91%202.09%203.89%2011.37%203.89%2013.46%201.8%200%201.8%200%2017%2015.2%2017%2015.2%2015.96%2015.2%2011.37%2013.11%2013.46%2013.11%2014.91%22%2F%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%226.21%205.11%204.06%207.26%207.56%2010.75%209.7%2012.9%2011.85%2010.75%2020%202.61%2017.85%20.46%209.7%208.6%206.21%205.11%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.service_features_list{
	margin-top: 1em;
	list-style: none;
	list-style-type: none;
	counter-reset: sfNumber;
}
.service_features_list > li{
	position: relative;
	margin-left: 2em;
	padding-left: 1em;
	border-left: 1px solid #003366;
}
.service_features_list > li::before{
	position: absolute;
	top: 0;
	left: -2em;
	counter-increment: sfNumber;
	content: counter(sfNumber);
	color: #003366;
}
.service_features_list > li:nth-of-type(n+2){
	margin-top: 2em;
}

/*--------------------------------------------
当社の実績
--------------------------------------------*/
.note{
	position: relative;
	padding-left: 1em;
}
.note::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "\203B";
}

/*--------------------------------------------
初めての方へ
--------------------------------------------*/
body#guide .page_title_img{
	background: url("../img/head-guide.jpg") center / cover no-repeat;
}
.guide_step_list{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
.guide_step_list li{
	line-height: 1.4;
	padding: .5em 1em;
	border: 1px solid #003366;
}
.guide_step_list li:nth-of-type(n+2){
	position: relative;
	margin-top: 40px;
}
.guide_step_list li:nth-of-type(n+2)::before{
	position: absolute;
	top: -26px;
	left: calc(45vw - 6px);
	content: "";
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #003366 transparent transparent transparent;
}
@media print, screen and (min-width: 500px){
	.guide_step_list li:nth-of-type(n+2)::before{
		left: 7em;
	}
}

.guide_response_list{
	display: grid;
	gap: 5em 4em;
	margin-top: 4em;
}
.guide_response_title{
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 86px;
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.1rem;
	color: #003366;
}
.guide_response_number{
	flex: 0 0 auto;
	display: inline-block;
	margin-right: .4em;
	padding-right: .4em;
	line-height: 1;
	font-size: 1.8em;
	border-right: 1px solid #003366;
}
.guide_response_title::before{
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 86px;
	height: 68px;
	background-position: bottom left;
	background-repeat: no-repeat;
}
.guide_response_item:first-of-type .guide_response_title::before{
	background-image: url("../img/guide_response_01.png");
	background-size: 58px auto;
}
.guide_response_item:nth-of-type(2) .guide_response_title::before{
	background-image: url("../img/guide_response_02.png");
	background-size: 62px auto;
}
.guide_response_item:nth-of-type(3) .guide_response_title::before{
	background-image: url("../img/guide_response_03.png");
	background-size: 52px auto;
}
.guide_response_item:nth-of-type(4) .guide_response_title::before{
	background-image: url("../img/guide_response_04.png");
	background-size: 66px auto;
}
@media print, screen and (min-width: 768px){
	.guide_response_list{
		grid-template-columns: 1fr 1fr;
	}
}

.guide_document_list{
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.1rem;
	color: #003366;
}
.guide_document_list li{
	margin-top: 1.5em;
}
.guide_document_list .font_small{
	font-size: .75em;
}
.guide_document_img figure{
	max-width: 40%;
}
@media screen and (max-width: 767px) {
	.guide_document_img figure{
		max-width: 60vw;
	}
}

/*--------------------------------------------
お客様の声
--------------------------------------------*/
body#voice .page_title_img{
	background: url("../img/head-voice.jpg") center / cover no-repeat;
}

/*--------------------------------------------
会社概要
--------------------------------------------*/
body#outline .page_title_img{
	background: url("../img/head-outline.jpg") center / cover no-repeat;
}
@media print, screen and (min-width: 1024px){
	body#outline .page_title_img{
		background-position: bottom center;
	}
}
.outline_table_wrap{
	overflow-x: auto;
}
.outline_table{
	
	line-height: 1.4;
	min-width: 600px;
}
.outline_table th{
	width: 10em;
}
.outline_table th,
.outline_table td{
	padding: .75em .75em;
	border-color: #F8F7F6;
}
.outline_table td{
	background-color: #fff
}

/*--------------------------------------------
代表挨拶
--------------------------------------------*/
.ceo_img_wrap figure{
	margin-top: 0;
	margin-bottom: 0;
}
.ceo_profile_year{
	width: 7em;
}
@media screen and (max-width: 767px){
	.greetings_phrase{
		padding-left: 0;
		border-left: none;
	}
	.ceo_img_wrap{
		text-align: center;
		margin-bottom: 1rem;
	}
}
@media print, screen and (min-width: 768px){
	.ceo_img_wrap{
		float: right;
		max-width: 50%;
		margin-left: 2em;
	}
}
.ceo_sign_img img{
	max-width: 50vw;
}

/*--------------------------------------------
不動産鑑定について
--------------------------------------------*/
body#about .page_title_img,
body.parent-pageid-18 .page_title_img{
	background: url("../img/head-about.jpg") center / cover no-repeat;
}

.sumi_list{
	list-style: none;
	list-style-type: none;
	counter-reset: smNumber;
}
.sumi_list > li{
	position: relative;
	margin-top: .5em;
	margin-left: 2.5em;
}
.sumi_list > li::before{
	position: absolute;
	top: 0;
	left: -3em;
	counter-increment: smNumber;
	content: "\3010" counter(smNumber) "\3011";
}
.note_list{
	list-style: none;
	list-style-type: none;
	counter-reset: ntNumber;
}
.note_list > li{
	position: relative;
	margin-top: .5em;
	margin-left: 3em;
}
.note_list > li::before{
	position: absolute;
	top: 0;
	left: -3em;
	counter-increment: ntNumber;
	content: "\203B" counter(ntNumber) "\FF1A";
}

/*--------------------------------------------
不動産の売却でお悩みの方へ
--------------------------------------------*/
body#sell .page_title_img{
	background: url("../img/head-sell.jpg") center / cover no-repeat;
}
@media print, screen and (min-width: 768px){
	body#sell #page_title{
		padding-left: 2em;
		padding-right: 2em;
	}
}
.check_list{
	line-height: 1.4;
}
.check_list > li{
	margin-top: 1em;
	position: relative;
	padding-left: 32px;
}
.check_list > li::before{
	position: absolute;
	top: .2em;
	left: 0;
	content: "";
	width: 20px;
	height: 20px;
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20512%20512%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%237c7c7c%3B%20%7D%20.st1%20%7B%20fill%3A%20%230199f1%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%22335.6%20414.3%2053.5%20414.3%2053.5%20132.1%20291.1%20132.1%20344.6%2078.6%200%2078.6%200%20467.8%20389.1%20467.8%20389.1%20441%20389.1%20323.7%20335.6%20377.2%20335.6%20414.3%22%2F%3E%20%3Cpolygon%20class%3D%22st1%22%20points%3D%22158.9%20163.3%20103.9%20218.3%20193.4%20307.8%20248.4%20362.8%20303.4%20307.8%20512%2099.2%20457%2044.2%20248.4%20252.8%20158.9%20163.3%22%2F%3E%3C%2Fsvg%3E');
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
}
.sell_trust_list dt{
	position: relative;
	margin-top: 1em;
	padding-left: 1.4rem;
	font-weight: 700;
	color: #003366;
}
.sell_trust_list dt::before{
	position: absolute;
	top: .7em;
	left: .4em;
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: #003366;
}
.sell_trust_list dd{
	margin-top: .5em;
	padding-left: 1.4rem;
}

/*--------------------------------------------
法律事務所の皆様へ
--------------------------------------------*/
body#law .page_title_img{
	background: url("../img/head-law.jpg") center / cover no-repeat;
}

/*--------------------------------------------
お問い合わせ
--------------------------------------------*/
.inquiry_greetings_wrap{
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.inquiry_greetings_wrap figure{
	margin-top: 0;
	text-align: center;
}
body#inquiry .wpcf7{
	line-height: 1.4;
	letter-spacing: 0;
	text-align: left;
}
form.wpcf7-form{
}
.contact_form_item{
	margin-top: 2em;
}
.contact_form_req{
	margin-left: .5em;
	line-height: 1;
	font-size: .75em;
	color: #FF0000;
}
.color_red{
	color: #FF0000;
}
.contact_form_area{
	flex: 1 1 auto;
	font-size: .85em;
	color: #666;
}
.contact_form_area input:not([type="radio"]),
.contact_form_area textarea{
	width: 100%;
	margin: .2em 0;
	padding: .5em;
/*	border: none;*/
	background-color: #f4f4f4;
	border: 1px solid #e0e0e0;
	border-radius: 2px;
}
@media screen and (max-width: 767px){
	.contact_form_area{
		margin-top: .5em;
	}
}
@media print, screen and (min-width: 768px){
	.inquiry_greetings_wrap > .wp-block-group__inner-container{
		display: flex;
	}
	.inquiry_greetings_wrap figure{
		margin-right: 3em;
	}
	.contact_form_item{
		display: flex;
		padding-bottom: 2em;
		border-bottom: 1px solid #e0e0e0;
	}
	.contact_form_text{
		flex: 0 0 auto;
		width: 14em;
	}
	.contact_form_area input:not([type="radio"]),
	.contact_form_area textarea{
/*		border-bottom: 1px solid #888;
		background-color: transparent;*/
	}
}
/*::placeholder{
  color: #aaa;
}*/
.contact_form_item input,
.contact_form_item textarea{
	font-size: 1rem;
	line-height: 1.4;
}
.contact_form_item textarea{
	resize: vertical;
}
.contact_form_submit_wrap{
	margin-top: 2em;
	text-align: center;
}
.contact_form_submit_wrap > p{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.contact_form_submit_wrap input{
	-webkit-appearance: none;
	padding: .7em 2em;
	text-indent: .5em;
	letter-spacing: .5em;
	font-size: .9rem;
	color: #fff;
	background-color: #003366;
	border: none;
	cursor: pointer;
	transition: transform .3s;
}
.contact_form_submit_wrap input:hover{
	transform: scale(.96);
}
.contact_form_submit_wrap input:active{
	transform: scale(.9);
}
/*--------------------------------------------
プライバシーポリシー
--------------------------------------------*/

/*--------------------------------------------
サイトマップ
--------------------------------------------*/
@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 rgba(0,0,0,.04);
}
.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: rgba(0,0,0,.04);
}
.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: #003366;
}
