/*
-------------------------------------------------------

common

-------------------------------------------------------
*/

h1, h2, h3, h4, h5, h6 {
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
}

strong {
	color: var(--wp--preset--color--primary);
	font-weight: normal;
	transition: color .2s;
}

.main {
	padding-bottom: 0;
}

.entry-content {
	padding-bottom: var(--wp--preset--spacing--40);
}

.side-column {
	top: 150px;
}

.wp-block-post-date {
	color: var(--wp--preset--color--dark-gray);
}

.home .entry-content {
	padding-bottom: 0;
}

.home .breadcrumbs {
	display: none;
}

.wp-block-post .img {
	overflow: hidden;
	transition: all .4s;
}

.wp-block-post .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .4s;
}

.wp-block-list li {
	line-height: 1.5;
}

.wp-block-list li + li {
	margin-top: .5em;
}

.post-styles h2 {
	text-align: left;
	border-top: none;
	padding: .5em var(--wp--preset--spacing--30);
	position: relative;
}

.post-styles h2::before {
	content: "";
	width: 5px;
	background-color: var(--wp--preset--color--primary);
	position: absolute;
	top: .5em;
	bottom: .5em;
	left: 0;
}

.post-styles h3 {
	text-align: left;
	padding: .5em var(--wp--preset--spacing--30);
	border-radius: 0 0 1em 0;
}

.is-style-ul-list {
	margin-bottom: var(--wp--preset--spacing--20);
}

.is-style-ul-list li::before {
	background-color: var(--wp--preset--color--custom-secondary);
	top: .5em;
}

.is-style-check-list li::before {
	color: var(--wp--preset--color--custom-secondary);
}

.is-style-notes-list {
	margin-top: var(--wp--preset--spacing--20);
}

.is-style-check-list li strong {
	padding: 4px;
	margin: 4px;
	background-color: var(--wp--preset--color--custom-light-blue);
	color: var(--wp--preset--color--contrast);
}

.schema-faq {
	margin-top: var(--wp--preset--spacing--60);
}

.schema-faq .schema-faq-question {
	font-family: "Noto Serif JP", serif;
}

.schema-faq .schema-faq-question::before {
	font-family: "Cormorant Garamond", serif;
	background-color: var(--wp--preset--color--primary);
}

.schema-faq.is-style-toggle-faq .schema-faq-question::after {
	color: var(--wp--preset--color--primary);
}

.schema-faq .schema-faq-question {
	min-height: 54px;
}

.schema-faq .schema-faq-answer {
	background-color: var(--wp--preset--color--custom-light-blue);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	margin-bottom: 1em;
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
}

.has-custom-light-blue-background-color .schema-how-to {
	background-color: var(--wp--preset--color--base);
	border-radius: 0 0 var(--wp--preset--spacing--80) 0;
	padding: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60);
}

.schema-how-to.flow-list .schema-how-to-step:last-child {
	padding-bottom: 0;
}

.schema-how-to.flow-list .schema-how-to-step-name::before {
	content: "";
	width: 100px;
	height: 100px;
	border-radius: 0;
}

