@charset "utf-8";
/*
****************************************
----------------------------------------
------- common
----------------------------------------
****************************************
*/
a {
	transition: 0.7s;
}
.breadcrumbs br {
	display: none !important;
}

main {
	position: relative;
	z-index: 10;
}
.img_radius img {
	border-radius: 4px;
}
header {
	z-index: 1000;
}
.inner2 {
	width: 100%;
	padding: 0 15px;
}
.inner3 {
	max-width: 1000px;
	width: 100%;
	padding: 0 3%;
	margin: 0 auto;
}
.img_bg_block .inner_full {
	position: relative;
	z-index: 11;
	width: 100%;
}
sup {
	font-size: 0.65em;
	vertical-align: top;
}
.img_border {
	border: 1px solid #bcbcbc;
}
.tac_box p {
	text-align: center;
}
textarea {
	resize: vertical;
}
.ttl_no_style *:before,
.ttl_no_style *:after {
	display: none !important;
}
.hosoku {
	font-size: 80%;
	text-indent: -1em;
	padding-left: 1em;
	display: block;
	line-height: 1.7;
}
.hosoku * {
	text-indent: 0;
}
.txts {
	font-size: 80%;
}
.basic_layout .hosoku + .hosoku {
	margin-top: 0;
}
.js_dispnone_start {
	display: none;
}
.slick-track img:focus {
	outline: none;
}

.kakomi {
	border: 10px solid var(--sub-color-light);
	padding: 40px;
}

.kakomi .rowbox {
	margin-top: 0 !important;
}

.kakomi *:first-child {
	margin-top: 0 !important;
}

.beta {
	background: var(--sub-color-super-light);
	padding: 40px;
}

.beta .rowbox {
	margin-top: 0 !important;
}

.beta *:first-child {
	margin-top: 0 !important;
}

.catch_copy {
	color: var(--main-color);
	font-size: 2.6rem;
	margin-bottom: 40px;
	line-height: 1.6;
}
.slick-slider img {
	vertical-align: bottom;
}
.oft {
	position: relative;
	padding-top: 65%;
	display: block;
}

.oft img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}
.js_header_hide {
	transform: translateY(-100%);
}

.name {
	font-size: 115%;
	font-weight: bold;
}

.basic_layout .catch {
	margin: 110px 0 70px;
	font-size: 2.7rem;
	color: var(--main-color);
	letter-spacing: 0.08em;
}

#contactForm div.wpcf7-response-output {
	border-color: var(--main-color) !important;
}
img[src*="wp-emoji-one"],
img[data-mce-src*="wp-emoji-one"] {
	display: inline;
}
img[src*="wp-emoji-one"][width="16"],
img[data-mce-src*="wp-emoji-one"][width="16"] {
	width: 16px;
}
img[src*="wp-emoji-one"][width="18"],
img[data-mce-src*="wp-emoji-one"][width="18"] {
	width: 18px;
}
img[src*="wp-emoji-one"][width="24"],
img[data-mce-src*="wp-emoji-one"][width="24"] {
	width: 24px;
}
img[src*="wp-emoji-one"][width="32"],
img[data-mce-src*="wp-emoji-one"][width="32"] {
	width: 32px;
}
img[src*="wp-emoji-one"][width="64"],
img[data-mce-src*="wp-emoji-one"][width="64"] {
	width: 64px;
}
/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下層MV(パララックスしない)
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.post_ttl .h2box {
	position: relative;
	min-height: 280px;
	display: flex;
	align-items: center;
}

.post_ttl .h2box:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

.post_ttl .h2box .h2_image {
	position: absolute;
	z-index: 9;
	padding-top: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.post_ttl .h2box .h2_image img {
	border-radius: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.post_ttl .h2box .h2_text {
	position: relative;
	width: 100%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 1000;
	color: #fff;
	padding: 20px 0;
	display: flex;
	align-items: center;
	text-align: center;
}

#under .post_ttl .h2box h2 span {
	background: var(--main-color);
	color: #fff;
	padding: 0.2em 1em 0.24em 1.2em;
	display: inline-block;
	font-size: 3.1rem;
	letter-spacing: 0.2em;
}

#under .post_ttl .h2box h2 {
	margin: 0;
	color: #fff;
}

.h2box .post_ttl .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
特殊FLOW
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.flow_arrow_box {
	background: #eff6ff;
	padding: 50px;
	position: relative;
}

.flow_arrow_box .tl_block {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 40px;
}

.flow_arrow_box .tl_block .step {
	border-right: 1px solid var(--main-color);
	width: 90px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin-right: 30px;
}

.flow_arrow_box .tl_block .step span {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}

.flow_arrow_box .tl_block .step p {
	color: var(--main-color);
	text-align: center;
	font-size: 5rem;
	line-height: 1.2;
}

.flow_arrow_box .tl {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	letter-spacing: 0.1em !important;
	text-align: left !important;
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: none !important;
	color: var(--main-color) !important;
	justify-content: flex-start;
	font-size: 2.7rem !important;
}

.flow_arrow_box .tl:before,
.flow_arrow_box .tl:after {
	display: none !important;
}

.flow_arrow_box + .flow_arrow_box {
	margin-top: 70px;
}

.flow_arrow_box + .flow_arrow_box:before {
	content: "";
	position: absolute;
	top: -70px;
	left: 50%;
	
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 31px 50px 0 50px;
	border-color: var(--main-color) transparent transparent transparent;
	background: none !important;
}

.flow_arrow_box .rowbox {
	margin-top: 0 !important;
}

/*****************************
------------------------------
ふわっとフェードイン
------------------------------
*****************************/
.sa {
	opacity: 0;
	transition: all 0.9s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.sa--lr {
	transform: translate(-25px, 0);
}

.sa--rl {
	transform: translate(25px, 0);
}

.sa--up {
	transform: translate(0, 25px);
}

.sa--down {
	transform: translate(0, -25px);
}

.sa--scaleUp {
	transform: scale(0.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}

.img_bg_block .inner {
	overflow: visible;
}

/*****************************
------------------------------
singlepage
------------------------------
*****************************/

.singlepage p {
	display: block;
	margin: 1em 0;
}
.singlepage nav p {
	margin-top: 0;
	margin-bottom: 0;
}
.singlepage strong {
	font-weight: bold;
}
.singlepage em {
	font-style: italic;
}
.singlepage blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

/* img */

.singlepage .aligncenter {
	display: block;
	margin: 0 auto;
}
.singlepage img[class*="wp-image-"],
.singlepage img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-width: 1px;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-color: #999;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-style: solid;
}

#under {
	overflow: hidden;
}
#under .alignright {
	width: auto;
}

#under .alignleft {
	width: auto;
}

#under .aligncenter {
	margin: auto;
	width: auto;
}

.singlepage .alignnone {
	width: auto;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
toc_list
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#toc_container {
	margin-bottom: 40px;
}

.toc_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -10px 0;
}

.toc_list li {
	width: calc(33.33333% - 10px);
	margin: 0 10px 10px 0 !important;
	padding: 0 !important;
}

.toc_list li::before {
	display: none !important;
}

.toc_list li a {
	text-decoration: none;
	width: 100%;
	display: flex;
	align-items: center;
	padding: 5px 23px 7px 20px;
	background: var(--main-color);
	color: #fff;
	border-radius: 5px;
	height: 100%;
	font-size: 1.5rem;
}

.toc_list li a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-75%) rotate(45deg);
	z-index: 1;
}

/*****************************
------------------------------
qa
------------------------------
*****************************/
.qa_box {
	--q-color: var(--main-color);
	--a-color: var(--sub-color);
}
.a_box,
.q_box {
	padding: 0.2em 0 0 3em;
	position: relative;
}

.q_box,
.a_box:before {
	font-family: var(--font-main);
}

.a_box:before,
.q_box:before {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 3rem;
	display: block;
	line-height: 1;
	font-family: var(--font-en);
}

.a_box:before {
	content: "A.";
	color: var(--a-color);
	left: 0.1em;
}

.q_box:before {
	content: "Q.";
	color: var(--q-color);
	top: 0.2em;
}

.q_box p {
	font-size: 2.1rem;
	color: var(--q-color);
}
.a_box {
	margin-top: 20px;
}

.qa_box + .qa_box {
	border-top: 1px solid var(--q-color);
}

/*****************************
------------------------------
#under
------------------------------
*****************************/
#under .meritbox > div {
	border: 1px solid #4c4c4c;
	--merit-color: #e48282;
	--demerit-color: #77b4cf;
}

#under .meritbox > div > p:first-of-type {
	padding: 5px 10px;
	text-align: center;
}

#under .meritbox > div:nth-of-type(1) {
	border: 1px solid var(--merit-color);
}

#under .meritbox > div:nth-of-type(2) {
	border: 1px solid var(--demerit-color);
}

#under .meritbox > div:nth-of-type(1) > p:first-of-type {
	background: var(--merit-color);
	color: #fff;
}

#under .meritbox > div:nth-of-type(2) > p:first-of-type {
	background: var(--demerit-color);
	color: #fff;
}

#under .meritbox > div:nth-of-type(1) li:before {
	background: var(--merit-color);
}

#under .meritbox > div:nth-of-type(2) li:before {
	background: var(--demerit-color);
}
#under .meritbox .meritbox_inner {
	padding: 15px 15px;
}
#under .meritbox .merit_etc {
	margin-top: 0.7em;
	display: block;
}
#under .meritbox ul {
	margin-top: 0;
}

#under .table_border th,
#under .table_border td {
	vertical-align: middle;
}

/*投稿ページのタイトルマージン*/
#under.basic_layout .post-meta + h2,
#under.basic_layout .post-meta + h3,
#under.basic_layout .post-meta + h4 {
	margin-top: 1em;
}

