@charset "UTF-8";

@font-face {
	font-family: 'ShipporiMincho';
	src: url(../fonts/Shippori_Mincho/ShipporiMincho-Regular.ttf) format('truetype');
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'ShipporiMincho';
	src: url(../fonts/Shippori_Mincho/ShipporiMincho-Medium.ttf) format('truetype');
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: 'ShipporiMincho';
	src: url(../fonts/Shippori_Mincho/ShipporiMincho-SemiBold.ttf) format('truetype');
	font-weight: 600;
	font-display: swap;
}
@font-face {
	font-family: 'ShipporiMincho';
	src: url(../fonts/Shippori_Mincho/ShipporiMincho-Bold.ttf) format('truetype');
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: 'ShipporiMincho';
	src: url(../fonts/Shippori_Mincho/ShipporiMincho-ExtraBold.ttf) format('truetype');
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: 'Crimson_Text';
	src: url(../fonts/Crimson_Text/CrimsonText-Regular.ttf) format('truetype');
	font-display: swap;
}

* {
	font-size: inherit;
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	color: #333;
	font-size: 18px;
	line-height: 2;
	font-weight: normal;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
body.contact_body {
	background: #fafafa;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
p.img img {
	border-radius: 12px;
}
p {
	margin: 0 0 1.1rem 0;
	padding: 0;
}
p:last-child {
	margin: 0;
}
p span {
}

@media screen and (max-width: 768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width: 560px) {
	body {
		font-size: 15px;
	}
}
@media screen and (max-width: 430px) {
	body {
		font-size: 14px;
	}
}


/****************************************
 * リンク
 * **************************************/

a {
	color: #0A0801;
	cursor: pointer;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
}
a:hover {
	opacity: .7;
}
a.noopacity,
a.noopacity img {
	opacity: 1 !important;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}
a.block {
	display: block;
	margin: 0;
}



/*問い合わせボタン（fixed）*/
.btn_Finq {
	display: flex;
	gap: 8px;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 380px;
	height: 72px;
	margin: 0 auto;
	padding: 12px 28px;
	font-weight: bold;
	font-size: 1.1rem;
	color: #fff;
	text-align: center;
	background-color: #E8BE16;
	border-radius: 4px;
	transition: all .3s;
}
.btn_Finq:hover {
	background: #D0AB14;
}
aside .btn_Finq {
	    background-color: #0B7373;
    color: #FFF;
}
aside .btn_Finq:hover {
	background-color: #085959;
}

@media screen and (max-width: 560px) {
	.btn_Finq {
		font-size: 1rem;
		padding: 12px 22px;
	}
}
@media screen and (max-width: 430px) {
	.btn_Finq {
		font-size: 1em;
	}
}


/*問い合わせボタン（サイドバー）*/
.btn_inq {
	display: flex;
	gap: 8px;
	align-items: center;
	width: 100%;
	max-width: 320px;
	height: 64px;
	padding: 8px 40px 8px 8px;
	font-weight: bold;
	font-size: 1.04rem;
	color: #fff;
	text-align: center;
	overflow-wrap: anywhere;
	background-color: #BC2101;
	border-radius: 32px; /* (buttonの高さ / 2) の値 */
}
.btn_inq_icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 48px;
	aspect-ratio: 1;
	padding: 4px;
	overflow: hidden;
	background-color: #fff;
	border-radius: 50%;
}
.btn_inq_text {
	flex-shrink: 1;
	width: 100%;
}


/*矢印*/
.arrow {
	display: inline-block;
	min-width: 280px;
	padding: 18px 50px 18px 36px !important;
	margin: 0px;
	background: #0B7373;
	color: #FFF;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	line-height: 1.6;
	position: relative;
	text-align: center;
	border-radius: 4px;
}
.arrow:after {
	content: '';
	position: absolute;
	top:42%;
	right: 1.6em;
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}
.arrow:hover {
	opacity: 1;
	background: #085959;
}
.arrow:hover::after{
	right: 1em;
}


@media screen and (max-width: 560px) {
	.arrow {
		min-width: 320px;
		padding: 18px 18px 18px 38px !important;
	}
}
@media screen and (max-width: 430px) {
	.arrow {
		min-width: 100%;
		padding: 18px 18px 18px 42px !important;
	}
}


/*テキストリンク*/
a.txtlink {
	display: inline-block;
	color: #0B7373;
	position: relative;
}
a.txtlink span {
	display: inline-block;
	padding-bottom: 6px;
	border-bottom: 1px solid;
}
a.txtlink:hover {
	opacity: 1;
}
a.txtlink:hover span {
	color: #085959;
	border-bottom: 1px solid #085959;
}
a.txtlink.mark {
	display: inline-block;
	padding-left: 30px;
	position: relative;
}
a.txtlink.mark:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_arrowSQ.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 16px;
	height: 16px;
}
a.txtlink.mark span {
	display: inline-block;
}


/*別タブ*/
a.tab span {
	padding-left: 30px;
	transition: all .3s ease;
	position: relative;
}
a.tab span:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_tab.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 16px;
	height: 16px;
}
a.tab span {
	display: inline-block;
}
a.tab span:hover {
	color :#0B7373;
}



/****************************************
 * リスト
 * **************************************/

table {
	border-collapse: collapse;
	table-layout: fixed;
}
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul ul{
	margin-left: 1em;
}


/****************************************
 * レスポンシブ
*****************************************/