.schema-how-to.flow-list .schema-how-to-step:first-child .schema-how-to-step-name:before {
	background: url( ../img/common/step-01.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(2) .schema-how-to-step-name:before {
	background: url( ../img/common/step-02.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(3) .schema-how-to-step-name:before {
	background: url( ../img/common/step-03.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(4) .schema-how-to-step-name:before {
	background: url( ../img/common/step-04.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(5) .schema-how-to-step-name:before {
	background: url( ../img/common/step-05.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(6) .schema-how-to-step-name:before {
	background: url( ../img/common/step-06.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(7) .schema-how-to-step-name:before {
	background: url( ../img/common/step-07.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step:nth-child(8) .schema-how-to-step-name:before {
	background: url( ../img/common/step-08.png ) center center / contain no-repeat;
}

.schema-how-to.flow-list .schema-how-to-step-name {
	gap: 20px;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .1em;
}

.schema-how-to.flow-list .schema-how-to-step::after {
	left: 49px;
}

.schema-how-to.flow-list .schema-how-to-step-text {
	padding-left: 120px;
}

.is-style-en {
	font-family: "Cormorant Garamond", serif;
}

.price strong {
	font-size: 1.25em;
}

.wp-block-table thead {
	background-color: var(--wp--preset--color--primary);
}

.wp-block-table thead th {
	font-weight: normal;
}

.wp-block-table td, .wp-block-table th {
	padding: 14.5px var(--wp--preset--spacing--20);
}

.wp-block-embed__wrapper {
	/* width: 640px; */
	max-width: 100%;
	margin: 0 auto;
}

:root :where(.wp-element-button, .wp-block-button__link) {
	padding: 10px var(--wp--preset--spacing--20);
	border-radius: 0 !important;
}

.wp-block-embed {
	margin-bottom: 0;
}

/* header
------------------------------------------------------- */

header:has( > .is-style-header-fixed-pc ) {
	box-shadow: none !important;
}

.header .wp-block-navigation-item__content {
	padding-top: 12px;
	padding-bottom: 12px;
}

.header .header-wrap {
	gap: 0;
}

.head-txt {
	border-left: solid 1px var(--wp--preset--color--primary);
}

.wp-block-navigation .wp-block-navigation-item.home {
	display: none;
}

.head-tel .tel {
	font-family: "Noto Serif JP", serif;
	line-height: 1.2;
}

.head-tel .tel strong {
	font-size: 1.5em;
}

.header .g-nav-block .logo {
	display: none;
}

.header .g-nav-block .btn {
	display: none;
}

/* title
------------------------------------------------------- */

.title-01 {
	font-family: "Noto Serif JP", serif;
	font-size: var(--wp--preset--font-size--20);
	text-align: center;
}

.title-01 .en-txt {
	display: flex;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
	gap: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--primary);
}

.title-01 .en-txt::before,
.title-01 .en-txt::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--wp--preset--color--custom-secondary);
	border-radius: 50%;
}

.title-01 .wp-block-heading {
	font-size: var(--wp--preset--font-size--28);
	letter-spacing: .1em;
}

.has-primary-background-color .title-01 .en-txt {
	color: var(--wp--preset--color--base);
}

.has-primary-background-color .title-01 .en-txt::before,
.has-primary-background-color .title-01 .en-txt::after {
	background-color: var(--wp--preset--color--base);
}

/* heading
------------------------------------------------------- */

.is-style-heading-01 {
	font-size: var(--wp--preset--font-size--24);
	line-height: 1.8;
	border-left: solid 2px var(--wp--preset--color--custom-secondary);
	padding: .1em 0 .1em var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--20);
	position: relative;
}

.is-style-heading-01 strong {
	padding: 0 4px;
	margin: 0 4px;
	background-color: var(--wp--preset--color--custom-light-blue);
	color: var(--wp--preset--color--contrast);
}

.is-style-heading-01 em {
	font-family: "Noto Sans JP", serif;
	font-size: var(--wp--preset--font-size--14);
	font-style: normal;
	color: var(--wp--preset--color--dark-gray);
}

.is-style-heading-02 {
	background: var(--wp--preset--color--primary) url( ../img/common/shape.png ) right bottom / 36px no-repeat !important;
	border-radius: 0 !important;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--24);
	text-align: center;
	letter-spacing: .1em;
	padding: 6px 1em 8px;
	margin-top: var(--wp--preset--spacing--60);
	margin-bottom: var(--wp--preset--spacing--30);
}

.is-style-heading-03 {
	font-size: var(--wp--preset--font-size--20);
	padding: 0 0 1em 0;
	margin-bottom: 1em;
	text-align: center;
	position: relative;
}

.is-style-heading-03::after {
	content: "";
	width: 40px;
	height: 2px;
	background-color: var(--wp--preset--color--custom-secondary);
	position: absolute;
	bottom: 0;
	left: calc( 50% - 20px );
}

/* bg
------------------------------------------------------- */

.is-style-bg-shape {
	background: var(--wp--preset--color--primary) url( ../img/common/shape.png ) right bottom / 160px no-repeat;
	color: var(--wp--preset--color--base);
}

/* button
------------------------------------------------------- */

.wp-block-buttons:has( .wp-block-button.is-style-large-button ) {
	margin-top: var(--wp--preset--spacing--40);
}

.is-style-large-button .wp-block-button__link {
	width: 320px;
	max-width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: var(--wp--preset--font-size--20);
	padding: 15px var(--wp--preset--spacing--20);
	position: relative;
}

.is-style-large-button .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: calc( 50% - 1px );
	right: 0;
	width: 20px;
	height: 2px;
	background-color: var(--wp--preset--color--custom-secondary);
	transition: all .2s;
}

/* column-list
------------------------------------------------------- */

.column-list {
	gap: 2em;
	margin-top: var(--wp--preset--spacing--60);
}

/* fv-box
------------------------------------------------------- */

.fv-box .sp-img {
	display: none;
}

.fv-box .txt {
	width: 480px;
	max-width: 100%;
	align-self: stretch;
}

.fv-box .txt-wrap {
	width: 100%;
	height: calc( 100% - 120px );
	justify-content: center;
}

.fv-box .txt-wrap .appeal-block {
	width: 100%;
	max-width: 560px;
}

.fv-box .co-wrap {
	height: 120px;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.fv-box .co-block {
	width: 560px;
	max-width: 100%;
	height: 100%;
	align-items: stretch;
	gap: var(--wp--preset--spacing--10);
}

.fv-box .co-block > * {
	flex: 1 !important;
	display: grid;
	place-content: center;
}

.fv-box .co-block .logo {
	background-color: var(--wp--preset--color--base);
}

.fv-box .fv-block .logo .wp-block-image  {
	padding: var(--wp--preset--spacing--10);
	line-height: .5;
}

.fv-box .co-block .info {
	font-family: "Noto Serif JP", serif;
	font-size: var(--wp--preset--font-size--20);
	line-height: 1.5;
	text-align: center;
}

.fv-box .fv-block .img {
	padding-top: var(--wp--preset--spacing--50);
}

.fv-box .fv-block .img .wp-block-image {
	display: grid;
	place-content: center;
	height: 100%;
}

.fv-box .fv-block .img img {
	width: 780px;
}

/* appeal-block
------------------------------------------------------- */

.appeal-block {
	width: 100%;
}

.appeal-block .cont {
	white-space: nowrap;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	background: var(--wp--preset--color--base) url( ../img/common/shape.png ) right -1px bottom -1px / 24px no-repeat;
	color: var(--wp--preset--color--primary);
	padding: var(--wp--preset--spacing--10);
}

.appeal-block .cont .em {
	font-size: var(--wp--preset--font-size--24);
	letter-spacing: .1em;
}

.appeal-block .cont .em strong {
	font-size: 1.5em;
	line-height: 1;
}

/* cont-box
------------------------------------------------------- */

.cont-box {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

/* cont-block
------------------------------------------------------- */

.cont-block {
	border-radius: 0 0 var(--wp--preset--spacing--80) 0;
	margin-top: var(--wp--preset--spacing--50);
	margin-bottom: 0;
	padding: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--40);
}

.cont-block .txt {
	flex: 1.5 !important;
}

.cont-block .img {
	flex: 1 !important;
}

.cont-block .is-style-check-list li + li {
	margin-top: 1em;
}

.cont-block .wp-block-table td,
.cont-block .wp-block-table th {
	padding: 5px var(--wp--preset--spacing--20);
}

.wp-element-caption {
	font-size: var(--wp--preset--font-size--14);
	margin-top: var(--wp--preset--spacing--10);
	text-align: right;
}

#product > .cont-block {
	gap: 0;
}

#product > .cont-block .txt {
	flex-grow: 1 !important;
}

#product > .cont-block .txt-wrap {
	padding-left: var(--wp--preset--spacing--30);
}

.is-style-first-col-fixed.blue-cell th:first-child,
.is-style-first-col-fixed.blue-cell td:first-child {
	border-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--custom-light-blue);
}

#solution {
	position: relative;
}

#solution::before {
	content: "";
	position: absolute;
	top: -10px;
	left: calc( 50% - 30px );
	border-top: solid 30px var(--wp--preset--color--primary);
	border-right: solid 30px transparent;
	border-left: solid 30px transparent;
}

/* contact-box
------------------------------------------------------- */

.contact-box {
	position: relative;
	overflow: hidden;
}

.contact-box::after {
	content: "";
	width: 1100px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc( 50% - 550px );
	background: url( ../img/common/contact-bg.png ) center center / cover no-repeat;
	z-index: 1;
}

/* contact-block
------------------------------------------------------- */

.contact-block {
	position: relative;
	z-index: 2;
}

.contact-block .tel-btn .tel,
.contact-block .contact-btn .contact {
	font-size: var(--wp--preset--font-size--24);
	line-height: 1.2;
}

.contact-block .tel-btn .tel {
	font-family: "Noto Serif JP", serif;
}

.contact-block .tel-btn .tel strong {
	font-size: var(--wp--preset--font-size--36);
}

.contact-block .contact-btn .contact {
	font-size: var(--wp--preset--font-size--28);
}

.contact-block .contact-btn .is-style-en {
	line-height: 1.5;
}

.contact-block .tel-btn,
.contact-block .contact-btn {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	border: none;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--40);
	height: 120px;
	justify-content: center;
	position: relative;
	transition: all .2s;
}

.contact-block .tel-btn::before,
.contact-block .contact-btn::before {
	content: "";
	position: absolute;
	top: calc( 50% - 1px);
	right: 0;
	width: 40px;
	height: 2px;
	background-color: var(--wp--preset--color--custom-secondary);
	transition: all .2s;
}

.contact-block .link-to-cover-and-group-blocks:has( .tel-btn ),
.contact-block .link-to-cover-and-group-blocks:has( .contact-btn ) {
	max-width: 100%;
}

.snow-monkey-form .smf-text-control__control[name=tel] {
	width: 240px;
	max-width: 100%;
}

/* post-list-grid
------------------------------------------------------- */

.post-list-grid {
	margin-top: var(--wp--preset--spacing--60) !important;
	gap: var(--wp--preset--spacing--40);
}

.post-list-grid .wp-block-post {
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--custom-light-blue);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
	position: relative;
}

.post-list-grid .wp-block-post-terms [rel=tag] {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.post-list-grid .txt {
	padding: var(--wp--preset--spacing--20) 0 0;
}

.post-list-grid .wp-block-post-title {
	font-size: var(--wp--preset--font-size--20);
}

.post-list-grid .wp-block-post-date {
	color: var(--wp--preset--color--dark-gray);
}

/* cover-link
------------------------------------------------------- */

.wp-block-post:has( .cover-link ) {
	position: relative;
}

.wp-block-post:has( .cover-link ) a {
	pointer-events: none;
}

.cover-link {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: auto !important;
}

.cover-link-txt {
	display: block;
	width: 100%;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--base);
	border: solid 1px var(--wp--preset--color--primary);
	padding: 12px var(--wp--preset--spacing--20) 14px;
	position: relative;
	transition: all .2s;
}

.cover-link-txt::after {
	content: "";
	position: absolute;
	top: calc( 50% - 1px );
	right: 0;
	width: 40px;
	height: 2px;
	background-color: var(--wp--preset--color--custom-secondary);
	transition: all .2s;
}


/* area
------------------------------------------------------- */

#area .cont-block .img {
	align-self: stretch;
	background-color: var(--wp--preset--color--custom-light-blue);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
}

