@charset "utf-8";
body:not(.wp-admin){
	color: #545252;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	line-height: 1.8;
	font-weight: 500;
}
main{
	text-align: justify;
}
main, 
iframe{
	display: block;
}
iframe{
	max-width: 100%;
}
img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a{
	color: #6db4a0;
}
a:hover{
	text-decoration: none;
}
:focus-visible{
	outline: -webkit-focus-ring-color auto 1px;
}
.disnon{
	display: none !important;
}
@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){
	.margin_top{
		margin-top: 4em !important;
	}
	.margin_bottom{
		margin-bottom: 4em !important;
	}
	.switch_sp_2{
		display: none !important;
	}
}
@media screen and (max-width: 767px){
	.margin_top{
		margin-top: 2em !important;
	}
	.margin_bottom{
		margin-bottom: 2em !important;
	}
	.switch_pc_2{
		display: none !important;
	}
}
.margin_top_no{
	margin-top: 0 !important;
}
.margin_top_05{
	margin-top: .5em !important;
}
.margin_top_1{
	margin-top: 1em !important;
}
.margin_top_2{
	margin-top: 2em !important;
}
.margin_top_3{
	margin-top: 3em !important;
}
.margin_top_4{
	margin-top: 4em !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_left{
	padding-left: 1em;
}

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

.is-empty{
	height: 0 !important;
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border: none !important;
	box-shadow: none !important;
}
.is-empty::before,
.is-empty::after{
	content: none !important;
}
.text_left{
	text-align: left;
}
.text_center{
	text-align: center;
}
.text_right{
	text-align: right;
}
.ib{
	display: inline-block;
}


.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{
	width: 90%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_600{
	width: 90%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_800{
	width: 90%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1000{
	width: 90%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1200{
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.inner_width_1500{
	width: 90%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}

.link_button{
	position: relative;
	display: inline-block;
	padding: .5em 3em .5em 1em;
	text-decoration: none;
	color: #545252;
	background-color: #f7f7f5;
	border-radius: 50px;
	transition: color .3s;
	overflow: hidden;
	z-index: 1;
}
.link_button::after{
	position: absolute;
	top: calc(50% - 6px);
	right: 1.2em;
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #497a58;
	transition: border .3s;
}
.link_button:hover{
	color: #fff;
}
.link_button:hover::after{
	border-color: transparent transparent transparent #fff;
}
.link_button::before{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 120px;
	height: 120px;
	background-color: #497a58;
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .5s ease-out;
	z-index: -1;
}
.link_button:hover::before{
	-webkit-transform: translate(-50%, -50%) scale(2);
	transform: translate(-50%, -50%) scale(2);
}

.wp-block-buttons a.wp-block-button__link{
	position: relative;
	display: inline-block;
	padding-right: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
	color: #fff;
	background-color: #4BBFB1;
	border: 2px solid #4BBFB1;
	box-shadow: 2px 6px 10px rgba(0,0,0,.2);
	transition: color .3s, background .3s, box-shadow .3s;
	z-index: 1;
	overflow: hidden;
}
.wp-block-buttons a.wp-block-button__link:hover{
	color: #4BBFB1;
	background-color: #fff;
	box-shadow: 2px 2px 0 rgba(0,0,0,.1);
}
.wp-block-button__link::after{
	position: absolute;
	top: calc(50% - 6px);
	right: 26px;
	content: "";
	border-style: solid;
	border-width: 6px 0 6px 6px;
	border-color: transparent transparent transparent #fff;
	transition: border .3s, right .3s;
}
.wp-block-button__link:hover::after{
	right: 21px;
	border-color: transparent transparent transparent #4BBFB1;
}

.widget_wrap{
	padding-top: 2em;
	padding-bottom: 2em;
}

.text_fuchi{
	text-shadow: 2px 0px #fff, -2px 0px #fff, 0px -2px #fff, 0px 2px #fff, 2px 2px #fff, -2px 2px #fff, 2px -2px #fff, -2px -2px #fff, 1px 2px #fff, -1px 2px #fff, 1px -2px #fff, -1px -2px #fff, 2px 1px #fff, -2px 1px #fff, 2px -1px #fff, -2px -1px #fff;
}

.font_small{
	font-size: .85em;
}

ul.is-style-default,
ul.is-style-list_mt_half{
	list-style: none !important;
}
ul.is-style-default > li,
ul.is-style-list_mt_half > li{
	position: relative;
	padding-left: 1.4em;
}
.is-style-default > li:nth-of-type(n+2){
	margin-top: 1.5em;
}
.is-style-list_mt_half > li:nth-of-type(n+2){
	margin-top: .5em;
}
ul.is-style-default > li::before,
ul.is-style-list_mt_half > li::before{
	position: absolute;
	top: .75em;
	left: .4em;
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: #4bbfb1;
}
ol.is-style-default,
ol.is-style-list_mt_half{
	list-style: none;
	list-style-type: none !important;
	counter-reset: number;
}
ol.is-style-default > li,
ol.is-style-list_mt_half > li{
	position: relative;
	padding-left: 1.6em;
}
ol.is-style-default > li::before,
ol.is-style-list_mt_half > li::before{
	position: absolute;
	top: .3em;
	left: 0;
	counter-increment: number;
	content: counter(number) ".";
	line-height: 1;
}
ul.has-background,
ol.has-background{
	padding-left: 1.2em;
	padding-right: 1.2em;
}
.list_paren,
.is-style-list_paren,
.list_paren_mt,
.is-style-list_paren_mt{
	list-style: none;
	list-style-type: none !important;
	counter-reset: list_paren_number;
}
.list_paren > li,
.is-style-list_paren > li,
.list_paren_mt > li,
.is-style-list_paren_mt > li{
	position: relative;
	padding-left: 2em;
}
.list_paren_mt > li,
.is-style-list_paren_mt > li{
	margin-top: 1.5em;
}
.list_paren > li::before,
.is-style-list_paren > li::before,
.list_paren_mt > li::before,
.is-style-list_paren_mt > li::before{
	position: absolute;
	top: 0.3em;
	left: 0;
	counter-increment: list_paren_number;
	content: "(" counter(list_paren_number) ")";
	line-height: 1;
}

.wp-block-pullquote{
	border-top: 4px solid;
	border-bottom: 4px solid;
}
.wp-block-quote:not(.is-style-large){
	border-left: 4px solid;
	padding-left: 1em;
}


.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{
	width: auto;
	min-width: 60%;
}
.is-style-table_two_tone_column table td,
.is-style-table_two_tone_row table td{
	padding: .6em 1rem;
}
.is-style-table_two_tone_column table td,
.is-style-table_two_tone_row table td{
	border: 2px solid #fff;
}
.is-style-table_two_tone_column table,
.is-style-table_two_tone_row table{
	background-color: #F7F7F5;
}
.is-style-table_two_tone_column tr td:first-of-type,
.is-style-table_two_tone_row tr:first-of-type{
    background-color: #e4f2ee;
}


.has-black-color{color:#000}
.has-black-background-color{background-color:#000}

.has-dark-gray-color{color:#545252}
.has-dark-gray-background-color{background-color:#545252}

.has-cyan-blue-gray-color{color:#abb8c3}
.has-cyan-blue-gray-background-color{background-color:#abb8c3}

.has-white-color{color:#fff}
.has-white-background-color{background-color:#fff}

.has-sky-blue-color{color:#8ed1fc}
.has-sky-blue-background-color{background-color:#8ed1fc}

.has-blue-color{color:#0693e3}
.has-blue-background-color{background-color:#0693e3}

.has-dark-green-color{color:#497a58}
.has-dark-green-background-color{background-color:#497a58}

.has-emerald-green-color{color:#6db4a0}
.has-emerald-green-background-color{background-color:#6db4a0}

.has-pale-green-color{color:#e4f2ee}
.has-pale-green-background-color{background-color:#e4f2ee}

.has-khaki-color{color:#947f3c}
.has-khaki-background-color{background-color:#947f3c}

.has-pink-color{color:#F9D5CA}
.has-pink-background-color{background-color:#F9D5CA}

.has-red-color{color:#f54242}
.has-red-background-color{background-color:#f54242}

.has-orange-color{color:#ff6900}
.has-orange-background-color{background-color:#ff6900}

.has-amber-color{color:#fcb900}
.has-amber-background-color{background-color:#fcb900}

.has-cream-color{color:#FDF8E9}
.has-cream-background-color{background-color:#FDF8E9}



#header{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 100;
}
.site_name_img{
	width: 200px;
}
.contact_button{
	position: relative;
	display: inline-block;
	border: 2px solid #c1bb95;
	border-radius: 10px;
	box-shadow: 2px 2px 0 rgba(0,0,0,.1);
}
.contact_button::after,
.contact_button_anchor::after{
	position: absolute;
	top: calc(50% - 28px);
	left: -6px;
	content: url("../img/contact_ornament.png");
}
.contact_button_anchor{
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	padding: .8em 1em .8em 46px;
	text-decoration: none;
	line-height: 1.2;
	font-weight: 600;
	color: #947f3c;
	background-color: #fff;
	border-radius: 8px;
	overflow: hidden;
	z-index: 1;
}
.contact_button_anchor::before{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 150px;
	height: 150px;
	background-color: #DED4B6;
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .4s ease-out;
	z-index: -1;
}
.contact_button_anchor:hover::before{
	-webkit-transform: translate(-50%, -50%) scale(2);
	transform: translate(-50%, -50%) scale(2);
}
.site_name_anchor{
	text-decoration: none;
	transition: opacity .3s;
}
.site_name_anchor:hover{
	opacity: .5;
}

.nav_item{
	position: relative;
}
.nav_item a,
.custom_link_text{
	position: relative;
	display: block;
	line-height: 1.4;
	text-decoration: none;
	color: #497a58;
}
@media print, screen and (min-width: 768px){
	#header{
		max-width: calc(1460px - 2rem);
		height: 90px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 1rem;
		padding-right: 1rem;
		z-index: 100;
	}
	#nav{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	#header_nav{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
	}
	.nav_item a,
	.custom_link_text{
		padding: .4em .8em;
	}
	.custom_link_text{
		cursor: pointer;
	}
	.nav_item > a::after,
	.custom_link_text::after{
		position: absolute;
		bottom: 0;
		left: 50%;
		content: "";
		width: 0;
		height: 1px;
		background-color: #c1bb95;
		transform: translateX(-50%);
		transition: width .3s;
	}
	.nav_item.current > a::after,
	.nav_item:hover > a::after,
	.nav_item.current > .custom_link_text::after{
		width: calc(100% - 1.6em);
	}
	.main_sub_menu{
		position: absolute;
		top: calc(100% + 8px);
		left: 0;
		display: block;
		width: 200%;
		padding: .5em;
		font-size: .9em;
		background-color: #fff;
		border: 2px solid #c1bb95;
		border-radius: 10px;
		box-shadow: 2px 2px 0 rgba(0,0,0,.1);
		z-index: 100;
		transform: scaleY(0);
		animation: subMenu .8s;
	}
	.sub_wrap:hover::before{
		position: absolute;
		bottom: -10px;
		left: 0;
		content: "";
		width: 100%;
		height: 10px;
		z-index: 1;
	}
	.main_sub_menu::before,
	.main_sub_menu::after{
		position: absolute;
		left: calc(25% - 14px);
		content: "";
		border-style: solid;
		border-width: 0 9px 10px 9px;
	}
	.main_sub_menu::before{
		top: -10px;
		border-color: transparent transparent #c1bb95 transparent;
	}
	.main_sub_menu::after{
		top: -7px;
		border-color: transparent transparent #fff transparent;
	}
	.sub_wrap:hover .main_sub_menu,
	.sub_wrap:focus-visible .main_sub_menu,
	.main_sub_menu:has(:focus-visible){
		transform: scaleY(1);
	}
	.sub_nav_item a{
		padding-left: 20px;
	}
	.sub_nav_item a:hover::after,
	.sub_nav_item a:focus-visible::after{
		position: absolute;
		top: calc(50% - 5px);
		left: 8px;
		content: "";
		border-style: solid;
		border-width: 5px 0 5px 6px;
		border-color: transparent transparent transparent #c1bb95;
		transition: border .4s;
	}
	.header_contact{
		flex: 0 0 auto;
		margin-left: 1em;
		font-size: .9rem;
	}
	.header_contact .contact_button_anchor{
		width: 5.1em;
		padding: .5em 1em .5em 46px;
	}
}
@keyframes subMenu {
	0% {
		top: calc(100% + 20px);
		opacity: 0;
	}
	70%{
		top: calc(100% + 8px);
	}
	100% {
		opacity: 1;
	}
}
@media screen and (min-width: 767px) and (max-width: 1024px){
	#nav{
		font-size: 1.6vw
	}
}
@media screen and (max-width: 767px){
	#header{
		padding-right: 70px;
		height: 70px;
	}
	.site_name{
		padding-left: 1rem;
	}
	#header_nav{
		padding-top: 40px;
	}
	#header_nav_btn_wrap{
		position: fixed;
		top: 6px;
		right: 6px;
		width: 58px;
		height: 58px;
		cursor: pointer;
		z-index: 100;
	}
	#header_nav_btn_wrap::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 100%;
		background-color: #6db4a0;
		border-radius: 30px;
		z-index: -1;
		transition: box-shadow .3s;
	}
	.sc_down #header_nav_btn_wrap::before{
		box-shadow: 0 0 6px rgba(0,0,0,.4);
	}
	.header_nav_btn{
		position: absolute;
		left: 15px;
		display: block;
		width: calc(100% - 30px);
		height: 2px;
		background-color: #fff;
		transition: all .3s ease-in-out;
	}
	#header_nav_btn1{
		top: 14px;
	}
	#header_nav_btn2{
		top: 22px;
	}
	#header_nav_btn3{
		top: 30px;
	}
	.nav_open #header_nav_btn1{
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}
	.nav_open #header_nav_btn2{
		opacity: 0;
	}
	.nav_open #header_nav_btn3{
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}
	#header_nav_btn_text{
		position: absolute;
		bottom: 11px;
		display: block;
		width: 100%;
		text-align: center;
		font-size: 12px;
		color: #fff;
		line-height: 1;
	}
	.header_inner{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #f8f8f8;
		transition: transform .5s;
		transform: translate(-100%);
		z-index: 99;
		overflow-y: auto;
	}
	.nav_open .header_inner{
		transform: translate(0);
	}
	#header_nav > .nav_item{
		position: relative;
	}
	#header_nav > .nav_item::after {
		position: absolute;
		bottom: 0;
		left: 1em;
		content: "";
		width: calc(100% - 2em);
		height: 1px;
		background-color: #eee;
	}
	.nav_item a,
	.custom_link_text{
		padding: 1em 1rem;
	}
	.nav_item a:hover,
	.nav_item.current > a,
	.sub_nav_item.current > a{
		color: #ccc;
	}
	.custom_link_text{
		position: relative;
		padding-bottom: .5em;
	}
	.sub_nav_item a{
		padding-top: .5em;
		padding-bottom: .5em;
	}
	.main_sub_menu{
		padding-bottom: .5em;
		font-size: .95em;
	}
	.custom_link_text,
	.sub_nav_item a{
		padding-left: 40px;
	}
	.custom_link_text::after{
		position: absolute;
		top: calc(1.6em - 3px);
		left: 1em;
		content: "";
		border-style: solid;
		border-width: 6px 5px 0 5px;
		border-color: #b1e8d9 transparent transparent transparent;
		transition: border .4s;
	}
	.header_contact{
		margin: 2em 1rem;
	}
}
body:not(#home).block-editor-page{ 
	margin-top: 0
}


@media print, screen and (min-width: 768px){
	body#home #header,
	main.front_main{
		animation: firstView 3s;
	}
	.key_visual_text_wrap{
		animation: firstView2 4s;
	}
}
@media screen and (max-width: 767px){
	body#home #header,
	main.front_main{
		animation: firstView 2.8s;
	}
	.key_visual_text_wrap{
		animation: firstView2 3.2s;
	}
}
@keyframes firstView{
	0%{
		opacity: 0;
		filter: blur(15px) brightness(150%);
	}
	10%{
		opacity: 0;
		filter: blur(15px) brightness(150%);
	}
	100%{
		opacity: 1;
		filter: blur(0) brightness(100%);
	}
}
@keyframes firstView2{
	0%{
		opacity: 0;
		transform: translateY(20px);
		filter: blur(15px) brightness(150%);
	}
	30%{
		opacity: 0;
		transform: translateY(20px);
		filter: blur(15px) brightness(150%);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
		filter: blur(0) brightness(100%);
	}
}

@media print, screen and (min-width: 1024px){
	#key_visual_wrap{
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-end;
		padding-left: 5vw;
		padding-right: 5vw;
		padding-bottom: 5vw
	}
}
.key_visual_text_wrap{
	padding-right: 4vw;
}
.key_visual_text_1{
	line-height: 2;
	font-size: 1.6rem;
	font-weight: 400;
	color: #497a58;
}
.key_visual_text_2{
	position: relative;
	padding-top: 5rem;
	font-size: .9rem;
}
.key_visual_text_2::before{
	position: absolute;
	top: 2.5rem;
	content: "";
	width: 796px;
	height: 46px;
	background: url("../img/dot_line_gra.png") center / 100% no-repeat;
	z-index: 1;
	transform: translateY(-50%);
}
.key_visual_img{
	position: relative;
	background: url("../img/top_illust.jpg") center / cover no-repeat;
}
.key_visual_img::before{
	position: absolute;
	top: 2.5vw;
	left: 2.5vw;
	content: "";
	width: 100%;
	height: 100%;
	background: radial-gradient(#709b7a 1px, transparent 0) top 2px center/ 8px 8px repeat, #497a58;
	z-index: -1;
}
@media screen and (max-width: 767px){
	.key_visual_img::before{
		top: 3.5vw;
	}
}
@media print, screen and (min-width: 1024px){
	.key_visual_img{
		flex: 0 0 auto;
		width: calc(100% - 360px);
		min-width: 70%;
		height: calc(90vh - 90px);
	}
	.key_visual_text_2::before{
		left: -4.8vw;
		max-width: 65vw;
		background: url("../img/dot_line_gra.png") center / 100% no-repeat;
	}
}
@media screen and (max-width: 1023px){
	#key_visual_wrap{
		margin-top: 1.5em;
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	.key_visual_img{
		margin-left: auto;
		width: 80vw;
		height: 60vw;
	}
	.key_visual_text_wrap{
		margin-top: -14vw;
		position: relative;
	}
	.key_visual_text_1{
		display: inline-block;
		padding: 1rem 1rem 0 0;
		background-color: #fff;
	}
	.key_visual_text_2::before{
		left: 0;
		width: 80vw;
		background-image: url("../img/dot_line_gra_sp.png");
	}
}


@media print, screen and (min-width: 768px){
	.front_main_menu{
		display: flex;
		justify-content: space-between;
	}
	.front_main_menu_item{
		flex: 0 0 auto;
		width: calc(50% - 20px);
	}
}
@media screen and (max-width: 767px){
	.front_main_menu{
		max-width: 320px;
	}
}
.front_main_menu_item{
	position: relative;
	margin-top: 1em;
}
.front_main_menu_anchor{
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	line-height: 1.4;
	color: #545252;
	z-index: 2;
	transition: background .5s;
}
.front_main_menu_anchor:hover{
	background-color: rgba( 164, 188, 171, .2 );
}
.front_main_menu_anchor:hover .link_button{
	color: #fff;
}
.front_main_menu_anchor:hover .link_button::after{
	border-color: transparent transparent transparent #fff;
}
.front_main_menu_anchor:hover .link_button::before{
	-webkit-transform: translate(-50%, -50%) scale(2);
	transform: translate(-50%, -50%) scale(2);
}

.front_main_menu_item_inner{
	position: relative;
	padding: 1em;
}
.front_main_menu_title{
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.4;
}
@media print, screen and (min-width: 361px){
	.front_main_menu_item::before{
		content: "";
		padding-top: 100%;
		display: block;
		background: radial-gradient(#a4bcab 1px, transparent 0) center/ 8px 8px repeat;
	}
	.front_main_menu_anchor{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.front_main_menu_item:first-of-type .front_main_menu_item_inner::after{
		position: absolute;
		bottom: 84%;
		right: 94%;
		content: url("../img/front_main_menu_ornament_1.png");
		z-index: -1;
	}
	.front_main_menu_item:last-of-type .front_main_menu_item_inner::after{
		position: absolute;
		top: 84%;
		left: 84%;
		content: url("../img/front_main_menu_ornament_2.png");
		z-index: -1;
	}
}
@media screen and (max-width: 360px){
	.front_main_menu_item{
		background: radial-gradient(#a4bcab 1px, transparent 0) center/ 8px 8px repeat;
	}
	.front_main_menu_item_inner{
		padding-top: 3em;
		padding-bottom: 3em;
	}
	.front_main_menu_title{
		font-size: 9.6vw;
	}
	.front_main_menu_item:first-of-type .front_main_menu_anchor::after{
		position: absolute;
		top: -40px;
		left: 5px;
		content: url("../img/front_main_menu_ornament_1.png");
	}
	.front_main_menu_item:last-of-type .front_main_menu_anchor::after{
		position: absolute;
		bottom: -20px;
		right: 10px;
		content: url("../img/front_main_menu_ornament_2.png");
	}
}
.front_main_menu_text{
	margin-top: 1em;
}
.front_main_menu_text,
.front_main_menu .link_button{
	font-size: .85rem;
}


.front_main_title{
	position: relative;
	padding-bottom: 22px;
	text-align: center;
	line-height: 1.4;
	font-size: 1.6rem;
	font-weight: 400;
	color: #497a58;
}
.front_main_title::after{
	position: absolute;
	top: calc(100% - 22px);
	left: calc(50% - 33px);
	content: "";
	width: 66px;
	height: 22px;
	background-image: radial-gradient(#f3b8a5 3px, transparent 4px);
	background-size: 22px 22px;
}
@media print, screen and (min-width: 768px){
	.front_lawyer_list{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
	}
	.front_lawyer_list_item{
		flex: 0 0 auto;
		width: calc(50% - 20px);
	}
}
@media screen and (max-width: 767px){
	.front_lawyer_wrap{
		max-width: 320px;
	}
}
.front_lawyer_list_item{
	position: relative;
}
.front_lawyer_list_anchor{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
	color: #545252;
	z-index: 2;
	transition: background .5s;
}
.front_lawyer_list_anchor:hover{
	background-color: rgba( 164, 188, 171, .2 );
}
@media print, screen and (min-width: 361px){
	.front_lawyer_list_item::before{
		content: "";
		padding-top: 100%;
		display: block;
		border: 1px solid #497a58;
	}
	.front_lawyer_list_anchor{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.front_lawyer_list_text_wrap::before{
		top: calc(50% - 13px);
		right: -42px;
	}
	.front_lawyer_list_text_wrap::after{
		top: calc(50% - 5px);
		right: -33px;
	}
}
@media screen and (max-width: 360px){
	.front_lawyer_list_anchor{
		padding-top: 2em;
		padding-bottom: 4em;
		border: 1px solid #497a58;
	}
	.front_lawyer_list_text_wrap::before{
		bottom: -42px;
		left: calc(50% - 13px);
	}
	.front_lawyer_list_text_wrap::after{
		bottom: -33px;
		left: calc(50% - 2px);
	}
}
.front_lawyer_list_img{
	width: 120px;
}
.front_lawyer_list_text_wrap{
	position: relative;
}
.front_lawyer_list_text_wrap::before,
.front_lawyer_list_text_wrap::after{
	position: absolute;
	content: "";
}
.front_lawyer_list_text_wrap::before{
	width: 26px;
	height: 26px;
	background-color: #497a58;
	border-radius: 13px;
}
.front_lawyer_list_text_wrap::after{
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #fff;
	transition: border .4s;
}
.front_lawyer_list_name{
	padding-left: 0.4rem;
	padding-right: 0.4rem;
	font-size: 1.4rem;
	border-bottom: 1px solid #c7c7c7;
}
.front_lawyer_list_name_en,
.front_lawyer_list_dep{
	font-size: .8rem;
}
.front_lawyer_list_name_en{
	margin-top: .5em;
}
.front_lawyer_list_dep{
	margin-top: 1em;
}


@media print, screen and (min-width: 768px){
	.front_why_wrap{
		margin-top: 6em;
	}
}
@media screen and (max-width: 767px){
	.front_why_wrap{
		margin-top: 3em;
	}
}
.front_why_wrap{
	position: relative;
	padding-top: 4em;
	padding-bottom: 4em;
}
.front_why_wrap::before,
.front_why_wrap::after{
	position: absolute;
	content: "";
	width: calc(100% - 1.6em);
	height: 100%;
	background-color: rgba(172,221,206,.2);
	z-index: -1;
}
.front_why_wrap::before{
	top: -.8em;
	left: 0;
}
.front_why_wrap::after{
	bottom: -.8em;
	right: 0;
}
@media screen and (max-width: 767px){
	.front_why_wrap::before,
	.front_why_wrap::after{
		width: calc(100% - 4vw);
	}
	.front_why_wrap::before{
		top: -2vw;
	}
	.front_why_wrap::after{
		bottom: -2vw;
	}
}
.front_why_inner{
	width: 80%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.front_why_title{
	text-align: center;
	line-height: 1.4;
	font-size: 1.4em;
	font-weight: 400;
	color: #497A58;
}
.front_why_img{
	position: absolute;
	bottom: -4em;
	right: -5%;
	z-index: -2;
	max-width: 50%;
}


@media print, screen and (min-width: 768px){
	.front_case_wrap{
		margin-top: 10em;
	}
	.front_case_list::before{
		left: calc(80% - 82px);
	}
}
@media screen and (max-width: 767px){
	.front_case_wrap{
		margin-top: 6em;
	}
	.front_case_list::before{
		left: 75%;
	}
}
.front_case_list{
	position: relative;
	padding-top: 2em;
	padding-bottom: 2em;
	border-top: 2px solid #497a58;
	border-bottom: 1px solid #e0e0de;
	word-break: break-all;
}
.front_case_list::before{
	position: absolute;
	display: block;
	top: -76px;
	content: "";
	width: 15%;
	max-width: 74px;
	height: 78px;
	background: url("../img/front_case_bird.png") bottom center / 100% no-repeat;
}
.front_case_list_item{
	width: 90%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 1em;
	padding-bottom: 1em;
}
.front_case_list_item:nth-of-type(n+2){
	border-top: 1px dashed #c7c7c7;
}
.front_case_list_category{
	display: inline-block;
	padding: .1em .6em;
	font-size: .85em;
	color: #fff;
	background-color: #497a58;
	border-radius: 2px;
}
@media print, screen and (min-width: 414px){
	.front_case_list_item{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.front_case_list_text{
		width: calc(100% - 8.5rem);
	}
	.front_case_list_category{
		flex: 0 0 auto;
	}
}
@media screen and (max-width: 413px){
	.front_case_list_text{
		display: block;
		margin-top: .2em;
	}
}
.front_case_list_item:nth-of-type(n+2){
	border-top: 1px dotted #c7c7c7;
}


@media print, screen and (min-width: 768px){
	.front_topics_list{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
	}
}
.front_topics_list_item{
	position: relative;
	margin-top: 2em;
	padding: 1.5em;
	background-color: #fff;
	border: 1px solid #497a58;
}
.front_topics_list_item::before{
	position: absolute;
	top: 16px;
	left: 16px;
	content: "";
	width: 100%;
	height: 100%;
	background: radial-gradient(#a4bcab 1px, transparent 0) bottom right / 8px 8px repeat;
	z-index: -1;
}
@media print, screen and (min-width: 768px){
	.front_topics_list_item{
		flex: 0 0 auto;
		width: calc(33.3% - 4em);
	}
}
.front_topics_list_anchor{
	transition: background .5s;
}
.front_topics_list_anchor:hover{
	background-color: rgba( 164, 188, 171, .2 );
}
.front_topics_list_anchor{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.front_topics_list_title{
	font-size: 1.4rem;
	font-weight: 400;
	color: #6db4a0;
}
.front_topics_list_new{
	margin-left: .5em;
	font-size: .9em;
	color: #f3b8a5;
}
.front_topics_date_wrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: .5rem;
	font-size: .9rem;
}
.single_date_wrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-top: .5rem;
	font-size: .9rem;
}
.single_category_anchor{
	position: relative;
	display: inline-block;
	text-decoration: none;
	padding: .2em .4em;
	line-height: 1.2;
	font-size: .8rem;
	color: #fff;
	background-color: #947f3c;
	border-radius: 2px;
	z-index: 1;
	transition: opacity .3s;
}
.single_category_anchor:hover{
	opacity: .5;
}
.single_category_text{
	position: relative;
	display: inline-block;
	text-decoration: none;
	margin-right: 10px;
	padding: .1em .4em;
	line-height: 1.2;
	font-size: .8rem;
	color: #fff;
	background-color: #947f3c;
	border-radius: 2px;
	z-index: 1;
	transition: opacity .3s;
}

.single_date{
	color: #947f3c;
	margin-left: 10px;
}
.front_topics_list_excerpt{
	margin-top: .8rem;
	font-size: .85rem;
	word-break: break-all;
}
.front_topics_list_excerpt_anchor{
	margin-left: .2em;
	color: #6db4a0;
	text-decoration: underline;
}


.front_webcast_wrap{
	background-color: #EFEFED;
}
.front_webcast_inner{
	padding-top: 3em;
	padding-bottom: 3em;
}
.front_webcast_title{
	font-size: 1.1em;
	color: #497A58;
}
.front_webcast_title::before{
	width: 30px;
	height: 26px;
	content: "";
	display: inline-block;
	margin-right: 12px;
	vertical-align: sub;
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2030%2025.2%22%20style%3D%22enable-background%3Anew%200%200%2030%2025.2%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23497A58%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M17%2C0c-2.4%2C0-4.5%2C1.4-5.4%2C3.4c-1-2-3.1-3.4-5.5-3.4C2.7%2C0%2C0%2C2.7%2C0%2C6.1c0%2C3.3%2C2.7%2C6.1%2C6.1%2C6.1H17%20c3.3%2C0%2C6.1-2.7%2C6.1-6.1C23%2C2.7%2C20.3%2C0%2C17%2C0z%20M6.1%2C8.3c-1.3%2C0-2.3-1-2.3-2.3c0-1.3%2C1-2.3%2C2.3-2.3c1.3%2C0%2C2.3%2C1%2C2.3%2C2.3%20C8.3%2C7.3%2C7.3%2C8.3%2C6.1%2C8.3z%20M17%2C8.3c-1.3%2C0-2.3-1-2.3-2.3c0-1.3%2C1-2.3%2C2.3-2.3c1.3%2C0%2C2.3%2C1%2C2.3%2C2.3C19.2%2C7.3%2C18.2%2C8.3%2C17%2C8.3z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M19.5%2C13.5H3.2C2.5%2C13.5%2C2%2C14%2C2%2C14.7v9.4c0%2C0.6%2C0.5%2C1.2%2C1.2%2C1.2h16.3c0.7%2C0%2C1.2-0.5%2C1.2-1.2v-9.4%20C20.6%2C14%2C20.1%2C13.5%2C19.5%2C13.5z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M29.6%2C15.6c-0.3-0.2-0.7-0.3-1-0.2l-5.7%2C1.4c-0.5%2C0.1-0.9%2C0.6-0.9%2C1.1v2.8c0%2C0.5%2C0.4%2C1%2C0.9%2C1.1l5.7%2C1.4%20c0.4%2C0.1%2C0.7%2C0%2C1-0.2c0.3-0.2%2C0.4-0.6%2C0.4-0.9v-5.6C30%2C16.1%2C29.8%2C15.8%2C29.6%2C15.6z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
}
.front_webcast_text{
	padding: 1em;
	background-color: #fff;
}
.front_webcast_video{
	margin-left: auto;
	margin-right: auto;
	border: 4px solid #fff;
}


.front_book_anchor{
	transition: opacity .3s;
}
.front_book_anchor:hover{
	opacity: .5;
}
.front_book_img{
	display: inline-block;
	box-shadow: 0 10px 16px rgba(0,0,0,.2);
}


.target{
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s, transform .8s;
}
.target.on{
	opacity: 1;
	transform: translateY(0);
}


#footer{
	background-color: #e5f3f0;
}
@media print, screen and (min-width: 768px){
	#footer{
		margin-top: 6em;
	}
}
@media screen and (max-width: 767px){
	#footer{
		margin-top: 3em;
		padding-top: 1em;
	}
}
body#otoiawase #page_top{
	display: none !important;
}
#page_top{
	display: none;
	position: fixed;
	bottom: 1.1rem;
	right: 1.1rem;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 10;
}
.page_top_img{
	transition: opacity .3s;
}
.page_top_img:hover{
	opacity: .5;
}
.page_top_img:active{
	opacity: 0;
}
#footer .link_button{
	background-color: #fff;
	box-shadow: 0 0 8px rgba(172,221,206,.5);
}

#footer_nav{
	font-size: .85em;
}
.footer_nav_item a{
	position: relative;
	display: inline-block;
	padding: .5em 0 .5em 30px;
	text-decoration: none;
	color: #545252;
}
.footer_nav_item a:hover{
	color: #ccc;
}
.footer_nav_item a::before{
	position: absolute;
	top: calc(1.4em - 4px);
	left: 8px;
	content: "";
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #acddce;
}
.footer_nav_item a:hover::before{
	border-color: transparent transparent transparent #ccc;
}
#footer_nav{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
}
@media print, screen and (min-width: 768px){
	.footer_inner{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.footer_contact_wrap{
		flex: 0 0 auto;
	}
	#footer_nav{
		flex: 0 1 auto;
		width: 100%;
		margin-left: 2em;
	}
}
#copyright{
	padding: 2rem 0;
	font-style: normal;
	font-size: .8rem;
}



#breadcrumb_list{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding: .5em 0 2em;
	font-size: .8rem;
}
.breadcrumb_item:nth-last-of-type(n+2){
	position: relative;
	padding-right: 2em;
}
.breadcrumb_item:nth-last-of-type(n+2)::before{
	position: absolute;
	top: .3em;
	right: .6em;
	content: "\FF1E";
	font-size: .8em;
}

.post_entry_list{
}
.post_entry_item{
	position: relative;
	padding: 1.5em 1em;
	border-bottom: 1px dotted #ccc;
}
.post_entry_anchor{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
}
.post_entry_item:hover .post_entry_excerpt{
	text-decoration: underline;
}
.post_entry_excerpt{
	word-break: break-all;
	font-size: .9em;
}


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;
	border-radius: 4px;
}
span.page-numbers,
span.post-page-numbers{
	background-color: #b1e8d9;
}
a.page-numbers,
a.post-page-numbers{
	text-decoration: none;
	color: #333;
	background-color: #f7f7f5;
	transition: background .1s;
}
a.page-numbers:hover,
a.post-page-numbers:hover{
	background-color: #E5E5E0;
}


@media print, screen and (min-width: 1024px){
	.flex_wrap{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	#side_cnt{
		flex: 0 0 auto;
		width: 260px;
	}
	.flex_wrap #main_cnt{
		flex: 0 0 auto;
		width: calc(100% - 300px);
	}
}
@media screen and (max-width: 1023px){
	#side_cnt{
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 2em;
	}
}
.side_item{
	border-radius: 4px;
	overflow: hidden;
}
.side_item:nth-of-type(n+2){
	margin-top: 1em;
}
.side_title{
	padding: .5em 1rem;
	line-height: 1.4;
	color: #fff;
	background-color: #acddce;
}
.side_list{
	font-size: .9rem;
	border: 10px solid #f7f7f5;
}
.side_list_item{
	position: relative;
}
.side_list > .side_list_item:nth-last-of-type(n+2)::after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #eaeae8 4px, transparent 0, transparent);
	background-size: 7px 7px;
	background-repeat: repeat-x;
}
.side_list_anchor{
	display: block;
	padding: .8em .5em;
	text-decoration: none;
	color: #545252;
	transition: color .1s;
}
.side_list_anchor:hover{
	color: #6db4a0;
}
.side_list_anchor:hover .post-title{
	text-decoration: underline;
}
.side_list_img{
	width: 80px;
	height: 80px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border: 2px solid #f7f7f5;
}

.side_category_list_anchor{
	position: relative;
	padding-left: 28px;
}
.side_category_list_anchor.current{
	color: #6db4a0;
}
.side_category_list_anchor.current::before,
.side_category_list_anchor:hover::before{
	position: absolute;
	top: calc(1.6em - 4px);
	left: 12px;
	content: "";
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #acddce;
}


@media print, screen and (min-width: 1024px){
	.side_item.side_fixed{
		position: sticky;
		top: 1rem;
		max-height: calc(100vh - 2rem);
		overflow-y: auto;
		animation: sideFixed .6s ease-out;
		
		scrollbar-width: thin; 
		scrollbar-color: #E5E5E0 transparent; 
	}
	.side_item.side_fixed::-webkit-scrollbar{
		width: 5px;
	}
	.side_item.side_fixed::-webkit-scrollbar-thumb{
		background: #E5E5E0;
	}
	.side_item.side_fixed::-webkit-scrollbar-track{
		background: transparent;
	}
	#side_item_practice .side_list_anchor{
		padding-left: 16px;
	}
	#side_item_practice .side_list_anchor{
		position: relative;
	}
	#side_item_practice .side_list_anchor.current{
		color: #6db4a0;
	}
	#side_item_practice .side_list_anchor.current::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 3px;
		height: 100%;
		background-color: #acddce;
	}
}
@keyframes sideFixed {
	0% {
		transform: translateY(-30px);
	}
	100% {
		transform: translateY(0);
	}
}


.single_title{
	position: relative;
	margin-bottom: 1em;
	padding-bottom: .4em;
	font-size: 1.6rem;
	font-weight: 400;
	border-bottom: 2px solid #E5E5E0;
	line-height: 1.4;
}

.single_nav{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	padding: 1em 0;
}
.single_nav_prev,
.single_nav_next{
	width: calc(50% - .5em);
}
.single_nav_next{
	margin-left: auto;
	text-align: right;
}
.single_nav_prev::before{
	content: "\226A";
	padding-right: .4em;
}
.single_nav_next::after{
	content: "\226B";
	padding-left: .4em;
}

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


.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;
	color: #fff;
	background-color: #acddce;
	border-radius: 20px;
	transition:  bottom .2s, background .3s;
	z-index: 1;
	transform: translateX(-50%);
}
.more_link:hover{
	background-color: #e0e0e0;
}
.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;
}
.pagebreak_text_next{
	font-size: .8em;
	font-weight: 800;
	color: #545252;
	transition: color .3s;
}


.post_link_wrap{
	line-height: 1.4;
	font-size: .9rem;
}
.post_link_wrap a{
	position: relative;
	display: block;
	margin-top: .5em;
	padding: .5em 1em;
	text-decoration: none;
	background-color: #f7f7f5;
	border-radius: 4px;
	transition: background .1s;
}
.post_link_wrap a:hover{
	background-color: #E5E5E0;
}
.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";
}


.text_wrap{
	word-break: break-all;
}
.text_wrap p{
	margin-top: 1.5em;
}
.wp-block-table{
	margin-top: 1.5em;
}

.contents_title,
.is-style-contents_title{
	position: relative;
	margin-bottom: 1em;
	padding: .5em 1rem .5em 28px;
	line-height: 1.4;
	font-size: 1.15rem;
	font-weight: 400;
	background-color: #f7f7f5;
	border-radius: 4px;
}
@media print, screen and (min-width: 768px){
	.contents_title:nth-of-type(n+2),
	.is-style-contents_title:nth-of-type(n+2){
		margin-top: 4em;
	}
}
@media screen and (max-width: 767px){
	.contents_title:nth-of-type(n+2),
	.is-style-contents_title:nth-of-type(n+2){
		margin-top: 2em;
	}
}
.contents_title::before,
.is-style-contents_title::before{
	position: absolute;
	top: .6em;
	left: 12px;
	content: "";
	width: 4px;
	height: 1.2em;
	background-color: #b1e8d9;
	border-radius: 2px;
}

.title_left_underline,
.is-style-title_left_underline{
	margin-top: 2em;
	margin-bottom: 1em;
	padding: 0 .5rem .4em;
	border-bottom: 2px solid #b1e8d9;
}

.title_list_wrap{
	counter-reset: titleList;
}
.title_list_wrap .is-style-title_list{
	position: relative;
	margin-top: 2em;
	margin-bottom: 1.5em;
	padding: .5em 0 .5em 40px;
	line-height: 1.4;
	font-weight: 400;
	border-bottom: 1px solid #4bbfb1;
}
.title_list_wrap .is-style-title_list::before{
	position: absolute;
	top: .2em;
	left: 0;
	counter-increment: titleList;
	content: counter(titleList);
	width: 30px;
	height: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-weight: 100;
	color: #fff;
	background-color: #4bbfb1;
	border-radius: 100px;
}

.title_webcast,
.is-style-title_webcast{
	margin-top: 3em;
	margin-bottom: 1em;
	padding: 0 .5rem .4em;
	border-bottom: 2px solid #b1e8d9;
}
.title_webcast::before,
.is-style-title_webcast::before{
	width: 30px;
	height: 26px;
	content: "";
	display: inline-block;
	margin-right: 8px;
	vertical-align: sub;
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2030%2025.2%22%20style%3D%22enable-background%3Anew%200%200%2030%2025.2%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23B1E8D9%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M17%2C0c-2.4%2C0-4.5%2C1.4-5.4%2C3.4c-1-2-3.1-3.4-5.5-3.4C2.7%2C0%2C0%2C2.7%2C0%2C6.1c0%2C3.3%2C2.7%2C6.1%2C6.1%2C6.1H17%20c3.3%2C0%2C6.1-2.7%2C6.1-6.1C23%2C2.7%2C20.3%2C0%2C17%2C0z%20M6.1%2C8.3c-1.3%2C0-2.3-1-2.3-2.3c0-1.3%2C1-2.3%2C2.3-2.3c1.3%2C0%2C2.3%2C1%2C2.3%2C2.3%20C8.3%2C7.3%2C7.3%2C8.3%2C6.1%2C8.3z%20M17%2C8.3c-1.3%2C0-2.3-1-2.3-2.3c0-1.3%2C1-2.3%2C2.3-2.3c1.3%2C0%2C2.3%2C1%2C2.3%2C2.3C19.2%2C7.3%2C18.2%2C8.3%2C17%2C8.3z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M19.5%2C13.5H3.2C2.5%2C13.5%2C2%2C14%2C2%2C14.7v9.4c0%2C0.6%2C0.5%2C1.2%2C1.2%2C1.2h16.3c0.7%2C0%2C1.2-0.5%2C1.2-1.2v-9.4%20C20.6%2C14%2C20.1%2C13.5%2C19.5%2C13.5z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M29.6%2C15.6c-0.3-0.2-0.7-0.3-1-0.2l-5.7%2C1.4c-0.5%2C0.1-0.9%2C0.6-0.9%2C1.1v2.8c0%2C0.5%2C0.4%2C1%2C0.9%2C1.1l5.7%2C1.4%20c0.4%2C0.1%2C0.7%2C0%2C1-0.2c0.3-0.2%2C0.4-0.6%2C0.4-0.9v-5.6C30%2C16.1%2C29.8%2C15.8%2C29.6%2C15.6z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
}

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

@media print, screen and (min-width: 1024px){
	.page_main{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	#side_contents_wrap{
		flex: 0 0 auto;
		width: 250px;
	}
	#main_contents_wrap{
		flex: 0 0 auto;
		width: calc(100% - 280px);
	}
}
#page_title{
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	max-width: calc(1500px - 2rem);
	min-height: calc(150px - 2rem);
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
	text-align: center;
	line-height: 1.4;
	background: url("../img/key_visual.jpg") top center no-repeat;
}
#page_title::before{
	position: absolute;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
}
#page_title::before{
	left: 0;
	background-image: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,.2) 10%, rgba(255,255,255,.2) 90%, rgba(255,255,255,1));
}
#page_title_inner{
	position: relative;
	font-size: 2.4rem;
	font-weight: 400;
	color: #fff;
	text-shadow: 0 0 4px rgba(0,0,0,.5);
}
@media screen and (max-width: 767px){
	#page_title_inner{
		font-size: 7.6vw;
	}
}
.page_title_sub{
	position: relative;
	min-width: 20%;
	margin-top: .5em;
	padding: .5em 1em;
	color: #947f3c;
	background-color: #fff;
	border-radius: 100px;
}
.ls05{
	text-indent: .5em;
	letter-spacing: .5em;
}