@media screen and (min-width: 1025px) {/*1025px以上で*/
	.tb {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width:1024px) {/*1024px以下で*/
	.tb {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 560px) {/*560px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/****************************************
 * h要素
*****************************************/

h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	margin: 0;
	text-align: center;
	line-height: 1;
}

h1 {
	font-size: 3.2rem;
}
h2 {
	font-size: 2rem;
}
h3 {
	font-size: 1.8rem;
}
h4 {
	font-size: 1.6rem;
}
h5 {
	font-size: 1.3rem;
}
h6 {
	font-size: 1rem;
}

.mv_title {
	text-align: left;
}
.mv_title span {
	display: block;
	color: #391B28;
	line-height: 1.2;
	font-size: 1.3rem;
	font-family: sans-serif;
}
.mv_title span.en {
	font-size: 1.3rem;
	margin-top: 9px;
}

.main_title {
	display: inline-block;
	width: 100%;
	text-align: center;
	    font-family: 'ShipporiMincho', serif;
}
.main_title span.the_title {
	display: block;
	line-height: 1.2;
	color: #0B7373;
}
.main_title span.office {
	display: block;
	margin-top: 28px;
	font-size: 1.2rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	color: #0B7373;
}
.sec_title {
	text-align: center;
}



/* サイドバー */
.aside_title {
	text-align: center;
	padding: 0;
	margin: 0;
	color: #000;
	position: relative;
}
.aside_title span.jp {
	display: block;
	font-size: 1.6rem;
}


/*固定ページタイトル*/
.conts_title {
	text-align: left;
	font-family: 'ShipporiMincho', serif;
	background: #0B7373;
    color: #FFF;
	padding: 18px;
}
.conts_title span {
	display: inline-block;
	padding-left: 46px;
	position: relative;
}
.conts_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/mark.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 30px;
	height: 30px;
}



@media screen and (max-width: 1024px) {
	h1 {
		font-size: 3rem;
	}
	h2 {
		font-size: 1.8rem;
	}
	h3 {
		font-size: 1.6rem;
	}
	h4 {
		font-size: 1.5rem;
	}
	h5 {
		font-size: 1.3rem;
	}
	h6 {
		font-size: 1rem;
	}
}
@media screen and (max-width: 768px) {
	
	.mv_title span {
		font-size: 2rem;
	}
	.main_title span.office {
		font-size: 1rem;
	}
	
	.sec_title img {
		width: 480px;
	}
}
@media screen and (max-width: 560px) {
	h1 {
		font-size: 1.9rem;
	}
	h2 {
		font-size: 1.6rem;
	}
	h3 {
		font-size: 1.5rem;
	}
	h4 {
		font-size: 1.5rem;
	}
	h5 {
		font-size: 1.3rem;
	}
	h6 {
		font-size: 1rem;
	}

	.mv_title span {
		font-size: 2.3rem;
		font-style: italic;
		line-height: 1.4;
	}
	.main_title {
		font-size: 1.9rem;
	}
	.main_title span.office {
		font-size: 1rem;
	}
	
	.sec_title img {
		width: 420px;
	}
	.conts_title span {
		padding-left: 38px;
	}
	.conts_title span:before {
		width: 26px;
		height: 26px;
	}
}
@media screen and (max-width: 430px) {
	h1 {
		font-size: 1.4rem;
	}
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.4rem;
	}
	h4 {
		font-size: 1.4rem;
	}
	h5 {
		font-size: 1.2rem;
	}
	
	.main_title {
		font-size: 1.3rem;
	}
	.main_title span.office {
		font-size: .7rem;
	}
	
	.sec_title img {
		width: 350px;
	}
	
}
@media screen and (max-width: 320px) {
	h1 {
		font-size: 1.3rem;
	}
	h2 {
		font-size: 1.4rem;
	}
	h3 {
		font-size: 1.3rem;
	}
	h4 {
		font-size: 1.3rem;
	}
	h5 {
		font-size: 1.1rem;
	}
	
	.mv_title span {
		font-size: 2rem;
	}
	.main_title {
		min-width: 200px;
	}
	.sec_title img {
		width: 320px;
	}
}


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

header {
	width: 100%;
	background: #FFF;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
	z-index: 99;
}
header .header_main {
	position: relative;
}
header .header_flex {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header .header_main .logo_box {
	padding: 12px 0 12px 60px;
	width: 440px;
}
header .header_main .logo_box p.description {
	font-size: .8rem;
	line-height: 1.4;
	margin-top: 5px;
}

header .header_flex .header_right {
	    width: calc(100% - 440px);
}
header .header_info {
	padding: 12px 0;
}
header .header_info .header_info_flex {
	padding-right: 60px;
	display: flex;
	align-items: flex-end;
}
header .header_info p {
	margin: 0;
}
header .header_info p.phone_btn {
	margin: 0 18px 0 0;
}
header .header_nav {
	padding: 0 60px;
	background: #0B7373;
}
header .header_nav.fixed { /* 途中から固定*/
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
header .header_nav .header_nav_flex {
	display: flex;
	justify-content: center;
}

#gnav {
	width: 100%;
}
#gnav ul.gnav_list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
#gnav ul.gnav_list li {
	width: 100%;
	min-height: 70px;
	font-size: 1rem;
	display: flex;
	text-align: center;
	font-family: 'ShipporiMincho', serif;
	font-weight: 400;
	border-right: 1px solid #0A6666;
}
#gnav ul.gnav_list li:first-child {
	border-left: 1px solid #0A6666;
}
#gnav ul.gnav_list li.selected {
	background: #FFF;
	transition: 0.3s ease-in-out;
}
#gnav ul.gnav_list li a {
	width: 100%;
	color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	position: relative;
}
#gnav ul.gnav_list li a span {
	display: block;
	margin: 0 0 -3px;
	color: #FFF;
	font-size: .7rem;
	transition: all .3s ease;
}
#gnav ul.gnav_list li a:hover {
	opacity: 1;
	background: #FFF;
	color: #0B7373;
}
#gnav ul.gnav_list li a:hover span {
	opacity: 1;
	color: #0B7373;
}
#gnav .gnav_list_sub {
	visibility: hidden;
	opacity: 0;
	transition: 0.3s ease-in-out;
	position: absolute;
	top: 100%;
	right: 177px;
	z-index: 10;
}
#gnav .gnav_list_sub.selected {
	visibility: visible;
	opacity: 1;
	transition: .3s;
}
#gnav ul.sub-menu-list li a {
	display: block;
	padding: 30px 15px;
	font-size: 14px;
	color: #000;
	text-decoration: none;
}
.gnav_list_sub {
	width: auto;
	background: #FFF;
	font-size: .9rem;
	padding: 0;
	box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}
.gnav_list_sub .sub01_flex {
	display: flex;
}
.gnav_list_sub ul.sub_list {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	border-bottom: 1px solid #ededed;
}
.gnav_list_sub ul.sub_list li.sub_list_item {
	line-height: 1;
	border-right: 1px solid #ededed;
	border-top: 1px solid #ededed;
}
.gnav_list_sub ul.sub_list:nth-child(2) li.sub_list_item {
	border-right: none;
	border-top: 1px solid #ededed;
}
.gnav_list_sub ul.sub_list li.sub_list_item a {
	display: block;
	color: #000;
	padding: 18px;
}
.gnav_list_sub ul.sub_list li.sub_list_item a:hover {
	opacity: 1;
	color: #FFF;
	background: #391B28;
}

@media screen and (max-width: 1194px) {
	header .header_nav {
		padding: 0 30px;
	}
	#gnav ul.gnav_list {
		    flex-wrap: wrap;
	}
	#gnav ul.gnav_list li {
		width: calc(100% / 5);
	}
	#gnav ul.gnav_list li:nth-child(6) {
		border-left: 1px solid #0A6666;
	}
	#gnav ul.gnav_list li:nth-child(-n+5) {
		border-bottom: 1px solid #0A6666;
	}
}
@media screen and (max-width: 1024px) {
	header .header_main .logo_box {
		padding: 12px 0 12px 45px;
	}
	header .header_info .header_info_flex {
		padding-right: 45px;
	}
}
@media screen and (max-width: 768px) {
	header .header_main .logo_box {
		padding: 12px 0 12px 30px;
	}
	header .header_info .header_info_flex {
		padding-right: 30px;
	}
	header .header_info p.open {
		font-size: .9rem;
	}
	header .header_nav .header_nav_flex {
		width: 100%;
		min-width: 100%;
		justify-content: space-between;
		flex-direction: column;
	}
}
@media screen and (max-width: 560px) {
	header .header_main .logo_box img {
		width: 180px;
	}
	header .header_main .logo_box p.description {
		margin-top: 9px;
		font-size: .7rem;
	}
}
@media screen and (max-width: 430px) {
	header .header_main .logo_box {
		padding: 12px 0 12px 20px;
	}
}


/****************************************
 * スマホナビゲーション
 * **************************************/