#under .table_border thead {
	background: var(--sub-color);
	color: #fff;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メインカラー01
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.color01 {
	color: var(--main-color);
}
.basic_layout ul li:before,
.mbg_color01 {
	background: var(--main-color);
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メインカラー02
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.mbg_color02 {
	background: #4fc7ff;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メインカラー03
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.mbg_color03 {
	background: var(--main-color-super-light);
}

.mbg_color04 {
	background: #e4edff;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サブカラー01
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.sbg_color01 {
	background: #fffeeb;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サブカラー02
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.sbg_color02 {
	background: #edeac4;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サブカラー03
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.sbg_color03 {
	background: #fff8f0;
}

/*****************************
------------------------------
layout
------------------------------
*****************************/

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sent
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.sent p + p {
	margin-top: 1em;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
basic_layout
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.basic_layout p {
	position: relative;
}

.no_parallax h3,
.no_parallax h4,
.no_parallax h5 {
	margin-top: 35px;
}
.has_parallax h3 {
	margin-top: 90px;
}

.has_parallax h4 {
	margin-top: 80px;
}

.has_parallax h5 {
	margin-top: 55px;
}


.has_parallax .breadcrumbs + h3,
.has_parallax .breadcrumbs + h4,
.has_parallax .breadcrumbs + h5 {
	margin-top: 20px;
}

.meritbox,
.basic_layout p,
.basic_layout ul,
.basic_layout ol,
.basic_layout table,
.basic_layout .gmap,
.basic_layout .ratio_box,
.basic_layout .flow_box,
.basic_layout .rowbox {
	margin-top: 1em;
}

.basic_layout .textbox *:first-child,
.basic_layout .gmap:first-child,
.basic_layout table:first-child,
.basic_layout p:first-child,
.basic_layout h2:first-child,
.basic_layout h3:first-child,
.basic_layout h4:first-child,
.basic_layout h5:first-child,
:root .no_parallax h2 + h3,
:root .no_parallax h3 + h4,
:root .no_parallax h4 + h5,
:root .has_parallax h3 + h4,
:root .has_parallax h4 + h5,
:root .has_parallax h5 + h6 {
	margin-top: 0;
}

.breadcrumbs + * {
	margin-top: 0 !important;
}

.basic_layout img {
	width: auto;
	max-width: 100%;
}


/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.header02 {
	position: relative;
	z-index: 1000;
}

.header02 .header_main {
	overflow: hidden;
	display: flex;
	align-items: center;
}

.header02 .header_main_home {
	background: var(--main-color);
}

.header02 .header_info_other {
	float: right;
	overflow: hidden;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header03
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.header03 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
}

.header03 a {
	text-decoration: none;
}

.header03 .header_info_box {
	margin-left: auto;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btn
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.btn_wrap {
	position: relative;
	text-align: center;
}

.btn {
	position: relative;
	text-align: center;
	text-decoration: none;
	min-width: 230px;
	display: inline-block;
}

.btn01 {
	color: #fff;
	background: var(--main-color);
	padding: 8px 30px 8px 30px;
	line-height: 1.55;
}

.btn01:before,
.btn01:after {
	content: "";
	position: absolute;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	height: 8px;
}

.btn01:before {
	left: 6px;
}

.btn01:after {
	left: 12px;
}

.btn02 {
	color: #fff;
	background: var(--main-color);
	padding: 5px 10px;
	border-radius: 3px;
	border: 1px solid #1b5570;
}

.btn03 {
	background: var(--main-color);
	color: #fff;
	border-radius: 4px;
	padding: 8px 30px 8px 30px;
}

.btn03:before {
	content: "";
	top: 50%;
	
	transform: translateY(-50%);
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	right: 10px;
	border-width: 6px 0 6px 8px;
}

.btn04 {
	background-color: var(--main-color);
	color: #fff;
	padding: 8px 30px 10px 30px;
}

.btn04:before {
	content: "";
	position: absolute;
	border-right: 1px solid;
	border-top: 1px solid;
	border-color: #fff;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 10px;
	width: 8px;
	height: 8px;
}

.btn04.backbtn:before {
	transform: translateY(-50%) rotate(225deg);
	left: 10px;
	right: auto;
}

.btn_width_auto {
	max-width: inherit !important;
	display: inline-block !important;
	width: auto !important;
}

.post_single_links {
	display: flex;
	justify-content: space-between;
	margin-top: 6rem;
}

.post_single_links .btn {
	min-width: auto;
}

.post_btn_archive:before {
	display: none;
}
.btn_tel::after,
.btn_tel::before {
	display: none;
}
/*
****************************************
----------------------------------------
------- list
----------------------------------------
****************************************
*/
.basic_layout ol {
	counter-reset: number;
}

.basic_layout ol li {
	text-indent: -2em;
	padding-left: 2em;
}

.basic_layout ol li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	width: 2em;
	text-indent: 0;
	text-align: left;
	font-weight: bold;
}

.basic_layout .news_box li:before {
	display: none;
}

.basic_layout .no_list_style li {
	padding-left: 0;
}

.basic_layout .no_list_style li:before {
	display: none;
}

.basic_layout ul li,
.dotlist li {
	position: relative;
}

.basic_layout ul li:before,
.dotlist li:before {
	content: "";
	position: absolute;
	display: block;
	border-radius: 50%;
}

.dotlist ul li:before,
.basic_layout ul ul li:before {
	content: "";
	position: absolute;
	display: block;
	border-radius: 0;
}

.basic_layout ul {
	margin-bottom: -5px;
}

.basic_layout ul li {
	padding-left: 1em;
	margin-bottom: 5px;
}

.basic_layout ul li:before {
	top: 12px;
	width: 6px;
	height: 6px;
	left: 0;
	background: var(--main-color);
}

.basic_layout ul ul {
	margin: 3px 0 4px;
}

.basic_layout ul ul li {
	padding-left: 1em;
	margin-bottom: 4px;
}

.basic_layout ul ul li:before {
	background: var(--main-color);
	width: 8px;
	height: 2px;
	top: 14px;
	left: 0;
}

.dotlist {
	margin-bottom: -5px;
}

.dotlist li {
	padding-left: 1em;
	margin-bottom: 5px;
}

.dotlist li:before {
	top: 12px;
	width: 6px;
	height: 6px;
	left: 0;
	background: var(--main-color);
}

.dotlist ul {
	margin: 3px 0 4px;
}

.dotlist ul li {
	padding-left: 1em;
	margin-bottom: 4px;
}

.dotlist ul li:before {
	background: var(--main-color);
	width: 8px;
	height: 2px;
	top: 14px;
	left: 0;
}

.basic_layout .checklist li,
.checklist li {
	position: relative;
	padding-left: 22px;
}

.basic_layout .checklist li:before,
.basic_layout .checklist li:after,
.checklist li:before,
.checklist li:after {
	content: "";
	position: absolute;
}
.checklist li:before,
.basic_layout .checklist li:before {
	width: 1em;
	height: 1em;
	border: 1px solid #838383;
	background: #fff;
	left: 0;
	top: 0.35em;
	z-index: 10;
	border-radius: 0;
}

.checklist li:after,
.basic_layout .checklist li:after {
	width: 0.9em;
	height: 0.6em;
	border-left: 2px solid var(--sub-color);
	border-bottom: 2px solid var(--sub-color);
	left: 0.23em;
	top: 0.23em;
	transform: rotate(-45deg);
	z-index: 11;
}

/*
****************************************
----------------------------------------
------- table
----------------------------------------
****************************************
*/
th,
td {
	padding: 10px 20px;
	line-height: 1.5;
}

.tdc td {
	text-align: center;
}

.thc th {
	text-align: center;
}

.thead_thc thead th {
	text-align: center;
}

.tbody_thc tbody th {
	text-align: center;
}

.vam td,
.vam th {
	vertical-align: middle;
}

.table_price th {
	width: 50% !important;
}

.table_price th,
.table_price td {
	text-align: center !important;
}

.table25 th,
.table25 td {
	width: 25% !important;
}

.table33 th,
.table33 td {
	width: 33.333333% !important;
}

.table50 th,
.table50 td {
	width: 50% !important;
}

.th33 th:first-of-type {
	width: 33.333333%;
}

.th33 td {
	width: 33.333333%;
}

.table_border.td_align_l td,
.table_underline.td_align_l td,
.table_flat.td_align_l td {
	text-align: left;
}

.table_border.td_align_r td,
.table_underline.td_align_r td,
.table_flat.td_align_r td {
	text-align: right;
}

.table_border.th_align_l th,
.table_underline.th_align_l th,
.table_flat.th_align_l th {
	text-align: left;
}

.table_border.th_align_r th,
.table_underline.th_align_r th,
.table_flat.th_align_r th {
	text-align: right;
}

.table_border.td_vertical_t,
.table_underline.td_vertical_t,
.table_flat.td_vertical_t {
	vertical-align: top;
}

/* table_flat */
.table_flat {
	border-collapse: separate;
	border-spacing: 0px 5px;
}

.table_flat td {
	background: #fff;
	padding-left: 20px;
	padding-right: 15px;
}

.table_flat th {
	background: var(--main-color);
	vertical-align: middle;
	text-align: left;
	width: 120px;
	overflow: visible;
	position: relative;
	color: #fff;
	font-weight: normal;
	font-size: 15px;
	padding: 10px 0;
}

.table_flat th span {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	padding: 0 10px;
}

.table_flat th span:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: var(--main-color);
	border-width: 10px;
	margin-top: -10px;
}

.table_flat th a {
	color: #fff;
}

/* table_underline */
.table_underline th:first-of-type {
	width: 30%;
}
.table_underline tr:first-of-type th,
.table_underline tr:first-of-type td {
	padding-top: 0;
}
.table_underline th {
	padding-left: 0;
}

.table_underline th {
	border-bottom: 1px solid var(--main-color);
	vertical-align: middle;
}

.table_underline td {
	border-bottom: 1px solid #c3c3c3;
	vertical-align: middle;
}

.table_border th:first-of-type {
	width: 30%;
}

/* table_border */
.table_border td {
	border: solid 1px #c3c3c3;
	background: #fff;
}

.table_border td {
	text-align: left;
}

.table_border thead {
	color: #fff;
	border: 1px solid #c3c3c3;
	background: var(--main-color);
}

.table_border thead th:first-of-type {
	border-left: 1px solid;
}

.table_border tbody th {
	border: 1px solid #c3c3c3;
	background: var(--sub-color-super-light);
}

.table_border thead th {
	border-left: 1px solid #c3c3c3;
}

.table_border thead th:first-of-type {
	border-color: #c3c3c3;
}

/* eigyou01 */
.eigyou01 thead th {
	width: 11%;
}

.eigyou01 th:first-of-type {
	width: 23%;
	letter-spacing: 0.1em;
}

.eigyou01 thead th:first-of-type {
	width: 23%;
}

.eigyou01 th,
.eigyou01 td {
	vertical-align: middle;
	text-align: center;
	padding: 10px 5px;
}


/* table_scroll */
.table_scroll {
	overflow-x: auto;
}

.table_scroll table {
	width: 1200px;
	table-layout: fixed;
}

.table_scroll td,
.table_scroll th {
	/* font-size: 85%; */
}

.table_price_td03 th,
.table_price_td03 td {
	width: 23% !important;
}

.table_price_td03 thead th:first-child, 
.table_price_td03 tbody th {
	width: 31% !important;
}

.table_border.table_1_2_2 th:first-of-type {
	width: 20%;
}

.table_border.table_1_2_2 th:not(:first-of-type) {
	width: 40%;
}

.table_price_2_1_1_1 tr>* {
	padding-left: 0;
	padding-right: 0;
}

.table_price_2_1_1_1 thead th:first-child,
.table_price_2_1_1_1 tbody th {
	width: 30% !important;
}

.table_price_2_1_1_1 thead th:not(:first-child),
.table_price_2_1_1_1 tbody td {
	width: calc(70% / 3) !important;
}
/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
img_bg_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.img_bg_block {
	position: relative;
}

.img_bg_block .inner3,
.img_bg_block .inner2,
.img_bg_block .inner {
	position: relative;
	z-index: 11;
}

.img_bg_block:before {

}

/*****************************
------------------------------
mod_news
------------------------------
*****************************/
.mod_news_ttl {
	text-align: center;
	margin-bottom: 20px;
}

.basic_layout .news_box li,
.news_box li {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 15px 0;
	margin-bottom: 0;
	display: flex;
}

.basic_layout .news_box li + li {
	margin-top: 0;
}

.news_box li:before {
	display: none;
}

.news_box a {
	text-decoration: underline;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
}

.news_box li span {
	display: inline-block;
	margin-right: 1em;
}

.news_box_btn {
	margin-top: 30px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
通常flow
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.flow_next:before {
	border-style: solid;
	border-color: var(--main-color) transparent transparent transparent;
}
/*
****************************************
----------------------------------------
------- mod_color_box
----------------------------------------
****************************************
*/
.mod_color_box .color_box_item .color_box_link {
	display: block;
	position: relative;
	padding: 4px;
	text-decoration: none;
}

.mod_color_box .color_box_item .color_box_link img {
	width: 100%;
}

.mod_color_box .color_box_ttl {
	display: flex;
}

.mod_color_box .color_box_ttl em {
	display: flex;
	min-height: 60px;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: relative;
}

.mod_color_box .color_box_ttl em:before {
	content: "";
	position: absolute;
	bottom: 2px;
	right: 3px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 20px 20px;
	border-color: transparent transparent #fff transparent;
}

/*
****************************************
----------------------------------------
------- m_polaroid
----------------------------------------
****************************************
*/
.m_polaroid {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #fff;
	padding: 30px;
}

.m_polaroid_txt {
	text-align: center;
}

.m_polaroid_head {
	margin-bottom: -15px;
}

.m_polaroid_txt,
.m_polaroid_list,
.m_polaroid_img,
.m_polaroid_ttl {
	margin-bottom: 15px;
}

.m_polaroid_img {
	text-align: center;
}

.m_polaroid_ttl {
	font-size: 2.1rem;
	text-align: center;
	color: var(--main-color);
}

.m_polaroid_list {
	display: flex;
	justify-content: center;
}

.m_polaroid_bottom {
	margin-top: 25px;
	text-align: center;
}

.m_polaroid_icon .m_polaroid_img img {
	width: 80px;
	display: inline-block;
	vertical-align: bottom;
}

/*****************************
------------------------------
mod_bnr
------------------------------
*****************************/
.mod_bnr {
	overflow: hidden;
}

.mod_bnr_box {
	text-align: center;
}

.mod_bnr_box img {
	display: inline-block;
	vertical-align: bottom;
}

/*****************************
------------------------------
feature_circle_img_box
------------------------------
*****************************/
.feature_circle_img {
	position: relative;
	width: 100%;
	padding-top: 100%;
	overflow: hidden;
	border-radius: 50%;
}

.feature_circle_img img {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.feature_circle_num {
	text-align: center;
	color: var(--main-color);
}

.feature_circle_num span {
	position: relative;
	display: inline-block;
	line-height: 1;
}

.feature_circle_num span:before,
.feature_circle_num span:after {
	content: "";
	width: 1px;
	height: 15px;
	background: var(--main-color);
	position: absolute;
	top: 0;
}

.feature_circle_num span:before {
	left: -15px;
	transform: rotate(-45deg);
}

.feature_circle_num span:after {
	right: -15px;
	transform: rotate(45deg);
}

.feature_circle_box {
	position: relative;
}

.feature_circle_ttl {
	margin-top: 0;
	text-align: center;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_big_icon
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
/*mod_big_icon*/
.mod_big_icon a:hover {
	opacity: 1;
}

.mod_big_icon a .big_icon_img,
.mod_big_icon a .big_icon_txt {
	transition: 0.5s;
}

.mod_big_icon a:hover .big_icon_img,
.mod_big_icon a:hover .big_icon_txt {
	opacity: 0.7;
}

.mod_big_icon .big_icon_col03 .big_icon_box,
.mod_big_icon .big_icon_col02 .big_icon_box {
	background-color: #fff;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	overflow: hidden;
	text-decoration: none;
}

.mod_big_icon .big_icon_wrap .big_icon_img {
	background-color: #f08200;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mod_big_icon .big_icon_wrap .big_icon_img img {
	flex: 1 1 0%;
}
.ie .mod_big_icon .big_icon_wrap .big_icon_img img {
	flex: none;
}

.mod_big_icon .big_icon_wrap .big_icon_txt {
	flex: 1 1 0%;
	font-size: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 10px 40px 10px 20px;
	color: #f08200;
}

.mod_big_icon .big_icon_wrap .big_icon_txt:before,
.mod_big_icon .big_icon_wrap .big_icon_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	
	transform: translateY(-50%);
}

.mod_big_icon .big_icon_wrap .big_icon_txt:after {
	z-index: 10;
	width: 22px;
	height: 22px;
	background: #f08200;
	border-radius: 50%;
	right: 12px;
}

.mod_big_icon .big_icon_wrap .big_icon_txt:before {
	z-index: 11;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #ffffff;
	right: 16px;
}

/*****************************
------------------------------
imgbg
------------------------------
*****************************/

.imgbg {
	position: relative;
}
.imgbg img {
	border-radius: 4px;
}

.imgbg:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}

.imgbg > div {
	position: relative;
	z-index: 10;
}
.imgbg01 {
	background-color: #fff8f0;
}

/*****************************
------------------------------
mod_frostglass
------------------------------
*****************************/

.frostglass_imgbg01 {
	background-size: cover;
}

.mod_frostglass {
	background: rgba(255, 255, 255, 0.7);
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmap
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.gmap {
	position: relative;
	overflow: hidden;
}
.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}
.gray_scale iframe {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_button
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#top_button {
	position: fixed;
	z-index: 999;
	right: 0;
	bottom: 0;
}

#top_button a {
	background: var(--sub-color);
	position: relative;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 60px;
	height: 60px;
}

#top_button a:before {
	position: absolute;
	content: "";
	display: block;
	border-right: 1px solid;
	border-top: 1px solid;
	border-color: #fff;
	width: 10px;
	aspect-ratio: 1/1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -25%) rotate(-45deg);
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
footer
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.m_footer {

}

.m_footer_top {
	background: #839cbc url(../images/footer_bg.jpg) center center / cover no-repeat;
	padding: 115px 0 115px
}

.m_footer_block {
	display: flex;
}

.m_footer_content {
	width: 50%;
}

.m_footer_logo {
	width: 484px;
	margin-left: -12px;
}

.m_footer_data {
	display: flex;
	gap: 27px;
	align-items: center;
	margin-top: 20px;
}

.m_footer_tel {
	width: 320px;

}

.m_footer_address {
	letter-spacing: 0.15em;
	color: #fff;
}

.m_footer_menus {
	width: 50%;
	display: flex;
	margin-top: 0;
	gap: 60px;
}

.m_footer_menu {
	width: 50%;
	margin: 0;
}


.m_footer_menu_ttl {
	font-size: 3.6rem;
	margin-bottom: 21px;
	color: #fff;
	line-height: 1;
	border-bottom: 2px solid #fff;
	font-family: var(--font-en);
	letter-spacing: 0.14em;
	padding-bottom: 15px;
}

.m_footer_menu_list li {
	margin-bottom: 7px;
	padding-left: 22px;
}

.m_footer_menu_list li a {
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #fff;
	letter-spacing: 0.15em;
}

.m_footer_menu_list li:before {
	background: #fff;
	top: 12px;
	width: 7px;
	height: 7px;
	border-radius: 0;
}

.m_footer_menu_list ul li:before {
	background: #fff;
}

.m_footer_menu_list li a br {
	display: none !important;
}

.m_footer_bottom {
	background: var(--main-color);
	padding: 10px 0;
}


.m_footer_bottom_in {
	display: flex;
	align-items: center;
	justify-content: center;
}

.m_footer_bottom_in a {
	width: 150px;
}

.m_footer_bottom_in small {
	height: 40px;
	border-left: 1px solid #fff;
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	padding-left: 30px;
	margin-left: 30px;
	color: #fff;
	display: flex;
	align-items: center;
}
/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
footer
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.m_footer02 {
	padding: 30px 0;
	background: #ccc;
}

.m_footer02_block {
	display: flex;
	justify-content: space-between;
}

.m_footer02_reverse {
	flex-direction: row-reverse;
}

.m_footer02_item {
	width: 49%;
}

.m_footer02_menu {
	display: flex;
	justify-content: space-between;
}

.m_footer02_menu_item {
	width: 49%;
}

.m_footer02_menu_ttl {
	font-size: 3rem;
}

.m_footer02_menu_list a {
	text-decoration: none;
}

.m_footer02 .gmap {
	height: 360px;
}

.m_footer02 .mod_copy {
	text-align: center;
	margin-top: 40px;
}

/*
****************************************
----------------------------------------
------- title
----------------------------------------
****************************************
*/
.basic_layout h2,
.basic_layout h3,
.basic_layout h4,
.basic_layout h5,
.basic_layout h6 {
	position: relative;
	line-height: 1.4;
}
.basic_layout h2 {
	font-size: 3.2rem;
	letter-spacing: 0.1em;
}
.basic_layout h3 {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}
.basic_layout h4 {
	font-size: 2rem;
	letter-spacing: 0.1em;
}
.basic_layout h5 {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.basic_layout h6 {
	margin-top: 2.3em;
	letter-spacing: 0.1em;
}

.has_parallax h3 {
	font-size: 3.2rem;
}
.has_parallax h4 {
	font-size: 2.4rem;
}
.has_parallax h5 {
	font-size: 2.1rem;
}
.has_parallax h6 {
	font-size: 1.8rem;
}

.ttl_lv7 {
	margin-bottom: -0.5em;
	font-weight: bold;
}

/*++++++++++++++++++++++++++++++++++++++
parallax_title
++++++++++++++++++++++++++++++++++++++++
*/
.parallax_title {
	background-size: cover;
	background-attachment: fixed;
}

.parallax_title h2 {
	color: #fff;
	background-color: inherit;
	border-bottom: none;
	border-top: none;
}

.parallax_title .h2box p {
	color: #fff;
}

.parallax_title .h2box {
	background: rgba(180, 180, 180, 0.7);
}

.parallax_title .h2box h2 {
	background: transparent;
}

#under .parallax_title .h2box h2:after,
#under .parallax_title .h2box h2:before {
	display: none;
}

#under .parallax_title .h2box h2 {
	margin: 0;
	text-align: left;
}
/*
****************************************
----------------------------------------
------- ttl_top_lv02
----------------------------------------
****************************************
*/

.ttl_top_lv02 {
	margin-bottom: 30px;
	text-align: center;
	font-weight: bold;
	font-size: 2.8rem;
}

.ttl_top_lv02.thin {
	font-weight: normal;
}

.ttl_top_lv02 span {
	font-size: 50%;
	display: block;
}

.ttl_top_lv02 em {
	position: relative;
	display: inline-block;
}

.ttl_top_lv02 em:after,
.ttl_top_lv02 em:before {
	content: "";
	width: 30px;
	height: 1px;
	background: var(--main-color);
	position: absolute;
	top: 50%;
	transform: translateX(-50%);
}

.ttl_top_lv02 em:before {
	left: -30px;
}

.ttl_top_lv02 em:after {
	right: -60px;
}

.ttl_top_lv03 {
	position: relative;
	font-size: 2.8rem;
}

.ttl_top_lv03:before {
	content: "";
	position: absolute;
	bottom: -15px;
	width: 30px;
	height: 1px;
	background: #fff;
}

.ttl_top_lv03.ttl_pop {
	text-align: center;
}

.ttl_top_lv03.ttl_pop em {
	background: #43af69;
	color: #fff;
	border-radius: 30px;
	padding: 10px 30px;
	display: inline-block;
	position: relative;
}

.ttl_top_lv03.ttl_pop:before {
	display: block;
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 13px 0 13px;
	border-color: #43af69 transparent transparent transparent;
	background: none;
	position: absolute;
	bottom: -13px;
	left: 50%;
	transform: translate(-50%, 0%);
}

/*
****************************************
----------------------------------------
------- title_set01
----------------------------------------
****************************************
*/

.title_set01_lv02,
.no_parallax.title_set01 h2,
.has_parallax.title_set01 h3 {
	text-align: center;
	padding-top: 15px;
}

.title_set01_lv02:before,
.no_parallax.title_set01 h2:before,
.has_parallax.title_set01 h3:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -25px;
	left: 50%;
	
	transform: translateX(-50%);
	width: 80px;
	height: 2px;
	background: var(--main-color);
}

.title_set01_lv03,
.no_parallax.title_set01 h3,
.has_parallax.title_set01 h4 {
	background: var(--main-color);
	padding: 15px 30px 15px 30px;
	color: #fff;
	border-bottom: 4px solid #7ab2ff;
}

.title_set01_lv04,
.no_parallax.title_set01 h4,
.has_parallax.title_set01 h5 {
	position: relative;
	padding: 0 0 14px 30px;
	border-bottom: 1px solid #c3c3c3;
}

.title_set01_lv04:before,
.no_parallax.title_set01 h4:before,
.has_parallax.title_set01 h5:before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 4px solid var(--main-color);
}

.title_set01_lv05,
.no_parallax.title_set01 h5,
.has_parallax.title_set01 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set01_lv05:before,
.no_parallax.title_set01 h5:before,
.has_parallax.title_set01 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 10px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set02
----------------------------------------
****************************************
*/

.title_set02_lv02,
.no_parallax.title_set02 h2,
.has_parallax.title_set02 h3 {
	position: relative;
	margin-top: 100px;
	padding: 20px 30px 25px;
	background: var(--main-color);
	text-align: center;
	color: #fff;
}

.title_set02_lv02:before,
.no_parallax.title_set02 h2:before,
.has_parallax.title_set02 h3:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(
		to right,
		#fff 40%,
		rgba(255, 255, 255, 0) 0%
	);
	background-position: bottom;
	background-size: 5px 2px;
	background-repeat: repeat-x;
}