#area .cont-block .img-wrap {
	height: 100%;
	justify-content: center;
	padding: var(--wp--preset--spacing--20);
	overflow: hidden;
}

/* area-table
------------------------------------------------------- */

.cont-block .txt:has( .area-table ) {
	flex: 2 !important;
}

.area-table td,
.area-table th {
	border-color: transparent;
}

.area-table th:first-child,
.area-table td:first-child {
	border-color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.area-table td .flex {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--14);
}

.area-table td span,
.area-table td a {
	display: inline-block;
	white-space: nowrap;
	padding: 2px 8px;
	border: solid 2px var(--wp--preset--color--light-gray);
	border-radius: 4px;
}

.area-table td a {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--primary);
}

/* variations
------------------------------------------------------- */

.has-custom-light-blue-background-color + #variations {
	background-color: var(--wp--preset--color--base) !important;
}

#variations .cont-block .img {
	flex: 1 !important;
}

#variations .cont-block .txt {
	flex: 2 !important;
}

#variations .is-style-heading-01 em {
	font-family: "Cormorant Garamond", serif;
	font-size: var(--wp--preset--font-size--16);
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-secondary);
}

/* news
------------------------------------------------------- */

#news .post-list--simple {
	background-color: var(--wp--preset--color--base);
	margin-top: var(--wp--preset--spacing--60);
	margin-bottom: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--40);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
}