@media print, screen and (min-width: 768px){
	.profile_top_wrap{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	.profile_top_text_wrap{
		width: calc(100% - 180px - 6rem);
		padding: 2rem;
	}
	.profile_top_text_wrap::after{
		right: -24px;
	}
	.profile_top_name,
	.profile_top_name_en,
	.profile_top_dep{
		padding-left: .4rem;
		padding-right: .4rem;
	}
}
@media screen and (max-width: 767px){
	.profile_top_wrap{
		text-align: center;
	}
	.profile_top_img{
		position: relative;
		z-index: 1;
	}
	.profile_top_text_wrap{
		margin-top: -3rem;
		padding: 4rem 2rem 2rem;
	}
	.profile_top_text_wrap::after{
		right: -4vw;
	}

}
.profile_top_text_wrap{
	position: relative;
	background-color: #f7f7f5;
	border-radius: 10px;
	
}
.profile_top_text_wrap::after{
	position: absolute;
	bottom: -14px;
	content: url("../img/profile_top_ornament.png");
	line-height: 1;
}
p.profile_top_name{
	margin-top: 0;
}
.profile_top_name{
	min-width: 5em;
	font-size: 1.6rem;
	border-bottom: 1px solid #c7c7c7;
}
p.profile_top_name_en{
	margin-top: .5em;
}
p.profile_top_dep{
	margin-top: 0;
	font-size: .9rem;
}

.profile_greetings_title{
	padding-bottom: 20px;
	font-size: 1.4rem;
	font-weight: 400;
	background: url("../img/dot_line.png") bottom center / 100% no-repeat;
}
hr.dot_line{
	border: none;
	height: 20px;
	background: url("../img/dot_line.png") bottom center / 100% no-repeat;
}
@media screen and (max-width: 767px){
	.profile_greetings_title,
	hr.dot_line{
		background: url("../img/dot_line_sp.png") bottom center / 100% no-repeat;
	}
}

.profile_history{
	position: relative;
}
.profile_history::before{
	position: absolute;
	top: 1.7em;
	left: 8px;
	content: "";
	width: 1px;
	height: calc(100% - 3.4em);
	background-image: linear-gradient(#acddce 4px, transparent 0, transparent);
	background-size: 7px 7px;
	background-repeat: repeat-y;
}
.profile_history::after{
	position: absolute;
	top: 1em;
	left: 10em;
	content: "";
	width: 1px;
	height: calc(100% - 2em);
	background-color: #e2e2d9;
}
.profile_history td{
	padding: 1em;
	border: none;
}
.profile_history tr{
}
.profile_history tr > td:first-of-type{
	position: relative;
	padding-left: 2em;
	width: 7em;
	color: #947f3c;
}
.profile_history tr > td:first-of-type::before{
	position: absolute;
	top: calc(1.9em - 6px);
	left: 2px;
	content: "";
	width: 8px;
	height: 8px;
	background-color: #5cb7a6;
	border: 2px solid #acddce;
	border-radius: 6px;
	z-index: 1;
}
.history_table tr > td:first-of-type{
	width: 6.5em;
	color: #947f3c;
}
.history_table td{
	padding: 1em;
	border: none;
	border-bottom: 1px solid #e2e2d9;
}
@media screen and (max-width: 413px){
	.profile_history::after{
		left: 9em;
	}
	.profile_history tr > td:nth-of-type(2){
		padding-left: 0;
	}
	.history_table tr > td:nth-of-type(2){
		padding-left: 0;
	}
}
body#hosokawa #main_cnt iframe,
body#izumi #main_cnt iframe{
	margin-left: auto;
	margin-right: auto;
}


.practices_chart_list{
	text-align: center;
	line-height: 1.4;
}
.practices_chart_list_item{
	position: relative;
	z-index: 1;
}
.practices_chart_list_item:nth-of-type(-n+2)::before,
.practices_chart_list_item:nth-of-type(-n+2)::after{
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	transition: right .3s;
}
.practices_chart_list_item:nth-of-type(3)::before{
	position: absolute;
	content: "&";
	line-height: 1;
	font-size: 22px;
	font-weight: 800;
	color: #e0e0da;
}
.practices_chart_list_anchor{
	text-decoration: none;
	color: #545252;
	border-radius: 24px;
	transition: opacity .3s;
}
.practices_chart_list_anchor:hover{
	opacity: .5;
}
.practices_chart_list_item:first-of-type .practices_chart_list_item_inner{
	background-image: url("../img/practices_chart_list_item_1.png");
	background-position: top left 10%;
	background-repeat: no-repeat;
}
.practices_chart_list_item:nth-of-type(3) .practices_chart_list_item_inner{
	background-image: url("../img/practices_chart_list_item_3.png");
	background-position: bottom right 10%;
	background-repeat: no-repeat;
}
.practices_chart_list_anchor_text{
	display: block;
	padding: .2em 1em;
	width: 65%;
	font-size: .9em;
	background-color: #fff;
	border-radius: 60px;
}
.practices_chart_list_anchor_text::after{
	position: absolute;
	top: calc(50% - 5px);
	right: 8px;
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #f3b8a5;
	transition: border .4s;
}
@media print, screen and (min-width: 768px){
	.practices_chart_list{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		height: calc(25vw - 53px);
		max-height: 160px;
	}
	.practices_chart_list_item{
		flex: 0 0 auto;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::before,
	.practices_chart_list_item:nth-of-type(-n+2)::after{
		top: calc(50% - 6px);
		border-top: 4px solid #e0e0da;
		border-right: 4px solid #e0e0da;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::before{
		right: -37px;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::after{
		right: -25px;
	}
	.practices_chart_list_item:nth-of-type(3)::before{
		top: calc(50% - 10px);
		right: -34px;
	}
	.practices_chart_list_item_inner{
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		height: 100%;
	}
	.practices_chart_list_item_inner::before{
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
		width: 100%;
		padding-top: 100%;
		background-color: #ebf2c4;
		border-radius: 24px;
		transform: translate(-50%, -50%);
		z-index: -1;
	}
	.practices_chart_list_item{
		width: calc(25% - 40px);
	}
	.practices_chart_list_anchor_text{
		position: absolute;
		top: calc(100% - 3.2em);
	}
}
@media screen and (max-width: 767px){
	.practices_chart_list{
		flex-wrap: wrap;
	}
	.practices_chart_list_item:nth-of-type(n+2){
		margin-top: 50px;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::before,
	.practices_chart_list_item:nth-of-type(-n+2)::after{
		left: calc(50% - 9px);
		border-bottom: 4px solid #e0e0da;
		border-right: 4px solid #e0e0da;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::before{
		bottom: -35px;
	}
	.practices_chart_list_item:nth-of-type(-n+2)::after{
		bottom: -23px;
	}
	.practices_chart_list_item:nth-of-type(3)::before{
		bottom: -35px;
		left: calc(50% - 9px);
	}
	.practices_chart_list_item_inner{
		padding: 1.5em 1em;
		background-color: #ebf2c4;
		border-radius: 24px;
	}
	.practices_chart_list_anchor{
		display: block;
	}
	.practices_chart_list_anchor_text{
		position: relative;
		margin: .5em auto 0;
	}
}

.practices_title_balloon{
	position: relative;
	text-align: center;
	height: 90px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.4;
	text-shadow: 2px 0px #F7F7F5, -2px 0px #F7F7F5, 0px -2px #F7F7F5, 0px 2px #F7F7F5, 2px 2px #F7F7F5, -2px 2px #F7F7F5, 2px -2px #F7F7F5, -2px -2px #F7F7F5, 1px 2px #F7F7F5, -1px 2px #F7F7F5, 1px -2px #F7F7F5, -1px -2px #F7F7F5, 2px 1px #F7F7F5, -2px 1px #F7F7F5, 2px -1px #F7F7F5, -2px -1px #F7F7F5;

	z-index: 1;
}
.practices_title_balloon::before{
	position: absolute;
	top: calc(50% + 4px);
	left: 50%;
	content: "";
	width: 300px;
	max-width: 100%;
	height: 90px;
	background: url("../img/practices_title_balloon.png") center / 100% no-repeat;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.practice_list{
	display: grid;
	grid-auto-rows: 160px;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	grid-gap: 2em 10px;
	text-align: center;
}
.practice_list_item{
	position: relative;
	z-index: 1;
}
.practice_list_anchor{
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: #545252;
}
.practice_list_anchor::before{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 100%;
	height: 100%;
	max-width: 160px;
	min-height: 160px;
	background: url("../img/practice_list_bg.png") center / 100% no-repeat;
	transform: translate(-50%, -50%);
	transition: opacity .3s, transform .3s;
	z-index: -1;
}
.practice_list_anchor:hover::before{
	opacity: .5;
	transform: translate(-50%, -50%) scale(.9);
}
.practice_list_item:nth-child(even) .practice_list_anchor::before{
	transform: translate(-50%, -50%) rotate(90deg);
	transform-origin: center;
}
.practice_list_item:nth-child(even) .practice_list_anchor:hover::before{
	transform: translate(-50%, -50%) scale(.9) rotate(90deg);
}
.practice_list_anchor::after{
	position: absolute;
	bottom: 20px;
	left: calc(50% - 3px);
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #f3b8a5;
}
.practice_list_img{
	margin-bottom: 5px;
}
.practice_list_title{
	display: inline-block;
}


.practice_chart_img{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
.dropdown_wrap{
	margin-top: 1.5em;
	padding: 1.25rem;
	background-color: #e4f2ee;
	border-radius: 4px;
	transition: background .6s, box-shadow .6s;
}
.dropdown_wrap.more_open{
	background-color: #fff;
	box-shadow: 0 0 12px rgba(75,191,177,.3);
}
.dropdown_title{
}
.dropdown_text_wrap:not(.block-editor-block-list__block){
	display: none;
	padding-bottom: 1rem;
}
.dropdown_button{
	position: relative;
	display: block;
	margin-top: .5rem;
	line-height: 2.6;
	width: 100%;
	text-align: center;
	font-size: .8rem;
	background-color: #fff;
	border-radius: 2px;
	cursor: pointer;
	transition: background .6s, opacity .3s;
}
.dropdown_wrap.more_open .dropdown_button{
	background-color: rgba(75,191,177,.08);
}
.dropdown_button:hover{
	opacity: .5;
}
.dropdown_button::after{
	content: "";
	display: inline-block;
	margin-left: .5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5px 0 5px;
	border-color: #acddce transparent transparent transparent;
	transform: translateY(-2px);
}
.dropdown_wrap.more_open .dropdown_button::after{
	transform: rotate(180deg);
}

.continue_wrap:not(.block-editor-block-list__block){
	display: none;	
}
.continue_button{
	position: relative;
	display: block;
	margin-top: .5rem;
	line-height: 2.6;
	width: 100%;
	text-align: center;
	font-size: .8rem;
	background-color: #fff;
	border: 1px solid #acddce;
	border-radius: 2px;
	cursor: pointer;
	transition: opacity .3s;
}
.continue_button:hover{
	opacity: .5;
}
.continue_button::after{
	content: "";
	display: inline-block;
	margin-left: .5rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5px 0 5px;
	border-color: #acddce transparent transparent transparent;
	transform: translateY(-2px);
}
.continue_button.more_open::after{
	transform: rotate(180deg);
}

.kakomi_wrap{
	position: relative;
	margin-top: 2em;
	padding: .2em 2rem 1.5em;
	z-index: 1;
}
.kakomi_wrap::after{
	position: absolute;
	top: .9em;
	left: 0;
	content: "";
	width: 100%;
	height: calc(100% - 1em);
	border: 3px dotted #b1e8d9;
	border-radius: 6px;
	z-index: -1;
}
.kakomi_title{
	display: inline-block;
	margin-left: -.5rem;
	padding: 0 .5rem;
	background-color: #fff;
}
p.kakomi_text{
	margin-top: .8em;
}

.souzoku_table td{
	padding: .2em 1em;
	border: 1px solid;
}
.souzoku_table{
	background-color: #F7F7F5;
}
.souzoku_table tr:nth-of-type(-n+2){
	background-color: #e4f2ee;
}
.souzoku_table tr > td:nth-of-type(n+2){
	text-align: center;
}


.case_toc{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(12em, 1fr));
	grid-gap: .5em;
	text-align: center;
}
.case_toc_item{
}
.case_toc_anchor{
	position: relative;
	display: block;
	padding-top: .2em;
	padding-bottom: .2em;
	text-decoration: none;
	color: #333;
	border: 2px solid #b1e8d9;
	border-radius: 4px;
	z-index: 1;
	overflow: hidden;
}
.case_toc_anchor::before{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 120px;
	height: 120px;
	background-color: #b1e8d9;
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
	transition: transform .4s ease-out;
	z-index: -1;
}
.case_toc_anchor:hover::before{
	-webkit-transform: translate(-50%, -50%) scale(2.8);
	transform: translate(-50%, -50%) scale(2.8);
}
.case_toc_anchor::after{
	position: absolute;
	top: calc(50% - 3px);
	right: 16px;
	content: "";
	border-style: solid;
	border-width: 6px 5px 0 5px;
	border-color: #b1e8d9 transparent transparent transparent;
	transition: border .4s;
}
.case_toc_anchor:hover::after{
	border-color: #fff transparent transparent transparent;
}

.case_list_item{
	padding: 1em .5rem;
	border-bottom: 1px dashed #E3E3E0;
}


.voice_content_item{
	margin-top: 2rem;
	padding: 2rem 2rem 2.5rem;
	background-color: #fff;
	border: 1px solid rgba( 109, 180, 160, .3 );
	border-radius: 4px;
}
.voice_content_item:nth-of-type(n+2){
	margin-top: 3rem;
}
p.voice_content_title{
	position: relative;
	margin-top: 0;
	padding-bottom: .5rem;
	text-align: right;
	color: #6db4a0;
	border-bottom: 2px solid #6db4a0;
}
p.voice_content_text{
	margin-top: 1.4em;
	transition: color .3s;
	line-height: 46px;
	background: linear-gradient(#fff, #fff 45px, transparent 0) top left / 5px 46px repeat,
		linear-gradient(to right, rgba(0,0,0,.1), rgba(0,0,0,.1) 3px, #fff 3px, #fff 5px) top left / 5px 46px repeat;
	border-radius: 4px;
}


.link_content_item{
	margin-top: 2rem;
	padding: .5rem 1rem .8rem;
	background-color: #F7F7F5;
	border-radius: 4px;
}
.link_content_anchor{
	position: relative;
	display: block;
	padding: .4em 36px .4em 0;
	text-decoration: none;
	font-weight: 600;
	border-bottom: 1px dashed #ACDDCE;
	transition: color .3s, border .3s;
}
.link_content_anchor:hover{
	color: #f3b8a5;
	border-color: #f3b8a5;
}
.link_content_anchor::before{
	position: absolute;
	top: .5em;
	right: .2rem;
	content: "";
	width: 26px;
	height: 26px;
	background-color: #ACDDCE;
	border-radius: 15px;
	transition: right .3s, background .3s;
}
.link_content_anchor:hover::before{
	right: 0;
	background-color: #f3b8a5;
}
.link_content_anchor::after{
	position: absolute;
	top: calc(.5em + 8px);
	right: calc(.2rem + 9px);
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #fff;
	transition: right .3s;
}
.link_content_anchor:hover::after{
	right: 9px;	
}
p.link_content_text{
	margin-top: 1.1em;
	font-size: .9rem;
	transition: color .3s;
}
p.link_content_title{
	margin-top: 0;
}


.contact_flow{
	counter-reset: contactList;
	padding-left: 40px;
}
.contact_flow .is-style-title_list{
	position: relative;
	margin-top: 2em;
	margin-bottom: 1.5em;
	line-height: 1.4;
	font-weight: 400;
	color: #46a587;
}
.contact_flow .is-style-title_list::before{
	position: absolute;
	top: -.3em;
	left: -40px;
	counter-increment: contactList;
	content: counter(contactList);
	width: 30px;
	height: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-weight: 100;
	color: #fff;
	background-color: #4bbfb1;
	border-radius: 100px;
}
.contact_flow_item{
	position: relative;
}
.contact_flow_item::before{
	position: absolute;
	top: 15px;
	left: -25px;
	content: "";
	width: 2px;
	height: 100%;
	background-image: linear-gradient(#acddce 4px, transparent 0, transparent);
	background-size: 7px 7px;
	background-repeat: repeat-y;
}
.contact_flow_item::after{
	position: absolute;
	top: calc(100% + 8px);
	left: -29px;
	border-bottom: 2px solid #acddce;
	border-right: 2px solid #acddce;
	content: "";
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
}

.contact_text_bg{
	display: inline-block;
	padding: 0 1rem;
	color: #fff;
	background-color: #4bbfb1;
	border-radius: 4px;
}
.contact_tel_box{
	padding: .5em .5rem .8em;
	max-width: 540px;
	min-width: auto;
	line-height: 1.4;
	font-size: .9rem;
	text-align: left;
	background-color: #f7f7f5;
	border-radius: 4px;
}
.contact_tel_box .font_small{
	display: inline-block;
	font-size: .85rem;
}
.contact_tel_box td{
	padding: .4rem 1rem;
}
.contact_tel_green{
	font-size: 1.6rem;
	font-weight: 400;
	font-family: 'Rubik', sans-serif;
	color: #4bbfb1;
	line-height: 1.2;
}
@media screen and (max-width: 440px){
	.contact_tel_box td{
		display: block;
	}
}

.contact_form_wrap{
	margin-top: 2em;
	padding: 1rem;
	font-size: .9rem;
	background-color: #f7f7f5;
	border-radius: 4px;
}
.contact_form_wrap p{
	margin-top: 0 !important
}
.contact_form_req{
	margin-left: .5em;
	font-size: .75em;
	color: #F65035;
}
.contact_form select{
	font-size: 1rem;
	min-width: 30%;
}
.contact_form input{
	font-size: 1rem;
	max-width: calc(100% - 10px);
}
.contact_form textarea{
	font-size: 1rem;
	width: calc(100% - 10px);
	resize: vertical;
}
@media print, screen and (min-width: 768px){
	.contact_form_item{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 1.5em 0.5em;
		transition: background .1s;
	}
	.contact_form_item:nth-of-type(n+2){
		border-top: 1px dotted #A4A2A1;
	}
	.contact_form_item:hover{
		background-color: #fff;
	}
	.contact_form_text{
		position: relative;
		flex: 0 0 16em;
	}
	.contact_form_area{
		width: calc(100% - 16em);
	}
}
@media screen and (max-width: 767px){
	.contact_form_item:nth-of-type(n+2){
		margin-top: 1em;
	}
}
.contact_form_submit_wrap{
	margin-top: 1em;
	text-align: center;
}
.contact_form_send{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: .5em 1em;
	font-size: 1rem;
	letter-spacing: .1em;
	color: #fff;
	background-color: #4bbfb1;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: opacity .2s;
}
.contact_form_send:hover{
	opacity: .6;
}
.contact_form_wrap .wpcf7-spinner{
	display: block;
}


.book_top_box{
	position: relative;
	margin-top: 2rem;
	padding: 2rem 1rem 3rem;
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f2f2f2 calc(100% - 1px)),
					linear-gradient(90deg, transparent calc(100% - 1px), #f2f2f2 calc(100% - 1px));
	background-size: 16px 16px;
	background-repeat: repeat;
	background-position: center center;
}
.book_title{
	position: relative;
	text-align: center;
	line-height: 1.2;
	font-size: 3rem;
}
@media screen and (max-width: 430px){
	.book_title{
		font-size: 11vw;
	}
}
.book_title_1{
	font-size: .5em;
}
.book_title_2,
.book_title_3{
	font-weight: 600;
}
.book_title_2{
	color: #974786;
}
.book_title_4{
	display: inline-block;
	padding: 0 .5em;
	font-size: .4em;
	font-weight: 300;
	color: #fff;
	background-color: #974786;
	transform: translateY(-.8em);
}
.book_img{
	margin-left: auto;
	margin-right: auto;
	max-width: 70%;
}
.book_img img{
	box-shadow: 20px 16px 4px rgba(0,0,0,.2), 0 0 4px rgba(0,0,0,.1);
}

.book_toc_wrap{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 8px;
	border: 1px solid #f3b8a5;
	border-radius: 40px;
	max-width: 360px;
	box-shadow: 0 0 10px rgba( 243, 184, 165, .5 );
}
@media print, screen and (min-width: 768px){
	.book_toc_wrap{
		transform: rotateZ(3.8deg);
	}
}
.book_toc_wrap::before{
	position: absolute;
	top: 28px;
	left: calc(50% - 15px);
	content: "";
	width: 30px;
	height: 4px;
	border: 1px solid #f3b8a5;
	border-radius: 4px;
}
.book_toc_wrap::after{
	position: absolute;
	top: calc(100% - 46px);
	left: calc(50% - 15px);
	content: "";
	width: 30px;
	height: 30px;
	border: 1px solid #f3b8a5;
	border-radius: 15px;
}
.book_toc_wrap .wp-block-group__inner-container{
	padding: 20px 20px 24px;
	border: 1px solid #f3b8a5;
}
p.book_toc_text{
	margin-top: 0;
	text-align: center;
}
.book_toc{
	padding: 0;
	list-style: none;
	counter-reset: bookToc;
}
.book_toc li{
	list-style: none;
	position: relative;
	margin-top: 1em;
	padding: .2em .5em;
	margin-left: 56px;
	background-color: #FFE9E2;
	border-radius: 10px;
}
.book_toc > li::before{
	position: absolute;
	top: -4px;
	left: -56px;
	counter-increment: bookToc;
	content: counter(bookToc) "章";
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	width: 40px;
	height: 40px;
	color: #fff;
	background-color: #f3b8a5;
	border-radius: 20px;
}
.book_toc li::after{
	position: absolute;
	top: calc(1em - 4px);
	left: -9px;
	content: "";
	border-style: solid;
	border-width: 4px 10px 4px 0;
	border-color: transparent #FFE9E2 transparent transparent;
}
.book_amazon_anchor a{
	display: inline-block;
	padding: .1em .7em;
	font-weight: 600;
	text-decoration: none;
	color: #040707;
	background-image: linear-gradient(#FFE8AB, #F5C747);
	border: 1px solid #C2A24E;
	border-radius: 4px;
	transition: opacity .3s;
}
.book_amazon_anchor a:hover{
	opacity: .5;
}

.book_link_box{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 1em;
	box-shadow: 2px 2px 6px rgba(0,0,0,.15);
}
.book_link_box_img_wrap{
	width: 100px;
	max-width: 30%;
	margin: 0 2em;
	border: 1px solid #ccc;
}
.book_link_box_img_wrap,
.book_link_box_text_wrap{
	margin-top: 1rem;
	margin-bottom: 1rem;
}
p.book_link_box_title{
	margin-top: 0;
}
.book_link_box_link_wrap{
	text-align: left;
}
.book_link_box_anchor{
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: .5em;
	text-decoration: none;
	color: #fff;
	border-radius: 4px;
	transition: opacity .3s;
}
.book_link_box_link_amazon{
	background-color: #FF9900;
}
.book_link_box_link_rakuten{
	background-color: #C10707;
}
.book_link_box_link_honto{
	background-color: #0085CD;
}
.book_link_box_link_tsutaya{
	background-color: #092253;
}
.book_link_box_anchor:hover{
	opacity: .5;
}


.sitemap_list{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11em, 1fr));
	grid-gap: 2em 1.5em;
	line-height: 1.4;
}
.sitemap_list_anchor{
	position: relative;
	display: block;
	padding: .8em 0 .5em 26px;
	border-bottom: 1px dashed #E3E3E0;
}
.sitemap_list a:hover{
	color: #ccc;
}
.sitemap_list_anchor::before{
	position: absolute;
	top: .9em;
	left: 0;
	content: "";
	width: 16px;
	height: 16px;
	background-color: #ACDDCE;
	border-radius: 8px;
	transition: background .3s;
}
.sitemap_list_anchor:hover::before{
	background-color: #ccc;
}
.sitemap_list_anchor::after{
	position: absolute;
	top: calc(.9em + 4px);
	left: 6px;
	content: "";
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #fff;
}

.sitemap_child_list{
	margin-top: .5em;
	font-size: .95em;
}
.sitemap_child_list a{
	position: relative;
	display: block;
	padding: .2em .5em .2em 26px;
}
.sitemap_child_list a::after{
	position: absolute;
	top: calc(.3em + 4px);
	left: 6px;
	content: "";
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #ACDDCE;
}
.sitemap_child_list a:hover::after{
	border-color: transparent transparent transparent #ccc;
}