.title_set02_lv03,
.no_parallax.title_set02 h3,
.has_parallax.title_set02 h4 {
	margin-top: 80px;
	position: relative;
	padding: 15px 0 15px 0;
	border-top: 3px solid var(--main-color);
	border-bottom: 1px solid #c3c3c3;
}

.title_set02_lv04,
.no_parallax.title_set02 h4,
.has_parallax.title_set02 h5 {
	position: relative;
	padding: 1px 0 0 30px;
	color: var(--main-color);
}

.title_set02_lv04:before,
.no_parallax.title_set02 h4:before,
.has_parallax.title_set02 h5:before {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 4px solid var(--main-color);
}

.title_set02_lv05,
.no_parallax.title_set02 h5,
.has_parallax.title_set02 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set02_lv05:before,
.no_parallax.title_set02 h5:before,
.has_parallax.title_set02 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 11px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set03
----------------------------------------
****************************************
*/

.title_set03_lv02,
.no_parallax.title_set03 h2,
.has_parallax.title_set03 h3 {
	position: relative;
	background: #eff6ff;
	padding: 20px 30px 22px;
	font-size: 2.7rem;
}

.title_set03_lv02:before,
.no_parallax.title_set03 h2:before,
.has_parallax.title_set03 h3:before {
	content: "";
	height: 100%;
	width: 10px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.title_set03_lv03,
.no_parallax.title_set03 h3,
.has_parallax.title_set03 h4 {
	padding: 0 0 15px;
}

.title_set03_lv03:before,
.title_set03_lv03:after,
.no_parallax.title_set03 h3:before,
.no_parallax.title_set03 h3:after,
.has_parallax.title_set03 h4:before,
.has_parallax.title_set03 h4:after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: "";
	height: 4px;
}