.wp-block-post-terms [rel=tag] {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-radius: 0;
}

/* footer
------------------------------------------------------- */

footer .logo {
	margin: 0;
}

.footer .footer-block {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.footer .footer-meta {
	gap: var(--wp--preset--spacing--30);
	padding: 0;
}

.footer .is-style-ul-list li::before {
	height: 2px;
	border-radius: 0;
	top: .85em;
}

.footer .footer-meta {
	font-size: var(--wp--preset--font-size--14);
	color: var(--wp--preset--color--contrast);
}


/*
-------------------------------------------------------

page

-------------------------------------------------------
*/

.page-fv .fv-block {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	min-height: 240px;
}

.page-fv .fv-block::after {
	content: "";
	width: 1100px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc( 50% - 550px );
	background: url( ../img/common/fv-img.png ) center top 20% / 100% no-repeat;
	opacity: .1;
	z-index: 1;
}

.page-fv .fv-block .txt-wrap {
	width: auto;
	position: relative;
	z-index: 2;
}

/* company
------------------------------------------------------- */

.overview .wp-block-table {
	margin-top: var(--wp--preset--spacing--50);
}

.overview .wp-block-table td,
.overview .wp-block-table th {
	padding: 35.5px var(--wp--preset--spacing--30);
}

/* faq
------------------------------------------------------- */

.page-menu {
	background-color: var(--wp--preset--color--custom-light-blue);
	padding: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--20);
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
	letter-spacing: .1em;
}

.page-menu .wp-block-button {
	flex: 1;
}

/* contact
------------------------------------------------------- */

body:has( .snow-monkey-form ) .cont-wrap {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--60);
}

body:has( .snow-monkey-form ) .entry-content {
	padding-bottom: 0;
}

body:has( .snow-monkey-form ) .contact-box {
	display: none;
}

.tel-wrap {
	margin-top: var(--wp--preset--spacing--40);
	text-align: center;
}

.link-to-cover-and-group-blocks:has( > .tel-block ) {
	display: inline-block;
	border: solid 1px var(--wp--preset--color--primary);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	margin: 0 auto;
}

.tel-block {
	gap: 0;
}

.tel-block .num {
	font-size: var(--wp--preset--font-size--24);
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
}

.tel-block .num strong {
	font-size: 1.5em;
	line-height: 1;
}

.tel-block .note {
	font-size: var(--wp--preset--font-size--14);
}

.form-block {
	background-color: var(--wp--preset--color--base);
	margin-top: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--80);
}

.snow-monkey-form.is-style-standard .smf-progress-tracker {
	margin-bottom: var(--wp--preset--spacing--20);
}

.snow-monkey-form .is-style-notes {
	font-size: var(--wp--preset--font-size--12);
	margin: 1em 0 0;
}

.snow-monkey-form .remarks {
	margin-top: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	padding: .5em 1em;
}

.snow-monkey-form .privacy {
	margin-top: var(--wp--preset--spacing--40);
}

.required-progress .txt {
	font-size: var(--wp--preset--font-size--16);
}

.required-progress .num {
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
	font-size: var(--wp--preset--font-size--24);
	padding: .4em 2em .6em;
}

.snow-monkey-form[data-screen="confirm"] .remarks,
.snow-monkey-form[data-screen="confirm"] .privacy {
	display: none;
}

/* case
------------------------------------------------------- */

.single-case .entry-content {
	padding-bottom: 0;
}

.case-title {
	padding-top: var(--wp--preset--spacing--20);
}

.case-title .meta {
	padding-top: var(--wp--preset--spacing--20);
	padding-bottom: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
	border-bottom: solid 1px var(--wp--preset--color--primary);
	gap: var(--wp--preset--spacing--20);
}

