@charset "UTF-8";
/* ChatEase サイト共通スタイル（全ページこの1ファイルのみ読み込み）
 * 旧CMS共通CSS・旧style.css・ページ別CSSを統合済み。同じセレクタの指定は1か所にまとめてあります。
 * ページ別の指定は body のクラス（page-top など）で範囲を限定しています。 */

/*==================== 1. 共通ベース（旧CMS共通CSS由来） ====================*/
@media screen and (min-width: 901px) {
	body:not(.ss) header:not(.over) + #mv_outer {
		border-top-width: 0;
	}
}
#mv:not(.playstop) .mv_mov {
	pointer-events: none;
}
.MvP {
	padding-top: 50px;
}
* {
	margin: 0;
	padding: 0;
	list-style: none;
	outline: 0;
	border-radius: 0.1px;
}
input {
	vertical-align: middle;
}
.inner_item_txt a {
	text-decoration: underline;
	text-decoration-color:;
	color: inherit;
}
.contents_btn01:before,
.contents_btn01:after,
.btn:before,
.btn:after {
	pointer-events: none;
}
.align-left {
	text-align: left;
}
.delayActive > *,
.delay1Active > *,
.delay2Active > *,
.delay3Active > *,
.delay4Active > *,
.delay5Active > * {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	transition: 0.8s ease-in-out;
	z-index: 1;
}
.delay5 .content_wrapper > * > *:not(.dl5) {
	opacity: 0;
	transition: opacity 0.8s 1s;
}
.delay5Active .content_wrapper > * > *:not(.dl5) {
	opacity: 1;
}
img {
	border: 0;
	vertical-align: top;
	backface-visibility: hidden;
	height: auto;
	max-width: 100%;
}
main {
	overflow: clip;
	overflow-wrap: break-word;
	min-width: 280px;
	z-index: 1;
	position: relative;
}
.inner_item_txt .heading:empty() {
	margin: 0;
}
.inner_item_txt p {
	margin-bottom: 10px;
}
.inner_item_txt p:nth-last-of-type(1) {
	margin-bottom: 0;
}
article {
	overflow: hidden;
}
article .content_wrapper {
	padding-left: 0;
	padding-right: 0;
}
header.over {
	position: absolute;
}
.ss header:not(.nofixed) {
	position: absolute;
}
header:after {
	display: none;
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	right: -10%;
	transition: 0.3s ease-in-out;
	z-index: 1;
}
body.scrolled header:not(.nofixed) {
	position: fixed;
	top: 0;
	opacity: 1;
	transition: 0.5s ease-in-out;
}
body.hHide header:not(.nofixed) {
	top: -200px;
	opacity: 0;
}
.scrolled header:not(.nofixed) {
	position: fixed;
}
.wrapper > .inner {
	display: flex;
	align-items: center;
	min-height: 45px;
}
.wrapper {
	padding: 0 25px;
	width: calc(100% - 50px);
}
header .header_catch {
	right: 25px;
}
header .logo img {
	display: block;
}
header .logo {
	flex-shrink: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
.burger {
	display: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 9px;
	z-index: 5;
}
.burger ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 88px;
}
.burger li {
	display: block;
	width: 45px;
	height: 45px;
	box-sizing: border-box;
}
.burger li a {
	display: block;
	width: 32px;
	height: 32px;
	text-indent: -10000px;
	position: relative;
	padding: 6px 6px 6px 8px;
}
header li a svg {
	max-width: 100%;
	max-height: 100%;
}
header a div {
	width: 30px;
	margin: 0 auto;
	height: 100%;
	overflow: hidden;
	position: relative;
}
header a div:before {
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	transition: 0.3s ease-in-out;
	top: 9px;
}
header a div:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	transition: 0.3s ease-in-out;
	top: 25px;
}
.sp_menu a div span {
	margin-top: 17px;
	width: 100%;
	height: 1px;
	display: block;
	position: relative;
	transition: 0.3s ease-in-out;
}
header a:hover div:before {
	animation: before 0.6s ease-in-out;
}
header a:hover div span {
	animation: span 0.6s ease-in-out;
}
header a:hover div:after {
	animation: after 0.6s ease-in-out;
}
@keyframes before {
	0% {
		width: 100%;
		left: 0;
	}
	20% {
		width: 0;
		left: 0;
	}
	40% {
		width: 0;
		left: 100%;
	}
	60% {
		width: 100%;
		left: 0;
	}
}
@keyframes span {
	0% {
		width: 100%;
		left: 0;
	}
	10% {
		width: 100%;
		left: 0;
	}
	30% {
		width: 0;
		left: 0;
	}
	50% {
		width: 0;
		left: 100%;
	}
	70% {
		width: 100%;
		left: 0;
	}
}
@keyframes after {
	0% {
		width: 100%;
		left: 0;
	}
	20% {
		width: 100%;
		left: 0;
	}
	40% {
		width: 0;
		left: 0;
	}
	60% {
		width: 0;
		left: 100%;
	}
	80% {
		width: 100%;
		left: 0;
	}
}
.header_contents {
	min-width: 280px;
	box-sizing: border-box;
	padding-left: 3%;
	flex-grow: 2;
}
.header_sns {
	padding-top: 10px;
	padding-bottom: 6px;
}
header .header_sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0 0 0 auto;
}
@media screen and (min-width: 901px) {
	.header_sns {
		text-align: right;
	}
}
header .header_col1 .btn {
	position: relative;
	min-height: 35.2px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}