.title_set03_lv03:before,
.no_parallax.title_set03 h3:before,
.has_parallax.title_set03 h4:before {
	z-index: 2;
	width: 7%;
	background: var(--main-color);
}

.title_set03_lv03:after,
.no_parallax.title_set03 h3:after,
.has_parallax.title_set03 h4:after {
	width: 100%;
	background: -webkit-repeating-linear-gradient(
		-45deg,
		#c3c3c3,
		#c3c3c3 10%,
		#fff 10%,
		#fff 30%,
		#c3c3c3 30%,
		#c3c3c3 70%,
		#fff 70%,
		#fff 90%,
		#c3c3c3 90%,
		#c3c3c3 100%
	);
	background: repeating-linear-gradient(
		-45deg,
		#c3c3c3,
		#c3c3c3 10%,
		#fff 10%,
		#fff 30%,
		#c3c3c3 30%,
		#c3c3c3 70%,
		#fff 70%,
		#fff 90%,
		#c3c3c3 90%,
		#c3c3c3 100%
	);
	background-size: 6px 4px;
}

.title_set03_lv04,
.no_parallax.title_set03 h4,
.has_parallax.title_set03 h5 {
	margin-top: 50px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--main-color);
}

.title_set03_lv05,
.no_parallax.title_set03 h5,
.has_parallax.title_set03 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set01_lv03:before,
.no_parallax.title_set03 h5:before,
.has_parallax.title_set03 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 11px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set04
----------------------------------------
****************************************
*/

.title_set04_lv02,
.no_parallax.title_set04 h2,
.has_parallax.title_set04 h3 {
	position: relative;
	background: #abcddd;
	padding: 20px 30px;
	text-align: center;
}

.title_set04_lv02:before,
.no_parallax.title_set04 h2:before,
.has_parallax.title_set04 h3:before {
	content: "";
	height: 3px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.title_set04_lv03,
.no_parallax.title_set04 h3,
.has_parallax.title_set04 h4 {
	padding: 0 0 15px;
}

.title_set04_lv03:before,
.title_set04_lv03:after,
.no_parallax.title_set04 h3:before,
.no_parallax.title_set04 h3:after,
.has_parallax.title_set04 h4:before,
.has_parallax.title_set04 h4:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	height: 2px;
}

.title_set04_lv03:before,
.no_parallax.title_set04 h3:before,
.has_parallax.title_set04 h4:before {
	z-index: 2;
	width: 7%;
	background: var(--main-color);
}

.title_set04_lv03:after,
.no_parallax.title_set04 h3:after,
.has_parallax.title_set04 h4:after {
	width: 100%;
	background: #abcddd;
}

.title_set04_lv04,
.no_parallax.title_set04 h4,
.has_parallax.title_set04 h5 {
	position: relative;
	background: #f6f6f6;
	padding: 8px 30px;
}

.title_set04_lv04:before,
.no_parallax.title_set04 h4:before,
.has_parallax.title_set04 h5:before {
	content: "";
	height: 100%;
	width: 5px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.title_set04_lv05,
.no_parallax.title_set04 h5,
.has_parallax.title_set04 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set04_lv05:before,
.no_parallax.title_set04 h5:before,
.has_parallax.title_set04 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 11px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set05
----------------------------------------
****************************************
*/

.title_set05_lv02,
.no_parallax.title_set05 h2,
.has_parallax.title_set05 h3 {
	padding: 15px 30px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	box-shadow: 0 0 45px rgb(226, 155, 4) inset;
	background: var(--main-color);
	color: #fff;
}

.title_set05_lv02:before,
.title_set05_lv02:after,
.no_parallax.title_set05 h2:before,
.no_parallax.title_set05 h2:after,
.has_parallax.title_set05 h3:before,
.has_parallax.title_set05 h3:after {
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	border-top: 1px dashed #fff;
}

.title_set05_lv02:before,
.no_parallax.title_set05 h2:before,
.has_parallax.title_set05 h3:before {
	top: 3px;
	left: 0;
}

.title_set05_lv02:after,
.no_parallax.title_set05 h2:after,
.has_parallax.title_set05 h3:after {
	bottom: 3px;
	left: 0;
}

.title_set05_lv03,
.no_parallax.title_set05 h3,
.has_parallax.title_set05 h4 {
	padding: 0 0 14px 37px;
	border-bottom: 1px solid var(--main-color);
}

.title_set05_lv03:before,
.title_set05_lv03:after,
.no_parallax.title_set05 h3:before,
.no_parallax.title_set05 h3:after,
.has_parallax.title_set05 h4:before,
.has_parallax.title_set05 h4:after {
	background: var(--main-color);
	opacity: 0.7;
	position: absolute;
	content: "";
	border-radius: 50%;
}

.title_set05_lv03:before,
.no_parallax.title_set05 h3:before,
.has_parallax.title_set05 h4:before {
	top: 2px;
	left: 2px;
	z-index: 2;
	width: 18px;
	height: 18px;
}

.title_set05_lv03:after,
.no_parallax.title_set05 h3:after,
.has_parallax.title_set05 h4:after {
	background: #abcddd;
	opacity: 0.7;
	top: 22px;
	left: 15px;
	width: 10px;
	height: 10px;
}

.title_set05_lv04,
.no_parallax.title_set05 h4,
.has_parallax.title_set05 h5 {
	padding: 0 0 10px 30px;
	color: var(--main-color);
}

.title_set05_lv04:after,
.no_parallax.title_set05 h4:after,
.has_parallax.title_set05 h5:after {
	background: var(--main-color);
	opacity: 0.7;
	position: absolute;
	content: "";
	border-radius: 50%;
}

.title_set05_lv04:before,
.no_parallax.title_set05 h4:before,
.has_parallax.title_set05 h5:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(
		to right,
		var(--main-color) 40%,
		rgba(255, 255, 255, 0) 0%
	);
	background-position: bottom;
	background-size: 5px 2px;
	background-repeat: repeat-x;
}

.title_set05_lv04:after,
.no_parallax.title_set05 h4:after,
.has_parallax.title_set05 h5:after {
	background: #abcddd;
	opacity: 0.7;
	top: 9px;
	left: 3px;
	width: 13px;
	height: 13px;
}

.title_set05_lv05,
.no_parallax.title_set05 h5,
.has_parallax.title_set05 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set05_lv05:before,
.no_parallax.title_set05 h5:before,
.has_parallax.title_set05 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 11px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set06
----------------------------------------
****************************************
*/

.title_set06_lv02,
.no_parallax.title_set06 h2,
.has_parallax.title_set06 h3 {
	padding: 0 0 15px;
}

.title_set06_lv02:before,
.title_set06_lv02:after,
.no_parallax.title_set06 h2:before,
.no_parallax.title_set06 h2:after,
.has_parallax.title_set06 h3:before,
.has_parallax.title_set06 h3:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	height: 2px;
}

.title_set06_lv02:before,
.no_parallax.title_set06 h2:before,
.has_parallax.title_set06 h3:before {
	z-index: 2;
	width: 7%;
	background: var(--main-color);
}

.title_set06_lv02:after,
.no_parallax.title_set06 h2:after,
.has_parallax.title_set06 h3:after {
	width: 100%;
	background: var(--main-color-middle);
}

.title_set06_lv03,
.no_parallax.title_set06 h3,
.has_parallax.title_set06 h4 {
	padding: 0px 0 14px;
	border-bottom: 1px solid var(--main-color);
}

.title_set06_lv04,
.no_parallax.title_set06 h4,
.has_parallax.title_set06 h5 {
	position: relative;
	padding: 8px 0 8px 30px;
}

.title_set06_lv04:before,
.no_parallax.title_set06 h4:before,
.has_parallax.title_set06 h5:before {
	content: "";
	height: 100%;
	width: 5px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.title_set06_lv05,
.no_parallax.title_set06 h5,
.has_parallax.title_set06 h6 {
	padding: 0 0 0 30px;
	position: relative;
}

.title_set06_lv05:before,
.no_parallax.title_set06 h5:before,
.has_parallax.title_set06 h6:before {
	content: "";
	position: absolute;
	width: 16px;
	height: 5px;
	background: var(--main-color);
	top: 10px;
	left: 0;
}

/*
****************************************
----------------------------------------
------- m_imglink
----------------------------------------
****************************************
*/
.m_imglink a span {
	color: #fff;
}

.m_imglink .box:hover a:before {
	opacity: 0.7;
}

.m_imglink {
	display: flex;
	flex-wrap: wrap;
	margin-right: -1px;
}

.m_imglink + .m_imglink {
	border-top: 1px solid #fff;
}

.m_imglink_item {
	position: relative;
	text-decoration: none;
	display: flex;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.m_imglink_item:before,
.m_imglink_item:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.m_imglink_item:before {
	background: center center no-repeat;
	background-size: cover;
	transition: 0.7s;
}

.m_imglink_item:after {
	z-index: 2;
	background: rgba(0, 0, 0, 0.7);
}

.m_imglink a:hover,
.m_imglink a:hover img {
	opacity: 1;
}

.m_imglink_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	position: relative;
	z-index: 11;
	padding: 20px;
}

.m_imglink_inner:before {
	content: "";
	position: absolute;
	bottom: 3px;
	right: 3px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 15px 15px;
	border-color: transparent transparent #ffffff transparent;
	z-index: 1000;
}

.m_imglink_ttl {
	display: block;
	font-size: 2.2rem;
	text-align: center;
	margin-bottom: 15px;
	padding: 0 10px;
}

.m_imglink_ttl:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	margin-top: 4px;
}

.m_imglink_txt {
	text-align: center;
	display: block;
	width: 100%;
}

.m_imglink .box {
	padding: 20px 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 230px;
}

.m_imglink .box .box_inner {
	height: 100%;
	width: 100%;
	display: block;
	min-height: auto;
}

.m_imglink .box:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	transition: 0.7s;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.m_imglink + .m_imglink {
	border-top: 1px solid #fff;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
col
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.m_col {
	overflow: hidden;
}

.m_col_ttl {
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--main-color);
	letter-spacing: 0.1em;
}

.m_col_mbl .catch_copy {
	margin-top: 3vw;
	margin-bottom: 0;
}