#few_nav {
	display: none;
}

@media screen and (max-width: 568px) {
	#few_nav {
		display: block;
	}
	#few_nav a {
		display: block;
	}
	#few_nav a.arrow {
		padding: 12px 15px;
		color: #FFF;
	}
	#few_nav_body_area {
		background: #FFF;
		box-sizing: border-box;
		height: 100%;
		padding: 30px;
		position: fixed;
		right: -320px;
		top: 0;
		transition: transform 0.3s linear 0s;
		width: 320px;
		white-space: nowrap;
		overflow-x: auto;
		z-index: 999;
	}
	#few_nav_body_area .few_nav_phone {
		text-align: center;
		    margin-top: 12px;
	}
	#few_nav_body_area .few_nav_phone p.phone_btn {
		display: block;
		text-align: center;
		font-size: 1.6rem;
	}
	#few_nav_body_area .few_nav_phone p.phone_btn a {
		color: #E81616;
	}
	#few_nav_body_area .few_nav_phone p.phone_btn span.phone_mark {
		display: inline-block;
		padding-left: 28px;
	}
	#few_nav_body_area .few_nav_phone p.phone_btn span.phone_mark:before {
		width: 19px;
		height: 19px;
	}

	.contact_box {
		border-bottom: 1px solid;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	nav#few_nav_body ul.gnav {
		list-style: none;
		margin: 0;
		padding: 0;
		border-top: 1px solid #ededed;
	}
	nav#few_nav_body ul.gnav li:not(:last-child) {
		border-bottom: 1px solid #ededed;
	}
	nav#few_nav_body ul.gnav li .accordion {
	}
	nav#few_nav_body ul.gnav li .accordion summary {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		padding: 18px;
		font-weight: bold;
		cursor: pointer;
	}
	nav#few_nav_body ul.gnav li .accordion summary::-webkit-details-marker {
		display: none;
	}
	nav#few_nav_body ul.gnav li .accordion summary::after {
		transform: translateY(-25%) rotate(45deg);
		width: 9px;
		height: 9px;
		margin-left: 10px;
		border-bottom: 2px solid #333333b3;
		border-right: 2px solid #333333b3;
		content: '';
		transition: transform .3s;
	}
	nav#few_nav_body ul.gnav li .accordion[open] summary::after {
		transform: rotate(225deg);
	}
	nav#few_nav_body ul.gnav li .accordion ul.sub_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	nav#few_nav_body ul.gnav li .accordion ul.sub_list li {
		font-size: .8rem;
		border-bottom: 1px solid #ededed;
	}
	nav#few_nav_body ul.gnav li .accordion ul.sub_list li a {
		color: #6B324B;
	}
	
	nav#few_nav_body ul.gnav a {
		display: block;
		padding: 18px;
	}
	nav#few_nav_body ul.gnav a span {
		display: block;
		color: #0B7373;
		font-size: 1rem;
		font-weight: bold;
		letter-spacing: .1em;
		padding-left: 28px;
		text-transform: uppercase;
		transition: all .3s ease;
		position: relative;
	}
	nav#few_nav_body ul.gnav a span:before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		background: url(../images/common/mark.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: 20px;
		height: 20px;
	}
	#few_nav_background {
		background: #000;
		display: block;
		height: 100%;
		opacity: 0;
		position: fixed;
		right: 0;
		top: 0;
		transition: all .3s linear 0s;
		width: 100%;
		z-index: -1;
	}
	#few_nav_icon {
		display: block;
		cursor: pointer;
		position: fixed;
		right: 10px;
		top: 20px;
		width: 52px;
		height: 131px;
		text-align: center;
		transition: all 0.3s linear 0s;
		z-index: 1000;
	}
	#few_nav_icon img.few_nav_button {}
	input#switching {
		display: none;
	}
	input#switching:checked ~ #few_nav_body_area,
	input#switching:checked ~ #few_nav_icon {
		transform: translate(-320px);
	}
	input#switching:checked ~ #few_nav_background {
		opacity: .7;
		z-index: 999;
	}
	
	#few_nav a.phone {
		padding: 0;
		margin-top: 15px;
	}
	p.few_nav_phone {
		margin-top: 8px;
		color: #FFF;
		text-align: center;
		font-family: 'Noto Sans JP';
		font-weight: 700;
	}
	p.few_nav_phone span {
		display: block;
		font-size: .8em;
	}
}
@media screen and (max-width: 430px) {
	#few_nav_icon {
		width: 46px;
		height: auto;
	}
}
@media screen and (max-width: 380px) {
	.contact_box {
		border-bottom: 1px solid;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	#few_nav a {
		padding: 8px 0;
	}
	#few_nav a.arrow {
		font-size: .8em;
	}
	#few_nav_body_area {
		padding: 20px;
		right: -280px;
		width: 280px;
	}
	input#switching:checked ~ #few_nav_body_area,
	input#switching:checked ~ #few_nav_icon {
		transform: translate(-280px);
	}
	nav#few_nav_body ul.gnav a span {
		font-size: .8rem;
	}
}
@media screen and (max-width: 320px) {
	#few_nav_icon {
		width: 36px;
		height: auto;
	}
	#few_nav_body_area {
		padding: 20px 12px;
		right: -220px;
		width: 220px;
	}
	input#switching:checked ~ #few_nav_body_area,
	input#switching:checked ~ #few_nav_icon {
		transform: translate(-220px);
	}
	nav#few_nav_body ul.gnav a {
		padding: 12px;
	}
}



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

.inner {
	width: 100%;
	min-width: 1024px;
	max-width: 1518px;
	padding: 0 60px;
	margin: 0 auto;
}
.sec_inner {
	padding-right: 5.856515373352855vw;
	padding-left: 20.937042459736457vw;
}
.inner__nr {
	padding: 0 60px;
	width: 1200px;
	margin: 0 auto;
}
main {
	overflow: hidden;
	width: 100%;
	padding-top: 90px !important;
	padding-bottom: 90px !important;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.home main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
article {
	width: 100%;
}
article.column {
	order: 1;
	width: calc(100% - 380px);
}
article.column#single {
	background: #FFF;
}
aside {
	order: 2;
	width: 320px;
	margin-left: 60px;
	padding-bottom: 90px;
}
section {
	padding: 120px 0;
}
.contents {
	padding-top: 0;
	margin: 0 auto 0;
}
#service .contents,
#inquiry .contents {
	padding-bottom: 0;
}
article.column .contents {
	padding: 0;
}
.block {
	margin-top: 120px;
}
.summary {
	width: 920px;
	font-size: 1rem;
    margin: 0 auto 90px;
}
.item_box {
	margin-top: 60px;
}