header .header_col1 .btn > a span {
	display: block;
}
header .header_col1 .btn > a:has(span.inn) {
	padding: 0 !important;
}
header .header_col1 .btn > a[target="_blank"]:not(:has(span.inn)) {
	position: relative;
	padding-right: 25px;
}
header .header_col1 .btn > a[target="_blank"]:not(:has(span.inn)):before,
header .header_col1 .btn > a[target="_blank"]:not(:has(span.inn)):after,
header .header_col1 .btn > a[target="_blank"] span.inn:before,
header .header_col1 .btn > a[target="_blank"] span.inn:after {
	content: "";
	display: block;
	width: 6px;
	height: 4px;
	position: absolute;
	border: 1px solid var(--i_btn_txt_color);
	right: 12px;
	top: calc(50% - 1px);
	transition: 0.5s;
}
header .header_col1 .btn > a:hover[target="_blank"]:not(:has(span.inn)):before,
header .header_col1 .btn > a:hover[target="_blank"]:not(:has(span.inn)):after,
.header_contents .header_col1 .btn > a:hover[target="_blank"] span.inn:before,
.header_contents .header_col1 .btn > a:hover[target="_blank"] span.inn:after {
	border-color: var(--i_btn_hover_txt_color);
}
header .header_col1 .btn > a[target="_blank"]:not(:has(span.inn)):after,
header .header_col1 .btn > a[target="_blank"] span.inn:after {
	right: 10px;
	top: calc(50% - 3px);
}
header nav {
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	justify-content: flex-end;
	display: flex;
	padding-right: 25px;
}
ul.nav_1st > li a:hover {
	opacity: 0.8;
}
ul.nav_1st > li i {
	display: none;
}
nav ul.nav_2nd li {
	display: block;
}
body.scrolled .wrapper > .inner {
	min-height: 0;
}
body.scrolled header .header_catch {
	display: none;
}
@media screen and (max-width: 900px) {
	.burger {
		display: block;
	}
	.header_contents .inner {
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		text-align: left;
	}
	nav ul.nav_1st li a {
		text-align: left;
	}
	ul.nav_1st > li > a {
		padding: 15px 55px 15px 5px;
	}
	ul.nav_1st > li > a:nth-last-child(3) {
		padding-right: 40px !important;
	}
	ul.nav_1st > li i {
		width: 52px;
	}
}
header.open a div:before {
	transform: rotate(-225deg);
	top: 15px;
}
header.open a div span {
	opacity: 0;
}
header.open a div:after {
	transform: rotate(225deg);
	top: 15px;
}
section {
	clear: both;
	overflow: hidden;
	position: relative;
}
.content_wrapper {
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	padding: 0 var(--i_padding, 20px);
}
.width_fixed > .content_wrapper {
	max-width: 1200px;
}
.heading {
	position: relative;
	box-sizing: border-box;
}
.heading .h,
.heading p {
	text-transform: none;
}
.heading .h span,
.heading p span {
	display: inline-block;
}
body:not(.edit_view) .heading .h:empty,
.heading p:empty {
	display: none;
}
.width_full .content_wrapper > .heading {
	box-sizing: border-box;
}
.heading:before {
	content: "";
	display: block;
	position: absolute;
}
.heading + .heading {
	margin-top: -20px;
	margin-bottom: 30px;
}
.contents_btn01 {
	clear: both;
	overflow: hidden;
	position: relative;
	text-align: center;
}
.contents_btn01 .inner_item_txt {
	margin-top: 15px;
}
.contents_btn01 > a[target="_blank"] span {
	position: relative;
	padding-right: 19px !important;
}
.contents_btn01 a[target="_blank"] span:before {
	content: "";
	width: 6px;
	height: 4px;
	position: absolute;
	right: 6px;
	top: calc(50% - 1px);
	transition: 0.4s ease-in-out;
}
.contents_btn01 a[target="_blank"] span:after {
	content: "";
	width: 6px;
	height: 4px;
	position: absolute;
	right: 8px;
	top: calc(50% - 3px);
	transition: 0.4s ease-in-out;
}
:root {
	--i_block_line: 120px;
}
.inner_item_txt li {
	list-style: disc;
	list-style-position: inside;
}
.inner_item_txt li::marker {
	font-size: 12px;
}
#lv_outer {
	position: relative;
}
@media screen and (min-width: 901px) {
	body:not(.ss) header:not(.over) + #lv_outer {
		border-top-width: 0;
	}
}
.category1 {
	display: block;
	margin: 0 auto 30px;
	text-align: center;
}
.category1 li {
	display: inline-block;
	margin-bottom: 10px;
}
.popup {
	z-index: 60;
}
.popclose:hover {
	opacity: 0.8;
}
.popimg {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	display: table;
	table-layout: fixed;
}
.popimg > div {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100%;
}
.popimgwrap {
	display: inline-block;
	max-width: 80%;
	position: relative;
	opacity: 0;
	z-index: 5;
}
.popimg img {
	display: block;
	margin: 0 auto;
	position: relative;
	z-index: 5;
	background: var(--i_bg_color);
	max-height: 90vh;
	box-shadow: 10px 10px 20px var(--i_shadow_color);
}
.poptxt:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--i_bg_color);
	opacity: 0.7;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.poptxt p {
	position: relative;
	z-index: 2;
	color: var(--i_txt_color);
}
.poptxt:empty {
	opacity: 0 !important;
}
.poptxt.timelimit {
	opacity: 0;
}
.popimgwrap:hover .poptxt.timelimit {
	opacity: 1;
}
.popnav {
	display: block;
	width: 100%;
	height: 0;
	position: absolute;
	top: calc(50% - 22px);
	left: 0;
	z-index: 10;
}
.popnav li:hover {
	opacity: 0.7;
}
.popnav li.popprev {
	float: left;
	margin-left: 10px;
}
.popnav li.popnext {
	float: right;
	margin-right: 10px;
}
.popnav li:before {
	content: "";
	font-size: 3rem;
	line-height: 40px;
	display: block;
	width: 10px;
	height: 10px;
	text-align: center;
	position: absolute;
	top: 15px;
	left: 13px;
	border-top: 3px solid var(--i_bg_color);
	border-right: 3px solid var(--i_bg_color);
}
.popnav li.popprev:before {
	transform: rotate(-135deg);
	left: 17px;
}
.popnav li.popnext:before {
	transform: rotate(45deg);
}
.popup .loader::after {
	left: -1px;
	top: -1px;
	display: none;
	position: absolute;
	content: "";
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
	display: none;
	position: absolute;
	content: "";
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
}
.popup .loader {
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	animation: spin 0.75s infinite linear;
	position: absolute;
	top: calc(50% - 60px);
	left: calc(50% - 25px);
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	animation: spin 0.75s infinite linear;
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	display: block;
	z-index: 4;
	display: inline-block;
	border-color: transparent;
}
.popup .loader::before {
	display: inline-block;
	border-color: transparent;
	display: none;
	position: absolute;
	content: "";
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
	animation: spin 1.5s infinite ease;
	display: inline-block;
	left: -1px;
	top: -1px;
	display: none;
	position: absolute;
	content: "";
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
	animation: spin 1.5s infinite ease;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
#fixbtn.scrolled .fixbtnwrap {
	bottom: 0;
}
#fixbtn .inner {
	display: flex;
	min-height: 60px;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	max-width: none;
}
#fixbtn .inner > div {
	display: flex;
	align-items: center;
	padding: 8px 15px;
}
[data-tel] {
	pointer-events: none;
}
[data-tel] {
	align-items: center;
}
@media screen and (min-width: 1200px) {
	#fixbtn #scrolltop {
		padding-right: 20px;
	}
}
#fixbtn .inner > div.contents_btn01 {
	flex-shrink: 0;
	align-items: center;
	box-sizing: border-box;
}
.contents_btn01 a[style*="background-color:"]:hover {
	opacity: 0.8;
}
#scrolltop a:before {
	content: "";
	position: absolute;
}
@media screen and (max-width: 1300px) {
	#fixbtn .contents_btn01 {
		justify-content: center;
	}
}
#fixbtn[data-pattern="2"] .inner {
	max-width: none;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
}
[data-pattern="2"] .contents_btn01 a {
	border: 0;
}
#fixbtn[data-pattern="2"] .inner > div {
	padding: 0;
}
[data-pattern="2"] .contents_btn01 {
	align-items: stretch !important;
}
#fixbtn[data-pattern="2"] .contents_btn01 > a span {
	padding-top: 11px;
	padding-bottom: 9px;
}
#fixbtn[data-pattern="2"] #scrolltop {
	display: none;
}
.contents_btn01:has(> a:nth-child(1):nth-last-child(2)) > a {
	width: 50% !important;
}
[data-pattern="2"] .contents_btn01 {
	width: 100%;
}
#fixbtn .contents_btn01 a + a {
	background-color: #009df1;
}
#fixsns {
	position: absolute;
	bottom: calc(100% + 0px);
	left: 50px;
	width: 100%;
	text-align: right;
	line-height: 1;
	pointer-events: none;
	overflow: hidden;
	padding: 5px 0 15px;
	z-index: 3;
	transition: 0.3s ease-in-out;
}
#fixsns.show {
	left: 0;
}
.sns {
	overflow: hidden;
}
#fixsns:not(.sp) .sns:hover,
#fixsns.sp.open .sns {
	transform: translateX(0);
}
#fixsns:not(.show) .sns {
	transform: translateX(calc(100% - 45px)) !important;
}
li.snstgl {
	position: sticky;
	left: -50vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--i_btn_color);
	cursor: pointer;
	z-index: 3;
	padding-left: 50vw;
	margin-left: -50vw;
	width: 45px;
}
.sns li.snstgl a {
	pointer-events: none;
}
.sns li.snstgl a svg {
	width: 31px;
	height: 31px;
	padding: 11px;
	fill: var(--i_btn_txt_color);
}
#fixsns:not(.sp) .sns:hover a,
#fixsns.sp.open a {
	opacity: 1;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(2) a {
	transition-delay: 0.05s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(3) a {
	transition-delay: 0.1s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(4) a {
	transition-delay: 0.15s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(5) a {
	transition-delay: 0.2s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(6) a {
	transition-delay: 0.25s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(7) a {
	transition-delay: 0.3s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(8) a {
	transition-delay: 0.35s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(9) a {
	transition-delay: 0.4s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(10) a {
	transition-delay: 0.45s;
}
.sns li a {
	transition: 0.2s;
}
#fixsns:not(.sp) a:hover,
#fixsns.sp.open a:hover {
	opacity: 1;
}
#fixsns:not(:has(li[class*="sns_"])) {
	display: none;
}
.tip {
	position: absolute;
	line-height: 1.4;
	z-index: 100;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
	font-size: 1.4rem;
	padding: 0;
	width: 280px;
	transition: all 0.15s ease-out;
	transform: translate(0, -20px);
	opacity: 0;
	pointer-events: none;
	background: #fff;
	color: #222;
	box-shadow: 0 10px 20px var(--i_shadow_color);
}
.tip p:nth-of-type(1) {
	font-weight: bold;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 15px 15px 5px 15px;
}
.tip p:nth-of-type(2) {
	padding: 0 15px 15px 15px;
}
.tip span {
	display: block;
	width: 21px;
	height: 21px;
	background: #fff;
	transform: rotate(-45deg);
	position: absolute;
	bottom: -10px;
	left: 10px;
}
body > .mypayment {
	display: none;
}
.poppay {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.poppayclose {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.poppay .tgt {
	position: relative;
	z-index: 2;
	overflow: auto;
	max-height: 80vh;
	height: auto;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.13);
}
.poppay .mypayment {
	background: #fff;
	color: #333;
	padding: 30px;
	position: relative;
	z-index: 5;
	text-align: center;
	max-width: 90vw;
	width: 800px;
	box-sizing: border-box;
}
.poppay .pay1 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
	margin-top: 20px;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #ddd;
	box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.05);
}
.poppay .pay2 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
	margin-top: 20px;
	width: auto;
	display: inline-flex;
}
@media screen and (max-width: 800px) {
	.poppay .pay2 {
		display: flex;
		justify-content: center;
		width: 100%;
	}
}
@media screen and (max-width: 550px) {
	.poppay .mypayment {
		padding: 20px 15px;
	}
	.poppay .pay2 {
		margin: 10px auto 0;
		width: 260px;
	}
}
.pindex .inner_item li:not(.sub) + li.sub {
	counter-reset: indexnum2;
}
.pindex .inner_item li:not(.sub) ~ li.sub {
	padding-left: 35px;
	margin-left: 25px;
}
.pindex .inner_item li:not(.sub) ~ li.sub:before {
	counter-increment: indexnum2;
	content: counter(indexnum) "." counter(indexnum2) "　";
}
[class*="dec2_"] .inner_item_txt:not(:has(.heading)) {
	padding-top: 0;
}
.composite_box01.block_images_2 .inner_item_img:has(+ .inner_item_txt) {
	margin-top: 0;
}
.-w-modal {
	z-index: 999;
	transition: 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	text-align: center;
	line-height: 1.4;
	opacity: 0;
	pointer-events: none;
}
.-w-modal.show-up {
	opacity: 1;
	pointer-events: auto;
}
.-w-modal-dialog {
	width: calc(100% - 40px);
	max-width: calc(100vh - 120px);
	margin: auto;
	top: 50%;
	transform: translateY(-50%);
	position: relative;
	z-index: 3;
	pointer-events: none;
}
.dialogclose {
	width: 40px;
	height: 40px;
	background: var(--i_bg_color);
	box-shadow: 10px 10px 20px var(--i_shadow_color);
	border-radius: 100px;
	margin: 15px auto 0;
	position: relative;
}
.dialogclose:before {
	content: "";
	width: 20px;
	height: 3px;
	background-color: var(--i_main_color);
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 10px);
	transform: rotate(45deg);
}
.dialogclose:after {
	content: "";
	display: block;
	width: 20px;
	height: 3px;
	background-color: var(--i_main_color);
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 10px);
	transform: rotate(-45deg);
}
.-w-modal-content {
	position: relative;
	max-width: 500px;
	margin: auto;
	opacity: 0;
	transform: translateY(50px);
	transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	box-shadow: 10px 10px 20px var(--i_shadow_color);
	overflow: hidden;
	border-radius: 0;
	padding-bottom: 40px;
}
.-w-modal.show-up .-w-modal-content {
	opacity: 1;
	transform: translateY(0);
}
.-w-modal.show-up .-w-modal-body {
	pointer-events: auto;
}
.-w-image {
	position: relative;
}
.-w-image img {
	display: block;
	aspect-ratio: 1;
	object-fit: cover;
}
.-w-image a {
	display: block;
}
.-w-btn {
	position: absolute;
	transform: translateY(-100%);
	top: 100%;
	width: 100%;
}
.-w-btn a span {
	position: relative;
	text-align: left;
}
.close {
	width: 100%;
	height: 100%;
	z-index: 2;
	position: absolute;
	top: 0;
	cursor: pointer;
}
.scrolled #fixbanner:not(.hide) .ffb_close,
.scrolled #fixbanner:not(.hide) ul.ffb_ul {
	pointer-events: auto;
}
.sidebar_list li a:hover {
	opacity: 0.7;
}
article img {
	position: relative;
	z-index: 2;
}
article:nth-last-of-type(1) {
	margin-bottom: 40px;
}
@media screen and (min-width: 650px) {
	article:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}
}
.add_design6 section:not(.parallax) > .content_wrapper > :last-child:not(.heading) {
	margin-bottom: 110px;
}
.contents_box01 .wrapper_item {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
}
.contents_box01 .inner_item_txt {
	box-sizing: border-box;
}
.contents_box01 .inner_item_txt .heading {
	margin-bottom: 20px;
}
.contents_box01 .inner_item_txt .heading:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 900px) {
	.contents_box01:not(.block_image_text_2):not(.block_image_text_6):not(.block_text_6) .wrapper_item {
		display: block;
	}
}
@media screen and (max-width: 1100px) {
	.wrapper {
		padding: 0 15px;
		width: calc(100% - 30px);
	}
	header .header_catch {
		right: 15px;
	}
	header nav {
		padding-right: 15px;
	}
}
.composite_box01 ul.slick-dots li:marker {
	display: none;
}
.composite_box01.block_images_3 .inner_item > .heading:nth-last-of-child(1),
.composite_box01.block_images_6 .inner_item > .heading:nth-last-of-child(1) {
	margin-bottom: 0;
}
.block_images_22 .inner_item > a:has(.inner_item_txt),
.block_images_23 .inner_item > a:has(.inner_item_txt),
.block_images_24 .inner_item > a:has(.inner_item_txt) {
	flex-direction: row;
	align-items: flex-start;
}
.block_images_23 .inner_item > a:has(.inner_item_txt),
.block_images_24 .inner_item:nth-of-type(2n) > a:has(.inner_item_txt) {
	flex-direction: row-reverse;
}
.block_images_22 .inner_item > a:has(.inner_item_txt),
.block_images_23 .inner_item > a:has(.inner_item_txt),
.block_images_24 .inner_item > a:has(.inner_item_txt),
.block_images_22 .inner_item > a:not(:has(.inner_item_txt)) .inner_item_img,
.block_images_23 .inner_item > a:not(:has(.inner_item_txt)) .inner_item_img,
.block_images_24 .inner_item > a:not(:has(.inner_item_txt)) .inner_item_img {
	flex-basis: 100%;
	max-width: 100%;
}
.widget_staff01 .inner_item_txt .heading + *:not(.s_sns) {
	margin-top: 10px;
}
.widget_staff01.add_design3 ul.slick-dots li:marker {
	display: none;
}
@media screen and (max-width: 500px) {
	header .btn a {
		text-align: center;
		background: #a00;
		color: #fff;
		padding: 8px 11px;
	}
	ul.nav_1st > li > a:nth-last-child(3) {
		padding-right: 30px !important;
	}
	ul.nav_1st > li i {
		width: 30px;
	}
	.sns {
		overflow: scroll;
		max-width: 315px;
	}
}
.youtube_block {
	padding-top: 56.25%;
	position: relative;
}
.youtube_block iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: none;
}
form dl:nth-of-type(1) {
	padding-top: 10px;
	margin-top: 20px;
	border-top: 1px solid var(--i_border_color);
}
form dt {
	min-width: 160px;
	width: 22%;
}
textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
	transition: 0.3s ease-in-out;
	-webkit-appearance: none;
	-moz-appearance: none;
	line-height: 1.8;
	font-family: inherit;
}
input:after {
	color: #666;
	font-size: 1.6rem;
	content: attr(placeholder);
}
.flatpickr-calendar.open {
	opacity: 1;
	max-height: 640px;
	visibility: visible;
	display: inline-block;
	z-index: 99999;
}
.flatpickr-calendar.inline {
	opacity: 1;
	max-height: 640px;
	visibility: visible;
	display: block;
	position: relative;
	top: 2px;
}
.flatpickr-days .dayContainer:nth-child(n + 1) .flatpickr-day.inRange:nth-child(7n + 7) {
	-webkit-box-shadow: none;
	box-shadow: none;
}
.flatpickr-days .dayContainer:nth-child(n + 2) .flatpickr-day.inRange:nth-child(7n + 1) {
	-webkit-box-shadow:
		-2px 0 0 #e6e6e6,
		5px 0 0 #e6e6e6;
	box-shadow:
		-2px 0 0 #e6e6e6,
		5px 0 0 #e6e6e6;
}
.flatpickr-calendar.hasTime .flatpickr-time {
	height: 40px;
	border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
	height: auto;
}
.flatpickr-calendar:focus {
	outline: 0;
}
.flatpickr-month {
	-moz-user-select: none;
}
.flatpickr-prev-month.flatpickr-disabled,
.flatpickr-next-month.flatpickr-disabled {
	display: none;
}
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
	color: #959ea9;
}
.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
	fill: #f64747;
}
.flatpickr-monthDropdown-months {
	-moz-appearance: menulist;
}
.flatpickr-monthDropdown-months:focus,
.flatpickr-monthDropdown-months:active {
	outline: none;
}
.flatpickr-monthDropdown-months:hover {
	background: rgba(0, 0, 0, 0.05);
}
span.flatpickr-weekday {
	cursor: default;
	font-size: 90%;
	background: transparent;
	color: rgba(0, 0, 0, 0.54);
	line-height: 1;
	margin: 0;
	text-align: center;
	display: block;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	font-weight: bolder;
}
.flatpickr-days:focus {
	outline: 0;
}
.flatpickr-day {
	background: none;
	border: 1px solid transparent;
	border-radius: 150px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #393939;
	cursor: pointer;
	font-weight: 400;
	width: 14.2857143%;
	-webkit-flex-basis: 14.2857143%;
	flex-basis: 14.2857143%;
	max-width: 39px;
	height: 39px;
	line-height: 39px;
	margin: 0;
	display: inline-block;
	position: relative;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
}
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
	cursor: pointer;
	outline: 0;
	background: #e6e6e6;
	border-color: #e6e6e6;
}
.flatpickr-day.today {
	border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
	border-color: #959ea9;
	background: #959ea9;
	color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background: #569ff7;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #fff;
	border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
	border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
	border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
	-webkit-box-shadow: -10px 0 0 #569ff7;
	box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
	border-radius: 50px;
}
.flatpickr-day.inRange {
	cursor: pointer;
	outline: 0;
	background: #e6e6e6;
	border-color: #e6e6e6;
	border-radius: 0;
	-webkit-box-shadow:
		-5px 0 0 #e6e6e6,
		5px 0 0 #e6e6e6;
	box-shadow:
		-5px 0 0 #e6e6e6,
		5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
	color: rgba(57, 57, 57, 0.3);
	background: transparent;
	border-color: transparent;
	cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
	cursor: not-allowed;
	color: rgba(57, 57, 57, 0.1);
}
.flatpickr-day.week.selected {
	border-radius: 0;
	-webkit-box-shadow:
		-5px 0 0 #569ff7,
		5px 0 0 #569ff7;
	box-shadow:
		-5px 0 0 #569ff7,
		5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
	visibility: hidden;
}
.rangeMode .flatpickr-day {
	margin-top: 1px;
}
.flatpickr-weekwrapper .flatpickr-weekday {
	float: none;
	width: 100%;
	line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
	display: block;
	width: 100%;
	max-width: none;
	color: rgba(57, 57, 57, 0.3);
	background: transparent;
	cursor: default;
	border: none;
}
.flatpickr-time.hasSeconds .numInputWrapper {
	width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
	width: 49%;
}
.flatpickr-time input {
	-moz-appearance: textfield;
}
.flatpickr-time input:focus {
	outline: 0;
	border: 0;
}
.flatpickr-time-separator,
.flatpickr-am-pm {
	-moz-user-select: none;
}
.flatpickr-time input:hover,
.flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-am-pm:focus {
	background: #eee;
}
.flatpickr-input[readonly] {
	cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@media screen and (max-width: 1200px) {
	:root {
		--i_block_line: clamp(60px, 12vw, 120px);
	}
}
@media screen and (max-width: 768px) {
	[data-tel] {
		pointer-events: auto;
	}
	.block_images_22 .inner_item > a:has(.inner_item_txt),
	.block_images_23 .inner_item > a:has(.inner_item_txt),
	.block_images_24 .inner_item > a:has(.inner_item_txt) {
		display: block;
	}
}
.block_comments:not(.popimgwrap) .comments_body {
	cursor: pointer;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
}
.block_comments:not(.popimgwrap) .comments_body:hover {
	opacity: 0.5;
}
.block_comments:not(.popimgwrap) .comments_body img {
	display: block;
	object-fit: cover;
}
.block_comments:not(.popimgwrap) .comments_body .inner_item_txt {
	width: 100%;
}
.block_comments:not(.popimgwrap) .comments_body .inner_item_txt:after {
	content: "続きを見る";
	text-decoration: underline;
	opacity: 0.6;
	width: 100%;
}
.block_comments:not(.popimgwrap) .comments_body .inner_item_txt p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.block_comments:not(.popimgwrap) .inner_item_reply {
	display: none;
}
.block_comments.add_design:not(.popimgwrap) .inner_item_img,
.block_comments.add_design1:not(.popimgwrap) .inner_item_img {
	width: 150px;
}
.block_comments.add_design:not(.popimgwrap) img,
.block_comments.add_design1:not(.popimgwrap) .inner_item_img img {
	width: 150px;
	height: 150px;
}
.block_comments.add_design:not(.popimgwrap) .inner_item_img + .inner_item_txt,
.block_comments.add_design1:not(.popimgwrap) .inner_item_img + .inner_item_txt {
	width: calc(100% - 170px);
}
@media screen and (max-width: 600px) {
	.block_comments.add_design:not(.popimgwrap) .inner_item_img,
	.block_comments.add_design1:not(.popimgwrap) .inner_item_img {
		width: 100%;
		margin: 5px auto 10px;
	}
	.block_comments.add_design:not(.popimgwrap) img,
	.block_comments.add_design1:not(.popimgwrap) .inner_item_img img {
		width: 100%;
	}
}
.block_comments.add_design2:not(.popimgwrap) .comments_body .inner_item_img {
	width: 100%;
	margin: 5px auto 10px;
}
.block_comments.add_design2:not(.popimgwrap) .inner_item_img img {
	width: 100%;
	height: 150px;
}
.block_comments.add_design3:not(.popimgwrap) .inner_item_img {
	width: 100%;
	margin: 5px auto 10px;
}
.block_comments.add_design3:not(.popimgwrap) .inner_item_img img {
	width: 100%;
	height: 150px;
}

/*==================== 2. サイト共通（独自スタイル） ====================*/
:root {
	--i_block_line100: 100px;
	--i_block_line90: 90px;
	--i_block_line80: 80px;
	--i_block_line70: 70px;
	--i_block_line60: 60px;
	--i_block_line50: 50px;
	--i_block_line40: 40px;
	--i_block_line30: 30px;
	--i_block_line20: 20px;
	--i_block_line10: 10px;
	--i_bg_color: #fff;
	--i_txt_color: #333;
	--i_main_color: #32b0e5;
	--i_sub_color: #32b0e5;
	--i_sub2_color: #dff5fe;
	--i_btn_color: #32b0e5;
	--i_btn_hover_color: #ffffff;
	--i_btn_txt_color: #ffffff;
	--i_btn_hover_txt_color: #32b0e5;
	--i_shadow_color: rgba(0, 0, 0, 0.05);
	--i_border_color: rgba(0, 0, 0, 0.13);
	--i_noimg_bg_color: #dff5fe;
	--i_padding: 20px;
}
html {
	overflow-x: hidden;
	font-size: 62.5%;
}
body {
	overflow-x: clip;
	font-family:
		"Noto Sans JP", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, "游ゴシック", "Yu Gothic", "游ゴシック体",
		"YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
		"MS PGothic", sans-serif;
	font-size: 1.65rem;
	line-height: 1.9;
	letter-spacing: 0.02rem;
	-webkit-text-size-adjust: 100%;
	color: var(--i_txt_color);
	font-weight: 500;
}
body,
main {
	background: var(--i_bg_color);
}
a {
	text-decoration: none;
	color: var(--i_txt_color);
}
/*composite_boxの最大高さとトリミングの起点　基本はjsにより各カラム中から最大の画角に設定*/
/*----------------------------余白設定----------------------------*/
main > section:first-child:not([class*="pt"]) {
	padding-top: calc(var(--i_padding) * 3);
}
/* 新デザインのセクション（.sec）は top.css で余白を指定するため除外 */
/*----------------------------背景パララックス----------------------------*/
/*----------------------------ボタン----------------------------*/
input[type="text"],
textarea {
	-webkit-appearance: none;
	border-radius: 0;
}
/*----------------------------other parts----------------------------*/
/*--リスト--*/
/*--アーカイブページ カテゴリー--*/
.category1 li a {
	display: block;
	padding: 7px 20px;
	transition: 0.2s ease-in-out;
	margin: 0 5px;
	border: 1px solid var(--i_main_color);
	border-radius: 50px;
	color: var(--i_main_color);
	font-size: 1.4rem;
}
.category1 li a:hover,
.category1 li a.current {
	background: var(--i_main_color);
	color: #fff;
}
/*--sidebar--*/
@media screen and (max-width: 850px) {
	.pindex .inner_item li:not(.sub) ~ li.sub {
		padding-left: 30px;
		margin-left: 20px;
	}
	html {
		font-size: 60.606%;
	}
	body {
		letter-spacing: 0px;
	}
}
/*----------------------------pager----------------------------*/
/*アーカイブページページャー*/
/*シングルページページャー*/
/*----------------------------popup----------------------------*/
/*画像ポップアップ拡大表示*/
.popup {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(255, 255, 255, 0.7);
}
.popclose {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	z-index: 10;
	transition: 0.3s ease-in-out;
	font-size: 5rem;
	font-weight: normal;
	color: var(--i_btn_color);
	color: var(--i_main_color);
}
.popnav li {
	display: block;
	height: 44px;
	cursor: pointer;
	position: relative;
	border-radius: 44px;
	background: var(--i_btn_color);
	float: left;
	width: 44px;
	background: var(--i_main_color);
}
.poptxt {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 11;
	padding: 10px;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	transition: 0.2s ease-in-out;
	font-size: 1.2rem;
}
/*------------------------------------------------------------------*/
/*----------------------------widget--------------------------------*/
/*------------------------------------------------------------------*/
/*----------------------------contents_faq01----------------------------*/
/*----------------------------contents_related_tags----------------------------*/
/*----------------------------block_table_1----------------------------*/
/*----------------------------block_table_2,5,6----------------------------*/
/*----------------------------block_table_3----------------------------*/
/*----------------------------gallery_archive / gallery_single----------------------------*/
/*----------------------------widget_gallery01----------------------------*/
/*----------------------------gallery hover効果----------------------------*/
/*----------------------------news_archive----------------------------*/
/*----------------------------widget_coupon----------------------------*/
/*----------------------------widget_form----------------------------*/
form dl {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin-bottom: 10px;
	padding-bottom: 10px;
	text-align: left;
	border-bottom: 1px solid var(--i_border_color);
}
form dt,
form dd {
	display: table-cell;
	vertical-align: middle;
}
@media screen and (max-width: 770px) {
	form dl,
	form dd {
		display: block;
	}
	form dt {
		display: block;
		padding-bottom: 10px;
		margin-bottom: 10px;
		width: auto;
		border-bottom: 1px dotted var(--i_border_color);
	}
}
form dl input,
textarea {
	min-height: 49px;
	font-size: 1.6rem;
	background: var(--i_sub2_color);
	border: 1px solid transparent;
	letter-spacing: 1px;
}
form dl input:focus,
textarea:focus {
	background: var(--i_bg_color);
	color: var(--i_txt_color);
	border: 1px solid var(--i_border_color);
}
.popup .loader,
.popup .loader::before {
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-right-color: transparent;
}
/* ===== header ===== */
header {
	width: 100%;
	min-width: 280px;
	text-align: left;
	position: relative;
	z-index: 50;
	font-size: 1.4rem;
}
body.scrolled header {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
}
.wrapper {
	position: relative;
	box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.15);
}
header .header_catch {
	position: absolute;
	top: 5px;
	overflow: hidden;
	box-sizing: border-box;
	text-align: right;
	line-height: 1.5;
	font-size: 1.3rem;
	font-weight: normal;
	opacity: 0.7;
	fill: var(--i_txt_color);
}
header .logo,
header .logo a img {
	max-width: 200px;
	transition: 0.4s ease-in-out;
}
body.scrolled header .logo img {
	max-height: 58px;
}
/* PC：ロゴとヘッダーCTAを同じ行に並べ、上下中央でそろえる（上の余白は .header_catch の分） */
@media screen and (min-width: 901px) {
	.wrapper > .inner {
		padding-top: 32px;
		padding-bottom: 16px;
	}
	/* スクロール後の固定ヘッダーはロゴとナビの1行。高さはJS（HH）がロゴの上下余白から計算するため、余白はロゴ側に持たせる */
	body.scrolled .wrapper > .inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	body.scrolled header .logo {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	header .header_sns {
		display: none; /* SNSアイコン未設定のため（設定したら外す） */
	}
}
.header_col1 {
	/* ▼水平方向レイアウト */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}
header .burger a svg {
	transition: 0.3s ease-in-out;
	fill: var(--i_txt_color);
}
.sp_menu a div span,
header a div:before,
header a div:after {
	background: var(--i_txt_color);
}
ul.nav_1st > li:after {
	/*罫線*/
	content: "";
	width: 1px;
	height: 50%;
	position: absolute;
	top: 25%;
	left: 0;
}
ul.nav_1st > li:last-child:before {
	/*罫線*/
	content: "";
	width: 1px;
	height: 50%;
	position: absolute;
	top: 25%;
	right: 0;
}
ul.nav_1st > li > a {
	text-overflow: ellipsis;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	display: block;
	transition: 0.2s ease-in-out;
	padding-left: 0 !important;
	padding-right: 0 !important;
	font-size: 1.5rem;
	position: relative;
}
ul.nav_1st > li > a:hover span {
	color: var(--i_main_color);
}
ul.nav_1st > li > a span {
	letter-spacing: 0.1rem;
	transition: 0.4s ease-in-out;
	font-size: 1.45rem;
	line-height: 3;
}
body.scrolled ul.nav_1st > li > a span {
	line-height: 3;
	line-height: 2.5;
}
ul.nav_2nd {
	min-width: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	transition: 0.3s ease-in-out;
	pointer-events: none;
	z-index: 1;
	padding-top: 8px; /* 表示時に8px上へスライドして、メニュー名のすぐ下に付く */
}
ul.nav_1st > li:hover ul.nav_2nd {
	opacity: 1;
	pointer-events: auto;
	padding-top: 0;
	box-shadow: 2px 2px 5px var(--i_shadow_color);
}
ul.nav_2nd > li {
	background: rgba(255, 255, 255, 0.9);
	border-bottom: 1px solid var(--i_border_color);
}
ul.nav_2nd > li:nth-last-of-type(1) {
	border-bottom: none;
}
nav ul.nav_2nd li a {
	text-overflow: ellipsis;
	position: relative;
	display: block;
	transition: 0.2s ease-in-out;
	white-space: nowrap;
	padding: 10px 20px;
	font-weight: normal;
}
nav ul.nav_2nd > li > a {
	padding-right: 30px;
}
ul.nav_2nd > li > a:after {
	content: "";
	position: absolute;
	height: 5px;
	width: 5px;
	transform: rotate(-45deg);
	border-right: 1px solid var(--i_sub_color);
	border-bottom: 1px solid var(--i_sub_color);
	top: calc(50% - 2.5px);
	right: 20px;
}
/* ===== MV LV ===== */
#mv_outer {
	/*mvに背景とかはここを利用する*/
	z-index: 1;
	box-sizing: border-box;
}
/* ===== pan ===== */
/* ===== btn ===== */
header .header_col1 .btn > a {
	margin-left: 5px;
	margin-right: 5px;
	min-width: 180px;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	padding: 11px 15px 11px;
	transition: 0.4s ease-in-out;
	letter-spacing: 0.2rem;
	border-radius: 99px;
	font-weight: 600;
	white-space: nowrap;
}
header .header_col1 .btn > a:hover {
	opacity: 0.6;
}
.contents_btn01 a {
	box-sizing: border-box;
	min-width: clamp(0px, 100%, 200px);
	max-width: 840px;
	background: var(--i_btn_color);
	color: #fff;
	position: relative;
	display: inline-block;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
	font-weight: bold;
	transition: 0.4s ease-in-out;
	border-radius: 99px;
}
.contents_btn01 > a {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: none;
	min-width: 0;
	border-radius: 0;
}
.contents_btn01 a[target="_blank"] span:before,
.contents_btn01 a[target="_blank"] span:after {
	border: 1px solid var(--i_btn_txt_color);
}
[data-pattern="2"] a[target="_blank"] span::before,
[data-pattern="2"] a[target="_blank"] span::after {
	border: 1px solid #fff;
}
.contents_btn01 span {
	display: block;
	line-height: 1.6;
	font-size: 1.5rem;
	padding: 15px 25px 15px;
}
/* ===== heading ===== */
section .content_wrapper > .heading:first-child:last-child {
	margin-bottom: 0;
}
section:not([class*="pt"]) .content_wrapper > .heading:first-child:last-child {
	margin-bottom: 0;
}
.heading.block_header_5 {
	margin-bottom: 15px;
}
.heading.block_header_5 .h {
	display: inline;
	font-weight: 600;
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.heading.block_header_5 p {
	display: inline;
	font-size: 1.4rem;
}
.heading.block_header_5 p:before {
	content: " / ";
}
/* ===== footer ===== */
/* 新デザインのフッター（ロゴ・会社情報・メニュー・コピーライト）。追従CTA（#fixbtn）はこの上にある */
.site-footer {
	--footer-gutter: clamp(16px, 6.6vw, 100px);

	padding-top: 8px; /* #fixbtn の下余白 30px と合わせて 38px */
	color: #333;
	text-align: left; /* footer 全体の text-align: center を打ち消す */
}
/* ロゴ・会社情報とメニューを横に並べ、メニューが横に入りきらなければ下の段へ回す */
.site-footer__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px 40px;
	padding-inline: var(--footer-gutter);
}
.site-footer__info {
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex-shrink: 0;
	width: 236px;
}
.site-footer__logo img {
	display: block;
	width: 204px;
	height: auto;
}
.site-footer__company {
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.site-footer__company p + p {
	margin-top: 12px;
}
.site-footer__company a {
	color: inherit;
}
/* メニューの列は横に並べ、入りきらない列だけ次の行へ送る（列の中の文字は折り返さない） */
.site-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
}
.site-footer__col {
	display: flex;
	flex-direction: column;
	gap: 20px;
	line-height: 100%;
}
.site-footer__col a {
	color: #333;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.12em;
	transition: color 0.2s;
}
.site-footer__col a:hover {
	color: #009df1;
}
/* 「主な4つの機能」の下の小項目 */
.site-footer__sub {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 16px;
	padding-left: 20px;
}
.site-footer__sub a {
	font-size: 13px;
	font-weight: 500;
}
/* 公式LINEの案内とコピーライトを最下段に左右で並べる */
.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px 40px;
	padding: 40px var(--footer-gutter) 60px;
}
.site-footer__copy {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: right;
}
@media screen and (max-width: 900px) {
	.site-footer {
		padding-top: 32px;
	}
	.site-footer__nav {
		gap: 24px 32px;
	}
	.site-footer__col a {
		font-size: 14px;
		letter-spacing: 0.06em;
	}
	.site-footer__sub a {
		font-size: 13px;
	}
	.site-footer__bottom {
		flex-direction: column;
		align-items: center;
		padding-top: 32px;
	}
	.site-footer__copy {
		text-align: center;
	}
}