.m_col_mbl .catch_copy + p {
	margin-top: 2vw;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
u_ba
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.u_ba .m_col_item {
	position: relative;
}

.u_ba .m_col_item:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -30px;
	width: 20px;
	height: 60px;
	z-index: 1;
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	transform: translate(50%, -50%);
	background: var(--main-color);
}

.u_ba .m_col_item:last-of-type:before {
	display: none;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_color_box
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mod_color_box .color_box_item:nth-of-type(1) {
	background: #ccc;
	border: 1px solid #000;
}
.mod_color_box .color_box_item:nth-of-type(1) .color_box_ttl em {
	background: #ace;
}

.mod_color_box .color_box_item:nth-of-type(2) {
	background: #4ac;
	border: 1px solid #caa;
}
.mod_color_box .color_box_item:nth-of-type(2) .color_box_ttl em {
	background: #1ac;
}

.mod_color_box .color_box_item:nth-of-type(3) {
	background: #6ea;
	border: 1px solid #eea;
}
.mod_color_box .color_box_item:nth-of-type(3) .color_box_ttl em {
	background: #78a;
}

/*
****************************************
----------------------------------------
------- m_postcard
----------------------------------------
****************************************
*/

.m_postcard {
	position: relative;
	text-decoration: none;
}

.m_postcard_head {
	display: flex;
	position: relative;
}

.m_postcard_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 250px;
	position: relative;
	z-index: 10;
	padding: 20px;
	width: 100%;
}

.m_postcard_img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	padding-top: 0;
	height: 100%;
	width: 100%;
}

.m_postcard_ttl {
	position: relative;
	color: #fff;
	padding-left: 19px;
	font-size: 2.2rem;
	line-height: 1.3;
}

.m_postcard_txt {
	padding: 15px;
	background: #fff;
}

.m_postcard_ttl:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #ffffff;
}

.m_postcard_img:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	background: rgba(166, 230, 169, 0.43);
}

.m_postcard_img {
	background: url(../images/);
	background-size: cover;
}

/*
****************************************
----------------------------------------
------- mod_flow_col
----------------------------------------
****************************************
*/
.mod_flow_col {
	display: flex;
	justify-content: space-between;
}

.mod_flow_col .flow_box {
	width: calc(50% - 30px);
	position: relative;
}

.mod_flow_col .flow_box:first-of-type:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 25px;
	border-color: transparent transparent transparent #f89a00;
	position: absolute;
	top: calc(50% - 13px);
	right: -46px;
	
	transform: translateY(-50%);
}

/*
****************************************
----------------------------------------
------- news_box
----------------------------------------
****************************************
*/
.news_box li {
	border-top: 1px solid;
	border-color: #c3c3c3;
}

.news_box li:last-of-type {
	border-bottom: 1px solid;
	border-color: #c3c3c3;
}

.news_box li a:hover {
	background: none;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_stripe
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mod_stripe .stripe_wrap {
	overflow: hidden;
}

.mod_stripe .stripe_box {
	width: 50%;
	float: left;
	overflow: hidden;
	padding: 50px 0;
}

.mod_stripe .stripe_inner {
	max-width: 900px;
	width: 100%;
	float: right;
	padding: 0 50px;
}

.stripe_ttl {
	position: relative;
	font-size: 2.3vw;
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
}

.stripe_ttl:after {
	content: "";
	display: block;
	width: 70%;
	position: absolute;
	left: 50%;
	bottom: -15px;
	
	transform: translateX(-50%);
	height: 2px;
	background-size: 10px 2px;
	background-position: top;
	background-repeat: repeat-x;
}

.mod_stripe .stripe_box:nth-of-type(1),
.mod_stripe .stripe_box:nth-of-type(4) {
	background: repeating-linear-gradient(
		90deg,
		#ebf9ff,
		#ebf9ff 12px,
		#f3fbff 0,
		#f3fbff 24px
	);
}

.mod_stripe .stripe_box:nth-of-type(1) .stripe_ttl,
.mod_stripe .stripe_box:nth-of-type(4) .stripe_ttl {
	color: #43af69;
}

.mod_stripe .stripe_box:nth-of-type(1) .stripe_ttl:after,
.mod_stripe .stripe_box:nth-of-type(4) .stripe_ttl:after {
	background-image: linear-gradient(
		to right,
		#009fe8,
		#009fe8 2px,
		transparent 2px,
		transparent 4px
	);
}

.mod_stripe .stripe_box:nth-of-type(2),
.mod_stripe .stripe_box:nth-of-type(3) {
	background: repeating-linear-gradient(
		90deg,
		#ffebf3,
		#ffebf3 12px,
		#fff3f8 0,
		#fff3f8 24px
	);
}

.mod_stripe .stripe_box:nth-of-type(2) .btn03,
.mod_stripe .stripe_box:nth-of-type(3) .btn03 {
	border: 1px solid #3d9cc9;
	color: #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .btn03:before,
.mod_stripe .stripe_box:nth-of-type(3) .btn03:before {
	border-color: transparent transparent transparent #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .stripe_ttl,
.mod_stripe .stripe_box:nth-of-type(3) .stripe_ttl {
	color: #3d9cc9;
}

.mod_stripe .stripe_box:nth-of-type(2) .stripe_ttl:after,
.mod_stripe .stripe_box:nth-of-type(3) .stripe_ttl:after {
	background-image: linear-gradient(
		to right,
		#3d9cc9,
		#3d9cc9 2px,
		transparent 2px,
		transparent 4px
	);
}

.mod_stripe .stripe_detail {
	padding: 30px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mod_stripe .stripe_img {
	width: 41%;
}

.mod_stripe .stripe_desc {
	width: 49%;
	padding-bottom: 1px;
}

.mod_stripe .stripe_txt {
	margin-bottom: 20px;
}

.mod_stripe .stripe_box:nth-of-type(2n) .stripe_inner {
	float: left;
}

/*
****************************************
----------------------------------------
------- pickup_box
----------------------------------------
****************************************
*/

.pickup_box_wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.pickup_box {
	width: 49%;
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.6);
	border: 2px solid rgba(255, 255, 255, 0.8);
	justify-content: center;
	text-decoration: none;
}

.pickup_box_inner {
	padding: 20px;
	display: flex;
	align-items: center;
}

.pickup_check_box {
	width: 30px;
	height: 30px;
	background: #fff;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
	margin-right: 20px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-15px);
}

.pickup_box:nth-of-type(2n) {
	margin-left: 2%;
}

.pickup_box:nth-of-type(n + 3) {
	margin-top: 2%;
}

.pickup_check_box p {
	position: relative;
}

.pickup_check_box p:before {
	content: "";
	width: 6px;
	height: 14px;
	background: #e95b5b;
	position: absolute;
	top: 10px;
	left: 7px;
	border-radius: 10px;
	transform: rotate(-45deg);
}

.pickup_check_box p:after {
	content: "";
	width: 6px;
	height: 16px;
	background: #e95b5b;
	position: absolute;
	top: 8px;
	left: 15px;
	border-radius: 10px;
	transform: rotate(45deg);
}

.pickup_text p {
	font-weight: bold;
	font-size: 1.8rem;
}

.pickup_text {
	position: relative;
	padding-left: 50px;
}

.pickup_arrow {
	position: relative;
	padding-top: 130px;
}

.pickup_arrow:before {
	content: "";
	position: absolute;
	display: block;
	top: 50px;
	left: 50%;
	
	transform: translateX(-50%);
	width: 312px;
	height: 38px;
	background: url(../images/arrow01.png);
}

/*予約プラグイン用*/
.solidpage .monthly-calendar {
	margin-top: 15px;
}

.solidpage .monthly-calendar td {
	padding: 6px 6px;
	border: 1px solid #cfcfcf;
}

.solidpage .monthly-calendar caption {
	font-size: 1.6rem;
}

.solidpage .day-calendar table {
	width: 100%;
}

.solidpage .day-calendar th,
.day-calendar td {
	font-size: 1.6rem;
	padding: 5px;
	line-height: 1.7;
}

.solidpage .monthly-calendar th:first-of-type {
	width: auto;
}

.solidpage .day-calendar h3 {
	display: none;
}

.solidpage .booking-timelink {
	text-align: center;
}

.solidpage .calendar-mark {
	text-align: center;
}

.solidpage .monthly-calendar table {
	width: 100%;
}

.solidpage .monthly-prev-next {
	margin-top: 15px;
}

.solidpage .monthly-next {
	margin-right: 0;
}

/*予約詳細*/

.solidpage #booking-reservation-fieldset table tr:nth-of-type(2) {
	display: none;
}

.solidpage .content-form #booking-reservation-fieldset th,
.solidpage .content-form #booking-reservation-fieldset td {
	border-bottom: none;
}

.solidpage #booking-confirm-fieldset table tr:nth-of-type(2) {
	display: none;
}

.solidpage .content-form th,
.solidpage .content-form td {
	font-size: 1.7rem;
	border-right: none;
	padding: 10px 2px;
}

.solidpage .content-form th {
	text-align: left;
	width: 150px;
	vertical-align: middle;
}

.solidpage .content-form tr:last-of-type th,
.solidpage .content-form tr:last-of-type td {
	border-bottom: none;
}

.solidpage .content-form table {
	border: none;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0 0 5px 0;
	width: 100%;
}

.solidpage .content-form legend {
	font-size: 1.8rem;
	line-height: 1;
	font-weight: normal;
}

.solidpage .content-form input,
.solidpage .content-form textarea {
	font-size: 1.4rem;
	margin-bottom: 0;
	padding: 3px 5px;
	border: 1px solid #dddddd;
}

.solidpage .content-form fieldset {
	border: 1px solid var(--main-color);
	width: 100%;
	padding: 10px 10px 0 10px;
}

.solidpage #action-button button {
	font-size: 1.6rem;
	background: var(--main-color);
	color: #fff;
	padding: 12px 60px;
	cursor: pointer;
	transition: 0.5s;
	margin-top: 20px;
}

.solidpage #action-button button:hover {
	opacity: 0.7;
}

.solidpage #booking-confirm-fieldset td[colspan="2"] {
	display: none;
}

.solidpage .yoyaku_text {
	margin-top: 50px;
	font-size: 2rem;
}

/*
****************************************
----------------------------------------
------- wp-pagenavi
----------------------------------------
****************************************
*/
.wp-pagenavi {
	margin-top: 60px;
	clear: both;
	text-align: center;
}

main .wp-pagenavi a,
main .wp-pagenavi span {
	padding: 8px 14px;
	border: none;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	vertical-align: middle;
	margin-top: 5px;
	font-size: 15px;
	font-size: 1.5rem;
}

main .wp-pagenavi span.current,
main .wp-pagenavi span.extend,


main .wp-pagenavi span.pages {
	font-weight: normal;
	line-height: 1.8;
}

main .wp-pagenavi span.pages {
	padding-left: 0;
}

main .wp-pagenavi .last,
main .wp-pagenavi .first {
	padding: 7px 15px 9px;
}