.main .is-style-slider-thumbnail .slick-slide {
	padding: 0 var(--wp--preset--spacing--10);
}

.main .is-style-slider-thumbnail img {
	aspect-ratio: 16 / 9;
	width: 760px;
	max-width: 100%;
}

.main .is-style-slider-thumbnail + .slider-nav {
	margin-top: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--60);
	width: 800px;
	max-width: 100%;
}

#detail {
	padding-top: 0;
	margin-top: var(--wp--preset--spacing--60);
}

#detail .is-style-first-col-fixed.blue-cell th:first-child,
#detail .is-style-first-col-fixed.blue-cell td:first-child {
	width: 40%;
}

#background .cont-block {
	margin-top: var(--wp--preset--spacing--50);
}

.external-posts {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}

.external-posts .post-list.is-layout-grid .post-item {
	background-color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--30);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
	flex-wrap: nowrap !important;
}

.external-posts .post-list.is-layout-grid .post-item .post-item-image {
	flex-shrink: 1;
}

.external-posts .post-list--thumb-meta .post-list .post-item .post-title-meta {
	flex-direction: column-reverse;
	align-items: flex-start;
}

.external-posts .post-list--thumb-meta .post-list .post-item .post-title-meta .wp-block-post-terms {
	margin: 0 0 4px;
}

.external-posts .wp-block-post-title br {
	display: none !important;
}

.case-archive {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}

.case-archive .post-list.is-layout-grid {
	margin-top: 0 !important;
}

.case-archive .post-list-grid .wp-block-post {
	padding: var(--wp--preset--spacing--30);
}

.case-archive .post-list.is-layout-grid .post-item {
	gap: var(--wp--preset--spacing--10);
}

.case-archive .post-list--thumb-meta .post-list .post-item .post-title-meta .wp-block-post-terms {
	margin: 0 0 4px;
}

.related-posts {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}

.sidebar .wp-block-heading {
	margin-bottom: 0;
	text-align: left;
	padding: 12px 1em 14px;
}

.main-contents .post-item .post-title-meta .wp-block-post-terms {
	margin-top: 0 !important;
}

.main-contents .post-item .wp-block-post-title {
	font-size: var(--wp--preset--font-size--24);
}

.main-contents .post-item .wp-block-post-excerpt__excerpt {
	margin-top: var(--wp--preset--spacing--20);
}

.sidebar > *:not( wp-block-heading ) {
	margin-bottom: var(--wp--preset--spacing--30);
}

.author-info {
	margin-bottom: 0 !important;
}

.post-header {
	padding-bottom: var(--wp--preset--spacing--40);
}

.lwptoc-light .lwptoc_i {
	background-color: var(--wp--preset--color--custom-light-blue);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
}

.main-contents .post-author-block .cont-wrap {
	background-color: var(--wp--preset--color--custom-light-blue);
	border-radius: 0 0 var(--wp--preset--spacing--40) 0;
}

.mov-list {
	margin-top: var(--wp--preset--spacing--60);
}

.mov-list {
	display: grid !important;
	grid-template-columns: repeat( 3, 1fr );
	align-items: start;
}

.mov-list .mov {
	background-color: var(--wp--preset--color--base);
	border-radius: 0 0 var(--wp--preset--spacing--20) 0;
	gap: 0;
	flex-wrap: nowrap;
}

.mov-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.mov-wrap .wp-block-embed,
.mov-wrap .wp-block-embed__wrapper,
.mov-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;	
}

.mov-list .txt {
	width: 100%;
	padding: var(--wp--preset--spacing--20);
	gap: var(--wp--preset--spacing--20);
}

.entry-content:has( .flow-box ),
.entry-content:has( .method-box ) {
	padding-bottom: 0;
}


/*
-------------------------------------------------------

1400

-------------------------------------------------------
*/

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

	.fv-box .txt-wrap {
		height: calc( 100% - 100px );
	}

	.fv-box .co-wrap {
		height: 100px;
	}

	.fv-box .co-block .info {
		font-size: var(--wp--preset--font-size--16);
	}

}

/*
-------------------------------------------------------

1200

-------------------------------------------------------
*/

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

	.header .head-txt p {
		font-size: var(--wp--preset--font-size--12) !important;
	}

	.header .head-txt .sp {
		display: block !important;
	}

	.is-style-bg-shape {
		background-size: 80px;
	}

	.fv-box .txt {
		flex-basis: 45% !important;
	}

	.fv-box .title-01 .is-style-en {
		font-size: var(--wp--preset--font-size--18) !important;
	}

	.fv-box h1.wp-block-heading {
		font-size: var(--wp--preset--font-size--32) !important;
	}

	.appeal-block .cont {
		font-size: var(--wp--preset--font-size--14);
	}

	.appeal-block .cont .em {
		letter-spacing: .02em;
	}

	.contact-box .read {
		letter-spacing: .02em !important;
	}

	.post-list-grid {
		gap: var(--wp--preset--spacing--30);
	}

	.post-list-grid .wp-block-post {
		padding: var(--wp--preset--spacing--30);
	}

	.page-fv .fv-block::after {
		background-size: 80%;
	}
	
	.page-menu .wp-block-buttons {
		gap: var(--wp--preset--spacing--20);
	}

}