/* 外部サイトへのリンクに付ける矢印アイコン（文字色に合わせて色が変わる） */
.link-external::after {
	content: "";
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.3em;
	vertical-align: -0.08em;
	background: currentColor;
	/* SVGはCSSに埋め込む（ファイルを読みにいく mask はローカルで直接開いたときに表示されないため） */
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5h4.5V7M13.5 2.5l-6 6M11.5 9.5v4h-9v-9h4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5h4.5V7M13.5 2.5l-6 6M11.5 9.5v4h-9v-9h4'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* ハンバーガーメニューだけに出す項目（PCのヘッダーメニューには出さない） */
@media screen and (min-width: 901px) {
	ul.nav_1st > li.nav_sp-only {
		display: none;
	}
}

/* 公式LINEの友だち追加（フッターとスマホのハンバーガーメニューで共通） */
.line-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.line-cta__lead {
	color: #333;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.15em;
}
.line-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 292px;
	max-width: 100%;
	height: 60px;
	border-radius: 999px;
	background: #06c755; /* LINEのブランドカラー */
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.2s;
}
.line-cta__btn:hover {
	color: #fff;
	opacity: 0.85;
}
.line-cta__btn:focus-visible {
	outline: 3px solid #06c755;
	outline-offset: 3px;
}
.line-cta__btn img {
	width: 52px;
	height: 52px;
}
/* ハンバーガーメニュー内だけで表示する（PCのヘッダーには出さない） */
.header_line {
	display: none;
}
@media screen and (max-width: 900px) {
	.header_line {
		display: flex;
		padding: 24px 0;
	}
}