main .wp-pagenavi .current {
	background: var(--main-color);
	color: #fff;
	border: 1px solid var(--main-color);
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
main .wp-pagenavi a.page {
	background: #fff;
	color: #4f4f4f;
	border: 1px solid var(--main-color);
}

main .wp-pagenavi a:hover,
main .wp-pagenavi span.current {
	border-color: var(--main-color);
}

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

.breadcrumbs {
	margin-top: 15px;
	margin-bottom: 50px;
}

.singlepage .breadcrumbs {
	margin-bottom: 15px;
}

.breadcrumbs + .post-meta {
	margin-top: 0;
}

.breadcrumbs a {
	text-decoration: underline;
}

.breadcrumbs span {
	font-size: 12px;
	font-size: 1.2rem;
}

.breadcrumbs > span {
	padding-right: 20px;
	display: inline-block;
	position: relative;
}

.breadcrumbs > span:before {
	right: 8px;
	top: calc(50% + 1px);
	width: 6px;
	height: 6px;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	content: "";
	border-width: 1px 1px 0 0;
	border-style: solid;
}

.breadcrumbs > span:last-of-type {
	padding-right: 0;
}

.breadcrumbs > span:last-of-type:before {
	display: none;
}

.solidpage img {
	border-radius: 5px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイトマップ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.menu-sitemap-container {
	margin-top: 40px;
}
.menu-sitemap-container > ul > li > a {
	width: 100%;
	display: block;
	border: 1px solid var(--main-color);
	text-decoration: none;
	padding: 6px 20px 8px;
}
.menu-sitemap-container > ul > li:before {
	display: none !important;
}

.menu-sitemap-container > ul > li {
	padding-left: 0 !important;
}

.menu-sitemap-container > ul > li + li {
	margin-top: 20px;
}

.menu-sitemap-container > ul > li > a br {
	display: none !important;
}
/*****************************
------------------------------
contactForm
------------------------------
*****************************/

div#contactForm dt:before {
	background: var(--main-color);
}

div#contactForm input[type="submit"] {
	background: var(--main-color);
	color: #fff;
}

div#contactForm span.must {
	color: #d03333;
}

#contactForm .wpcf7-back {
	background: #fff;
	color: var(--main-color);
	border: 1px solid var(--main-color);
}

select {
	line-height: 1.7;
	display: block;
	border: 1px solid #a9a9a9;
	padding: 5px;
}

.select_wrap {
	padding: 5px 10px 5px 0;
}

.select_month {
	display: inline-block;
}

.select_day {
	display: inline-block;
}

.select_time {
	display: inline-block;
}

.radio_wrap .wpcf7-list-item {
	margin: 0 1em 0 0;
}

.attention_box {
	margin-top: 2rem;
	border: 1px solid var(--main-color);
	padding: 15px;
}

.basic_layout .attention_box p + p {
	margin-top: 0.5em;
}

.hope_text {
	margin: 10px 0 20px;
	border: 1px solid var(--main-color);
	padding: 15px;
}

div#contactForm .select_wrap .wpcf7c-conf {
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

div#contactForm textarea.wpcf7c-conf {
	max-height: 100px;
	overflow-y: scroll;
}

/*****************************
------------------------------
m_form
------------------------------
*****************************/
.m_form input[type="radio"],
.m_form input[type="checkbox"] {
	top: 0.06em;
	position: relative;
	vertical-align: baseline;
}

.m_form dt:before {
	background: var(--main-color);
	content: "";
	position: absolute;
	left: 0;
	display: block;
	top: 50%;
	
	transform: translateY(-50%);
	width: 4px;
}

.m_form .mw_btn {
	background: var(--main-color);
	color: #fff;
	margin: 0 10px;
	border: 0;
}

.m_form .must {
	color: #d03333;
}

.m_form .mw_submit {
	display: none;
}

.m_form .mw_back {
	background: #fff;
	border: 1px solid var(--main-color);
	color: var(--main-color);
}

.m_form_mini {
	display: flex;
	align-items: center;
}

.m_form .m_form_mini input {
	width: 4em;
	margin-right: 0.5em;
}

.m_form_row_sp,
.m_form_row {
	display: flex;
	align-items: center;
}

.m_form_col {
	margin-right: 0.5em;
	display: flex;
	align-items: center;
}

.m_form_col em {
	margin-left: 0.5em;
}

.m_form .m_form_col input {
	width: auto;
}

.m_form_hyphen {
	margin-right: 0.5em;
}

.m_form_row + .m_form_row {
	margin-top: 0.75em;
}

.form_hosoku {
	font-size: 85%;
	display: block;
}

.m_form_beta {
	display: flex;
	width: calc(100% + 10px);
	flex-wrap: wrap;
	margin: 0 -5px -10px;
}

.m_form_beta .mwform-radio-field.horizontal-item,
.m_form_beta .mwform-checkbox-field.horizontal-item {
	margin: 0 5px 10px !important;
	border: 2px solid var(--main-color);
	position: relative;
	width: calc(25% - 10px);
	display: flex !important;
	position: relative;
}

.m_form_beta .mwform-radio-field label,
.m_form_beta .mwform-checkbox-field label {
	display: flex;
	align-items: center;
	width: 100%;
}
.m_form_beta .mwform-radio-field input,
.m_form_beta .mwform-checkbox-field input {
	opacity: 0;
	position: absolute !important;
	z-index: 1;
}

.m_form_beta .mwform-checkbox-field .mwform-checkbox-field-text,
.m_form_beta .mwform-radio-field .mwform-radio-field-text {
	position: relative;
	z-index: 10;
	transition: 0.5s ease;
	width: 100%;
	text-align: center;
	padding: 3px 5px 4px;
	cursor: pointer;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.m_form_beta .mwform-checkbox-field input:checked + .mwform-checkbox-field-text,
.m_form_beta .mwform-radio-field input:checked + .mwform-radio-field-text {
	background: var(--main-color);
	color: #fff;
}

body .ui-datepicker {
	width: 290px;
}

body .ui-datepicker .ui-datepicker-header {
	display: flex;
	justify-content: center;
}

body .ui-datepicker .ui-datepicker-title {
	display: flex;
}

body .ui-datepicker .ui-datepicker-year {
	margin-right: 0.5em !important;
}

body .ui-datepicker .ui-datepicker-month {
	margin-left: 0.7em !important;
}

:root .ui-datepicker .ui-datepicker-title select {
	padding: 0;
	font-size: 16px;
}
:root .ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: auto;
}
.u_contact_tel {
	background: var(--main-color-super-light);
	text-align: center;
	padding: 2em 0;
	font-size: 2.4rem;
	letter-spacing: 0.07em;
}
.mw_wp_form #toc_container {
	display: none !important;
}
/*++++++++++++++++++++++++++++
確認画面
++++++++++++++++++++++++++++*/
.mw_wp_form_confirm .mw_confirm {
	display: none;
}
.mw_wp_form_confirm .mw_submit {
	display: block;
}
.mw_wp_form_confirm .example {
	display: none;
}
.mw_wp_form_confirm .m_form_confirm_none {
	display: none !important;
}
.mw_wp_form_complete .m_form_complete_none {
	display: none !important;
}
.mw_wp_form .formbtn {
	display: flex;
	justify-content: center;
}
.mw_wp_form_confirm .m_form_beta {
	width: 100% !important;
	margin: 0 !important;
}

.mw_wp_form_confirm dd {
	padding: 5px 10px 5px 15px;
}
/*****************************
------------------------------
mod_l_square
------------------------------
*****************************/
.square_ttl span {
	font-size: 1.4rem;
	color: #ced0de;
}

/*****************************
------------------------------
add css
------------------------------
*****************************/

.mod_f_bnr p + p {
	margin-top: 1em;
}

.sp_slider.full {
	width: 200%;
	margin-left: -50%;
}

.facebook_box {
	width: 100%;
	max-width: 500px;
}

.facebook_box {
	max-width: 500px;
	margin: 0 auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.policy_under {
	-webkit-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
}

.post_img_box img {
	border-radius: 4px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
スライドショー
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.js_dispnone_start {
	display: none;
}
.slick-track img:focus {
	outline: none;
}

.slick_imgbox {
	display: none;
}

.slick-slider .slick_imgbox {
	display: block;
}

.slick .slickimg_first {
	display: block;
}

.slick-slide:focus {
	outline: none;
}

.slick_wrap_pc,
.slick_wrap_sp {
	position: relative;
}

.slick_txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	width: 100%;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイドナビ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.side_site_nav,
.side_site_nav a {
	font-size: 1.2rem;
	text-decoration: none;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 20px;
}
.fixed_gnav {
	position: fixed;
	z-index: 1200;
	width: 100%;
	top: 0;
	left: 0;
}

.fixed_gnav_in {
	width: 50px;
	height: 100vh;
	background: var(--main-color);
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 960;
	padding-top: 60px;
}

.side_nav_wrap {
	position: absolute;
	top: 0;
	right: 0;
	overflow-y: auto;
	background: rgba(255, 255, 255, 0.9);
	width: 100%;
	height: calc(100vh);
	padding: 60px 0 100px;
	transition: 0.9s transform ease;
	transform: translateX(100%);
	-webkit-overflow-scrolling: touch;
	z-index: 950;
}

.js_side_open .side_nav_wrap {
	transform: translateX(0);
	-webkit-box-shadow: 0 1px 5px 7px rgba(0, 0, 0, 0.07);
	-moz-box-shadow: 0 1px 5px 7px rgba(0, 0, 0, 0.07);
	box-shadow: 0 1px 5px 7px rgba(0, 0, 0, 0.07);
}

.side_nav_list {
	margin-top: -6vw;
	padding: 0 5vw;
}

.side_nav_list a {
	text-decoration: none;
}

.side_nav_list .nav_li {
	margin-top: 3rem;
}

.side_nav_list .nav_li > a {
	position: relative;
	color: #125bad;
	font-size: 2.2rem;
	margin-bottom: 0.5rem;
	padding-left: 2rem;
}

.side_nav_list .nav_li > a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-width: 0.75rem 0 0.75rem 0.9rem;
	border-color: transparent transparent transparent #125bad;
	border-style: solid;
}

.side_nav_list .sub_menu {
	padding-left: 3.5vw;
}

.side_nav_list .sub_menu .nav_li_child {
	display: block;
	margin-top: 2vw;
}

.side_nav_list .sub_menu .nav_li_child a {
	font-size: 1.8rem;
	display: block;
	position: relative;
	padding-left: 3.5vw;
}

.side_nav_list .sub_menu .nav_li_child a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 1rem;
	height: 2px;
	background: #125bad;
	
	transform: translateY(-50%);
}

.side_nav_list a br {
	display: none !important;
}

.fixed_gnav_logo {
	display: none;
}

.side_scroll {
	position: relative;
	bottom: 0;
	right: 0;
	z-index: 970;
	display: none;
}

.side_scroll a {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0 15px;
}

.side_scroll .side_scroll_down,
.side_scroll .side_scroll_up {
	width: 100%;
}

.side_scroll .side_scroll_item {
	display: block;
	order: 1;
	margin-left: auto;
	margin-right: auto;
}

.side_scroll .s_up {
	opacity: 0;
	transition: 0.5s;
	position: relative;
	z-index: 9;
}

.side_scroll .s_down {
	transition: 0.5s;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}

.js_scroll_mv_over .s_down {
	opacity: 0;
}

.js_scroll_mv_over .s_up {
	display: flex;
	opacity: 1;
	z-index: 11;
}

.js_scroll_mv_over .side_scroll_up {
	display: block;
}

.js_scroll_mv_over .side_scroll_text {
	margin-top: 2rem;
	margin-bottom: 0;
	order: 2;
}

#under_page .fixed_gnav_logo,
#under_page .side_scroll {
	display: none;
}
.hm_txt {
	color: var(--main-color);
}
.hamburger {
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	order: 2;
	cursor: pointer;
	z-index: 1250;
	top: 0;
	right: 0;
	background: var(--sub-color);
	width: 80px;
	aspect-ratio: 1/1;
}

.hamburger_txt {
	font-family: var(--font-en);
	color: #fff;
	text-align: center;
	margin-top: 0.6em;
	line-height: 1;
	position: relative;
	width: 100%;
	font-size: 1.4rem;
}

.hamburger_txt span {
	width: 100%;
	transition: 0.3s;
}

.hamburger_txt .hamburger_txt_off {
	display: block;
}

.hamburger_txt .hamburger_txt_on {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.js_side_open .hamburger_txt .hamburger_txt_off {
	opacity: 0;
}

.js_side_open .hamburger_txt .hamburger_txt_on {
	opacity: 1;
}

.hamburger_in {
	position: relative;
	width: 28px;
	height: 22px;
}

.hamburger a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	font-size: 1.8rem;
}

.hamburger a:before,
.hamburger a:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	transition: 0.3s ease;
}

.hamburger a:after {
	bottom: 0;
	top: auto;
}