@media screen and (max-width: 1518px) {
	.inner {
		max-width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.inner {
		min-width: 100%;
	}
	.inner__nr {
		width: 100%;
	}
	
	article.column {
		width: calc(100% - 260px);
	}
	aside {
		width: 260px;
		margin-left: 45px;
	}
	.summary {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 120px 0;
	}
	.inner,
	.inner__nr {
		padding: 0 45px;
	}
	article.column {
		width: 100%;
	}
	aside {
		display: none;
		margin-left: 0;
		padding-bottom: 75px;
	}
	.block {
		margin-top: 90px;
	}
}
@media screen and (max-width: 560px) {
	section {
		padding: 90px 0;
	}
	.inner,
	.inner__nr {
		padding: 0 30px;
	}
	.sec_inner {
		padding: 0 30px;
	}
	main {
		flex-direction: column;
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}
	aside {
		display: block;
		width: 100%;
		padding-bottom: 60px;
		order: 2;
	}
	article.column {
		order: 1;
	}
	.block {
		margin-top: 75px;
	}
}
@media screen and (max-width: 430px) {
	section {
		padding: 60px 0;
	}
	main {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}
	aside {
		padding-bottom: 0;
	}
	.block {
		margin-top: 60px;
	}
}
@media screen and (max-width: 320px) {
	.inner,
	.sec_inner,
	.inner__nr {
		padding: 0 20px;
	}
}


/* メインビュー */
.mv {
	overflow: hidden;
	background:#eee;
	text-align: center;
}
.mv .mv_msg {
	width: 620px;
	position: absolute;
    left: 120px;
    top: 50%;
    transform: translateY(-50%);
	z-index: 8;
}
.mv p.mv_title_bottom {
	font-size: 1.3rem;
	font-family: 'ShipporiMincho', serif;
	line-height: 1.6;
	text-align: left;
	margin-top: 22px;
	color: #000;
}

.mv_page {
	position: relative;
}

.mv{
    position: relative;
}
.mv svg,
.mv_page svg {
	width: 100%;
	height: 200px;
	position: absolute;
	left: 0;
	bottom: -1px;
	fill: #FFF;
	z-index: 8;
}
.blog .mv_page svg,
.archive .mv_page svg,
.single-post .mv_page svg {
	fill: #F4EFF1;
}
.mv_page .mv_page_title {
	width: 100%;
	padding: 0 90px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9;
}


@media screen and (max-width: 1024px) {
	.mv .mv_msg {
		width: 420px;
		left: 90px;
	}
	.mv p.mv_title_bottom {
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 768px) {
	.mv .mv_msg {
		width: 380px;
		left: 60px;
	}
	.mv p.mv_title_bottom {
		font-size: 1rem;
	}
	
	.mv_page .mv_page_title {
		padding: 0 60px;
	}
}
@media screen and (max-width: 560px) {
	.mv_title img {
		width: 360px;
	}
	.mv .mv_msg {
		width: calc(100% - 90px);
		top: calc(100% - 140px);
		left: auto;
	}
	.mv p.mv_title_bottom {
		font-size: 1.2rem;
	}
	
	.mv_page .mv_page_title {
		padding: 0 45px;
	}
	.mv svg,
	.mv_page svg {
		height: auto;
	}
}
@media screen and (max-width: 430px) {
	.mv .mv_msg {
		top: calc(100% - 130px);
	}
	.mv p.mv_title_bottom {
		font-size: 1rem;
	}
	.mv_page .mv_page_title {
		padding: 0 30px;
	}
	
	a.scrolldown {
		bottom: 90px;
	}
}
@media screen and (max-width: 380px) {
	.mv .mv_msg {
		width: calc(100% - 60px);
	}
	
	a.scrolldown {
		bottom: 75px;
	}
}
@media screen and (max-width: 320px) {
	.mv .mv_msg {
		width: calc(100% - 45px);
		top: calc(100% - 90px);
	}
	.mv p.mv_title_bottom {
		font-size: .9rem;
	}
	.mv_page .mv_page_title {
		padding: 0 20px;
	}
	
	a.scrolldown {
		bottom: 60px;
	}
}


/****************************************
 * パンくず
*****************************************/

.breadcrumbs_area {
	text-align: right;
	padding: 18px 0;
}
.breadcrumbs {
	font-size: .8rem;
}
.breadcrumbs a {
	color: #0B7373;
}

@media screen and (max-width: 560px) {
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
}


/****************************************
 * 共通
 * **************************************/

p.ready {
	text-align: center;
}
p.phone_btn {
	display: inline-block;
	font-size: 2.3rem;
	text-align: center;
	color: #E81616;
	line-height: 1;
}
aside p.phone_btn {
	color: #0B7373;
}

span.phone_mark {
	font-family: 'Crimson_Text';
	padding-left: 42px;
	position: relative;
}
span.phone_mark:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_phoneRed.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 30px;
	height: 30px;
}
span.phone_mark_green {
	font-family: 'Crimson_Text';
	padding-left: 42px;
	position: relative;
}
span.phone_mark_green:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_phoneGreen.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 30px;
	height: 30px;
}

@media screen and (max-width: 320px) {
	p.phone_btn {
		font-size: 1.9rem;
	}
	span.phone_mark,
	span.phone_mark_green {
		padding-left: 32px;
	}
	span.phone_mark:before,
	span.phone_mark_green:before {
		width: 23px;
		height: 23px;
	}
}



.marker {
	display: inline;
	background: linear-gradient(transparent 50%, #F3F38A 50%);
}
.line {
	padding-bottom: 3px;
	color: #6B324B;
	border-bottom: 1px solid #6B324B;
}
.icon_head {
	position: relative;
}
.icon_head:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_head.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 32px;
	height: 32px;
}