/*
-------------------------------------------------------

1001

-------------------------------------------------------
*/

@media screen and ( min-width: 1001px ) {

	body:has( .is-style-header-fixed-pc ) {
		padding-top: 123px;
	}

	.header .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
	.header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
	.header .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
		display: grid;
		grid-template-columns: repeat( 2, 1fr );
		width: 360px;
		gap: 1px;
		background-color: var(--wp--preset--color--light-gray);
		border: solid 1px var(--wp--preset--color--light-gray);
		border-radius: 0;	
	}

	.header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		background-color: var(--wp--preset--color--base);
	}

}

/*
-------------------------------------------------------

1000

-------------------------------------------------------
*/

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

	.fv-box .txt-wrap {
		height: calc( 100% - 80px );
	}

	.fv-box .co-wrap {
		height: 80px;
	}

	.fv-box .co-block .info {
		font-size: var(--wp--preset--font-size--14);
	}

	.header .head-block {
		height: 64px;
		padding-right: 64px !important;
	}

	.header .head-block .btn {
		display: none;
	}
	.header .head-txt p {
		font-size: var(--wp--preset--font-size--14) !important;
	}

	.header .head-txt .sp {
		display: none !important;
	}

	.header .g-nav-block {
		gap: 0;
		padding: 0 var(--wp--preset--spacing--30);
	}

	.header .g-nav-block .logo {
		display: grid;
		place-content: center start;
		flex-shrink: 0;
		width: 100%;
		height: 64px;
		padding-right: 64px;
	}

	.header .g-nav-block .logo a {
		display: inline-block;
		padding: 8px var(--wp--preset--spacing--20);
	}

	.header .g-nav-block .btn {
		display: flex;
		width: 100%;
		padding-top: var(--wp--preset--spacing--40);
	}

	.wp-block-navigation .wp-block-navigation-item.home {
		display: block;
	}

	.header .g-nav-block .link-to-cover-and-group-blocks {
		border: solid 1px var(--wp--preset--color--gray);
		padding: var(--wp--preset--spacing--20);
	}

	.header .g-nav-block .wp-element-button,
	.header .g-nav-block .wp-block-button__link {
		height: 64px;
	}

	.fv-box .txt {
		flex-basis: 50% !important;
	}

	.cont-block {
		padding: var(--wp--preset--spacing--30);
		gap: var(--wp--preset--spacing--30);
		border-radius: 0 0 var(--wp--preset--spacing--40) 0;
	}

	.cont-block .is-style-check-list {
		font-size: var(--wp--preset--font-size--16) !important;
	}

	.is-style-check-list .sp {
		display: block !important;
	}

	.is-style-heading-01 .sp {
		display: block !important;
	}

	.contact-box .txt {
		flex-grow: 1.25 !important;
	}

	.contact-box .read {
		letter-spacing: 0 !important;
	}

	.contact-block .tel-btn::before, .contact-block .contact-btn::before {
		width: 20px;
	}

	.column-list {
		gap: 2em 1em;
	}

	.mov-list {
		gap: var(--wp--preset--spacing--30);
	}

	.has-custom-light-blue-background-color .schema-how-to {
		padding: var(--wp--preset--spacing--30);
	}

	.header .has-child .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--custom-light-blue);
		padding-top: 8px;
		padding-bottom: 8px;
		border-radius: 0 0 var(--wp--preset--spacing--40) 0;
	}

	.header .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item {
		display: inline-block;
		width: 48%;
	}

	.header .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child( even ) {
		margin-left: 4%;
	}

	.header .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
		background-color: transparent !important;
	}

	.header .wp-block-navigation-item__content {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		color: var(--wp--preset--color--custom-secondary);
	}

}