.hamburger a span:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	transition: 0.3s ease;
	top: 98%;
	top: calc(50% - 1px);
}

.js_side_open .hamburger a:before {
	transform: rotate(-45deg);
	top: calc(50% - 1px);
}

.js_side_open .hamburger a:after {
	transform: rotate(45deg);
	bottom: calc(50% - 1px);
}

.js_side_open .hamburger a span:before {
	opacity: 0 !important;
}
.side_logo {
	width: 270px;
	margin: 0 auto 30px;
}

.f_site_nav,
.f_site_nav a {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.side_nav dt {
	font-size: 2.8rem;
	color: var(--main-color);
	letter-spacing: 0.1em;
	padding-bottom: 5px;
	font-family: var(--font-en);
}

.side_nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.side_nav a {
	text-decoration: none;
	font-size: 1.6rem;
}

.side_nav li {
	width: 47%;
	margin-bottom: 5px;
}
.side_nav li li {
	width: 100%;
}
.side_nav ul ul {
	display: block;
}

.side_nav dl + dl {
	margin-top: 30px;
}

.side_nav dd {
	margin-left: 30px;
}
/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メディア投稿
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.under_thum img {
	margin: 0 auto;
}

.singlepage .under_thum {
	margin-bottom: 5rem;
}

.blog_article_single + .blog_article_single {
	margin-top: 5rem;
}

.blog_article_content {
	width: 100%;
}

.blog_article_body {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.blog_article_img {
	width: 27%;
}

.blog_article_img + .blog_article_content {
	width: 70%;
}

.blog_article_btn {
	margin-top: 2em;
}

.top_blog_main_ttl {
	text-align: center;
	position: relative;
	padding-bottom: 20px;
	font-size: 4.5rem;
	letter-spacing: 8px;
	margin-bottom: 50px;
}

.top_blog_main_ttl:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	
	transform: translateX(-50%);
	width: 60px;
	height: 1px;
	background: #666666;
}

.top_blog_articles_block {
	display: flex;
	justify-content: center;
	justify-content: space-between;
}

.top_blog_article_item {
	width: 48%;
}

.top_blog_article_item a {
	position: relative;
	display: block;
	text-decoration: none;
}

.top_blog_category {
	position: absolute;
	top: 0;
	left: 50%;
	
	transform: translateX(-50%);
	border: 1px solid #000;
	background: #fff;
	width: 70%;
	text-align: center;
	font-size: 1.4rem;
	z-index: 10;
}

.top_blog_time {
	font-size: 1.4rem;
	color: #a7a7a7;
	margin-top: 8px;
	letter-spacing: 1px;
}

.top_blog_article_item + .top_blog_article_item {
	margin-left: 2%;
}

.top_blog_ttl {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.6rem;
}

.top_blog_txt {
	margin-top: 0px;
	font-size: 1.4rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.top_blog_img {
	position: relative;
	padding-top: 65%;
}

.top_blog_img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
	z-index: 9;
}

.top_blog_img.has_no_img {
	position: relative;
}

.top_blog_img.has_no_img:before {
	border: 1px solid #a7a7a7;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 20;
}

.top_blog_img.has_no_img img {
	z-index: 10;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー一覧ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_galleries_terms {
	display: flex;
	margin: 0 -10px -20px;
	flex-wrap: wrap;
}

.m_galleries_term {
	width: calc(25% - 20px);
	margin: 0 10px 20px;
}

.m_galleries_term a {
	position: relative;
	display: block;
	width: 100%;
	text-decoration: none;
	text-align: center;
	background: var(--main-color);
	color: #fff;
	padding: 10px 25px;
}

.m_galleries_term a:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	-webkit-transform-origin: top;
	transform-origin: top;
}

.m_galleries_wrap {
	margin-top: 100px;
}

.m_galleries_wrap + .m_galleries_wrap {
	margin-top: 80px;
}

.m_galleries_wrap_ttl {
	font-size: 3rem;
	border-bottom: 2px solid var(--main-color);
	margin-bottom: 50px;
}

.m_galleries {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -40px;
}

.m_galleries_item {
	width: calc(25% - 20px);
	margin: 0 10px 40px;
	text-decoration: none;
}

.m_galleries_img {
	padding-top: 110%;
}

.m_galleries_ttl {
	text-align: center;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー詳細ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_gallery_single_head {
	display: block;
	border-bottom: 2px solid var(--main-color);
	margin-bottom: 30px;
	padding: 0 0 5px;
}
.m_gallery_single_cat {
	display: flex;
	flex-wrap: wrap;
}

.m_gallery_single_cat span {
	padding: 3px 15px;
	font-size: 1.9rem;
	margin-right: 10px;
	margin-bottom: 10px;
	line-height: 1.4;
	color: #fff;
	background: var(--main-color);
	display: inline-block;
}

.m_gallery_single_ttl {
	font-size: 2.8rem;
	flex: 1 1 0%;
	margin-top: 0 !important;
}

.m_gallery_head {
	display: flex;
	justify-content: space-between;
}

.m_gallery_img {
	width: calc(50% - 20px);
}

.m_gallery_content {
	width: calc(50% - 20px);
}

.m_gallery_content .table_underline tr:first-of-type td,
.m_gallery_content .table_underline tr:first-of-type th {
	padding-top: 0;
}

.m_gallery_content_bottom {
	margin-top: 1em;
}

.m_gallery_slider_item .oft {
	padding-top: 110%;
}

.m_gallery_slider .slick-dots {
	display: flex;
	flex-wrap: wrap;
	margin: 10px -5px -10px;
}

.m_gallery_slider .slick-dots li {
	width: calc(20% - 10px);
	margin: 0 5px 10px;
	position: relative;
	padding-top: calc(20% - 10px);
	display: block;
	cursor: pointer;
}

.m_gallery_slider .slick-dots li img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.m_gallery_slider .slick-dots li:before {
	display: none;
}

.m_gallery_bottom {
	margin-top: 50px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
template01
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.template01 {
	background: #f0f3eb;
	padding-top: 40px;
}

.template01 .breadcrumbs {
	margin-top: 0;
	margin-bottom: 15px;
}

.template01 h2 {
	margin-bottom: 0;
}

.template01 .lead {
	background: url(../images/template01/lead.jpg) center top repeat;
	padding: 50px;
	text-align: center;
	color: #fff;
	margin-bottom: 75px;
}

.template01 .lead p {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.template01 .t_interview_area {
	position: relative;
	background: #fff;
	padding: 100px;
	margin-bottom: 80px;
}

.template01 .t_interview_area h3 {
	position: absolute;
	top: -10px;
	left: -10px;
	margin-bottom: 0;
}

.template01 .t_interview_box {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.template01 .t_interview_box figure {
	width: 46%;
	position: relative;
	overflow: hidden;
}

.template01 .t_interview_box figure:before {
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
}

.template01 .t_interview_box .txt_block {
	width: 46%;
	padding-bottom: 10px;
}

.template01 .t_interview_box figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.template01 .t_interview_box .tl_box {
	display: inline-block;
	position: relative;
	transform: rotate(-6deg);
	padding-right: 45px;
}

.template01 .t_interview_box .tl_box:before {
	position: absolute;
	content: "";
	background: #08a6d2;
	width: 34px;
	height: 100%;
	top: -10px;
	left: -10px;
	z-index: 1;
}

.template01 .t_interview_box .tl_box:after {
	content: "";
	right: 0;
	position: absolute;
	content: "";
	background: url(../images/template01/ribon02.svg) right bottom no-repeat;
	background-size: 100% 100%;
	height: 100%;
	width: 92px;
	top: 15px;
	right: 1px;
	z-index: 5;
}

.template01 .t_interview_box .tl_box div:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 10px 24px;
	border-color: transparent transparent #0099c3 transparent;
	top: -10px;
	left: 0;
	z-index: 2;
}

.template01 .t_interview_box .tl_box div:after {
	position: absolute;
	content: "";
	width: 40px;
	height: 15px;
	background: url(../images/template01/ribon03.svg) left bottom no-repeat;
	right: 54px;
	bottom: -15px;
	z-index: 9;
}

.template01 .t_interview_box .tl_box p {
	color: #f8d843;
	font-size: 2.4rem;
	background: #25b1de;
	font-weight: 700;
	position: relative;
	z-index: 10;
}

.template01 .t_interview_box .tl_box p:before {
	position: absolute;
	content: "";
	background: url(../images/template01/ribon01.svg) right bottom no-repeat;
	background-size: 100% 100%;
	height: 100%;
	width: 76px;
	top: 0;
	right: -23px;
}

.template01 .t_interview_box .tl_box p .in {
	padding: 10px 15px 11px 30px;
	position: relative;
	display: inline-block;
	line-height: 1.4;
}

.template01 .t_interview_box .txt {
	margin-top: 40px;
}

.template01 .t_interview_box + .t_interview_box {
	margin-top: 90px;
}

.template01 .t_interview_block .t_interview_box:nth-child(2n) {
	flex-direction: row;
}

.template01 .t_message .stl {
	background: #75cce8 url(../images/template01/stl_bg.jpg) center top repeat;
	color: #fff;
	text-align: center;
	padding: 55px;
	font-size: 2.9rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 0;
}

.template01 .t_message .t_message_area {
	background: url(../images/template01/message_bg.jpg) center center no-repeat;
	background-size: cover;
}

.template01 .t_message .t_messsage_block {
	position: relative;
	padding-bottom: 80px;
}

.template01 .t_message .txt_block {
	padding-top: 85px;
	position: relative;
}

.template01 .t_message .txt_block:before {
	position: absolute;
	content: "";
	background: #fff;
	left: 50px;
	top: 106px;
	width: 70%;
	width: -webkit-calc(77% - 50px);
	width: calc(77% - 50px);
	height: 98%;
	height: -webkit-calc(100% - 106px);
	height: calc(100% - 106px);
}

.template01 .t_message .t_message_lead span {
	background: #32c9a0;
	padding: 3px 15px;
	display: inline-block;
	color: #fff;
	font-size: 2rem;
}

.template01 .t_message .t_message_lead {
	position: relative;
	width: 60%;
}

.template01 .t_message .t_message_lead p + p {
	margin-top: 5px;
	margin-left: 20px;
}

.template01 .t_message .txt {
	margin-top: 40px;
	zoom: 1;
	position: relative;
	margin-left: 95px;
	width: 49%;
	padding-bottom: 60px;
}

.template01 .t_message .txt:first-letter {
	float: left;
	line-height: 1;
	font-size: 310%;
	padding-right: 5px;
}

.template01 .t_message figure {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 41.8%;
}

.template01 .t_message .enname_wrap {
	position: absolute;
	top: 50%;
	right: -220px;
	transform: translate(0%, -50%);
}

.template01 .t_message .enname {
	transform: rotate(90deg);
	opacity: 0.1;
	font-family: "Anton", sans-serif;
	line-height: 1;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
template02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.template02 .t_mv {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.template02 .t_mv .copy {
	font-size: 3.3rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}

.template02 .t_mv figure {
	margin-left: -10%;
	width: 50%;
}

.template02 .t_mv .txt_block {
	position: relative;
	width: 60%;
}

.template02 .t_mv .t_btn a {
	background: #333333;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	width: 250px;
	text-align: center;
	font-size: 2rem;
	padding: 15px;
	position: relative;
}

.template02 .t_mv .t_btn a:after {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	position: absolute;
	content: "";
	width: 13px;
	height: 13px;
	transform: rotate(45deg) translate(0%, -50%);
	right: 20px;
	top: 48%;
	top: -webkit-calc(50% - 2px);
	top: calc(50% - 2px);
}

.template02 .t_main {
	background: #f1f1f1 url(../images/template02/bg.jpg) center top repeat;
	padding-top: 20px;
}

.template02 .breadcrumbs {
	margin-top: 0;
}

.template02 .tl {
	font-size: 2rem;
	text-align: center;
	letter-spacing: 0.3em;
	margin-bottom: 50px;
}

.template02 .big_box .img {
	position: relative;
	overflow: hidden;
	padding: 40px;
}

.template02 .big_box .img:before,
.template02 .big_box .img:after {
	position: absolute;
	content: "";
	width: 260px;
	height: 260px;
	transform: rotate(-45deg);
	background: #f1f1f1;
	border: 4px solid #333333;
}

.template02 .big_box .img:before {
	top: -130px;
	left: -130px;
}

.template02 .big_box .img:after {
	bottom: -130px;
	right: -130px;
}

.template02 .big_box .txt.basic_layout {
	background: #fff;
	width: 66%;
	margin: -150px auto 0;
	position: relative;
	padding: 50px 40px;
}

.template02 .question_area {
	margin-top: 120px;
}

.template02 .question_block {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	flex-direction: row-reverse;
}

.template02 .question_block .tl_box {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	width: 59%;
	z-index: 10;
}

.template02 .question_block .txt {
	background: #fff;
	padding: 60px 80px;
	position: relative;
	width: 66.7%;
	margin-right: -5%;
	margin-top: 130px;
}

.template02 .question_block .txt:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 110px 110px 0 0;
	border-color: #f1f1f1 transparent transparent transparent;
}

.template02 .question_block figure {
	width: 38.3%;
}

.template02 .question_block .num_box .num {
	font-size: 15rem;
	line-height: 160px;
}

.template02 .question_block .num_box .num_txt {
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: 0.5em;
}

.template02 .question_block .q_tl {
	font-weight: 700;
	font-size: 2rem;
	-webkit-flex: 1;
	flex: 1;
	line-height: 1.4;
}

.template02 .question_block .num_box {
	width: 220px;
}

.template02 .question_block + .question_block {
	margin-top: 100px;
}

.template02 .question_area .question_block:nth-child(2n) {
	flex-direction: row;
}

.template02 .question_area .question_block:nth-child(2n) .tl_box {
	left: inherit;
	right: 0;
	flex-direction: row-reverse;
}

.template02 .question_area .question_block:nth-child(2n) .tl_box .num_box {
	text-align: right;
}

.template02 .question_area .question_block:nth-child(2n) .txt.basic_layout {
	margin-right: 0;
	margin-left: -5%;
}

.template02 .question_area .question_block:nth-child(2n) .txt:before {
	top: inherit;
	left: inherit;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-width: 0 0 110px 110px;
	border-color: transparent transparent #f1f1f1 transparent;
}

.template02 .t_message_area {
	margin-top: 120px;
	padding-bottom: 120px;
}

/*++++++++++++++++++++++++++++
m_post
++++++++++++++++++++++++++++*/

.m_post {
	display: flex;
}

.m_post {
	--gap-col: 30px;
	--gap-row: 20px;
	--col: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.m_post_col02 .m_post{
	--col: 2;
}
.m_post_col03 .m_post{
	--col: 3;
}
.m_post_col04 .m_post{
	--col: 4;
}
.m_post_item {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	text-decoration: none;
}


.m_post_img {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 87.4%;
}

.m_post_img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.m_post_time {
	color: #d2af6d;
	letter-spacing: 0.17em;
	font-size: 1.3rem;
	display: block;
	margin-top: 22px;
	margin-bottom: 8px;
	font-family: var(--font-en);
}

.m_post_tl {
	line-height: 1.666;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}

.m_post_detail {
	margin-top: 11px;
	line-height: 1.5;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

.blog_article_timg {
	font-size: 1.4rem;
	color: #002f55;
	margin-bottom: 10px;
}

.post-date {
	font-size: 1.4rem;
	color: #002f55;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
l_faq
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.l_faq_block {
	margin: 0 auto;
}

.l_faq_item + .l_faq_item {
	margin-top: 30px;
}

.l_faq_head {
	border-bottom: 1px dashed #7f7f7f;
}

.l_faq_item_ttl {
	position: relative;
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 2.3;
	padding: 20px 35px 20px 60px;
	cursor: pointer;
	transition: 0.3s;
}

.l_faq_item_ttl:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 10px;
	height: 10px;
	z-index: 1;
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s;
}

.l_faq_item_ttl em {
	position: absolute;
	top: 13px;
	left: 7px;
	color: #000;
	letter-spacing: 0.1em;
	font-size: 3.2rem;
	line-height: 1.8;
}

.l_faq_body {
	display: none;
}

.l_faq_txt {
	padding: 30px 35px 25px 60px;
	letter-spacing: 0.1em;
	line-height: 2.6;
}

.on .l_faq_item_ttl:before {
	transform: translateY(-50%) rotate(225deg);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_blog
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_blog_box_item + .m_blog_box_item {
	margin-top: 16px;
}

.m_blog_box_head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 3px;
}

.m_blog_box_date {
	letter-spacing: 0.1em;
	margin-right: 18px;
	font-size: 1.3rem;
}

.m_blog_cat_wrap {
	line-height: 1.5;
	padding-top: 1px;
	margin-bottom: -5px;
}

.m_blog_cat {
	background: #ffe100;
	font-size: 1.2rem;
	text-decoration: none;
	padding: 0.1em 0.6em 0.1em;
	margin-right: 0.5em;
	margin-bottom: 5px;
}

.m_blog_box_link {
	text-decoration: none;
	display: block;
	overflow: hidden;
}

.m_blog_box_ttl {
	font-weight: 700;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin-bottom: 1px;
	font-size: 1.7rem;
}

.m_blog_box_txt {
	line-height: 1.6;
}

.m_blog_box_more {
	float: right;
	margin-left: 10px;
	font-size: 1.2rem;
	line-height: 2;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_table_clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_table_clinic {
	--col-size: 4.185%;
	--last-padding: 2.5%;
	border: 1px solid var(--main-color);
}

.m_table_clinic td,
.m_table_clinic th {
	text-align: center;
	vertical-align: middle;
}

.m_table_clinic tr {
}

.m_table_clinic thead th {
	width: calc(var(--col-size) * 2);
	padding: 21px 0;
	background: var(--main-color);
	color: #fff;
}

.m_table_clinic thead th:first-of-type {
	letter-spacing: 0.3em;
	width: calc(100% - var(--col-size) * 16 - var(--last-padding));
	text-align: left;
}

.m_table_clinic thead th:first-of-type,
.m_table_clinic tbody th:first-of-type {
	padding-left: 3.8%;
}

.m_table_clinic thead th:last-of-type {
	width: calc(var(--col-size) * 2 + var(--last-padding));
}

.m_table_clinic thead th:last-of-type,
.m_table_clinic tbody td:last-of-type {

padding-right: var(--last-padding);

letter-spacing: 0.15em;
}

/* tbody */
.m_table_clinic tbody tr {
	border-bottom: 1px solid var(--main-color);
	background: #fff;
}
.m_table_clinic tbody th {
	letter-spacing: 0.2em;
	text-align: left;
}

.m_table_clinic tbody th,
.m_table_clinic tbody td {
	padding: 20px 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fs_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.fs_block {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.fs_block figure {
	width: 38%;
	position: relative;
	overflow: hidden;
}

.fs_block .txt_block {
	width: 58%;
	margin-top: 0;
}

.fs_block figure:before {
	content: "";
	display: block;
	width: 100%;
	position: relative;
}

.fs_block figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_slider
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_slider {
	display: flex;
	width: 100vw;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 10;
	margin: 0 auto;
	padding: 0;
}

.m_slider_item:first-child {
	-webkit-animation: loop 300s -150s linear infinite;
	animation: loop 300s -150s linear infinite;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}

.m_slider_item {
	-webkit-animation: loop2 300s linear infinite;
	animation: loop2 300s linear infinite;
	display: flex;
}

.m_slider_item img {
	width: auto;
}

@-webkit-keyframes loop {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes loop {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@-webkit-keyframes loop2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

@keyframes loop2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
custom_wrap
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.custom_wrap {
	display: flex;
}

.custom_side {
	width: 230px;
	margin-left: 30px;
}

.custom_main {
	flex: 1;
	overflow: hidden;
}

.blog_article_single:first-of-type .blog_article_ttl {
	margin-top: 0;
}

.side_ttl {
	font-size: 2rem;
	font-weight: 500;
	border-bottom: 2px solid var(--main-color);
	padding-bottom: 0.5em;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
リセット
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.under_page_wrap .has_parallax.basic_layout .u_table01,
.under_page_wrap .has_parallax.basic_layout .u_table01 tr,
.under_page_wrap .has_parallax.basic_layout .u_table01 th,
.under_page_wrap .has_parallax.basic_layout .u_table01 td,
.under_page_wrap .has_parallax.basic_layout .u_ttl01,
.under_page_wrap .has_parallax.basic_layout .u_ttl02,
.under_page_wrap .has_parallax.basic_layout .u_ttl03,
.under_page_wrap .has_parallax.basic_layout .u_ttl01:before,
.under_page_wrap .has_parallax.basic_layout .u_ttl02:before,
.under_page_wrap .has_parallax.basic_layout .u_ttl03:before,
.under_page_wrap .has_parallax.basic_layout .u_ttl01:after,
.under_page_wrap .has_parallax.basic_layout .u_ttl02:after,
.under_page_wrap .has_parallax.basic_layout .u_ttl03:after {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
u_row_flow
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.u_row_flow {
	display: flex;
	flex-wrap: wrap;
	--gutter: 30px;
	--gutter_bottom: 30px;
	margin: 0 calc(-1 * var(--gutter)) calc(-1 * var(--gutter_bottom)) 0;
}

.u_row_flow_item {
	position: relative;
	width: calc(50% - var(--gutter));
	margin: 0 var(--gutter) var(--gutter_bottom) 0;
}

.u_row_flow_item p:first-of-type:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: calc(-1 * var(--gutter));
	border-color: transparent transparent transparent #d6c7a7;
	border-width: 13px 0 13px 13px;
	border-style: solid;
	z-index: 1;
	transform: translate(-50%, -50%);
}

.u_row_flow03 .u_row_flow_item {
	width: calc(33.3333% - var(--gutter));
}

.u_row_flow03 .u_row_flow_item:nth-of-type(3n) p:first-of-type:before,
.u_row_flow03 .u_row_flow_item:last-of-type p:first-of-type:before {
	display: none;
}

.u_row_flow04 .u_row_flow_item {
	width: calc(25% - var(--gutter));
}
.u_row_flow {
	display: flex;
	flex-wrap: wrap;
	--gutter: 30px;
	--gutter_bottom: 50px;
	margin: 0 calc(-1 * var(--gutter)) calc(-1 * var(--gutter_bottom)) 0;
}

.u_row_flow_item {
	position: relative;
	width: calc(50% - var(--gutter));
	margin: 0 var(--gutter) var(--gutter_bottom) 0;
}

.u_row_flow_item p:first-of-type:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: calc(-1 * var(--gutter));
	border-color: transparent transparent transparent #d6c7a7;
	border-width: 13px 0 13px 13px;
	border-style: solid;
	z-index: 1;
	transform: translate(-50%, -50%);
}

.u_row_flow03 .u_row_flow_item {
	width: calc(33.3333% - var(--gutter));
}

.u_row_flow03 .u_row_flow_item:nth-of-type(3n) p:first-of-type:before,
.u_row_flow03 .u_row_flow_item:last-of-type p:first-of-type:before {
	display: none;
}

.u_row_flow04 .u_row_flow_item {
	width: calc(25% - var(--gutter));
}

.u_row_flow04 .u_row_flow_item:nth-of-type(4n) p:first-of-type:before,
.u_row_flow04 .u_row_flow_item:last-of-type p:first-of-type:before {
	display: none;
}

.m_post_cat {
	display: flex;
	flex-wrap: wrap;
	margin: 12px 0 -8px;
}
.m_post_cat_item {
	font-size: 1.4rem;
	color: #fff;
	background: var(--main-color);
	padding: 0.2em 0.8em;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	margin: 0 8px 8px 0;
	line-height: 1.4;
}