.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s;
}
.slidein {
	animation: SlideIn 1s;
}
@keyframes SlideIn {
	0% {
		opacity: 0;
		transform: translateX(64px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
.slideinSlow {
	animation: SlideInSlow 2s;
}
@keyframes SlideInSlow {
	0% {
		opacity: 0;
		transform: translateX(64px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
.slideinSlow2 {
	animation: SlideInSlow2 2.8s;
}
@keyframes SlideInSlow2 {
	0% {
		opacity: 0;
		transform: translateX(128px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@media screen and (max-width: 560px) {
	.icon_head:before {
		width: 26px;
		height: 26px;
	}
}




/*ボタンボックス
 * ***************************************/
.button_box {
	text-align: center;
	margin-top: 45px;
	position: relative;
	z-index: 0;
}
.button_box.right {
	text-align: right;
}
.button_box18 {
	margin-top: 18px;
}
.button_box18.right {
	text-align: right;
}


@media screen and (max-width: 430px) {
	.button_box {
		margin-top: 30px;
	}
}


/* jump
 * ***************************************/

.jump {}
.jump ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.jump ul li {
	width: calc(100% / 3 - 18px);

}
.jump ul li a {
	display: block;
	height: 100%;
	border: 1px solid #0B7373;
}
.jump ul li a:hover {
	background: #E3F1EE;
}
.jump .jump_box {
	position: relative;
}
.jump .jump_box img.jumi_icon {
	background: #FFF;
	position: absolute;
	left: 50%;
	top: -23px;
	transform: translateX(-50%);
}
.jump .jump_inbox {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px 18px 18px 18px;
	line-height: 1.6;
}


@media screen and (max-width: 1194px) {
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
}
@media screen and (max-width: 560px) {
	.jump select.jump_select {
		display: block;
		width: auto;
		border-radius: 60px;
		margin-left: auto;
		background: url(../images/common/select_icon.webp) no-repeat;
		background-position: right 12px center;
		background-size: 22px, 100%;
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
}





/* 固定ページのテキストリンク
 * ***************************************/

.wp_contents a {
	color: #6B324B;
	padding-bottom: 3px;
	border-bottom: 1px solid #6B324B;
}

/* テキストリンク
 * ***************************************/

/*
a.btn_txt {
	color: #0A0801;
	border-bottom: 1px solid #0A0801;
}*/

/* more
 * ***************************************/

a.btn_more {
	display: inline-block;
	padding: 18px 38px 18px 48px;
	margin: 0px;
	color: #FFF;
	background: #391B28;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	line-height: 1.6;
	position: relative;
	border-radius: 4px;
	text-align: left;
}
a.btn_more svg {
	width: 26px;
	height: auto;
	position: absolute;
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	transition: all 0.3s ease 0s;
	stroke: #F0DFE6;
	stroke-width: 1.5px;
	right: auto;
}
a.btn_more:hover svg {
	stroke: #FFF;
}


/****************************************
* サイドバー
*****************************************/

aside .aside_box {
	margin-top: 45px;
	padding: 0;
}
aside .aside_inbox {
	padding: 30px 0;
}

/*事務所*/
aside .aside_info {
	margin-top: 0;
}
aside .aside_info.aside_box {
	border-left: none !important;
}
aside .aside_info .aside_inbox {
	padding: 0 0 30px 0;
}
aside .aside_info .aside_inbox img.logo_footer {
	display: block;
	margin: 0 auto;
}
aside .aside_info .aside_photo {
	margin-top: 30px;
	padding: 0 45px 45px;
	position: relative;
}
aside .aside_info .aside_photo:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	background-image: radial-gradient(#D2E8E4 12%, transparent 30%);
	background-size: 12px 12px;
	width: 100%;
	height: 60%;
	z-index: -1;
}
aside .aside_info .aside_photo p.name {
	text-align: center;
	margin-top: 16px;
	font-size: 1rem;
	font-family: 'ShipporiMincho', serif;
}
aside .aside_info .aside_photo p.name span {
	margin-right: 12px;
}
aside .aside_info figcaption {
	font-size: .86em;
}
aside .aside_info .info {
	padding: 18px 0 0;
	font-size:1rem;
}
aside .aside_info .info p.open {
	text-align: center;
	margin-top: 18px;
	padding-bottom: 30px;
	position: relative;
}
aside .aside_info .info p.open:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFF;
	background-image: radial-gradient(#D0E9FA 12%, transparent 30%);
	background-size: 12px 12px;
	width: 100%;
	height: 60%;
	z-index: -1;
}
aside .aside_info .info p.open span {
	display: inline-block;
	font-size: 1.3rem;
	font-family: 'ShipporiMincho', serif;
	background: #0B4972;
	color: #FFF;
	padding: 6px 18px;
}

/*問い合わせ*/
aside .aside_contact {
	background: #FCCF19;
	border-radius:4px;
	    padding: 30px;
}
aside .aside_contact .aside_inbox {
	text-align: center;
	padding-top: 18px;
	padding-bottom: 0;
}
aside .aside_contact .aside_title {
	margin-top: -42px;
}
aside .aside_contact .aside_title:before {
	content: none;
}
aside p.aside_inquiry_txt {
	text-align: center;
	color: #E81616;
	font-family: 'ShipporiMincho', serif;
	font-size: 1.3rem;
    margin-bottom: 6px;
	position: relative;
}
aside p.aside_inquiry_txt:before {
	content: '';
	position: absolute;
    border-bottom: 1px solid #000;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
}


/*カテゴリ*/
aside .aside_nav {
	
}
aside .aside_nav ul.parent {
	margin: 0;
    padding: 0;
	list-style: none;
}
aside .aside_nav ul.parent li {
	    font-family: 'ShipporiMincho', serif;
	position: relative;
}
aside .aside_nav ul.parent li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: inline-block;
	background: url(../images/common/icon_pen.png) no-repeat;
	background-size: contain;
	background-position: center;
	width: 22px;
	height: 22px;
	z-index: 1;
}
aside .aside_nav ul.parent li a {
	display: inline-block;
	padding: 6px 0 6px 30px;
	line-height: 1.6;
	color: #000;
}
aside .aside_nav ul.parent li a span {
	display: inline-block;
	padding-bottom: 6px;
	line-height: 1.4;
	transition: .3s;
	position: relative;
}
aside .aside_nav ul.parent li a span:after {
	position: absolute;
	bottom: -8px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #0B7373;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
aside .aside_nav ul.parent li a span:hover {
	color: #0B7373;
}
aside .aside_nav ul.parent li a span:hover:after {
	bottom: -4px;
	opacity: 1;
	visibility: visible;
}
aside .aside_nav ul.parent li ul.child {
	padding-bottom: 12px;
}
aside .aside_nav ul.parent li ul.child li {
	border: none;
	
}
aside .aside_nav ul.parent li ul.child li:before {
	content: "";
	position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background-color: #005B9A;
}
aside .aside_nav ul.parent li ul.child li a {
	padding: 3px 12px;
}
aside .aside_nav .button_box {
	text-align: right;
    padding: 0 30px;
	margin-top: 30px;
}

aside .aside_nav .search_form {
	margin-top: 30px;
}
aside .aside_nav .search_form p.search_form_title {
	text-align: left;
	color: #0B7373;
    font-size: .9rem;
    font-weight: bold;
    margin: 0 0 12px;
}


/*新着*/
aside .aside_update {
	
}
aside ul.update_list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #ededed;
}
aside ul.update_list li {
	padding: 18px;
	border-bottom: 1px solid #ededed;
}
aside ul.update_list li .update_article {
	
}
aside ul.update_list li .update_article p.date {
	font-size: .9rem;
	margin: 0;
}
aside ul.update_list li .update_article .the_title {
	text-align: left;
	font-size: 1rem;
	line-height: 1.4;
	margin: 6px 0 0;
}
aside ul.update_list li a {
	display: block;
}
aside ul.update_list li a:hover {
	color: #0B7373;
}

/*お知らせ*/
aside .button_box {
	
}
aside .button_box img {
	border-radius: 4px;
}

/*ナビ*/

aside ul.aside_Gnavlist {
	list-style: none;
	margin: 0;
    padding: 0;
}
aside ul.aside_Gnavlist li {
	margin-top: 12px;
}
aside ul.aside_Gnavlist li a {
	display: block;
	background: #E3F1EE;
	padding: 12px 18px 12px 26px;
	border-radius: 4px;
	font-size: 1rem;
	position: relative;
}
aside ul.aside_Gnavlist li a:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: #0B7373;
	width: 3px;
    height: calc(100% - 2.3em);
	transition: all .3s ease;
}
aside ul.aside_Gnavlist li a:hover {
	opacity: 1;
	background: #0B7373;
	color: #FFF;
}
aside ul.aside_Gnavlist li a:hover:before {
	background: #FFF;
}


/*コロナ*/
.aside_emergency {
	border-top: 1px solid #0B7373;
	border-bottom: 1px solid #0B7373;
}
p.aside_emergency_title {
	text-align: center;
	font-weight: bold;
}
.aside_emergency div {
	font-size: .9rem;
}


@media screen and (max-width: 768px) {
	aside .aside_nav {
		padding-bottom: 30px;
	}
	aside .aside_info {
		display: none;
	}
	aside .aside_nav ul.parent {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	aside .aside_nav ul.parent li {
		width: calc(100% / 2);
	}
	aside .aside_nav ul.parent li ul.child {
		
	}
	aside .aside_nav ul.parent li ul.child li {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	aside .aside_nav {
		padding-bottom: 0;
	}
	aside .aside_nav ul.parent li a {
		padding: 9px 0 9px 28px;
	}
	aside .aside_nav .aside_inbox {
		padding-bottom: 0;
	}
	aside ul.update_list li .update_article .the_title {
		font-size: 1em;
	}
}
@media screen and (max-width: 430px) {
	aside .aside_nav ul.parent {
		flex-direction: column;
	}
	aside .aside_nav ul.parent li {
		width: 100%;
	}
}
@media screen and (max-width: 320px) {
	aside .aside_contact .aside_inbox p.phone_btn {
		
	}
}




/****************************************
 * フォーム
 * **************************************/

/* iOSリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
}

/*フォーム*/
textarea {
	overflow: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
textarea {
	font-size: 1em;
	margin: 0;
	padding: 12px;
	width: 100%;
	max-width: 100%;
	outline: none;
	color: #000;
	vertical-align: bottom;
	transition: .3s;
	letter-spacing: 1px;
	border-radius: 1px;
	border: 1px solid #ededed;
	background: #FFF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: #F8F1F4;
	border: 1px solid #6B324B;
	outline: none;
}
select {
	position: relative;
	width: 100%;
	padding: 10px 45px 10px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ededed;
	background-position: right center;
	background-size: 25px, 100%;
	font-size: 1em;
	color: #000;
	border-radius: 6px;
}

/*ボタン*/
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	padding: 0;
	margin: 0;
	height: auto;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
}
.button:before,
button:before,
input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
.button:after,
button:after,
input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
	background: #1A1B38;
}

@media screen and (max-width: 559px) {
	
}



/****************************************
 * 検索フォーム
 * **************************************/

#searchform {
	position: relative;
}
#searchform input#s {
	width: 100%;
	background: #FFF;
	color: #0B7373;
	border: 1px solid #0B7373;
	cursor: pointer;
	padding: 12px 50px 12px 12px;
	outline: none;
}
aside #searchform input#s {
	
}
#searchform input#s:focus {
	cursor: text;
	background: #F5FAF9;
}
#searchform input#searchsubmit {
	position: absolute;
	top: 50%;
	right: 13px;
	transform: translateY(-50%);
	width: 30px;
	height: 26px;
	border: none;
	background: url(../images/common/icon_search.png) no-repeat 50% 50%;
	background-size: 25px;
	box-shadow: none;
}



/****************************************
 * ページナビゲーション
 * **************************************/

nav.navigation {
	overflow: hidden;
	float: none;
	max-width: 100%;
	text-align: center;
	padding: 0;
	margin: 45px 0 0;
}
nav.navigation a {
	text-decoration: none;
	color: #0B7373;
}
nav.navigation > div {
	width: 30%;
}
nav.navigation h2.screen-reader-text {
	display: none;
}
nav.navigation .nav-links {
	width: 100%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
nav.navigation .nav-links span.current {
	display: inline-block;
	min-width: 120px;
	background: #ededed;
	border-radius: 4px;
	padding: 6px 18px;
	margin: 0 12px;
	text-align: center;
}
nav.navigation .nav-links a.page-numbers {
	display: inline-block;
	min-width: 120px;
	background: #fafafa;
	margin: 0 12px;
	padding: 6px 18px;
	text-align: center;
}
nav.navigation .nav-links a:hover {
	opacity: 1;
	background: #0B7373;
	border-radius: 4px;
	color: #FFF;
}
nav.navigation .nav-links a.page-numbers:hover {
	opacity: 1;
}
nav.navigation .nav-links a.prev,
nav.navigation .nav-links a.next {
	float: none;
	border: none;
	background: #fafafa;
	margin: 0;
	min-width: 120px;
}
nav.navigation .nav-links a.prev:hover,
nav.navigation .nav-links a.next:hover {
	background: #0B7373;
	border-radius: 4px;
	color: #FFF;
}

@media screen and (max-width: 768px) {
	nav.navigation {
		display: block;
	}
}
@media screen and (max-width: 560px) {
	nav.navigation .nav-links span.current,
	nav.navigation .nav-links a.page-numbers {
		min-width: 45px;
		margin: 0 6px;
		padding: 6px 9px;
	}
	nav.navigation .nav-links a.prev {
		margin: 0 6px 0 0;
	}
	nav.navigation .nav-links a.next {
		margin: 0 0 0 6px;
	}
}
@media screen and (max-width: 430px) {
	nav.navigation .nav-links {
		overflow-x: auto;
		white-space: nowrap;
	}
	nav.navigation .nav-links span.current,
	nav.navigation .nav-links a.page-numbers {
		min-width: 30px;
		margin: 0 3px;
		padding: 6px 9px;
		font-size: .8rem;
	}
}

	

/****************************************
 * Gutenberg（グーテンベルク）
*****************************************/

.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.screen-reader-text {}

.wp-block-quote {
	background: #fafafa;
	margin: 30px 0;
	padding: 15px 15px 15px 1.3em !important;
}
figure.wp-block-table {
	padding: 0;
	width: 100%;
	border-collapse: collapse;
	margin: 30px 0;
}
figure.wp-block-table table,
figure.wp-block-table table th,
figure.wp-block-table table td,
figure.wp-block-table tfoot {
	border-collapse: collapse;
	border: 1px #999 solid;
}
figure.wp-block-table table th,
figure.wp-block-table table td {
	padding: 18px 15px;
}
figure.wp-block-table table th {
	width: 30%;
	background: #ededed;
	border-bottom: 2px solid #333;
}
figure.wp-block-table tfoot {
	border-top: 2px solid #333;
}
.wp-block-group {
	margin-top: 60px;
}
.wp-block-group:first-child {
	margin-top: 0;
}
.wp-block-image {
	margin-bottom: 1.5em !important;
}
.wp-block-image figcaption {
	margin-bottom: 1em;
	margin-top: 0.9em;
}
.wp-block-media-text {
	margin-bottom: 1.5em !important;
}
figure {
	display: block;
	margin: 0;
}
figcaption {
	line-height: 1.5;
	font-size: .9rem;
	text-align: center;
}
.wp-block-file *+.wp-block-file__button {
	color: #FFF !important;
}

blockquote {
	margin-bottom: 2em;
	margin-left: 1em;
	padding: 30px;
	border-left: 1px solid #ddd;
	background: #fafafa;
}

@media screen and (max-width: 560px) {
	.wp-block-group {
		margin-top: 45px;
	}
	figure.wp-block-table table th,
	figure.wp-block-table table td {
		padding: 6px 15px;
	}
}
@media screen and (max-width: 430px) {
	.wp-block-group {
		margin-top: 30px;
	}
}


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

footer {
	padding-top: 90px;
	background: #F5FAF9;
	position: relative;
}
footer .footer_information {

}
footer .footer_information_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .footer_information_flex .footer_information_flex___logo {
	width: 280px;
}
footer .footer_information_flex .footer_information_flex___info {
	width: calc(100% - 280px);
	padding-left: 120px;
}
footer .footer_logo .footer_logo_box {
	position: relative;
}
footer .footer_logo .footer_logo_box a.logo_footer {
	display: inline-block;
}
footer .footer_info_box {
	font-size: 1rem;
}
footer .footer_info_box p.info_phone {
	display: inline-block;
	margin: 0;
}
footer .footer_info_box p.info_mobile {
	display: inline-block;
	margin: 0;
	margin-left: 30px;
}
footer .footer_info_box p.info_fax {
	display: inline-block;
	margin-left: 30px;
}


/*フッターナビ*/
footer .footer_navigation {
	margin-top: 45px;
	padding-top: 45px;
	border-top: 1px solid #D2E8E4;
}
footer .footer_nav {
	text-align: center;
}
footer .footer_nav ul.footer_nav_list {
	list-style: none;
	margin: -12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer .footer_nav ul.footer_nav_list li {
	display: inline-block;
	width: calc(100% / 6);
	margin-top: 12px;
	text-align: center;
}
footer .footer_nav ul.footer_nav_list li a {
	display: block;
	font-weight: bold;
	color: #0B7373;
}

footer .footer_nav_articles {
	background: #E3F1EE;
	padding: 45px;
	margin-top: 45px;
}
footer .footer_nav_articles p.footer_nav_articles_title {
	font-size: 1rem;
	margin: 0;
	font-weight: bold;
}
footer .footer_nav_articles p.footer_nav_articles_title span {
	display: inline-block;
	padding-left: 32px;
	position: relative;
}
footer .footer_nav_articles p.footer_nav_articles_title span:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_arrowSQ.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 16px;
	height: 16px;
}
footer .footer_nav_articles ul.footer_nav_articles_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
footer .footer_nav_articles ul.footer_nav_articles_list li {
	width: calc(100% / 4);
	line-height: 1.4;
	margin-top: 12px;
	font-size: 1rem;
	padding-left: 1em;
	position: relative;
}
footer .footer_nav_articles ul.footer_nav_articles_list li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #0B7373;
	border-radius: 50%;
	width: 5px;
	height: 5px;
}


/*マスト*/
footer .footer_must {
	margin-top: 45px;
}
footer .footer_must ul.footer_must_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}
footer .footer_must ul.footer_must_list li {
	display: inline-block;
	margin-left: 45px;
	font-size: .9rem;
}



/*コピーライト*/
footer #copyright {
	background: #0B7373;
	font-size: 1rem;
	text-align: center;
	margin: 90px 0 0;
	padding: 30px 0;
	color: #E7FCFC;
	position: relative;
}
footer #copyright a {
	color: #E7FCFC;
}

/*トップへ戻る*/
footer .totop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 9;
}