/*
-------------------------------------------------------

781

-------------------------------------------------------
*/

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

	.fv-box .sp-img {
		display: block;
		width: 100%;
		padding-top: var(--wp--preset--spacing--30);
	}

	.fv-box .sp-img img {
		width: 480px;
		max-width: 100%;
	}

	.fv-box .txt-wrap {
		height: auto;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.fv-box .co-wrap {
		height: auto;
	}

	.fv-box .co-block {
		justify-content: center;
		gap: var(--wp--preset--spacing--20);
	}

	.fv-box .co-block .logo {
		width: 220px;
		max-width: 100%;
		flex-basis: auto !important;
		flex-grow: initial !important;
	}

	.fv-box .fv-block .logo .wp-block-image {
		padding: var(--wp--preset--spacing--20)
	}

	.fv-box .co-block .info .pc {
		display: none;
	}

	.fv-box .fv-block .img {
		display: none;
	}

	.page-fv .fv-block .txt-wrap {
		width: 100%;
	}

	.fv-box .txt-wrap {
		width: 100%;
		gap: var(--wp--preset--spacing--40) !important;
	}

	.fv-box .wp-block-column .read {
		padding-top: 0;
		border-top: none;
	}

	.fv-box .txt-wrap .appeal-block {
		max-width: 480px;
	}

	.fv-box .wp-block-column .appeal-block {
		padding: 0 var(--wp--preset--spacing--20);
	}

	.fv-box .appeal-block .appeal {
		flex-basis: auto !important;
		flex: 1 !important;
	}

	.cont-block {
		padding: var(--wp--preset--spacing--50);
		gap: var(--wp--preset--spacing--50);
	}

	.cont-block .wp-block-image {
		text-align: center;
	}

	.cont-block .wp-block-image img {
		width: 480px;
		max-width: 100%;
	}

	#product > .cont-block {
		gap: var(--wp--preset--spacing--50);
		margin-bottom: var(--wp--preset--spacing--60);
	}

	#product > .cont-block .txt-wrap {
		padding-left: 0;
	}

	.wp-block-embed__wrapper {
		/* width: 480px; */
	}

	.cont-block .is-style-check-list br {
		display: none !important;
	}

	.cont-block .txt {
		order: 2;
	}

	.cont-block .img {
		order: 1;
	}

	#product .animation-block .cont-block .txt,
	#area .cont-block .txt {
		order: 0;
	}

	#area .cont-block .img {
		padding: var(--wp--preset--spacing--30);
		position: relative;
		overflow: hidden;
	}

	#area .cont-block .wp-block-image img {
		width: 320px;
		height: 320px;
		object-fit: cover;
		object-position: top;
		position: relative;
		z-index: 2;
	}

	#area .cont-block .map-txt {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		font-size: 10vw !important;
		letter-spacing: 4vw;
		transform: translate( 2vw, -50% );
	}

	#variations .cont-block .txt {
		flex: 3 !important;
	}

	.is-style-heading-01 .sp {
		display: none !important;
	}

	.contact-block {
		max-width: 100%;
	}

	.contact-block .tel-btn,
	.contact-block .contact-btn {
		height: 100px;
		padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	}

	.contact-box .btn-wrap {
		display: flex;
		flex-direction: row;
	}

	.contact-box .btn-wrap .link-to-cover-and-group-blocks {
		flex: 1;
	}

	.footer .is-style-ul-list li::before {
		top: 1.1em;
	}

	.footer-info a[target="_blank"] {
		justify-content: center;
	}

	.page-fv .fv-block::after {
		width: 100%;
		left: 0;
	}

    .page-fv .fv-block::after {
		background-size: 110%;
	}

}

/*
-------------------------------------------------------

768

-------------------------------------------------------
*/

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

	.nav-open .header .g-nav-block {
		padding: 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--60);
	}

	body:has( .required-progress ) .copyright {
		padding-bottom: 64px !important;
	}

	.detail-block {
		gap: 0;
		padding-bottom: var(--wp--preset--spacing--20);
	}

	.detail-block .cont + .cont tr:first-child th,
	.detail-block .cont + .cont tr:first-child td {
		border: none;
	}

	.main-contents:not( .is-style-mobile-fullwidth-posts ) .post-item .wp-block-post-title {
		font-size: var(--wp--preset--font-size--24);
		margin-top: var(--wp--preset--spacing--10);
	}

	.main-contents .post-item .wp-block-post-excerpt__excerpt {
		margin-top: var(--wp--preset--spacing--10);
	}

	.snow-monkey-form .smf-text-control__control[name=tel] {
		width: 100%;
	}

}