#fixbtn {
	min-height: 60px;
	margin-bottom: 30px;
	font-size: 1.55rem;
}
.fixbtnwrap {
	width: 100%;
	position: fixed;
	transition: 0.3s ease-in-out;
	transform: translateY(100%);
	background: var(--i_sub2_color);
	border-top: 1px solid var(--i_border_color);
}
#fixbtn.no .fixbtnwrap {
	background-color: transparent;
}
#fixbtn .contents_btn01 a:hover {
	transform: none;
}
#fixbtn .contents_btn01 {
	overflow: visible;
}
#fixbtn .contents_btn01 a {
	padding: 0;
}
#fixbtn .contents_btn01 span {
	text-align: center;
	padding: 12px 15px 10px;
}
#fixbtn .contents_btn01 a:before,
#fixbtn .contents_btn01 a:after {
	display: none;
}
#fixbtn a:hover[target="_blank"] span:before,
#fixbtn a:hover[target="_blank"] span:after {
	border-color: #fff;
}
#scrolltop a {
	display: block;
	position: relative;
	transition: 0.4s ease-in-out;
	overflow: hidden;
	height: 40px;
	width: 40px;
}
#scrolltop a::before {
	transition: 0.2s ease-in-out;
	width: 40px;
	height: 40px;
	background: var(--i_txt_color);
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%20-960%20960%20960%22%20fill%3D%22%235f6368%22%3E%3Cpath%20d%3D%22M480-395.76%20327.83-244.35q-12.68%2012.68-31.45%2013.06-18.77.38-32.21-13.3-12.67-12.67-12.67-31.82%200-19.16%2012.67-31.83L447.93-492q6.72-6.72%2014.92-9.82%208.19-3.09%2017.15-3.09%208.96%200%2017.15%203.09%208.2%203.1%2014.92%209.82l183.76%20183.76q12.67%2012.67%2013.05%2031.33.38%2018.65-13.05%2032.32-12.68%2012.92-31.83%2012.92t-32.07-12.92L480-395.76Zm0-247.41L327.83-491.76q-12.68%2012.67-31.45%2013.05-18.77.38-32.21-13.05-12.67-12.67-12.67-31.83%200-19.15%2012.67-31.82l183.76-184q6.72-6.72%2014.92-9.82%208.19-3.1%2017.15-3.1%208.96%200%2017.15%203.1%208.2%203.1%2014.92%209.82l183.76%20184q12.67%2012.67%2013.05%2031.44.38%2018.77-13.05%2032.21-12.68%2012.67-31.83%2012.67t-31.83-12.67L480-643.17Z%22%2F%3E%3C%2Fsvg%3E");
}
#scrolltop a:hover:before {
	opacity: 0.7;
}
#fixbtn.no #scrolltop a:before {
	border-color: rgba(120, 120, 120, 0.6);
}
#fixbtn.no #scrolltop a:hover:before {
	border-left: 2px solid #787878;
	border-top: 2px solid #787878;
}
footer {
	background: var(--i_bg_color);
}
.sns {
	display: inline-flex;
	align-items: stretch;
	justify-content: flex-start;
	transition: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	pointer-events: auto;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
	table-layout: fixed;
}
.sns svg {
	margin: 0 auto;
	display: block;
	transition: 0.2s ease-in-out;
}
.sns a:hover svg {
	opacity: 0.8;
}
/* ===== 追加 ===== */
@media screen and (max-width: 800px) {
	main > section:first-child:not([class*="pt"]) {
		padding-top: calc(var(--i_padding) * 2);
	}
}
@media screen and (max-width: 700px) {
	#fixbtn .inner {
		justify-content: space-around;
		flex-wrap: wrap;
		padding: 3px 5px;
	}
	#fixbtn .inner > div {
		border: none;
		padding: 8px 0;
	}
	#fixbtn .inner > div.contents_btn01 {
		flex-grow: 0;
		max-width: 100%;
		flex-wrap: wrap;
	}
	#fixbtn a:nth-last-child(2)[target="_blank"] span,
	#fixbtn a + a[target="_blank"] span {
		padding-left: 5px;
	}
	#fixbtn.no {
		display: none;
	}
	#scrolltop {
		margin-bottom: 5px;
		position: relative;
	}
	#scrolltop a {
		bottom: 0;
		position: absolute;
	}
}
@media screen and (min-width: 901px) {
	header .header_sns ul {
		display: inline-flex;
	}
	.scrolled header.hc_hide .wrapper {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.scrolled header.hc_hide .header_contents {
		display: none;
	}
	.scrolled header.hc_hide {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}
	ul.nav_1st {
		min-height: 0 !important;
	}
	.header_sns:not(:has(li.on)) {
		display: none;
	}
	ul.nav_2nd {
		display: block !important;
	}
	body:not(.scrolled) header#pattern4 a {
		box-shadow: 7px 15px 28px rgb(93 81 70 / 8%);
	}
}
/* ----- ブログ等サイドバー ----- */
/*20260625*/
header .header_col1 .btn > a[target="_blank"] span.inn::before,
header .header_col1 .btn > a[target="_blank"] span.inn::after,
.contents_btn01 a[target="_blank"] span:before,
.contents_btn01 a[target="_blank"] span:after {
	display: none;
}
header .header_col1 .btn > a[target="_blank"] span.inn {
	position: relative;
	padding-right: 25px;
	position: relative;
	padding: 11px 15px !important;
}
header .header_col1 .btn > a:first-child {
	background: #ff932d;
	border: 2px solid #ff932d;
	box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.25);
}
header .header_col1 .btn > a:first-child:hover {
	background: #fff;
	opacity: 1;
}
header .header_col1 .btn > a:first-child:hover span.inn {
	color: #ff932d;
}
.btn > a:nth-child(2) {
	background: #fff;
	border: 2px solid #32b0e5;
}
.header_contents .header_col1 .btn > a:nth-child(2) span.inn {
	color: #32b0e5;
}
header .header_col1 .btn > a:nth-child(2):hover {
	background: #32b0e5;
	opacity: 1;
}
body.scrolled header .header_col1 .btn > a:hover {
	background: var(--i_btn_hover_color);
}
header .header_col1 .btn > a:nth-child(2):hover span.inn {
	color: #fff;
}
.contents_btn01 a {
	border: 2px solid #32b0e5;
}
.contents_btn01 a:hover {
	background: #fff;
	opacity: 1;
}
.contents_btn01 a:hover span {
	color: #32b0e5;
}
.contents_btn01 > a:nth-child(1):hover {
	background: #fff !important;
	opacity: 1;
}
.contents_btn01 > a:nth-child(1):hover span {
	color: #ff932d;
}
h3.h img {
	width: 250px;
}
/* ----- 離脱防止バナーボタン ----- */
.-w-btn a {
	display: flex;
	padding: 5px;
	font-size: 1.5rem;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	transition: 0.4s ease-in-out;
}
.-w-btn a:hover {
	background-color: rgb(255, 255, 255) !important;
	color: rgb(255, 147, 45) !important;
}
/* ----- 下層タイトル ----- */
/*------タイトル-------*/
/* Banner */
#doc-banner {
	/* Hidden state */
	position: fixed;
	right: 20px;
	bottom: 90px;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transform: translateX(120%);
	transition:
		transform 0.5s ease,
		opacity 0.5s ease,
		visibility 0.5s ease;
}
/* Visible state */
#doc-banner.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
/* フッターが見えている間は隠す（script.js が .is-over-footer を付け外しする） */
#doc-banner.is-show.is-over-footer {
	opacity: 0;
	visibility: hidden;
	transform: translateX(120%);
	pointer-events: none;
}
/* doc-modal (資料ダウンロード)
------------------------------------------------------------*/
.doc-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	justify-content: center;
	align-items: center;
	padding: 4rem 2rem;
}
.doc-modal.is-open {
	display: flex;
}
.doc-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}
.doc-modal__dialog {
	position: relative;
	z-index: 1;
	width: 92rem;
	max-width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 1.6rem;
	box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.25);
}
.doc-modal__close {
	position: absolute;
	top: 1.2rem;
	right: 1.4rem;
	z-index: 5;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3.6rem;
	height: 3.6rem;
	padding: 0;
	font-size: 0; /* 文字の × はフォントで位置がずれるので隠し、下の疑似要素で描く */
	background: rgba(0, 0, 0, 0.3);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.3s;
}
.doc-modal__close::before,
.doc-modal__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.6rem;
	height: 2px;
	background: #fff;
	border-radius: 1px;
	transform: translate(-50%, -50%) rotate(45deg);
}
.doc-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.doc-modal__close:hover {
	background: rgba(0, 0, 0, 0.55);
}
.doc-modal__step {
	display: none;
}
.doc-modal__step.is-active {
	display: flex;
}
/* 入力ステップ：PCは左右2カラム */
.doc-modal__step--form {
	align-items: stretch;
}
.doc-modal__visual {
	box-sizing: border-box;
	flex: 0 0 38%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4rem 2rem;
	background: linear-gradient(140deg, #309dff 0%, #61d2df 100%);
	border-radius: 1.6rem 0 0 1.6rem;
}
.doc-stack {
	position: relative;
	width: 30rem;
	height: 23rem;
}
.doc-stack__sheet {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28rem;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #fff;
	border-radius: 0.8rem;
	box-shadow: 0 1rem 2.6rem rgba(0, 0, 0, 0.22);
}
.doc-stack__sheet--4 {
	z-index: 1;
}
.doc-stack__sheet--3 {
	z-index: 2;
}
.doc-stack__sheet--2 {
	z-index: 3;
}
.doc-stack__sheet--1 {
	z-index: 4;
}
/* 入力ステップ：フォーム側 */
.doc-modal__body {
	flex: 1;
	padding: 4rem 4rem 3.6rem;
}
.doc-modal__title {
	font-size: 2.6rem;
	text-align: center;
}
.doc-modal__desc {
	margin-top: 1rem;
	margin-bottom: 2.4rem;
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: center;
	color: #666;
}
.doc-form__group {
	margin-bottom: 1.6rem;
}
.doc-form__label {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 0.6rem;
	font-size: 1.4rem;
	font-weight: 600;
}
.doc-form__required {
	padding: 0.2rem 0.8rem;
	font-size: 1.1rem;
	color: #fff;
	background: #ff932d;
	border-radius: 0.3rem;
}
.doc-form__optional {
	padding: 0.2rem 0.8rem;
	font-size: 1.1rem;
	color: #888;
	background: #eee;
	border-radius: 0.3rem;
}
.doc-form__input {
	box-sizing: border-box;
	width: 100%;
	height: 4.8rem;
	padding: 0 1.4rem;
	font-size: 1.5rem;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 0.6rem;
	transition: border-color 0.2s;
}
.doc-form__input::placeholder {
	color: #bbb;
}
.doc-form__input:focus {
	outline: none;
	border-color: #309dff;
}
.doc-form__input.is-error {
	border-color: #e53935;
	background: #fff7f7;
}
.doc-form__error {
	display: none;
	margin-top: 0.5rem;
	font-size: 1.2rem;
	color: #e53935;
}
.doc-form__error.is-show {
	display: block;
}
.doc-form__privacy {
	margin: 1.8rem 0 1.4rem;
	font-size: 1.2rem;
	line-height: 1.6;
	text-align: center;
	color: #666;
}
.doc-form__privacy a {
	color: #309dff;
	text-decoration: underline;
}
.doc-form__submit {
	width: 100%;
	height: 5.4rem;
	font-size: 1.7rem;
	border-radius: 2.7rem;
}
/* 完了ステップ */
.doc-modal__step--thanks {
	flex-direction: column;
}
.doc-modal__thanks {
	/*width: 100%;*/
	padding: 6rem 4rem;
	text-align: center;
}
.doc-modal__thanks-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7rem;
	height: 7rem;
	margin: 0 auto 2rem;
	font-size: 3.4rem;
	color: #fff;
	background: #4caf50;
	border-radius: 50%;
}
.doc-modal__thanks-title {
	font-size: 2.4rem;
}
.doc-modal__thanks-text {
	margin: 1.2rem 0 2.8rem;
	font-size: 1.5rem;
	color: #666;
}
.doc-modal__download {
	min-width: 32rem;
	height: 5.4rem;
	font-size: 1.7rem;
	border-radius: 2.7rem;
}
/* doc-banner (資料DLフローティングバナー)
------------------------------------------------------------*/
.doc-banner {
	width: 21rem;
	background: #fff;
	border-radius: 1.2rem;
	box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.22);
	pointer-events: none;
}
.doc-banner.is-show {
	transform: translateX(0);
	opacity: 1;
	pointer-events: auto;
}
.doc-banner__body {
	padding: 1.6rem 1.4rem;
	text-align: center;
	cursor: pointer;
}
.doc-banner__thumb img {
	width: 100%;
	border-radius: 0.6rem;
	box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.18);
}
.doc-banner__text {
	margin: 1.1rem 0 1.2rem;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.45;
}
.doc-banner__text strong {
	display: inline-block;
	margin-top: 0.2rem;
	font-size: 1.7rem;
	font-weight: 700;
	color: #ff932d;
}
.doc-banner__btn {
	width: 100%;
	height: 4rem;
	font-size: 1.4rem;
	border-radius: 2rem;
}
.doc-banner__close {
	top: -1.1rem;
	right: -1.1rem;
	width: 2.8rem;
	height: 2.8rem;
	font-size: 2rem;
}
.doc-banner__close:hover {
	background: #555;
}
@media screen and (max-width: 767px) {
	.doc-modal {
		padding: 2rem 1.6rem;
	}

	.doc-modal__dialog {
		width: 100%;
		max-height: 88vh;
		border-radius: 1.2rem;
	}

	.doc-modal__close {
		top: 1rem;
		right: 1rem;
		width: 3.4rem;
		height: 3.4rem;
	}
	.doc-modal__step--form {
		flex-direction: column;
	}

	.doc-modal__visual {
		flex: none;
		width: 100%;
		padding: 3rem 2rem 2.4rem;
		border-radius: 1.2rem 1.2rem 0 0;
	}

	.doc-stack {
		width: 26rem;
		height: 19rem;
	}

	.doc-stack__sheet {
		width: 23rem;
	}

	.doc-modal__body {
		padding: 2.6rem 2rem 2.8rem;
	}

	.doc-modal__title {
		font-size: 2.2rem;
	}

	.doc-form__input {
		font-size: 1.6rem;
	}

	.doc-modal__thanks {
		padding: 4.4rem 2rem;
	}

	.doc-modal__download {
		min-width: 0;
		width: 100%;
	}
	.doc-banner {
		width: 14.5rem;
		border-radius: 1rem;
	}
	.doc-banner__body {
		padding: 1.1rem 1rem;
	}
	.doc-banner__text {
		margin: 0.8rem 0 0.9rem;
		font-size: 1.15rem;
	}
	.doc-banner__text strong {
		font-size: 1.4rem;
	}
	.doc-banner__btn {
		height: 3.4rem;
		font-size: 1.2rem;
		border-radius: 1.7rem;
	}
	.doc-banner__close {
		top: -0.9rem;
		right: -0.9rem;
		width: 2.6rem;
		height: 2.6rem;
		font-size: 1.9rem;
	}
}
/* button
------------------------------------------------------------*/
.button {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
}
.button--orange01 {
	background-color: #ff932d;
	border: 1px solid #ff932d;
	color: #fff;
	transition: all 0.3s;
}
.button--orange01:hover {
	background-color: #fff;
	color: #ff932d;
}
ul.nav_1st > li {
	display: block;
	box-sizing: border-box;
	position: relative;
	flex-grow: unset !important;
}
ul.nav_1st {
	margin: 0 auto;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	flex-wrap: wrap;
	max-width: 1300px;
	margin-right: 0;
	justify-content: flex-end;
	gap: 3.5rem;
	width: 100% !important;
}
@media (min-width: 901px) and (max-width: 1038px) {
	ul.nav_1st {
		gap: 2rem;
	}
}
@media screen and (max-width: 600px) {
	:root {
		--i_block_line90: 80px;
		--i_block_line80: 65px;
		--i_block_line70: 55px;
		--i_block_line60: 50px;
		--i_block_line50: 45px;
	}
	[data-pattern="2"] .contents_btn01 span {
		font-size: 1.3rem;
	}
	.block_comments.add_design:not(.popimgwrap) .inner_item_img + .inner_item_txt,
	.block_comments.add_design1:not(.popimgwrap) .inner_item_img + .inner_item_txt {
		width: 100%;
	}
	#fixbtn {
		font-size: 1.7rem;
		margin-bottom: 0;
	}
	footer {
		background-position: center;
	}
	#fixbtn .inner {
		padding: 0;
		padding-top: 5px;
	}
}
footer {
	min-width: 280px;
	z-index: 15;
	position: relative;
	text-align: center;
	font-size: 1.5rem;
}
@media screen and (min-width: 701px) {
	.content_wrapper ul.sns {
		width: 80%;
		float: right;
		align-items: center;
		align-content: flex-start;
		justify-content: flex-end;
		text-align: right;
		display: flex;
	}
}
.contents_box01 .inner_item_txt:nth-of-type(1):nth-last-of-type(1) {
	padding-left: 0;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	width: 100%;
}
.doc-banner__close {
	line-height: 1;
	position: absolute;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #888;
	border: 2px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.3s;
}
/*---------TOP特徴------------*/
@media screen and (max-width: 900px) {
	.header_contents nav {
		visibility: visible;
	}
	header .header_contents .header_catch {
		order: inherit;
		visibility: visible;
	}
	header {
		transition: 0.5s ease-in-out;
	}
	header:after {
		display: block;
	}
	header.open:after {
		right: 0;
		width: 100%;
	}
	header,
	header.over {
		position: relative;
		top: 0 !important;
		left: 0;
		opacity: 1 !important;
	}
	header.over,
	.ss header,
	.ss header.over {
		position: fixed !important;
	}
	/* 固定されたヘッダーが透明のままFVに重ならないよう、背景を敷く */
	.ss header {
		background: var(--i_bg_color);
	}
	.wrapper {
		z-index: 2;
	}
	.wrapper > .inner {
		display: block;
		min-height: 60px;
	}
	header .logo {
		z-index: 5;
		width: auto;
		max-width: calc(100% - 180px);
		padding: 10px 0;
		position: relative;
		left: 0;
	}
	header .header_catch {
		order: 2;
		visibility: hidden;
		padding: 0 0 20px;
		text-align: left;
		position: static;
		display: inline-block !important;
	}
	body.scrolled .header_contents {
		padding: 15px 15px 0;
	}
	.header_contents {
		padding: 15px 15px 0;
		position: absolute;
		text-align: center;
		width: 100%;
		overflow: auto;
		left: 110%;
		opacity: 0;
		transition: 0.3s ease-in-out;
		margin-left: 0 !important;
	}
	header.open .header_contents {
		left: 0;
		opacity: 1;
	}
	.header_contents .inner:before {
		content: "";
		display: block;
		padding-bottom: 40px;
		width: 100%;
	}
	.header_contents .inner > .header_line {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	header .header_sns ul {
		justify-content: center;
	}

	.header_col1 {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: 1px solid var(--i_border_color);
		flex-direction: row;
		justify-content: center;
	}
	header .header_col1 .btn > * {
		margin-left: 5px;
		margin-right: 5px;
	}
	header .header_col1 .btn a {
		margin-top: 5px; /* SPメニュー内のボタン間隔（PCはロゴと上下中央でそろえるため付けない） */
	}
	header nav li a span {
		line-height: 1.7 !important;
	}
	header nav li a:before {
		display: none !important;
	}
	ul.nav_1st > li i {
		display: block;
		height: 52px;
		position: absolute;
		top: 1px;
		right: 0;
		cursor: pointer;
	}
	ul.nav_1st > li i:before {
		width: 10px;
		height: 1px;
		top: calc(50% - 0.5px);
		left: calc(50% - 5px);
	}
	ul.nav_1st > li i:after {
		width: 1px;
		height: 10px;
		top: calc(50% - 5px);
		left: calc(50% - 0.5px);
	}
	ul.nav_1st > li i.open:after {
		display: none;
	}
	nav ul.nav_2nd li {
		background-color: transparent;
	}
	nav ul.nav_2nd li a {
		white-space: normal;
		text-overflow: clip;
		padding-right: 5px;
	}
	ul.nav_2nd > li > a:after {
		display: none;
	}
	.contents_box01 .inner_item_txt {
		max-width: none !important;
		padding: 0 !important;
	}
	body.scrolled header .logo {
		padding: 10px 0;
	}
	header.open:after,
	.header_contents {
		background: var(--i_bg_color);
	}
	header .burger a svg {
		height: 28px;
		width: 28px;
		margin: 10% auto;
	}
	.header_sns {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		padding-top: 20px;
	}
	header nav li {
		border-bottom: 1px solid var(--i_border_color);
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}
	ul.nav_1st > li:before,
	ul.nav_1st > li:after {
		display: none;
	}
	ul.nav_1st > li i:before,
	ul.nav_1st > li i:after {
		content: "";
		position: absolute;
		background: var(--i_sub_color);
	}
	ul.nav_2nd {
		position: static;
		opacity: 1;
		pointer-events: auto;
		padding: 0 !important;
		display: none;
		transition: none;
		border-top: 1px solid var(--i_border_color);
	}
	ul.nav_2nd > li * {
		color: #333;
	}
	header .logo img {
		max-height: 40px !important;
	}
	ul.nav_1st > li > a:hover:before {
		transform: scale(0, 0);
	}
	ul.nav_1st > li > a:hover {
		background: none;
	}
	ul.nav_1st > li > a span {
		color: var(--i_txt_color);
	}
	header .header_col1 .btn {
		width: 100%;
		min-width: 0;
		min-height: 0;
		justify-content: center;
	}
	.view_single .heading .h span {
		font-size: 1.6rem;
	}
	ul.nav_1st {
		margin-left: 0;
		display: block;
		border-top: 1px solid var(--i_border_color);
	}
	header nav {
		display: block;
		visibility: hidden;
		background-color: transparent;
		padding: 0;
	}
}
@media screen and (max-width: 900px) {
	header > nav {
		display: none;
	}
}
@media screen and (max-width: 550px) {
	[data-pattern="2"]:has(.contents_btn01 > a:nth-child(2):nth-last-child(1)) .contents_btn01 {
		width: 100% !important;
	}
}
/*----261013追加修正-----*/
/* 2026/10/20 */

/*==================== 3. ページ別：トップ（index.html） ====================*/
/*------一番下のバナー------*/
:where(.page-top) img.sp {
	display: none;
}
@media screen and (max-width: 768px) {
	:where(.page-top) img.sp {
		display: block;
	}
}
/* doc-modal (資料ダウンロード)
------------------------------------------------------------*/
/* 入力ステップ：PCは左右2カラム */
:where(.page-top) .doc-modal__step--form {
	flex-direction: row;
}
:where(.page-top) .doc-stack__sheet {
	transform-origin: center center;
}
:where(.page-top) .doc-stack__sheet--4 {
	transform: translate(-50%, -50%) rotate(-13deg) translate(-2.6rem, 1.4rem);
}
:where(.page-top) .doc-stack__sheet--3 {
	transform: translate(-50%, -50%) rotate(-8deg) translate(-1.4rem, 0.8rem);
}
:where(.page-top) .doc-stack__sheet--2 {
	transform: translate(-50%, -50%) rotate(-4deg) translate(-0.6rem, 0.4rem);
}
:where(.page-top) .doc-stack__sheet--1 {
	transform: translate(-50%, -50%) rotate(0deg);
}
/* 入力ステップ：フォーム側 */
:where(.page-top) .doc-modal__title {
	font-weight: 700;
}
:where(.page-top) .doc-form__input:focus {
	border-color: #309dff;
}
:where(.page-top) .doc-form__input.is-error {
	border-color: #e53935;
}
/* 完了ステップ */
:where(.page-top) .doc-modal__thanks {
	width: auto;
}
/* doc-banner (資料DLフローティングバナー)
------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	:where(.page-top) .doc-modal__step--form {
		flex-direction: column;
	}
}
/* button
------------------------------------------------------------*/
:where(.page-top) .width_fixed .content_wrapper .contents_btn01 .content_wrapper {
	padding-top: 45px;
}
@media (max-width: 560px) {
	:where(.page-top) .content_wrapper li a p {
		font-size: 1.4rem;
	}
}
:where(.page-top) .content_wrapper li a p {
	order: 2;
}
@media (max-width: 650px) {
	:where(.page-top) .width_fixed .content_wrapper .contents_btn01 .content_wrapper {
		padding-top: 15px;
	}
}
.width_fixed .content_wrapper .contents_btn01 .content_wrapper {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0px;
}

/*==================== 3. ページ別：よくある質問（faq/） ====================*/
/* doc-modal (資料ダウンロード)
------------------------------------------------------------*/
/* 入力ステップ：PCは左右2カラム */
:where(.page-faq) .doc-modal__step--form {
	flex-direction: row;
}
:where(.page-faq) .doc-stack__sheet {
	transform-origin: center center;
}
:where(.page-faq) .doc-stack__sheet--4 {
	transform: translate(-50%, -50%) rotate(-13deg) translate(-2.6rem, 1.4rem);
}
:where(.page-faq) .doc-stack__sheet--3 {
	transform: translate(-50%, -50%) rotate(-8deg) translate(-1.4rem, 0.8rem);
}
:where(.page-faq) .doc-stack__sheet--2 {
	transform: translate(-50%, -50%) rotate(-4deg) translate(-0.6rem, 0.4rem);
}
:where(.page-faq) .doc-stack__sheet--1 {
	transform: translate(-50%, -50%) rotate(0deg);
}
/* 入力ステップ：フォーム側 */
:where(.page-faq) .doc-modal__title {
	font-weight: 700;
}
:where(.page-faq) .doc-form__input:focus {
	border-color: #309dff;
}
:where(.page-faq) .doc-form__input.is-error {
	border-color: #e53935;
}
/* 完了ステップ */
:where(.page-faq) .doc-modal__thanks {
	width: 100%;
}
/* doc-banner (資料DLフローティングバナー)
------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	:where(.page-faq) .doc-modal__step--form {
		flex-direction: column;
	}
}
/* button
------------------------------------------------------------*/

/*==================== 3. ページ別：導入の流れ（flow/） ====================*/

/*==================== 3. ページ別：料金（price/） ====================*/
/*------年割------*/

/*==================== 3. ページ別：プライバシーポリシー（privacy/） ====================*/
:where(.page-privacy) #privacy1 + section.contents_box01 .inner_item_txt:nth-of-type(1):nth-last-of-type(1) {
	width: 80%;
}
:where(.page-privacy) .contents_box01 .inner_item_txt:nth-of-type(1):nth-last-of-type(1) {
	width: unset;
}

/*==================== 旧CMSのJSが読み込み時に書き込んでいた指定 ====================*/
/* 2026-11-09 に cmn.js を common.js へ置き換えたとき、毎回同じ値になる指定をここに移した */
/* ヘッダーのボタン：2つを同じ幅にそろえる（PC 219px、スマホのメニュー内 215px） */
header .header_col1 .btn > a {
	width: 219px;
}
@media screen and (max-width: 900px) {
	header .header_col1 .btn > a {
		width: 215px;
	}
	/* スマホのメニュー：一番上に余白を取る（以前は空のSNS欄がこの余白を作っていた） */
	.header_contents .inner > .header_line {
		margin-top: 27px;
	}
}
/* ヘッダーのボタン：文字（span.inn）の余白と色、別タブを示す矢印の色 */
header .header_col1 .btn > a span.inn {
	padding: 11px 25px 11px 15px !important;
}
header .header_contents .header_col1 .btn > a span.inn {
	color: rgb(255, 255, 255);
}
header .header_contents .header_col1 .btn > a[target="_blank"] span.inn::before,
header .header_contents .header_col1 .btn > a[target="_blank"] span.inn::after {
	border-color: rgb(255, 255, 255);
}