/*バナー*/
footer .footer_bnr {
	
}
footer .footer_bnr ul {
	
}
footer .footer_bnr ul li {
	
}


@media screen and (max-width: 1194px) {
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
	footer .footer_information_flex .footer_information_flex___logo {
		width: 220px;
	}
	footer .footer_information_flex .footer_information_flex___info {
		width: calc(100% - 220px);
		    padding-left: 60px;
	}
	footer .footer_nav_articles ul.footer_nav_articles_list li {
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 560px) {
	footer .footer_information_flex {
		flex-direction: column;
	}
	footer .footer_information_flex .footer_information_flex___logo {
		width: 100%;
		text-align: center;
	}
	footer .footer_information_flex .footer_information_flex___info {
		width: 100%;
		text-align: center;
		padding-left: 0;
		margin-top: 18px;
	}
	footer .footer_info_box p.info_phone,
	footer .footer_info_box p.info_fax,
	footer .footer_info_box p.info_mobile {
		display: block;
		margin: 0;
	}
	footer .footer_nav_articles ul.footer_nav_articles_list li {
		width: calc(100% / 2);
	}
	
	footer .footer_nav ul.footer_nav_list li {
		width: calc(100% / 4);
	}
	footer .footer_must ul.footer_must_list {
		justify-content: center;
	}
	footer .footer_must ul.footer_must_list li {
		margin: 0 18px;
	}
	footer #copyright {
		overflow-x: auto;
		white-space: nowrap;
		padding: 30px;
		font-size: 1em;
	}
}
@media screen and (max-width: 430px) {
	footer .footer_nav ul.footer_nav_list li {
		width: calc(100% / 2);
	}
	footer .footer_nav_articles {
		padding: 30px;
	}
	footer .footer_nav_articles p.footer_nav_articles_title {
		font-size: 1em;
	}
	footer .footer_nav_articles ul.footer_nav_articles_list li {
		width: calc(100% / 2);
		font-size: 1em;
	}
	footer .footer_must ul.footer_must_list {
		flex-direction: column;
    align-items: center;
		margin-top: -18px;
	}
	footer .footer_must ul.footer_must_list li {
		margin-top: 18px;
	}
}
@media screen and (max-width: 320px) {
	footer .totop img {
		width: 52px;
	}
	footer .footer_information_flex .footer_information_flex___logo img {
		width: 220px;
	}
	footer .footer_nav_articles {
		padding: 20px;
	}
	footer .footer_nav_articles ul.footer_nav_articles_list li {
		width: 100%;
	}
	footer .footer_must {
		margin-top: 30px;
	}
}