/*
-------------------------------------------------------

640

-------------------------------------------------------
*/

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

	.header .head-txt {
		padding-right: 0;
	}

	.header .head-txt p {
		font-size: var(--wp--preset--font-size--12) !important;
	}

	.header .head-txt .sp {
		display: block !important;
	}

	.toggle-btn {
		width: 64px;
		height: 64px;
	}

	.toggle-btn::before,
	.toggle-btn p::before,
	.toggle-btn p::after {
		right: 20px;
		left: 20px;
	}

	.fv-box .txt-wrap {
		gap: var(--wp--preset--spacing--30) !important;
	}

	.fv-box h1.wp-block-heading {
		letter-spacing: .1rem !important;
	}

	.fv-box .sp-img img {
		width: 280px;
	}

	.fv-box .sub p {
		font-size: var(--wp--preset--font-size--12) !important;
	}

	.cont-box {
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.cont-block {
		flex-direction: column;
		padding: var(--wp--preset--spacing--30);
		gap: var(--wp--preset--spacing--30);
	}

	.cont-block .is-style-check-list li {
		line-height: 1.8;
	}

	.cont-block .is-style-check-list br {
		display: block !important;
	}

	.is-style-heading-01 {
		font-size: var(--wp--preset--font-size--20);
		border-left: none;
		padding: 0 0 1em 0;
		margin-bottom: 1em;
		text-align: center;
	}

	.is-style-heading-01::after {
		content: "";
		width: 40px;
		height: 2px;
		background-color: var(--wp--preset--color--custom-secondary);
		position: absolute;
		bottom: 0;
		left: calc( 50% - 20px );
	}

	.is-style-heading-01 .sp {
		display: block !important;
	}

	#product .cont-block .is-style-notes {
		text-align: center;
	}

	.cont-block .wp-block-buttons {
		justify-content: center;
	}

	.cont-block .case {
		text-align: center;
	}

	.contact-box {
		padding-top: var(--wp--preset--spacing--30) !important;
	}

	.contact-box .txt-wrap {
		line-height: 1.8;
	}

	.contact-box .read {
		font-size: var(--wp--preset--font-size--16) !important;
	}

	.contact-box .btn-wrap {
		flex-direction: column;
	}

	.contact-block .tel-btn,
	.contact-block .contact-btn {
		height: 80px;
		gap: 2px;
	}

	.is-style-bg-shape {
		background-size: 40px;
	}

	.column-list {
		gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--10);
	}

	.is-style-large-button {
		display: block !important;
		width: 100%;
	}

	.is-style-large-button .wp-block-button__link {
		width: 100%;
	}

	.area-table.is-style-first-col-fixed th:first-child,
	.area-table.is-style-first-col-fixed td:first-child {
		width: 18%;
		font-size: var(--wp--preset--font-size--14);
	}

	#area .cont-block .wp-block-image img {
		width: 240px;
		height: 240px;
	}

	#area .cont-block .map-txt {
		font-size: 14vw !important;
		letter-spacing: 2vw;
		transform: translate( 1vw, -50% );
	}

	.schema-faq .schema-faq-question {
		font-size: var(--wp--preset--font-size--18);
	}

	#variations .cont-block .img img {
		width: 240px;
	}

	.schema-how-to.flow-list .schema-how-to-step-name::before {
		width: 64px;
		height: 64px;
	}

	.schema-how-to.flow-list .schema-how-to-step::after {
		left: 31px;
	}

	.schema-how-to.flow-list .schema-how-to-step-name {
		gap: 16px;
	}

	.schema-how-to.flow-list .schema-how-to-step-text {
		padding-left: 80px;
		font-size: var(--wp--preset--font-size--14);
		line-height: 1.8;
	}

	.post-list--simple .post-item {
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--10);
	}

	.post-list--simple .post-item .wp-block-post-title {
		flex-basis: 100%;
	}

	.page-fv .fv-block {
		min-height: 140px;
	}

	.page-fv .fv-block::after {
		background-size: 90%;
	}

	.page-fv .fv-block {
		padding-right: var(--wp--preset--spacing--20);
		padding-left: var(--wp--preset--spacing--20);
	}

	.overview .wp-block-table td,
	.overview .wp-block-table th {
		padding: 1em;
	}

	.is-style-first-col-fixed th:first-child,
	.is-style-first-col-fixed td:first-child {
		width: 33.3333%;
		font-size: var(--wp--preset--font-size--14);
	}

	.page-menu .wp-block-buttons {
		font-size: var(--wp--preset--font-size--16);
		letter-spacing: .05em;
	}

	.schema-faq {
		margin-top: var(--wp--preset--spacing--40);
	}

	.schema-faq .schema-faq-answer {
		margin-bottom: 0;
	}

	.main-contents .is-layout-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.case-archive .post-list.is-layout-grid .post-item {
		gap: var(--wp--preset--spacing--20);
	}

	.case-archive .post-list.is-layout-grid .post-item .wp-block-post-title {
		font-size: var(--wp--preset--font-size--20);
	}

	.blog .post-item {
		flex-direction: column;
	}

	.mov-list {
		grid-template-columns: repeat( 1, 1fr );
	}

	.main .is-style-slider-thumbnail .slick-slide {
		padding: 0;
	}

}

/*
-------------------------------------------------------

hover

-------------------------------------------------------
*/

@media screen and ( min-width: 769px ) {

	.is-style-large-button .wp-block-button__link:hover::after {
		transform: scale( .5, 1 );
		transform-origin: right;
	}

	.contact-block .link-to-cover-and-group-blocks:hover .tel-btn,
	.contact-block .link-to-cover-and-group-blocks:hover .contact-btn {
		background-color: var(--wp--preset--color--custom-secondary);
		color: var(--wp--preset--color--base);
	}

	.contact-block .link-to-cover-and-group-blocks:hover .tel-btn .tel strong {
		color: var(--wp--preset--color--base);
	}

	.contact-block .link-to-cover-and-group-blocks:hover .tel-btn::before,
	.contact-block .link-to-cover-and-group-blocks:hover .contact-btn::before {
		background-color: var(--wp--preset--color--primary);
		transform: scale( .5, 1 );
		transform-origin: right;
	}

	.area-table td a:hover {
		background-color: var(--wp--preset--color--custom-secondary);
		border-color: var(--wp--preset--color--custom-secondary);
	}

	.wp-block-post-terms [rel=tag]:hover {
		background-color: var(--wp--preset--color--custom-secondary);
	}

	.wp-block-post:has( .cover-link:hover ) .img {
		background-color: var(--wp--preset--color--primary);
	}

	.wp-block-post:has( .cover-link:hover ) .img img {
		transform: scale( 1.1 );
		opacity: .8;
	}

	.wp-block-post:has( .cover-link:hover ) .cover-link-txt {
		background-color: var(--wp--preset--color--custom-secondary);
		color: var(--wp--preset--color--base);
		border-color: var(--wp--preset--color--custom-secondary);
	}

	.wp-block-post:has( .cover-link:hover ) .cover-link-txt::after {
		background-color: var(--wp--preset--color--primary);
		width: 20px;
	}

	.link-to-cover-and-group-blocks:has( > .tel-block ):hover {
		background-color: var(--wp--preset--color--custom-light-blue);
	}

}