/****************************************
 * parts/contact
 * *************************************/

.inquiryFixed {
	background: url(../images/parts/contact/bg.webp) no-repeat;
	background-size: cover;
}
.inquiryFixed .inquiryFixed_box {
	padding: 60px;
	background: #FFF;
	box-shadow: 0 2px 18px 1px rgb(38 37 36 / 20%);
	position: relative;
}
.inquiryFixed .inquiryFixed_box:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-right: 30px solid transparent;
	border-top: 30px solid #0B7373; 
}
.inquiryFixed .inquiryFixed_box:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: 30px solid transparent;
	border-bottom: 30px solid #0B7373; 
}
.inquiryFixed .inquiryFixed_inbox {
	text-align: center;
	margin-top: 45px;
}
.inquiryFixed .inquiryFixed_inbox .inquiryFixed_flex {
	margin-top: 45px;
	display: flex;
	align-items: center;
    justify-content: space-between;
}
.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone {
	width: 50%;
}
.inquiryFixed .inquiryFixed_inbox .inquiryFixed_inquiry {
	width: 50%;
}
.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone p.turnback {
	color: #0B7373;
	font-size: 1rem;
}
.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone a.phone {
	font-size: 2.9rem;
	text-align: center;
	margin: 0;
	color: #0B7373;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.inquiryFixed .inquiryFixed_box {
		padding: 45px;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_flex {
		margin-top: 30px;
		flex-direction: column;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_inquiry,
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone {
		width: 100%;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_inquiry {
		margin-top: 30px;
	}
}
@media screen and (max-width: 560px) {
	.inquiryFixed {
		background: url(../images/parts/contact/bg_sp.webp) no-repeat;
		background-size: cover;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_flex {
		margin-top: 12px;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_inquiry {
		margin-top: 12px;
	}
}
@media screen and (max-width: 430px) {
	.inquiryFixed {
		padding-bottom: calc(120px);
	}
	.inquiryFixed .inquiryFixed_box {
		padding: 30px 20px;
	}
	.inquiryFixed .inquiryFixed_inbox p.inquiryFixed_txt {
		font-size: 1rem;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone a.phone {
		font-size: 2rem;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_inquiry {
		margin-top: 30px;
	}
	.inquiryFixed .inquiryFixed_inbox .inquiryFixed_phone p.turnback {
		font-size: .9rem;
	}
}
@media screen and (max-width: 320px) {
	.inquiryFixed .inquiryFixed_inbox {
		margin-top: 30px;
	}
}


/****************************************
 * parts/media
 * *************************************/

.p-media {}
.p-media .p-media_item {
	padding: 30px 0;
	border-bottom: 1px solid #ededed;
}
.p-media .p-media_item:first-child {
	border-top: 1px solid #ededed;
}
.p-media .p-media_flex {
	display: flex;
}
.p-media .p-media_flex .p-media_flex___title {
	width: calc(100% - 320px);
	padding-right: 60px;
}
.p-media .p-media_flex .p-media_flex___img {
	width: 320px;
}
.p-media a.p-media_title {
	display: inline-block;
	color: #0B7373;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 28px;
	position: relative;
}
.p-media a.p-media_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../images/common/icon_arrowSQ.png) no-repeat;
	background-size: 100%;
	background-position: center;
	width: 16px;
	height: 16px;
}
.p-media a.p-media_title span {
	margin-right: 6px;
}
.p-media .p-media_flex .p-media_flex___title div {
	margin-top: 18px;
	font-size: 1rem;
}


@media screen and (max-width: 1194px) {
}
@media screen and (max-width: 960px) {
	.p-media .p-media_flex .p-media_flex___img {
		width: 220px;
	}
	.p-media .p-media_flex .p-media_flex___title {
		width: calc(100% - 220px);
		padding-right: 45px;
	}
}
@media screen and (max-width: 834px) {
	.p-media .p-media_flex {
		flex-direction: column;
	}
	.p-media .p-media_flex .p-media_flex___img {
		text-align: center;
		order: 1;
		width: 100%;
	}
	.p-media .p-media_flex .p-media_flex___title {
		order: 2;
		width: 100%;
		padding: 30px 30px 0 30px;
	}
}
@media screen and (max-width: 560px) {
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
	.p-media .p-media_flex .p-media_flex___title {
		padding: 20px 20px 0 20px;
	}
}


/****************************************
 * parts/posts_service
 * **************************************/

.posts_service {
	margin-top: 90px;
	padding: 60px;
	background: #F5FAF9;
	position: relative;
}
.posts_service:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-right: 30px solid transparent;
	border-top: 30px solid #0B7373; 
}
.posts_service:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: 30px solid transparent;
	border-bottom: 30px solid #0B7373; 
}
.posts_service .posts_service_title {
	font-size: 1.6rem;
	font-family: 'ShipporiMincho', serif;
	line-height: 1.6;
}
.posts_service .posts_service_description {
	margin-top: 30px;
}
.posts_service ul.posts_service_list {
	list-style: none;
	margin: 45px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.posts_service ul.posts_service_list li {
	overflow: hidden;
	width: calc(100% / 3 - 12px);
}
.posts_service ul.posts_service_list li img {
	position: relative;
}
.posts_service ul.posts_service_list li a {
	display: block;
}
.posts_service ul.posts_service_list li a:hover {
	opacity: 1;
	transform: scale(1.1);
	transition-duration: .6s;
}
.posts_service ul.posts_service_list li a img:hover {
	opacity: 1;
}


@media screen and (max-width: 1194px) {
	.posts_service {
		padding: 45px;
	}
	.posts_service .posts_service_title {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 834px) {
	.posts_service {
		margin-top: 75px;
	}
	.posts_service .posts_service_title {
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 560px) {
	.posts_service {
		padding: 30px;
		margin-top: 60px;
	}
	margin-top: 90px;
	.posts_service ul.posts_service_list {
		flex-direction: column;
		margin-top: 12px;
	}
	.posts_service ul.posts_service_list li {
		width: 100%;
		margin-top: 12px;
	}
}
@media screen and (max-width: 430px) {
}
@media screen and (max-width: 320px) {
	.posts_service {
		padding: 20px;
		margin-top: 45px;
	}
}



/****************************************
 * parts/reason
 * **************************************/

.reason {
	background: url(../images/front-page/reason_bg.webp) no-repeat;
	background-size: cover;
	background-position: center;
	border-top: 18px solid #FFF;
}
.reason .reason_box {
	
}
.reason ul.reason_list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}
.reason ul.reason_list li {
	width: calc(( 100% - 20px )/3);
	max-width: 500px;
}
.reason ul.reason_list li .reason_image {
	
}
.reason ul.reason_list li .reason_txt {
	background: #FFF;
	padding: 45px 35px;
	position: relative;
}
.reason ul.reason_list li .reason_txt:before {
	content: "";
    display: inline-block;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/common/mark.png) no-repeat;
    background-size: 100%;
    background-position: center;
    width: 30px;
    height: 30px;
}
.reason ul.reason_list li .reason_txt .reason_title {
	text-align: center;
    font-family: 'ShipporiMincho', serif;
	font-size: 1.6rem;
}
.reason ul.reason_list li .reason_txt .reason_title span {
	line-height: 1.4;
	color: #0B7373;
}
.reason ul.reason_list li .reason_txt .reason_inbox {
	margin-top: 30px;
	font-size: 1rem;
}


@media screen and (max-width: 1194px) {
	.reason ul.reason_list {
		flex-wrap: wrap;
		justify-content: space-around;
		margin-top: -30px;
	}
	.reason ul.reason_list li {
		width: calc((100% - 60px) / 2);
	}
	.reason ul.reason_list li:last-child {
		margin-top: 30px;
	}
}
@media screen and (max-width: 960px) {
	.reason ul.reason_list {
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.reason ul.reason_list li {
		width: 100%;
		margin-top: 30px;
	}
	.reason ul.reason_list li:last-child {
		margin-top: 30px;
	}
}
@media screen and (max-width: 834px) {
}
@media screen and (max-width: 560px) {
	.reason {
		background: url(../images/front-page/reason_bg_sp.webp) no-repeat;
		background-size: cover;
	}
}
@media screen and (max-width: 430px) {
	.reason ul.reason_list li .reason_txt .reason_title {
		font-size: 1.4rem;
	}
	.reason ul.reason_list li .reason_txt {
		padding: 30px;
	}
}
@media screen and (max-width: 320px) {
	.reason ul.reason_list li .reason_txt .reason_title {
		font-size: 1.2rem;
	}
	.reason ul.reason_list li .reason_txt {
		padding: 30px 20px;
	}
	.reason ul.reason_list li .reason_txt .reason_inbox {
		margin-top: 18px;
	}
}


