/*	**** CMS 共通 **** */
b { font-weight: var(--bold); }
span.mini { font-size: 75%; }
mark { color: var(--text-color); font-weight: var(--bold); background: none; }
strong { font-weight: var(--bold); color: var(--main-color); }
/*	**** CMS 基本 **** */
section::after,
.textbox::after { content: ""; display:block; clear: both; }
@media( 768px > width ) { #container { overflow: hidden; } }

.modal_window {
	background: rgba( 0, 0, 0, 0.9 ); position: fixed; display: none; width: 100%; height: 100vh; top: 0; left: 0; z-index: 99999; 
	.closearea { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; cursor: pointer; }
	.inner {
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		width: 100%; height: 100%;
		.qrcode {
			width: 500px;
			max-width: 95vw;
			max-height: 90vh;
			padding: 1.5rem;
			position: relative;
			background: #FFFFFF;
			border-radius: 8px;
			z-index: 1;
			text-align: center;
			color: #303030;
			.ttl { font-size: 1.2rem; font-weight: var(--bold); margin: 2rem auto 1rem; }
			.qrcode_path { width: 90%; max-width: 240px; margin: 2rem auto; padding: 1rem; border: 1px solid #999; canvas { width: 100%; }}
			.path { margin: 1rem auto; cursor: pointer; &:hover { color: var(--main-color); } &::after { font-family: 'Material Symbols Outlined'; content: '\e14d'; } }
		}
	}
	.closebutton {
		position: absolute;
		top: 1rem; right: 1rem;
		cursor: pointer;
	}
}

.evenly { display: flex; justify-content: space-evenly; }
.nodelete img.lightadd { height: 100%; }
.inbackground:has(.lightadd):hover { filter:brightness(1.1); }
.material-symbols-outlined { font-variation-settings: var(--material-normal); vertical-align: middle; }
.material-symbols-outlined.fill { font-variation-settings: var(--material-fill); vertical-align: middle; }
.flexarea { display: flex; align-items: center; }
.linked_wrap {
	cursor: pointer;
	&:hover { filter: brightness(1.2); transition: 0.1s; }
	a { pointer-events: none; }
}

.hinttext {
	border: 1px solid var(--main-color);
	color: var( --main-color);
	border-radius: 0.3rem;
	padding: 0.5rem;
	&::before { content: '💡'; }
}
.annotation {
	opacity: 0.5;
	font-size: 0.85rem;
	&::before { content: '※ '; }
}
blockquote.quote {
	position: relative;
	padding: 1rem 1rem 1rem 4rem;

	background: var(--text-color-qtr); font-style: italic;
	&::before {
		display: inline-block;
		font-family: FontAwesome;
		top: 1rem; left: 1rem;
		position: absolute;
		content: "\f10d";
		line-height: 1;
		opacity: 0.2;
	}
}

section {
	margin: 0 auto;
	padding-block: var(--mg-main);
	position: relative;
	background: var(--base-color);
	&.zeroBox { padding-block: calc( var(--mg-main) * 0.15 ); }
	&.narrowBox { padding-block: calc( var(--mg-main) * 0.5 ); }
	&.wideBox { padding-block: calc( var(--mg-main) * 1.5 ); }
	&.exBox { padding-block: calc( var(--mg-main) * 2.0 ); }
	& section {
		margin-block: var(--mg-section);
		padding: 0;
		background: inherit;
	}
	&.column_section,
	&.event_section,
	&.news_section {
		margin-block: var(--mg-section);
		padding: 0;
	}
	&:has(>.over_section) { position: relative; z-index: 0; }
	& > .over_section {
		position: absolute;
		top: 0; left: 0; width: 100%; height: 100%;
		z-index: -1;
	}
	&.blend1 > .over_section { mix-blend-mode: normal; }
	&.blend2 > .over_section { mix-blend-mode: multiply; }
	&.blend3 > .over_section { mix-blend-mode: hard-light; }
	&.blend4 > .over_section { mix-blend-mode: color-burn; }
	&.blend5 > .over_section { mix-blend-mode: screen; }
	& .cms_head { margin: 0 auto calc( var(--mg-text) * 1.0 ); }
	& .section2 > .cms_head { margin: 0.2rem auto calc( var(--mg-parts) * 1.0 ); }

	& section.zeroBox { margin-block: calc( var(--mg-section) * 0.15 ); }
	& div.cms_parts.zeroBox { margin-block: calc( var(--mg-parts) * 0.15 ); }
	& .text_parts.zeroBox { margin-block: calc( var(--mg-text) * 0.15 ); }
	& .cms_head.zeroBox { margin: calc( var(--mg-adjust) * 0.15 ) auto calc( var(--mg-text) * 0.15 ); }
	& .section2 > .cms_head.zeroBox { margin: 0.2rem auto calc( var(--mg-parts) * 0.15 ); }

	& section.narrowBox { margin-block: calc( var(--mg-section) * 0.5 ); }
	& div.cms_parts.narrowBox { margin-block: calc( var(--mg-parts) * 0.5 ); }
	& .text_parts.narrowBox { margin-block: calc( var(--mg-text) * 0.5 ); }
	& .cms_head.narrowBox { margin: calc( var(--mg-adjust) * 0.5 ) auto calc( var(--mg-text) * 0.5 ); }
	& .section2 > .cms_head.narrowBox { margin: 0.2rem auto calc( var(--mg-parts) * 0.5 ); }

	& section.wideBox { margin-block: calc( var(--mg-section) * 1.5 ); }
	& div.cms_parts.wideBox { margin-block: calc( var(--mg-parts) * 1.5 ); }
	& .text_parts.wideBox { margin-block: calc( var(--mg-text) * 1.5 ); }
	& .cms_head.wideBox { margin: calc( var(--mg-adjust) * 1 ) auto calc( var(--mg-text) * 1.5 ); }
	& .section2 > .cms_head.wideBox { margin: 0.2rem auto calc( var(--mg-parts) * 1.5 ); }

	& section.exBox { margin-block: calc( var(--mg-section) * 2.0 ); }
	& div.cms_parts.exBox { margin-block: calc( var(--mg-parts) * 2.0 ); }
	& .text_parts.exBox { margin-block: calc( var(--mg-text) * 2.0 ); }
	& .cms_head.exBox { margin: calc( var(--mg-adjust) * 1.2 ) auto calc( var(--mg-text) * 2.0 ); }
	& .section2 > .cms_head.exBox { margin: 0.2rem auto calc( var(--mg-parts) * 2.0 ); }

}
main section section:last-of-type { margin-bottom: 0; }
.outer_wrapper,
footer .wrapper,
header .wrapper,
section .wrapper {
	width: 92%;
	max-width: var(--main-wrapper);
	margin: 0 auto;
}
section section .wrapper, section .wrapper .wrapper { width: 100%; max-width: 100%; }
section.bginner_section { 
	position: relative; overflow: hidden; 
	&.type1 > .videowrapper,
	&.type2 > .videowrapper,
	&.type3 > .videowrapper {
		position: absolute; 
		top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%;
		z-index: -1; pointer-events: none;
		video { width: 100%; height: 100%; object-fit: cover; object-position: center center; } 
	}
	&.type4 > .videowrapper {
		position: fixed;
		top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: calc(var(--vh, 1vh) * 100);
		z-index: -1; pointer-events: none;
		video { width: 100%; height: calc(var(--vh, 1vh) * 100); object-fit: cover; object-position: center center; } 
	}
}
section .colorwrapper {
	position: relative;
	z-index: 1;
	width: 90%;
	max-width: var(--main-wrapper);
	padding: var(--mg-section) 4rem;
	margin: 2rem auto;
}
section .text_parts,
section .cms_parts { margin: var(--mg-text) auto var(--mg-parts); }
section .text_parts:not(:last-of-type),
section p:not(:last-of-type) { margin-bottom: 1.0rem; }

@media( max-width: 768px ) {
	section {
		padding-block: var(--sp-main);
		& section { margin-block: var(--sp-section); }
		& .cms_head { margin: 0 auto calc( var(--sp-text) * 1.0 ); }
		& .section2 > .cms_head { margin: 0.2rem auto calc( var(--sp-parts) * 1.0 ); }
	}
	section .wrapper { max-width: none; }
	&.column_section,
	&.event_section,
	&.news_section {
		margin-block: var(--sp-section);
		padding: 0;
	}
	section .colorwrapper { padding: var(--sp-parts); }

	section .text_parts,
	section .cms_parts { margin: var(--sp-text) auto var(--sp-parts); }
	section .text_parts:not(:last-of-type),
	section p:not(:last-of-type) { margin-bottom: 1.0rem; }
	
	section.zeroBox { padding-block: calc( var(--sp-main) * 0.15 ); }
	section {
		& section.zeroBox { margin-block: calc( var(--sp-section) * 0.15 ); }
		& div.cms_parts.zeroBox { margin-block: calc( var(--sp-parts) * 0.15 ); }
		& .text_parts.zeroBox { margin-block: calc( var(--sp-text) * 0.15 ); }
		& .cms_head.zeroBox { margin: 0 auto calc( var(--sp-text) * 0.15 ); }
		& .section2 > .cms_head.zeroBox { margin: 0.2rem auto calc( var(--sp-parts) * 0.15 ); }
	}
	section.narrowBox { padding-block: calc( var(--sp-main) * 0.5 ); }
	section {
		& section.narrowBox { margin-block: calc( var(--sp-section) * 0.5 ); }
		& div.cms_parts.narrowBox { margin-block: calc( var(--sp-parts) * 0.5 ); }
		& .text_parts.narrowBox { margin-block: calc( var(--sp-text) * 0.5 ); }
		& .cms_head.narrowBox { margin: 0 auto calc( var(--sp-text) * 0.5 ); }
		& .section2 > .cms_head.narrowBox { margin: 0.2rem auto calc( var(--sp-parts) * 0.5 ); }
	}
	section.wideBox { padding-block: calc( var(--sp-main) * 1.5 ); }
	section {
		& section.wideBox { margin-block: calc( var(--sp-section) * 1.5 ); }
		& div.cms_parts.wideBox { margin-block: calc( var(--sp-parts) * 1.5 ); }
		& .text_parts.wideBox { margin-block: calc( var(--sp-text) * 1.5 ); }
		& .cms_head.wideBox { margin: 0 auto calc( var(--sp-text) * 1.5 ); }
		& .section2 > .cms_head.wideBox { margin: 0.2rem auto calc( var(--sp-parts) * 1.5 ); }
	}
	section.exBox { padding-block: calc( var(--sp-main) * 2.0 ); }
	section {
		& section.exBox { margin-block: calc( var(--sp-section) * 2.0 ); }
		& div.cms_parts.exBox { margin-block: calc( var(--sp-parts) * 2.0 ); }
		& .text_parts.exBox { margin-block: calc( var(--sp-text) * 2.0 ); }
		& .cms_head.exBox { margin: 0 auto calc( var(--sp-text) * 2.0 ); }
		& .section2 > .cms_head.exBox { margin: 0.2rem auto calc( var(--sp-parts) * 2.0 ); }
	}
}

svg .fill { fill: currentColor; }
svg.sns { flex: 1; width: 100%; max-width: max-content; }
ul.sns_list { display: flex; justify-content: center; }
ul.sns_list li a { height: 1.5rem; font-size: 1.3rem; line-height: 1.5rem; text-align: center; display: flex; align-items: center; margin: 0 0.5rem; color: inherit; max-width: none; }
ul.sns_list li a * { max-height: 1.5rem; }
ul.sns_list {
	li.facebook1 a { width: 20px; }
	li.facebook2 a { width: 20px; }
	li.x1 a { width: 20px; }
	li.instagram1 a { width: 17px; }
	li.instagram2 a { width: 17px; }
	li.instagram3 a { width: 17px; }
	li.threads a { width: 18px; }
	li.tiktok1 a { width: 24px; }
	li.tiktok2 a { width: 18px; }
	li.youtube1 a { width: 24px; }
	li.youtube2 a { width: 24px; }
	li.line1 a { width: 20px; }
	li.line2 a { width: 20px; }
	li.stores1 a { width: 82px; }
	li.stores2 a { width: 82px; }
	li.stores3 a { width: 82px; }
	li.base1 a { width: 64px; }
	li.base2 a { width: 64px; }
	li.minne1 a { width: 80px; }
	li.minne2 a { width: 80px; }
	li.minne3 a { width: 80px; }
	li.note1 a { width: 24px; }
	li.note2 a { width: 49px; }
	li.wantedly1 a { width: 21px; }
	li.wantedly2 a { width: 21px; }
	li.wantedly3 a { width: 21px; }
	li.wantedly4 a { width: 84px; }
	li.wantedly5 a { width: 84px; }
	li.wantedly6 a { width: 84px; }
}

.image_parts { display: block; margin: var(--mg-text) auto; max-width: 60%; text-align: center; }
.image_parts .caption { display: block; opacity: 0.66; font-size: 0.85rem; margin-bottom: 0.4rem; }
.image_parts a{ text-decoration: none; color: var(--text-color); font-style: italic; }
.image_parts.full { max-width: 100%; }
.image_parts.left { float: left; max-width: 30%; margin: 0 1.8rem 1.0rem 0; }
.image_parts.right { float: right; max-width: 30%; margin: 0 0 1.0rem 1.8rem; }
@media( 768px > width ){
	.image_parts { display: block; margin: var(--sp-text) auto; max-width: 80%; text-align: center; }
	.image_parts.full { max-width: 100%; }
	.image_parts.left { max-width: 100%; float: none; margin: 0 auto var(--sp-text); }
	.image_parts.right { max-width: 100%; float: none; margin: 0 auto var(--sp-text); }
}
video,
.image_parts video { max-width: 100%; min-width: 100%; }

.inbackground.type0 {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.inbackground.type1 {
	background-position: 50% 50%;
	background-size: cover;
}
.inbackground.type2 {
	background-repeat: repeat;
	background-size: auto;
	background-position: 0 0;
}
.inbackground.type3 {
	background-size: 100% 100%;
}
.inbackground.type4 {
	background-attachment: fixed;
}

.auto_slider,
.fade_slider { overflow: hidden; }
.slick-slider .inbackground .videowrapper { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.slick-slider .inbackground .videowrapper video { width: 100%; height: 100%; max-width: none; object-fit: cover; position: absolute; }
.slick-slide img { min-width: 100%; }

.slick-prev:before, .slick-next:before { color: var(--main-color); opacity: 1; font-size: 30px; }
.slick-prev { width: 30px; height: 30px; left: -35px; z-index: 100; } 
.slick-next { width: 30px; height: 30px; right: -35px; z-index: 100; }
@media( 768px > width ) {
	.slick-prev { width: 30px; height: 30px; left: 5px; margin-top: -1rem; z-index: 100; } 
	.slick-next { width: 30px; height: 30px; right: 5px; margin-top: -1rem; z-index: 100; }
}


.mainvisual {
	position: relative; 
	.mainbody { width: 100%; height: 100%; top: 0; left: 0; position: absolute; display: flex; justify-content: center; align-items: center; z-index: 1000; }
	.mainbody .inner { padding: 1.5rem 3rem 2rem; font-weight: var(--bold); }
	&.frosted .mainbody .inner { -webkit-backdrop-filter: brightness(0.8) blur(7px); backdrop-filter: brightness(0.8) blur(7px); color: #FFFFFF; }
	.side1 .inner { max-width: 60%; margin-right: 40%; }
	.side2 .inner { max-width: 60%; margin-right: 20%; margin-left: 20%; }
	.side3 .inner { max-width: 60%; margin-left: 40%; }
}

.mainvisual.darken ul.auto_slider::after { width: 100%; height: 100%; position: absolute; background: #999; content: ""; top: 0; left: 0; mix-blend-mode: multiply; }

.mainvisual .mainbody .inner .top { font-size: 2.2rem; margin: 1.5rem auto; }
.mainvisual .mainbody .inner .sub { font-size: 1.15rem; margin: 1.5rem auto; }
.mainvisual .mainbody mark { background: none; color: var(--main-color); }
.mainvisual .mainbody .link { margin: 0; }
@media( 1080px > width ) {
	.mainvisual .mainbody .inner { padding: 5vw; }
	.mainvisual .mainbody .inner .top { font-size: 3.0vw; margin: 1.5rem auto; }
	.mainvisual .mainbody .inner .sub { font-size: 1.5vw; margin: 1.5rem auto; }
}
@media( 768px > width ){
	.mainvisual .mainbody { padding: 0 2rem 2rem; }
	.mainvisual .mainbody .inner { padding: 3vw 6vw; margin-right: 0; margin-left: 0; margin-top: 0; text-align: center; min-width: 95%; }
	.mainvisual .mainbody .inner .top { font-size: 5vw; margin: 0.5rem auto; }
	.mainvisual .mainbody .inner .sub { font-size: 3.4vw; margin: 0.5rem auto; }
}

.auto_slider li img { height: 100%; }

.slddot1 .slick-dotted.slick-slider { margin-bottom: 0px; }
.slddot1 .slick-dots { display: none !important; }
.slddot2 .slick-dotted.slick-slider { margin-bottom: 3rem; }
.slddot2 .slick-dots { bottom: -2rem; }
.slddot2 .slick-dots li button,
.slddot2 .slick-dots li { height: 2rem; }
.slddot2 .slick-dots li button::before { line-height: 2rem; font-size: 0.8rem; height: 2rem; }
.slddot3 .slick-dotted.slick-slider { margin-bottom: 0px; }
.slddot3 .slick-dots { bottom: 0; filter: invert( 100% ); z-index: 2000; }
.slddot3 .slick-dots li button,
.slddot3 .slick-dots li { height: 2rem; }
.slddot3 .slick-dots li button::before { line-height: 2rem; font-size: 0.8rem; height: 2rem; }

@keyframes zoomUp { 0% { transform: scale(1);}100% {transform: scale(1.15);}}
.zoomin .slideanimation .images { animation: zoomUp 10000ms linear 0s normal both; }

.section2 { counter-reset: h3count; }
.section3 { counter-reset: h4count; }
.section4 { counter-reset: h5count; }
.section5 { counter-reset: h6count; }
h2 { counter-increment: h2count; }
h3 { counter-increment: h3count; }
h4 { counter-increment: h4count; }
h5 { counter-increment: h5count; }
h6 { counter-increment: h6count; }
ul.cnt { counter-reset: cnt; li { counter-increment: cnt; } }

p.terms1 { padding-left: 1.5rem; text-indent: -1.3rem; }
p.terms1::before { content: attr(data-num) ". "; margin-right: 0.3rem; }
p.terms2 { padding-left: 3rem; text-indent: -1.6rem; }
p.terms2::before { content: "(" attr(data-num) ") "; margin-right: 0.3rem; }

p a { color: var(--main-color); text-decoration: underline; }
p a:hover { color: var(--main-color); text-decoration: none; }

section .cms_concept.type1 .mainbody { padding-right: 0; }
section .cms_concept.type2 .mainbody { padding-left: 0; }
section .colorwrapper .cms_concept.type1 .mainbody { padding-left: 2rem; }
section .colorwrapper .cms_concept.type2 .mainbody { padding-right: 2rem; }
section .colorwrapper .cms_concept.type1 .images { margin-left: 0rem; }
section .colorwrapper .cms_concept.type2 .images { margin-right: 2rem; }
.cms_concept {
	display: flex;
	justify-content: space-between;
	align-items: center;
	&.type1 .mainbody { order: 2; flex: 1; padding-left: 4vw; }
	&.type1 .images { order: 1; margin-left: calc((100vw - 100%) / 2* -1); overflow: hidden; }
	&.type2 .mainbody { order: 1; flex: 1; padding-right: 4vw; }
	&.type2 .images { order: 2; margin-right: calc((100vw - 100%) / 2* -1); overflow: hidden; }
	.spimages { display: none; }
	.lbl { font-family: var(--google-fonts-head); font-weight: var(--bold); font-size: 1.2rem; margin-bottom: 0.5rem; margin-left: 0.2rem; }
	.ttl { font-weight: var(--bold); font-size: 2.5rem; margin-bottom: 1rem; }
	.txt { margin-bottom: 1rem; }
	.link { margin-bottom: 0; }
}
.asp2 .images { aspect-ratio: 1 / 1; position: relative; overflow: hidden; }
.asp3 .images { aspect-ratio: 3 / 2; position: relative; overflow: hidden; }
.asp4 .images { aspect-ratio: 4 / 3; position: relative; overflow: hidden; }
.asp5 .images { aspect-ratio: 16 / 9; position: relative; overflow: hidden; }
.asp6 .images { aspect-ratio: 1.618 / 1; position: relative; overflow: hidden; }
.asp7 .images { aspect-ratio: 1.414 / 1; position: relative; overflow: hidden; }
.asp8 .images { aspect-ratio: 2 / 1; position: relative; overflow: hidden; }
.asp9 .images { aspect-ratio: 3 / 1; position: relative; overflow: hidden; }
.align1 { text-align: left; }
.align2 { text-align: center; }
.align3 { text-align: right; }
.img_shadow .images { box-shadow: 3px 3px 6px #00000033; }
.img_photo .images { border: solid 8px #FFFFFF; }
.w1 .images { width: 10%; }.w2 .images { width: 15%; }.w3 .images { width: 20%; }.w4 .images { width: 25%; }.w5 .images { width: 30%; }.w6 .images { width: 35%; }.w7 .images { width: 40%; }.w8 .images { width: 45%; }.w9 .images { width: 50%; }.w10 .images { width: 55%; }.w11 .images { width: 60%; }.w12 .images { width: 65%; }.w13 .images { width: 70%; }.w14 .images { width: 75%; }.w15 .images { width: 80%; }.w16 .images { width: 85%; }.w17 .images { width: 90%; }
section:has(.cms_concept) { overflow: hidden; }
section:not(:has(.colorwrapper)) .cms_concept.w1 .images { width: calc((100vw - 100%) / 2 + 10%); }
section:not(:has(.colorwrapper)) .cms_concept.w2 .images { width: calc((100vw - 100%) / 2 + 15%); }
section:not(:has(.colorwrapper)) .cms_concept.w3 .images { width: calc((100vw - 100%) / 2 + 20%); }
section:not(:has(.colorwrapper)) .cms_concept.w4 .images { width: calc((100vw - 100%) / 2 + 25%); }
section:not(:has(.colorwrapper)) .cms_concept.w5 .images { width: calc((100vw - 100%) / 2 + 30%); }
section:not(:has(.colorwrapper)) .cms_concept.w6 .images { width: calc((100vw - 100%) / 2 + 35%); }
section:not(:has(.colorwrapper)) .cms_concept.w7 .images { width: calc((100vw - 100%) / 2 + 40%); }
section:not(:has(.colorwrapper)) .cms_concept.w8 .images { width: calc((100vw - 100%) / 2 + 45%); }
section:not(:has(.colorwrapper)) .cms_concept.w9 .images { width: calc((100vw - 100%) / 2 + 50%); }
section:not(:has(.colorwrapper)) .cms_concept.w10 .images { width: calc((100vw - 100%) / 2 + 55%); }
section:not(:has(.colorwrapper)) .cms_concept.w11 .images { width: calc((100vw - 100%) / 2 + 60%); }
section:not(:has(.colorwrapper)) .cms_concept.w12 .images { width: calc((100vw - 100%) / 2 + 65%); }
section:not(:has(.colorwrapper)) .cms_concept.w13 .images { width: calc((100vw - 100%) / 2 + 70%); }
section:not(:has(.colorwrapper)) .cms_concept.w14 .images { width: calc((100vw - 100%) / 2 + 75%); }
section:not(:has(.colorwrapper)) .cms_concept.w15 .images { width: calc((100vw - 100%) / 2 + 80%); }
section:not(:has(.colorwrapper)) .cms_concept.w16 .images { width: calc((100vw - 100%) / 2 + 85%); }
section:not(:has(.colorwrapper)) .cms_concept.w17 .images { width: calc((100vw - 100%) / 2 + 90%); }
.asp2 .inbackground .videowrapper video,.asp3 .inbackground .videowrapper video,.asp4 .inbackground .videowrapper video,.asp5 .inbackground .videowrapper video,.asp6 .inbackground .videowrapper video,.asp7 .inbackground .videowrapper video,.asp8 .inbackground .videowrapper video,.asp9 .inbackground .videowrapper video { position: absolute; top: 50%; left: 50%; transform: translate( -50%, -50% ); width: auto; max-width: none; max-height: none; height: 100%; }

@media(max-width:1023px) {
	.cms_concept {
		display: block;
		&.type1 .mainbody { padding: 0; }
		&.type2 .mainbody { padding: 0; }
		.lbl { text-align: center; }
		.ttl { font-size: 2.0rem; text-align: center; }
		.images { display: none; }
		.spimages { display: block; margin: 1rem auto; max-width: 80%; text-align: center; }
	}
}

ul.sgallery {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	section & { margin-inline: -1rem; }
	&.cols1 li { width: calc( 50% - 2rem ); margin: 0 1rem 2rem; }
	&.cols2 li { width: calc( 33.333% - 2rem ); margin: 0 1rem 2rem; }
	&.cols3 li { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; }
	&.cols4 li { width: calc( 20% - 2rem ); margin: 0 1rem 2rem; }
	&.cols5 li { width: calc( 16.666% - 2rem ); margin: 0 1rem 2rem; }
	&.cols6 li { width: calc( 14.285% - 2rem ); margin: 0 1rem 2rem; }
	&.cols7 li { width: calc( 12.5% - 2rem ); margin: 0 1rem 2rem; }
	& li {
		text-align: center;
		.images { margin-bottom: 0.5rem; }
		.ttl { font-size: 1.0rem; font-weight: var(--bold); margin-bottom: 0.5rem; }
		.txt { font-size: 0.8rem; opacity: 0.7; }
	}
}
@media( 768px > width ) {
	ul.sgallery {
		&.sp1 li { width: calc( 100% - 1rem ); margin: 0 0.5rem 2rem; }
		&.sp2 li { width: calc( 50% - 1rem ); margin: 0 0.5rem 2rem; }
		&.sp3 li { width: calc( 33.333% - 1rem ); margin: 0 0.5rem 2rem; }
		&.sp4 li { width: calc( 25% - 1rem ); margin: 0 0.5rem 2rem; }
	}
}

.newshead { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem; }

.cms_table {
	width: 100%;
	&.type1 {
		caption { margin-bottom: 0.4rem; text-align: center; font-size: 1.1rem; font-weight: var(--bold); }
		tr th { font-weight: var(--bold); padding: 0.2rem; text-align: left; }
		tr td { padding: 0.2rem; text-align: left; }
	}
	&.type2 {
		caption { margin-bottom: 0.4rem; text-align: center; font-size: 1.1rem; font-weight: var(--bold); }
		tr th { font-weight: var(--bold); padding: 0.2rem; border: 1px solid var(--text-color); text-align: left; }
		tr td { padding: 0.2rem; border: 1px solid var(--text-color); text-align: left; }
	}
	&.type3 {
		caption { margin-bottom: 0.4rem; text-align: center; font-size: 1.1rem; font-weight: var(--bold); }
		tr th { font-weight: var(--bold); padding: 0.5rem 0.8rem; text-align: left; }
		tr td { padding: 0.5rem 0.8rem; text-align: left; }
		tr th, tr td { border-top: 1px solid var(--main-color); border-bottom: 1px solid var(--main-color); }
		tr:nth-of-type(even) {
			th, td { background: var(--main-color-white); }
		}
	}
	&.type4 {
		border: 3px solid var(--text-color); border-width: 3px 0px;
		caption { margin-bottom: 0.4rem; text-align: center; font-size: 1.1rem; font-weight: var(--bold); }
		tr th { font-weight: var(--bold); }
		tr th, tr td { padding: 0.4rem 0.8rem; border-top: 1px solid var(--text-color); border-bottom: 1px solid var(--text-color); }
	}
	&.fixed_layout { table-layout: fixed; }
	&.th_center tr th { text-align: center; }
	&.td_center tr td { text-align: center; }
}
@media( 768px > width ) {
	.rwd_scroll:has( table ) { overflow: auto; white-space: nowrap; margin-bottom: 3rem; }
	.rwd_scroll::after { content: '← Scroll →'; font-size: 0.9rem; font-weight: var(--bold); opacity: 0.7; text-align: center; display: block; width: 100px; position: absolute; left: 50%; margin-left: -50px; line-height: 3rem; }
	.rwd_scroll > table { margin-bottom: 1rem; }
	.rwd_scroll:has( ul ) { overflow-x: auto; }
	.rwd_scroll .cms_table.fixed_layout { table-layout: auto; }
	.rwd_scroll .cms_table tr { th, td { min-width: 100px; } }
}

.newsinfo.type1 {
	display: flex; flex-wrap: wrap; margin: 0rem auto 0rem; justify-content: space-between; align-items: center;
	h2.ttl { width: 100%; margin: 0.5rem auto; font-size: 1.4rem; font-weight: var(--bold); letter-spacing: 0.05rem; }
	.date { opacity: 0.5; }
	.category a { display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; text-align: center; color: #FFFFFF; }
}

.column_column {
	display: flex;
	align-items: flex-start;
	.columns { width: 68%; margin: 0; }
	.side_column { width: 30%; margin-left: 3.5rem; }
	&.side_sticky { 
		align-items: flex-end; 
		.side_column { position: sticky; bottom: 0; }
	}
}
.end_column { margin: var(--mg-parts) auto; }
.side_column_contents { 
	margin: 0 auto var(--mg-parts); 
	ul.mini_column {
		li { 
			margin: 0.5rem auto;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			padding-bottom: 0.5rem;
			border-bottom: 1px solid var(--text-color-qtr);
			.images { width: 35%; margin-right: 0.8rem; }
			.mainbody {
				width: 60%; 
				font-size: 0.8rem;
				.information { display: flex; opacity: 0.7; align-items: center; .date { margin-right: 1rem; } }
				.ttl { font-size: 0.9rem; font-weight: var(--bold); max-height: 3.52rem; overflow: hidden; line-height: 1.333; a { color: var(--text-color); } }
			}
		}
		&.bigger li:nth-of-type(1) {
			flex-wrap: wrap;
			.mainbody, .images { width: 100%; margin: 0 auto 0.5rem; }
		}
		li:last-of-type { padding-bottom: 0; border-bottom: 0px; }
	}
}
.columns {
	.column_information {
		.column_dates {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			margin-bottom: 0.5rem;
			* { margin-right: 0.5rem; }
			.date { opacity: 0.5; }
			.category a { display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; text-align: center; color: #FFFFFF; }
		}
		h2.ttl { font-size: 2.0rem; font-weight: var(--bold ); margin: 1.0rem auto 1.25rem; }
		.images { margin: 0.5rem auto; }
		.column_topcomments { padding: 1rem; border: 1px solid var(--text-color-half); margin: var(--mg-text) auto; }
	}
}
.column_index {
	margin: var(--mg-text) auto; 
	counter-reset: index_1;
	border: 1px solid var(--text-color-half);
	padding: 1.5rem;
	&.type1 {
		&::before { content: '目次'; display: block; margin: 0 auto 0.5rem; font-size: 1.3rem; }
		a { display: block; margin: 0.3rem auto; &::before { margin-right: 0.5rem; } }
		a.p3 { counter-reset: index_2; font-size: 1.1rem; color: var(--text-color); font-weight: var(--bold); &::before { content: counter(index_1) '.'; color: var(--main-color); counter-increment: index_1; }}
		a.p4 { font-size: 0.95rem; color: var(--text-color); font-weight: var(--bold); &::before { content: counter(index_1) '-' counter(index_2) '.'; color: var(--main-color); padding-left: 1.0rem; counter-increment: index_2; }}
	}
}
@media( 768px > width ) {
	.column_column { display: block; max-width: 500px; margin: 0 auto; .columns, .side_column { width: 100%; margin: 0 auto; } }
	.end_column { margin: var(--sp-parts) auto; }
	.side_column_contents { margin: 0 auto var(--sp-parts); }
	.column_index { margin: var(--sp-text) 0; }
	.columns .column_information .column_topcomments { padding: var(--sp-text); margin: var(--sp-text) auto; }
}

section.events {
	h2.ttl { width: 100%; margin: 0.5rem auto; font-size: 2.0rem; font-weight: var(--bold); }
	h3 { color: var(--main-color); font-size: 1.6rem; margin-bottom: 1.0rem; font-weight: var(--bold); }
	.googlemap_wrap { height: 30vh; }
}
.eventinfo.type1 {
	display: flex; flex-wrap: wrap; margin: 0 auto 2rem; justify-content: space-between; align-items: center;
	.images { width: 100%; margin: 1rem auto; text-align: center; height: 35vh; }
	.date { opacity: 0.5; }
	.category a { display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; text-align: center; color: #FFFFFF; }
	.information { width: 100%; margin: 1rem auto; }
}

.beforeafter {
	&.fonts2 { font-family: var(--google-fonts-navi); }
	&.fonts3 { font-family: var(--google-fonts-head); }
	&.fonts4 { font-family: var(--google-fonts-lowmv); }
	&.arrow1 .arrow { width: 3rem; height: 3rem; line-height: 3rem; text-align: center; background: #FFFFFF; border-radius: 3rem; font-size: 2rem; margin-inline: -1.2rem; z-index: 1; box-shadow: 2px 2px 4px var(--text-color-qtr); }
	&.arrow2 .arrow { width: 3rem; height: 3rem; line-height: 3rem; text-align: center; background: #FFFFFF; border-radius: 3rem; font-size: 2rem; margin-inline: -1.2rem; z-index: 1; box-shadow: 2px 2px 4px var(--text-color-qtr); }
	&.arrow3 .arrow { width: 3rem; height: 3rem; line-height: 3rem; text-align: center; font-size: 2rem; margin-inline: -1.2rem; z-index: 1; }
	&.arrow4 .arrow { width: 3rem; height: 3rem; line-height: 3rem; text-align: center; font-size: 2rem; margin-inline: -1.2rem; z-index: 1; }
	&.txt1 { .imgwrapper .lbl { display: none; } }
	&.type1 {
		display: flex; justify-content: space-between; align-items: center;
		.imgwrapper { flex: 1; position: relative; }
		&.txt2 .imgwrapper .lbl { position: absolute; font-size: 1.5rem; top: 0.3rem; width: 100%; text-align: center; left: 0; }
		&.txt3 .imgwrapper .lbl { position: absolute; font-size: 1.5rem; bottom: 0.5rem; width: 100%; text-align: center; left: 0; }
	}
	&.type2 {
		display: flex; justify-content: space-between; align-items: center;
		.imgwrapper { display: flex; flex-wrap: wrap; flex: 1; position: relative; border: 4px solid var(--color); border-radius: 0.5rem; overflow: hidden; .images { order: 2; width: 100%; } }
		&.txt2 .imgwrapper .lbl { order: 1; position: relative; font-size: 1.3rem; width: 100%; text-align: center; padding: 0.2rem 1rem; background: var(--color); letter-spacing: 0.1rem; line-height: 1; }
		&.txt3 .imgwrapper .lbl { order: 3; position: relative; font-size: 1.3rem; width: 100%; text-align: center; padding: 0.2rem 1rem; background: var(--color); letter-spacing: 0.1rem; line-height: 1; }
	}
}
@media( 768px > width ) {
	.beforeafter {
		&.type1 {
			flex-wrap: wrap;
			.imgwrapper { width: 100%; flex: auto; }
			.arrow { transform: rotate( 90deg ) scale( 0.8 ); margin: -2vh auto; }
		}
	}
}


.calendar { 
	margin: 2rem auto; user-select: none;
	.calendar_header {
		display: flex;
		margin: 1rem auto;
		justify-content: center;
		align-items: center;
		a { padding: 0.2rem 1rem; background: var(--main-color); color: #FFFFFF; }
		a[aria-disabled="true"] { background: var(--text-color-half); opacity: 0.3; cursor: default; }
		span { font-size: 1.25rem; font-weight: var(--bold); display: block; margin: 0 1rem; }
	}
	.calendar_weekday {
		display: flex;
		margin: 0.2rem auto;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.calendar_days {
		display: grid;
		grid-template-columns: repeat(7, 1fr);
		gap: 0.5rem;
	}
	.calendar_dow {
		text-align: center;
		padding: 0rem;
		font-size: 0.8rem;
	}
	.calendar_cell {
		background: var(--weekday-bg);
		color: var(--weekday-color);
		padding: 0.5rem;
		border-radius: 5px;
		text-align: center;
		min-height: 5rem;
		border: 1px solid var(--text-color);
		&.today { box-shadow: 0px 0px 0px 3px var(--main-color-light); }
		p {
			font-size: 1rem;
			font-weight: var(--bold);
			margin-bottom: 0.2rem;
			min-width: 4rem;
		}
	}
	.calendar_overcell {
		padding: 0.5rem;
		border-radius: 5px;
		text-align: center;
		min-height: 5rem;
		border: 1px solid transparent;
		p {
			font-size: 1rem;
			font-weight: var(--bold);
			margin-bottom: 0.2rem;
			min-width: 4rem;
		}
	}
}
.calendar.business_calendar {
	max-width: 300px;
	margin: 0.5rem auto;
	.calendar_header {
		margin: 0.5rem auto;
		font-size: 0.8rem;
		span { font-size: 1.0rem; }
	}
	.calendar_days { gap: 0.1rem; }
	.calendar_cell {
		padding: 0.25rem;
		min-height: 1rem;
		border: 1px solid var(--text-color);
		border-radius: 4px;
		p { font-size: 0.8rem; margin: 0; min-width: auto; }
	}
	.calendar_overcell {
		min-height: 1rem;
		padding: 0.25rem;
		p { min-width: auto; font-size: 0.8rem; margin: 0; }
	}
}
.calendar[data-month="0"] {
	.prev_month,
	.next_month { display: none; }
}
.weekday_type0 {	.wd0::before { content: '日'; color: var(--holiday-color); }	.wd1::before { content: '月'; color: var(--weekday-color); }	.wd2::before { content: '火'; color: var(--weekday-color); }	.wd3::before { content: '水'; color: var(--weekday-color); }	.wd4::before { content: '木'; color: var(--weekday-color); }	.wd5::before { content: '金'; color: var(--weekday-color); }	.wd6::before { content: '土'; color: var(--saturday-color); }}
.weekday_type1 {	.wd0::before { content: 'にち'; color: var(--holiday-color); }	.wd1::before { content: 'げつ'; color: var(--weekday-color); }	.wd2::before { content: 'か'; color: var(--weekday-color); }	.wd3::before { content: 'すい'; color: var(--weekday-color); }	.wd4::before { content: 'もく'; color: var(--weekday-color); }	.wd5::before { content: 'きん'; color: var(--weekday-color); }	.wd6::before { content: 'ど'; color: var(--saturday-color); }}
.weekday_type2 {	.wd0::before { content: 'Sun'; color: var(--holiday-color); }	.wd1::before { content: 'Mon'; color: var(--weekday-color); }	.wd2::before { content: 'Tue'; color: var(--weekday-color); }	.wd3::before { content: 'Wed'; color: var(--weekday-color); }	.wd4::before { content: 'Thu'; color: var(--weekday-color); }	.wd5::before { content: 'Fri'; color: var(--weekday-color); }	.wd6::before { content: 'Sat'; color: var(--saturday-color); }}

.calendar_information {
	dl {
		display: flex;
		align-items: center;
		justify-content: center;
		dt { width: 2rem; height: 1rem; border-radius: 4px; margin: 0 0.5rem; }
		dd { font-size: 0.9rem; font-weight: var(--bold); }
	}
}

/* 予約可能時間のリンクスタイル */
.time_slot {
	display: inline-block;
	margin: 2px; padding: 0.1rem 0.5rem; background: var(--accent-color); 
	color: #fff;
	font-weight: var(--bold);
	font-size: 0.8rem !important;
	border-radius: 5px;
}
p.time_slot { background: #DDD; }
a.time_slot:active,
a.time_slot:focus,
a.time_slot:hover { color: #FFF; opacity: 0.8; }


section.doublecolumn {
	& > .wrapper { display: flex; gap: 3rem; }
	& section.columnparts { margin: 0; }
	&.double1 section.columnparts:nth-of-type(1) { width: calc( 25.00% - 1.5rem ); } &.double1 section.columnparts:nth-of-type(2) { width: calc( 75.00% - 1.5rem ); }
	&.double2 section.columnparts:nth-of-type(1) { width: calc( 33.33% - 1.5rem ); } &.double2 section.columnparts:nth-of-type(2) { width: calc( 66.66% - 1.5rem ); }
	&.double3 section.columnparts:nth-of-type(1) { width: calc( 41.66% - 1.5rem ); } &.double3 section.columnparts:nth-of-type(2) { width: calc( 58.33% - 1.5rem ); }
	&.double4 section.columnparts:nth-of-type(1) { width: calc( 50.00% - 1.5rem ); } &.double4 section.columnparts:nth-of-type(2) { width: calc( 50.00% - 1.5rem ); }
	&.double5 section.columnparts:nth-of-type(1) { width: calc( 58.33% - 1.5rem ); } &.double5 section.columnparts:nth-of-type(2) { width: calc( 41.66% - 1.5rem ); }
	&.double6 section.columnparts:nth-of-type(1) { width: calc( 66.66% - 1.5rem ); } &.double6 section.columnparts:nth-of-type(2) { width: calc( 33.33% - 1.5rem ); }
	&.double7 section.columnparts:nth-of-type(1) { width: calc( 75.00% - 1.5rem ); } &.double7 section.columnparts:nth-of-type(2) { width: calc( 25.00% - 1.5rem ); }
	@media( max-width: 1023px ) {
		& > .wrapper { display: block; }
		&.double1 section.columnparts:nth-of-type(1) { width: 100%; } &.double1 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double2 section.columnparts:nth-of-type(1) { width: 100%; } &.double2 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double3 section.columnparts:nth-of-type(1) { width: 100%; } &.double3 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double4 section.columnparts:nth-of-type(1) { width: 100%; } &.double4 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double5 section.columnparts:nth-of-type(1) { width: 100%; } &.double5 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double6 section.columnparts:nth-of-type(1) { width: 100%; } &.double6 section.columnparts:nth-of-type(2) { width: 100%; }
		&.double7 section.columnparts:nth-of-type(1) { width: 100%; } &.double7 section.columnparts:nth-of-type(2) { width: 100%; }
	}
}

/* ******************************************* */
/*		  コンテンツ一覧
/* ******************************************* */
ul.at_news {
	&.type1 {
		li { padding: 1.5rem; border-top: 1px solid var(--text-color-qtr); .inner { display: flex; justify-content: space-between; } &:last-of-type { border-bottom: 1px solid var(--text-color-qtr); }}
		.date { margin-right: 1rem; }
		.category a { width: 150px; display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; text-align: center; color: #FFFFFF; }
		.tags { width: auto; margin-left: 1rem; }
		.ttl { margin-left: 1rem; flex: 1; }
		.ttl a { text-decoration: underline; &:hover { text-decoration: none; }}
		@media( 768px > width ) {
			li { padding: 1.5rem 0; .inner { flex-wrap: wrap; } }
			.tags { width: 100%; margin: 0.5rem auto; }
			.ttl { width: 100%; height: 1.5rem; overflow: hidden; margin-left: 0; flex: auto; }
		}
	}
	&.type2 {
		li { padding: 0.5rem 2rem; border-top: 1px solid var(--text-color-qtr); .inner { display: flex; flex-wrap: wrap; } &:last-of-type { border-bottom: 1px solid var(--text-color-qtr); }}
		.date { margin-right: 1rem; }
		.tags { width: auto; margin-left: 1rem; }
		.category a { padding: 0.2rem 1rem; display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; color: #FFFFFF; }
		.ttl { width: 100%; }
		.ttl a { text-decoration: underline; &:hover { text-decoration: none; }}
		@media( 768px > width ) {
			li { padding: 0.5rem 0; }
		}
	}
	&.type3 .images { aspect-ratio: 4 / 3; overflow: hidden; }
	&.type4 .images { aspect-ratio: 16 / 9; overflow: hidden; }
	&.type3, &.type4 {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1rem; margin-right: -1rem;
		li { width: calc( 33.33% - 2rem ); margin: 1rem; border-radius: 8px; box-shadow: 5px 5px 10px rgba( 0,0,0,0.1); overflow: hidden; 
			.inner { background: var(--base-color-var); height: 100%; }
			.mainbody { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem; flex-wrap: wrap; }
			.category a { padding: 0.2rem 1rem; display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; color: #FFFFFF; }
			.ttl { width: 100%; margin: 0.3rem auto; }
			.ttl a { color: var(--main-color); font-weight: var(--bold); font-size: 1.2rem; }
		}
		@media( 768px > width ) {
			& { justify-content: center; }
			li { width: 100%; max-width: 320px; }
		}
	}
}

ul.at_column {
	a:hover { filter: brightness( 1.1 ); }
	&.typechain {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1rem; margin-right: -1rem;
		li {
			width: calc( 25% - 2rem ); margin: 1rem; box-shadow: 3px 3px 5px rgba( 0,0,0,0.4); overflow: hidden; background: var(--base-color-var);
			.images { position: relative; }
			.mainbody { padding: 0.8rem; }
			.information { display: flex; justify-content: space-between; align-items: center; }
			.date { font-size: 0.8rem; opacity: 0.8; }
			.category { font-size: 1.0rem; }
			.ttl { width: 100%; margin: 0.3rem auto; color: var(--text-color); font-weight: var(--bold); font-size: 1.0rem; a { color: var(--text-color); }}
		}
		@media( 768px > width ) {
			& { justify-content: center; margin: 1rem auto; }
			li { width: 100%; max-width: 320px; }
		}
	}
	&.type1 {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1rem; margin-right: -1rem;
		li { width: calc( 33.33% - 2rem ); margin: 1rem; box-shadow: 3px 3px 5px rgba( 0,0,0,0.4); overflow: hidden; background: var(--base-color-var); 
			.images { 
				position: relative;
			}
			.mainbody { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 1.2rem; flex-wrap: wrap; }
			.information { display: flex; justify-content: space-between; align-items: center; }
			.date { font-size: 0.8rem; opacity: 0.8; }
			.category a { padding: 0.2rem 1rem; display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; color: #FFFFFF; }
			.tags { margin: 0.5rem auto; }
			.ttl { width: 100%; margin: 0.3rem auto; color: var(--text-color); font-weight: var(--bold); font-size: 1.2rem; a { color: var(--text-color); } }
			// .pickup_column .ttl::before { content: 'PICKUP'; background: var(--main-color); color: #FFFFFF; font-size: 0.8rem; padding: 0.2rem 0.4rem; margin-right: 0.3rem; }
		}
		@media( 768px > width ) {
			& { justify-content: center; margin: 1rem auto; }
			li { width: 100%; max-width: 320px; }
		}
	}
}

ul.at_event {
	&.type1 .images { aspect-ratio: 4 / 3; overflow: hidden; }
	&.type2 .images { aspect-ratio: 16 / 9; overflow: hidden; }
	&.type1, &.type2 {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1rem; margin-right: -1rem;
		.images { 
			position: relative; 
			.amount { position: absolute; bottom: 1rem; left: 1rem; width: calc( 100% - 1rem ); color: #FFFFFF; font-weight: var(--bold); text-shadow: 0 0 0.2rem rgba( 0,0,0,0.5); pointer-events: none; } 
			.category a { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.2rem 1rem; display: inline-block; border-radius: 4px; font-size: 0.8rem; font-weight: var(--bold); padding: 0.2rem 1rem; color: #FFFFFF; }
		}
		li { width: calc( 33.33% - 2rem ); margin: 1rem; border-radius: 8px; box-shadow: 3px 3px 5px rgba( 0,0,0,0.4); overflow: hidden; 
			.inner { background: var(--base-color-var); height: 100%; position: relative; }
			.mainbody { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 1.2rem 5rem; flex-wrap: wrap; }
			.status { color: #FFFFFF; border-radius: 4px; font-weight: var(--bold); padding: 0.2rem 0.5rem; font-size: 0.8rem; }
			.status.open { background: var(--main-color); }
			.status.close { background: #999999; }
			.date { text-align: center; font-size: 0.85rem; font-weight: bold; }
			.place { width: 100%; text-align: right; font-size: 0.9rem; opacity: 0.65; margin: 0.3rem auto;  }
			.ttl { width: 100%; margin: 0.3rem auto; color: var(--main-color); font-weight: var(--bold); font-size: 1.2rem; }
			.comment { font-size: 0.8rem; line-height: 1.33rem; max-height: 4.0rem; overflow: hidden; }
			.link { position: absolute; width: 100%; bottom: 1rem; left: 0; margin: 0; }
		}
		@media( 768px > width ) {
			& { justify-content: center; }
			li { width: 100%; max-width: 320px; }
		}
	}
}

ul.at_menu {
	&.type1 {
		li {
			&:nth-of-type(1) { border-top: 1px solid var(--text-color-half); }
			border-bottom: 1px solid var(--text-color-half);
			.inner { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; padding: 0.5rem 0; & > div:nth-of-type(2) { flex: 1; } }
			.ttl { font-weight: var(--bold); font-size: 1.1rem; .sub { font-weight: var(--normal); font-size: 0.8rem; } }
			dl { white-space: nowrap; flex: 1; display: flex; align-items: baseline; justify-content: flex-end; dt { font-size: 0.8rem; opacity: 0.9; margin-right: 1rem; } dd { font-weight: var(--bold); min-width: 4rem; text-align: right; } }
			dl:nth-of-type(n+2) { width: 100%; flex: auto; }
			.caution { width: 100%; opacity: 0.7; font-size: 0.85rem; p { margin-top: 0.3rem; &::before { content: '※ '; } } }
		}
	}
	&.type2 {
		display: grid;
		grid-template-columns: repeat( auto-fill, minmax( 268px, 1fr ) );
		gap: 1rem;
		max-width: calc( 98vw - 2rem );
		li {
			.images{ aspect-ratio: 4 / 3; overflow: hidden; }
			.ttl { font-weight: var(--bold); font-size: 1.1rem; .sub { font-weight: var(--normal); margin: 0.25rem auto; font-size: 0.8rem; } }
			.comment { font-size: 0.8rem; margin: 0.25rem auto; }
			dl { font-weight: var(--bold); font-size: 0.9rem; display: flex; align-items: flex-start; justify-content: flex-end; dt { margin-right: 1.5rem; } dd { min-width: 25%; } }
			.caution { width: 100%; opacity: 0.7; font-size: 0.85rem; p { margin-top: 0.3rem; &::before { content: '※ '; } } }
		}
	}
}

/* ******************************************* */
/*		  メールフォーム
/* ******************************************* */
.mailform {
	& table {
		width: 100%;
		& input.zipcode { width: 5.2rem !important; }
		& input.ss { width: 4rem !important; }
		& input.s { width: 6rem !important; }
		& input.m { width: 10rem !important; }
		& input.l { width: 20rem !important; }
		& textarea { width: 20rem; height: 10rem; }
		& label { display: inline-block; margin-right: 1rem; }
		& select,& textarea,& input { font-family: var(--google-fonts); font-size: 0.9rem; padding: 8px; border: 1px solid #999999; border-radius: 4px; }
		& select + input, & input + input, & input + select { margin-left: 4px; }
		.terms { margin: 0 auto 1rem; text-align: left; border: 1px solid var(--text-color); background: var(--base-color); padding: 0.5rem 1rem; height: 10rem; overflow-y: scroll; border-radius: 8px; font-size: 0.75rem; }
		.terms p.maintitle { font-size: 0.8rem; font-weight: var(--bold);}
		.terms p { margin-bottom: 0.5rem; }
	}
	&.type0,
	&.type1 {
		& table {
			width: 100%; max-width: 980px; margin: 0 auto;
			& tr th { font-weight: var(--bold); width: 25%; text-align: left; border-bottom: 1px solid var(--text-color-qtr); }
			& tr td { padding: 1.5rem 1rem; border-bottom: 1px solid var(--text-color-qtr); }
			& input[type="text"].etc { width: 8rem; margin-left: 0.5rem; }
			& input[type="text"],
			& input[type="email"] { width: 15rem; }
			& tr th .needs { background: var(--main-color); font-size: 0.8rem; color: #FFFFFF; padding: 0px 4px; margin: 2px 4px; border-radius: 5px; }
		}
		input[type="submit"] {
			font-family: var(--google-fonts);
			border: 2px solid var(--main-color);
			background: var(--main-color);
			font-weight: var(--bold); margin: 1rem auto;
			display: block; padding: 0.2rem 1rem;
			border-radius: 4px;
			color: #FFF;
			cursor: pointer;
			&:hover { opacity: 0.7; }
		}
		.terms {
			margin: 0 auto 1rem;
			text-align: left;
			border: 1px solid var(--text-color);
			background: var(--base-color);
			padding: 0.5rem 1rem;
			height: 10rem;
			overflow-y: scroll;
			border-radius: 8px;
			font-size: 0.75rem;
		}
		.terms p.maintitle { font-size: 0.8rem; font-weight: var(--bold);}
		.terms p { margin-bottom: 0.5rem; }
		.sub { display: block; font-size: 0.7rem; font-weight: normal; color: var(--main-color);}
	}
	@media( 768px > width ){
		& table {
			tr, tbody, tr th, tr td { display: block !important; text-align: center !important; width: 100% !important; }
			select, textarea, input { max-width: 80% !important; margin: 2px; }
		}
		& table tr th { border: none !important; padding-top: 0.8rem !important; }
		& table tr td { padding: 0.5rem 1rem 1.25rem !important; margin-bottom: 0.5rem !important; border-bottom: 1px solid rgba( 0, 0, 0, 0.18 ) !important; }
		& table tr:last-of-type td { border-bottom: none !important; }
	}
}
span.required { color: var(--alert-color); font-weight: var(--bold); margin: 0 0.5rem; display: inline-block; }

.profile {
	text-align: center;
	.mainbody { margin: 2rem auto; }
	&.horizontal { 
		display: flex; justify-content: center; align-items: center; 
		.images { margin: 0; }
		.mainbody { margin: 0 0 0 2rem; text-align: left; flex: 1; }
	}
	.images { aspect-ratio: 1 / 1; margin: 0 auto 1.5rem; }
	&.imgtype2 .images { border-radius: 100rem; } 
	.subttl { font-size: 0.9rem; margin-bottom: 0.5rem; }
	.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 0.5rem; }
	.txt { margin: 1rem auto; font-size: 1.0rem; }
	@media( 768px > width ) {
		&.horizontal { 
			display: block;
			.images { margin: 0 auto 1.5rem; }
			.mainbody { margin: 2rem auto; }
		}
	}
}

.interlocutor {
	display: flex; margin: 0.25rem auto;
	justify-content: flex-start;
	&.type2 { justify-content: flex-end; }
	.user { width: 100px; order: 0; }
	.voice { order: 1; }
	&.max_voice .voice { flex: 0.95; }
	&.type2 .user { order: 1; }
	&.type2 .voice { order: 0; }
	.user .images { margin-bottom: 0.25rem; overflow: hidden; box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.25 ); }
	&.circle .user .images { border-radius: 1000px; box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.25 ); aspect-ratio: 1 / 1; }
	.user p { font-size: 0.85rem; font-weight: bold; text-align: center; }

	.voice {
		display: flex;
		align-items: center;
		.type1 & { margin-left: 2rem; }
		.type2 & { margin-right: 2rem; }
		p { font-size: 0.85rem; font-weight: bold; text-align: left; margin-bottom: 0.3rem; }
		.type2 & p { text-align: right; }
		.voice_text {
			.fukidashi.type1 { position: relative; border-radius: 1rem; padding: 1rem; z-index: 10; }
			.fukidashi.type2 { position: relative; border-radius: 1rem; padding: 1rem; z-index: 10; }
			.fukidashi.type3 { position: relative; padding: 1rem; font-size: 125%; z-index: 10; }
		}
	}
	&.drop_shadow .voice_text { filter: drop-shadow( 0px 0px 2px var(--text-color) ); }
	&.type1 .fukidashi.type1::after { content: ''; background: inherit; width: 4rem; height: 2rem; position: absolute; top: 1.0rem; left: -2rem; clip-path: polygon(100% 0,100% 100%, 0 35%); z-index: -1; }
	&.type2 .fukidashi.type1::after { content: ''; background: inherit; width: 4rem; height: 2rem; position: absolute; top: 1.0rem; right: -2rem; clip-path: polygon( 0 0, 100% 35%, 0 100% ); z-index: -1; }
	&.type1 .fukidashi.type2::before { content: ''; background: inherit; position: absolute; width: 1rem; height: 1rem; top: 0.8rem; left: -0.8rem; clip-path: circle( 0.5rem ); z-index: -1; }
	&.type1 .fukidashi.type2::after { content: ''; background: inherit; position: absolute; width: 0.6rem; height: 0.6rem; top: 1.2rem; left: -1.6rem; clip-path: circle( 0.3rem ); z-index: -1; }
	&.type2 .fukidashi.type2::before { content: ''; background: inherit; position: absolute; width: 1rem; height: 1rem; top: 0.8rem; right: -0.8rem; clip-path: circle( 0.5rem ); z-index: -1; }
	&.type2 .fukidashi.type2::after { content: ''; background: inherit; position: absolute; width: 0.6rem; height: 0.6rem; top: 1.2rem; right: -1.6rem; clip-path: circle( 0.3rem ); z-index: -1; }
	& .fukidashi.type3::before { content: ''; position: absolute; width: calc( 100% + 2rem ); height: calc( 100% + 2rem ); top: -1rem; left: -1rem; background: inherit; mask-image: url('/img/picture/togetoge/'); mask-size: 100% 100%; z-index: -1; }
	&.type1 .fukidashi.type3::after { content: ''; background: inherit; width: 4rem; height: 2rem; position: absolute; top: 1.0rem; left: -2rem; clip-path: polygon(100% 0,100% 100%, 0 35%); z-index: -1; }
	&.type2 .fukidashi.type3::after { content: ''; background: inherit; width: 4rem; height: 2rem; position: absolute; top: 1.0rem; right: -2rem; clip-path: polygon( 0 0, 100% 35%, 0 100% ); z-index: -1; }
}

.strongtext {
	font-size: 2.2rem;
	font-weight: var(--bold);
	.text {
		b, strong { font-size: 120%; color: var(--color); }
	}
}
.masktext {
	font-size: 2.2rem;
	text-align: center;
	font-weight: var(--bold);
	b, strong { color: inherit; font-size: 120%; }
}
@media( 768px > width ) {
	.strongtext { font-size: 1.7rem; }
	.masktext { font-size: 1.5rem; }
}

main > section.connect002 {
	mask-image:url('/img/picture/clip001s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 5vmin, 100% 100%, 100% 5vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -5.2vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vmin; }
}
main > *:has(+ section.connect002) { padding-bottom: calc( 2.5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > *:has(+ section.connect002) { padding-bottom: calc( 2.5vmin + 5vh ) !important; }
}

main > section.connect003 {
	mask-image: url('/img/picture/clip002s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 10vmin, 100% 100%, 100% 10vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -10.5vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vmin; }
}
main > *:has(+ section.connect003) { padding-bottom: calc( 5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > *:has(+ section.connect003) { 
		padding-bottom: calc( 5vmin + 5vh ) !important; 
	} 
}

main > section.connect004 {
	mask-image: url('/img/picture/clip003s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 69px 100px, 100% 100%, 100% 100px;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: repeat-x;
	margin-top: -100px; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 50px; }
}
main > *:has(+ section.connect004) { padding-bottom: calc( 50px + 4rem ) !important; }
@media( 768px > width ) { 
	main > section.connect004::before { height: 80px; }
	main > *:has(+ section.connect004) { padding-bottom: calc( 60px + 5vh ) !important; 
	} 
}

main > section.connect005 {
	mask-image: url('/img/picture/clip004s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 7vmin, 100% 100%, 100% 7vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -7vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 6.5vmin; }
}
main > *:has(+ section.connect005) { padding-bottom: calc( 3.5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > *:has(+ section.connect005) { padding-bottom: calc( 3.5vmin + 5vh ) !important; } 
}

main > section.connect006 {
	mask-image: url('/img/picture/clip005s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 10vmin, 100% 100%, 100% 10vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -10vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 8.5vmin; }
}
main > *:has(+ section.connect006) { padding-bottom: calc( 5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > *:has(+ section.connect006) { padding-bottom: calc( 5vmin + 5vh ) !important; } 
}

main > section.connect007 {
	mask-image: url('/img/picture/clip006s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 15vmin, 100% 100%, 100% 15vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -15vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 13.5vmin; }
}
main > *:has(+ section.connect007) { padding-bottom: calc( 7.5vmin + 4rem ) !important; }
@media( 768px > width ) {
	main > section.connect007 { mask-size: 100% 10vmin, 100% 100%, 100% 10vmin; margin-top: -10vmin; &::before { height: 10vmin; } }
	main > *:has(+ section.connect007) { padding-bottom: calc( 5vmin + 5vh ) !important; }
}

main > section.connect008 {
	mask-image: url('/img/picture/clip007s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 30vmin, 100% 100%, 100% 30vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -30vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 26vmin; }
}
main > *:has(+ section.connect008) { padding-bottom: calc( 5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > section.connect008 { mask-size: 100% 20vmin, 100% 100%, 100% 20vmin; margin-top: -20vmin; &::before { height: 16vmin; } }
	main > *:has(+ section.connect008) { padding-bottom: calc( 5vmin + 5vh ) !important; }
}

main > section.connect009 {
	mask-image: url('/img/picture/clip008s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 30vmin, 100% 100%, 100% 30vmin;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -30vmin; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 26vmin; }
}
main > *:has(+ section.connect009) { padding-bottom: calc( 5vmin + 4rem ) !important; }
@media( 768px > width ) { 
	main > section.connect009 { 
		mask-size: 100% 20vmin, 100% 100%, 100% 20vmin; margin-top: -20vmin; &::before { height: 16vmin; } 
	}
	main > *:has(+ section.connect009) { padding-bottom: calc( 5vmin + 5vh ) !important; 
	} 
}

main > section.connect010 {
	mask-image: url('/img/picture/clip009s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 50px 50px, 100% 100%, 100% 50px;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: repeat-x;
	margin-top: -50px; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 50px; }
}
main > *:has(+ section.connect010) { padding-bottom: 4rem !important; }
@media( 768px > width ) { main > section.connect010 { mask-size: 30px 30px, 100% 100%, 30px 30px; margin-top: -30px; &::before { height: 30px; } } main > *:has(+ section.connect010) { padding-bottom: calc( 15px + 5vh ) !important; } }

main > section.connect011 {
	mask-image: url('/img/picture/clip010s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 9vw, 100% 100%, 100% 9vw;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -9vw; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 9vw; }
}
main > *:has(+ section.connect011) { padding-bottom: calc( 4vw + 4rem ) !important; }
@media( 768px > width ) { main > section.connect011 { mask-size: 100% 9vw, 100% 100%, 100% 9vw; margin-top: -9vw; &::before { height: 9vw; } } main > *:has(+ section.connect011) { padding-bottom: calc( 5vw + 5vh ) !important; } }

main > section.connect012 {
	mask-image: url('/img/picture/clip011s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 5vw, 100% 100%, 100% 5vw;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -5vw; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vw; }
}
main > *:has(+ section.connect012) { padding-bottom: calc( 3vw + 4rem ) !important; }
@media( 768px > width ) { main > section.connect012 { mask-size: 100% 5vw, 100% 100%, 100% 5vw; margin-top: -5vw; &::before { height: 5vw; } } main > *:has(+ section.connect012) { padding-bottom: calc( 2.5vw + 5vh ) !important; } }

main > section.connect013 {
	mask-image: url('/img/picture/clip012s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 5vw, 100% 100%, 100% 5vw;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -5vw; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vw; }
}
main > *:has(+ section.connect013) { padding-bottom: calc( 3vw + 4rem ) !important; }
@media( 768px > width ) { main > section.connect013 { mask-size: 100% 5vw, 100% 100%, 100% 5vw; margin-top: -5vw; &::before { height: 5vw; } } main > *:has(+ section.connect013) { padding-bottom: calc( 2.5vw + 5vh ) !important; } }

main > section.connect014 {
	mask-image: url('/img/picture/clip013s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 5vw, 100% 100%, 100% 5vw;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -5vw; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vw; }
}
main > *:has(+ section.connect014) { padding-bottom: calc( 3vw + 4rem ) !important; }
@media( 768px > width ) { main > section.connect014 { mask-size: 100% 5vw, 100% 100%, 100% 5vw; margin-top: -5vw; &::before { height: 5vw; } } main > *:has(+ section.connect014) { padding-bottom: calc( 2.5vw + 5vh ) !important; } }

main > section.connect015 {
	mask-image: url('/img/picture/clip014s/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );
	mask-size: 100% 5vw, 100% 100%, 100% 5vw;
	mask-position: 0% 0%, 0% 0%, 0% 0%;
	mask-composite: add, subtract;
	mask-repeat: no-repeat;
	margin-top: -5vw; z-index: 1;
	&::before { content: ''; display: block; width: 100%; height: 5vw; }
}
main > *:has(+ section.connect015) { padding-bottom: calc( 3vw + 4rem ) !important; }
@media( 768px > width ) { main > section.connect015 { mask-size: 100% 5vw, 100% 100%, 100% 5vw; margin-top: -5vw; &::before { height: 5vw; } } main > *:has(+ section.connect015) { padding-bottom: calc( 2.5vw + 5vh ) !important; } }

section.clip001 {mask-image:url('/img/picture/clip001e/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );mask-size: 100% 100px, 100% 100%, 100% 100px;mask-position: 0% 100%, 0% 0%, 0% 100%;mask-composite: add, subtract;mask-repeat: no-repeat;margin-bottom: -54px; z-index: 1;&::after { content: ''; display: block; width: 100%; height: 54px; }}section:has(+ section.clip001) { padding-bottom: calc( 54px + 2rem ); }section.clip001 + section { padding-top: calc( 54px + 2rem ); }
section.clip002 {mask-image: url('/img/picture/clip002e/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );mask-size: 100% 100px, 100% 100%, 100% 100px;mask-position: 0% 100%, 0% 0%, 0% 100%;mask-composite: add, subtract;mask-repeat: no-repeat;margin-bottom: -100px; z-index: 1;&::after { content: ''; display: block; width: 100%; height: 100px; }}section:has(+ section.clip002) { padding-bottom: calc( 100px + 2rem ); }section.clip002 + section { padding-top: calc( 100px + 2rem ); }
section.clip003 {mask-image: url('/img/picture/clip003s/'), url('/img/picture/clip003e/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );mask-size: 69px 100px, 69px 100px, 100% 100%, 100% 100px, 100% 100px;mask-position: 0% 0%, 0% 100%, 0 0, 0% 0%, 0% 100%;mask-composite: add, add, subtract, add;mask-repeat: repeat-x, repeat-x, no-repeat, no-repeat, no-repeat;margin-top: -100px; margin-bottom: -100px; z-index: 1;&::before { content: ''; display: block; width: 100%; height: 4rem; }&::after { content: ''; display: block; width: 100%; height: 4rem; }}section:has(+ section.clip003) { padding-bottom: calc( 100px + 2rem ); }section.clip003 + section { padding-top: calc( 100px + 2rem ); }
section.clip004 {mask-image: url('/img/picture/clip004s/'), url('/img/picture/clip004e/'), linear-gradient( #000, #000 ), linear-gradient( #000, #000 ), linear-gradient( #000, #000 );mask-size: 100% 100px, 100% 100px, 100% 100%, 100% 100px, 100% 100px;mask-position: 0% 0%, 0% 100%, 0 0, 0% 0%, 0% 100%;mask-composite: add, add, subtract, add;mask-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;margin-top: -100px; margin-bottom: -100px; z-index: 1;&::before { content: ''; display: block; width: 100%; height: 4rem; }&::after { content: ''; display: block; width: 100%; height: 4rem; }}section:has(+ section.clip004) { padding-bottom: calc( 100px + 2rem ); }section.clip004 + section { padding-top: calc( 100px + 2rem ); }


.googlemap_wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	&.asp2 { aspect-ratio: 1 / 1; }
	&.asp3 { aspect-ratio: 3 / 2; }
	&.asp4 { aspect-ratio: 4 / 3; }
	&.asp5 { aspect-ratio: 16 / 9; }
	&.asp6 { aspect-ratio: 1.618 / 1; }
	&.asp7 { aspect-ratio: 1.414 / 1; }
	&.asp8 { aspect-ratio: 2 / 1; }
	&.asp9 { aspect-ratio: 3 / 1; }
	.outer,
	.inner { width: 100%; height: 100%; overflow: hidden; }
	&.type2 .outer { filter: grayscale( 1 ); }
	&.type3 .outer { background: var(--main-color); .inner { mix-blend-mode: luminosity; } }
	&.type4 .outer { filter: invert( 100% ) hue-rotate( -180deg ); }
	&.type5 .outer { background: #94745d; .inner { mix-blend-mode: luminosity; } &::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 6rem inset #d3a17e, 0 0 1rem inset #94745d; content: ""; mix-blend-mode: multiply; pointer-events: none; } }
	&.type6 .outer { filter: invert( 100% ) hue-rotate( -180deg ); }
	&.type7 .outer { background: #94745d; .inner { mix-blend-mode: luminosity; } &::before { z-index: 1; position: absolute; width: 300px; height: 300px; mix-blend-mode: multiply; right: -60px; bottom: -60px; transform: rotate( 3deg ); background: url('/img/picture/houi/'); background-size: 100% 100%; content: ''; } &::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 6rem inset #d3a17e, 0 0 1rem inset #94745d; content: ""; mix-blend-mode: multiply; pointer-events: none; } }

	.inner iframe, .inner object, .inner embed { position: absolute; width: 100% !important; height: calc( 100% + 300px ) !important; margin-top: -150px; }
}

ul.numresults {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	section & { margin: 0 -1rem; }
	&.type2 li::before {
		position: absolute;
		width: 4rem; height: 4rem; top: -3rem; left: 50%; line-height: 4rem;
		text-align: center; border-radius: 3rem;
		background: var(--main-color); color: #FFFFFF;
		content: counter( cnt, decimal-leading-zero ); font-size: 2.5rem; margin-left: -2rem;
	}
	&.cols1 li { width: calc( 33.333% - 2rem ); margin: 0 1rem 2rem; }
	&.cols2 li { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; }
	&.type1 li {
		text-align: center;
		position: relative;
		background: var(--base-color);
		.mainbody { padding: 1.0rem; background: var(--base-color); }
		.ttl { background: var(--main-color); color: #FFFFFF; font-weight: var(--bold); padding: 0.2rem 1rem; font-size: 1.25rem; }
		.number { font-size: 3.5rem; font-weight: var(--bold); margin-bottom: 0.5rem; line-height: 1.4; }
		.number::after { font-size: 1.1rem; content: attr(data-text); }
		.txt { font-size: 1.0rem; margin-bottom: 0.5rem; }
		.caption { font-size: 0.85rem; opacity: 0.8; }
	}
	&.type2 li { 
		text-align: center;
		position: relative;
		background: var(--base-color);
		border: 8px solid var(--main-color); margin-top: 2rem;
		.mainbody { padding: 0 0 1.5rem; background: var(--base-color); }
		.ttl { background: var(--main-color); color: #FFFFFF; font-weight: var(--bold); padding: 0.2rem 1rem; font-size: 1.25rem; }
		.number { font-size: 3.5rem; font-weight: var(--bold); margin-bottom: 0.5rem; line-height: 1.4; }
		.number::after { font-size: 1.1rem; content: attr(data-text); }
		.txt { font-size: 1.0rem; margin-bottom: 0.5rem; }
		.caption { font-size: 0.85rem; opacity: 0.8; }
	}
	@media( 1080px > width ) {
		&.cols1 li { min-width: 320px; max-width: 90%; }
		&.cols2 li { min-width: 320px; max-width: 90%; }
	}
}

div.svoice {
	.slick-track { display: flex; }
	.voice {
		position: relative;
		width: 380px;
		max-width: 95vw;
		margin: 0 1rem;
		height: auto;
		.svoice.type1 & { margin-top: 50px; padding: 60px 1.5rem 1.5rem; background: var(--base-color); }
		.svoice.type1 & .images { border: 2px solid var(--main-color); width: 100px; aspect-ratio: 1/1; border-radius: 100px; position: absolute; top: -50px; left: 50%; margin-left: -50px; }
		.svoice.type2 & { padding: 1.5rem; background: var(--base-color); }
		.svoice.type2 & .images { aspect-ratio: 16 / 9; margin-bottom: 1rem; }
		.ttl { color: var(--main-color); font-weight: var(--bold); text-align: center; margin-bottom: 1rem; font-size: 1.15rem; }
		.names { text-align: right; margin-bottom: 1rem; }
		.txt { font-size: 0.95rem; }
	}
}

ul.service_menu {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -1rem;
	&.cols1 li { width: calc( 33.333% - 2rem ); margin: 0 1rem; }
	&.cols2 li { width: calc( 25% - 2rem ); margin: 0 1rem; }
	&.circle li .images { width: 90%; aspect-ratio: 1/1; margin: 0 auto 1rem; border-radius: 400px; max-width: 280px; }
	&.square li .images { margin-bottom: 1rem; }
	li {
		text-align: center;
		position: relative;
		.inner { padding-bottom: 4.5rem; height: 100%; }
		.subttl { font-size: 0.9rem; font-weight: var(--bold); }
		.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem; }
		.txt { font-size: 0.9rem; margin-bottom: 1rem; }
		.link { position: absolute; left: 0; bottom: 1rem; margin: 0; width: 100%; }
	}
	@media( 768px > width ) {
		&.cols1 li { max-width: 320px; min-width: 90%; margin-bottom: var(--sp-parts); .images{ max-width: 180px; } }
		&.cols2 li { max-width: 320px; min-width: 90%; margin-bottom: var(--sp-parts); .images{ max-width: 180px; } }
	}
}

ul.iconview {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	&.cols1 li { width: calc( 50% - 2rem ); margin: 0 1rem 2rem; }
	&.cols2 li { width: calc( 33.333% - 2rem ); margin: 0 1rem 2rem; }
	&.cols3 li { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; }
	&.cols4 li { width: calc( 20% - 2rem ); margin: 0 1rem 2rem; }
	&.type1 li {
		position: relative;
		.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem; text-align: center; }
		.icon { color: var(--main-color); margin-bottom: 1rem; line-height: 0; text-align: center; }
		.icon span { font-size: inherit; }
		.txt { font-size: 0.9rem; margin-bottom: 1rem; }
	}
	&.type2 li {
		position: relative;
		background: var(--base-color);
		box-shadow: 4px 4px 8px var(--text-color-half);
		.inner { padding: 1.5rem; }
		.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem; text-align: center; }
		.icon { color: var(--main-color); margin-bottom: 1rem; line-height: 0; text-align: center; }
		.icon span { font-size: inherit; }
		.txt { font-size: 0.9rem; margin-bottom: 1rem; }
	}
	&.type3 li {
		position: relative;
		background: var(--base-color);
		border-radius: 0.5rem;
		.inner { padding: 1.5rem; }
		.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem; text-align: center; }
		.icon { color: var(--main-color); margin-bottom: 1rem; line-height: 0; text-align: center; }
		.icon span { font-size: inherit; }
		.txt { font-size: 0.9rem; margin-bottom: 1rem; }
	}
	@media( 1080px > width ) {
		& {
			margin-inline: 0 !important;
			li { min-width: 300px; margin: 0 0.5rem 2rem; }
		}
	}
}

.catchcopy { 
	text-align: center;
	.catch { font-weight: var(--bold); margin-bottom: 1.2rem; }
}

ul.slist {
	display: flex;
	flex-wrap: wrap;
	&.type1 {
		border-color: #999999; border-width: 3px; padding: 0.2rem 1rem 1rem;
		li { list-style: disc; position: relative; left: 1.5rem; }
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}
	&.type2 {
		border-color: var(--main-color); color: var(--main-color); border-width: 3px; background: var(--main-color-white); padding: 0.2rem 1rem 1rem;
		li { list-style: disc; position: relative; left: 1.5rem; }
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}
	&.type3 {
		border-color: var(--main-color); border-width: 3px 0; padding: 0.2rem 1rem 1rem;
		li { list-style: disc; position: relative; left: 1.5rem; }
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}	
	&.type4 {
		border-color: var(--main-color); border-width: 4px; padding: 0.2rem 1rem 1rem; background: var(--main-color-white); box-shadow: 0 0 0 0.5rem var(--main-color-white); width: calc(100% - 1rem); margin: 1.5rem auto; border-radius: 0.5rem; color: var(--main-color);
		li { list-style: disc; position: relative; left: 1.5rem; }
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}
	&.type5 {
		border-style: none !important;
		li { background: var(--main-color-white); border-left: 0.85rem solid var(--main-color-light); color: var(--main-color); padding: 0.5rem 1rem; font-weight: var(--bold); 
			ul.cols1 & { padding-right: 5rem; }
			ul.cols2 & { margin: 4px 0px; width: 100%; }
			ul.cols3 & { margin: 4px; width: calc( 50% - 8px ); }
			ul.cols4 & { margin: 4px; width: calc( 33.33% - 8px ); }
			ul.cols5 & { margin: 4px; width: calc( 25% - 8px ); }
		}
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; color: var(--main-color); line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}
	&.type6 {
		border-style: none !important;
		li { background: var(--main-color); color: #FFFFFF; padding: 0.5rem 1rem; font-weight: var(--bold); 
			ul.cols1 & { padding-right: 5rem; }
			ul.cols2 & { margin: 2px 0px; width: 100%; }
			ul.cols3 & { margin: 2px; width: calc( 50% - 4px ); }
			ul.cols4 & { margin: 2px; width: calc( 33.33% - 4px ); }
			ul.cols5 & { margin: 2px; width: calc( 25% - 4px ); }
			&::before { font-family: 'Material Symbols Outlined';content: '\e834';line-height: 1;font-size: 1.25rem; top: 4px;position: relative;margin-right: 0.5rem;font-weight: var(--normal);}
		}
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 1.25rem; color: var(--main-color); line-height: 2.0; width: 100%; text-align: left; padding-bottom: 0.25rem; display: block; }
	}
	&.type7 {
		position: relative; border-color: var(--main-color); border-width: 3px; padding: 0.7rem 1rem; border-radius: 0.5rem; margin-top: 2rem; 
		li { position: relative; padding: 0.3rem 0; font-weight: var(--bold);
			&::before { content: counter( cnt, decimal-leading-zero );
				background: var(--main-color); color: #FFFFFF; width: 1.5rem; height: 1.5rem; line-height: 1.5rem; text-align: center; font-weight: var(--bold); font-family: var(--google-fonts-head); border-radius: 2rem; display: inline-block; margin-right: 0.55rem; font-size: 0.8rem; position: relative; top: -1.5px; }
		}
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 0.8rem; background: var(--main-color); padding: 0.2rem 1rem; position: absolute; top: -1.7rem; left: 3px; color: #FFFFFF; border-radius: 0.4rem 0.4rem 0 0; }
	}
	&.type8 {
		position: relative; border-color: var(--main-color); border-width: 3px; padding: 0.7rem 1rem; border-radius: 0.5rem; margin-top: 2rem;
		li { position: relative; padding: 0.15rem 0; font-weight: var(--bold);
			&::before { content: counter( cnt ) ".";
				color: var(--main-color); width: 1.5rem; height: 1.5rem; line-height: 1.5rem; text-align: center; font-weight: var(--bold); font-family: var(--google-fonts-head); display: inline-block; margin-right: 0.55rem; }
		}
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 0.8rem; background: var(--main-color); padding: 0.2rem 1rem; position: absolute; top: -1.7rem; left: 3px; color: #FFFFFF; border-radius: 0.4rem 0.4rem 0 0; }
	}
	&.type9 {
		position: relative;border-color: var(--main-color);border-width: 3px;padding: 0.7rem 1rem;margin-top: 2rem;
		li { position: relative; padding: 0.3rem 0; font-weight: var(--bold); border-bottom: 2px dashed var(--main-color-light);
			&::before { content: counter( cnt );
				background: var(--main-color); color: #FFFFFF; width: 1.5rem; height: 1.5rem; line-height: 1.5rem; text-align: center; font-weight: var(--bold); font-family: var(--google-fonts-head); border-radius: 4px; display: inline-block; margin-right: 0.55rem; font-size: 0.8rem; position: relative; top: -1.5px; }
		}
		&::before { content: attr(data-title); font-weight: var(--bold); font-size: 0.8rem; background: var(--main-color); padding: 0.2rem 1rem; position: absolute; top: -1.7rem; left: -3px; color: #FFFFFF; }
	}
	&.type10 {
		position: relative; border-style: none !important;
		li {
			margin: 0.5rem auto; font-size: 1.4rem; padding-left: 1.85rem; position: relative;
			&::before { font-family: FontAwesome; content: '\f14a'; line-height: 1; font-size: 1.6rem; left: 0; top: 10px; position: absolute; margin-right: 0.5rem; font-weight: var(--normal); }
		}
	}

	&.bd1 { border-style: none; }&.bd2 { border-style: solid; }&.bd3 { border-style: dotted; }&.bd4 { border-style: dashed; }&.bd5 { border-style: double; }&.bd6 { border-style: none; filter: drop-shadow( 0.2rem 0.2rem 0.2rem var(--text-color-half) ); }
	&.cols1 li { padding-right: 5rem; }
	&.cols2 li { width: 100%; }
	&.cols3 li { width: 50%; }
	&.cols4 li { width: 33.33%; }
	&.cols5 li { width: 25%; }
	@media( 768px > width ) { 
		& li { width: 100% !important; }
		&.type10 li { font-size: 1.2rem; &::before { font-size: 1.2rem; top: 5.5px; } }
	}
}

.faqwrap,
.wordswrap {
	.ttl { color: var(--main-color); font-size: 1.1rem; font-weight: var(--bold); margin-bottom: 0.5rem; }
}
details {
	margin-bottom: 1rem;
	&.faq.type1 {
		summary { 
			font-size: 1.1rem; font-weight: var(--bold); border: 1px solid var(--text-color-half); padding: 1rem 1rem 1rem 3.5rem; position: relative; background: var(--base-color);
			&::before { content: 'Q'; position: absolute; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; top: 0.9rem; left: 0.9rem; font-weight: var(--bold); color: #FFFFFF; background: var(--main-color); }
		}
		.contents .inner { 
			padding: 1rem 1rem 1rem 3.5rem; position: relative; background: var(--main-color-white);
			&::before { content: 'A'; position: absolute; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; top: 0.9rem; left: 0.9rem; font-weight: var(--bold); color: #FFFFFF; background: var(--sub-color-1); }
		}
	}
	&.words.type1 {
		font-size: 1.1rem; position: relative;
		span.yomi { font-size: 0.8rem; font-weight: var(--normal); display: inline-block; margin-left: 0.5rem; }
		span.yomi::before { content: '('; }
		span.yomi::after { content: ')'; }
		span.sub { display: block; font-size: 0.8rem; display: block; }
		summary { font-weight: var(--bold ); border-left: 0.5rem solid var(--main-color); border-bottom: 1px solid var(--main-color); padding: 0.2rem 0.5rem; }
		.contents .inner { padding: 0.5rem 0; background: var(--main-color-white); font-size: 0.9rem; padding: 1rem; }
	}
	summary { display: block; position: relative; cursor: pointer; }
	summary::-webkit-details-marker { display: none; }
	&.cur1 summary::after { font-family: 'Material Symbols Outlined'; content: '\e145'; line-height: 1; font-size: 1.25rem; top: 50%; margin-top: -0.625rem; right: 1rem; position: absolute; transition: 0.2s; }
	&.cur1[open] summary::after { content: '\e15b'; transform: rotate( 360deg ); }
	&.cur2 summary::after { font-family: 'Material Symbols Outlined'; content: '\e86b'; line-height: 1; font-size: 1.25rem; top: 50%; margin-top: -0.625rem; right: 1rem; position: absolute; font-variation-settings: 'FILL' 1; transition: 0.2s;}
	&.cur2[open] summary::after { transform: rotate( 180deg ); }
	&.cur3 summary::after { font-family: 'Material Symbols Outlined'; content: '\e5e0'; line-height: 1; font-size: 1.25rem; top: 50%; margin-top: -0.625rem; right: 1rem; position: absolute; transform: rotate( 90deg ); transition: 0.2s;}
	&.cur3[open] summary::after { transform: rotate( 270deg ); }
	@media( 768px > width ) { 
		&.faq.type1 { 
			summary { padding: 0.5rem 1.25rem 0.5rem 3rem; }
			summary::before { left: 0.45rem; top: 0.45rem; }
		}
		& summary::after { right: 0.33rem !important; }
	}
}

ul.reasons {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	margin-inline: 1rem;
	section & { margin-inline: -1rem; }
	&.cols1 li { width: calc( 50% - 2rem ); margin: 0 1rem 2rem; }
	&.cols2 li { width: calc( 33.333% - 2rem ); margin: 0 1rem 2rem; }
	&.cols3 li { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; }
	&.cols4 li { width: calc( 20% - 2rem ); margin: 0 1rem 2rem; }
	&.type1 li {
		.images { margin-bottom: 0.5rem; }
		.circle & .images { aspect-ratio: 1/1; border-radius: 1000px; margin: 0 auto 0.5rem; }
		.ttl { font-size: 1.15rem; font-weight: var(--bold); margin-bottom: 0.5rem; text-align: center; }
		.txt { font-size: 1.0rem; }
	}
	&.type2 li {
		border: 3px solid var(--main-color);
		.labels { background: var(--main-color); color: #FFFFFF; font-weight: var(--bold); font-size: 1.2rem; text-align: center; font-family: var(--google-fonts-head); }
		.labels::after { content: counter( cnt ); font-size: 1.45rem; margin-left: 0.3rem; }
		.inner { padding: 1.5rem; }
		.images { margin-bottom: 0.5rem; }
		.circle & .images { aspect-ratio: 1/1; border-radius: 1000px; margin: 0 auto 0.5rem; }
		.ttl { font-size: 1.15rem; font-weight: var(--bold); margin-bottom: 0.5rem; text-align: center; }
		.txt { font-size: 1.0rem; }
	}
	@media( 1080px > width ) {
		& {
			margin-inline: 0 !important;
			li { min-width: 300px; margin: 0 0.5rem 2rem; }
		}
		&.type2 li .inner { padding: 1rem; }
	}
}

ul.serviceparts {
	&.shift1 { li:nth-of-type(odd) .images { order: 3; } li:nth-of-type(even) .images { order: 1; }}
	&.shift2 { li:nth-of-type(odd) .images { order: 1; } li:nth-of-type(even) .images { order: 3; }}
	&.shift3 { li:nth-of-type(odd) .images { order: 3; } li:nth-of-type(even) .images { order: 3; }}
	&.shift4 { li:nth-of-type(odd) .images { order: 1; } li:nth-of-type(even) .images { order: 1; }}
	& li .inner .mainbody { order: 2; }
	&.type1 li {
		&:not(:last-of-type) { margin-bottom: var(--mg-parts); }
		.inner { 
			display: flex; align-items: center; justify-content: space-between;
			.images { width: 40%; }
			.mainbody {
				width: 55%;
				.point {
					font-family: var(--google-fonts-head);
					margin-bottom: 0.5rem;
					color: var(--main-color);
					font-size: 1.5rem; font-weight: var(--bold);
					span { display: inline-block; margin-left: 0.5rem; font-size: 1.8rem; }
				}
				.ttl { font-size: 1.8rem; font-weight: var(--bold); margin-bottom: 1rem; }
				.txt { margin-bottom: 1.5rem; }
			}
		}
		@media( 768px > width ) {
			&:not(:last-of-type) { margin-bottom: var(--sp-parts); }
			.inner {
				display: block !important;
				.images { width: 80%; margin: 0 auto 1rem; }
				.mainbody { width: 100%; margin: 0 auto 2rem; }
			}
		}
	}
}

ul.parameter {
	margin: 0 -1rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	&.type1 li { width: calc( 100% - 2rem ); margin: 0 1rem 2rem; display: flex; justify-content: space-between; .images { width: 40%; margin-bottom: 0; } .mainbody { width: calc( 60% - 2rem ); .ttl { text-align: left; }} }
	&.type2 li { width: calc( 50% - 2rem ); margin: 0 1rem 2rem; dl { width: 100%; } }
	&.type3 li { width: calc( 33.33% - 2rem ); margin: 0 1rem 2rem; dl { width: 100%; } }
	&.type4 li { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; dl { width: 100%; } }
	& li {
		.images { margin-bottom: 1rem; }
		.ttl { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 0.5rem; text-align: center; }
		.txt { font-size: 1.0rem; margin: 1rem auto; }
		.mainbody { 
			dl { display: flex; justify-content: space-between; margin-bottom: 0.25rem; dt, dd.nums { font-weight: var(--bold); flex: 1; } dd.nums { text-align: right; } }
			.param { position: relative; display: inline-block; line-height: 1; i { padding: 2px; } span.rating { position: absolute; top: 0; left: 0; overflow: hidden; display: flex; i { position: relative; top: 1px; } } }
		}
	}
	@media( 1080px > width ) {
		& {
			margin: 0 auto;
			justify-content: center;
			&.type2 li { min-width: 360px; max-width: 90%; }
			&.type3 li { min-width: 360px; max-width: 90%; }
			&.type4 li { min-width: 360px; max-width: 90%; }
		}
	}
	@media( 768px > width ) {
		&.type1 li { min-width: 320px; max-width: 90%; display: block; .images, .mainbody { width: auto; .ttl { text-align: center; } } .images { margin-bottom: 1rem; } dl { width: 100%; }}
		&.type2 li { min-width: 320px; max-width: 90%; }
		&.type3 li { min-width: 320px; max-width: 90%; }
		&.type4 li { min-width: 320px; max-width: 90%; }
		li .images { max-width: 80%; margin: 0 auto 1rem; }
	}
	.params .param > span:nth-of-type(1) { opacity: 0.5; }
}

input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="text"]::placeholder { color: #00000033; }

details .contents { overflow: hidden; } 

.link, .anchorlink {
	&.cols1 { align-items: stretch; }
	&.cols2 { align-items: stretch; }
	&.cols3 { align-items: stretch; }
	&.cols4 { align-items: stretch; }
	&.cols1 a, &.cols1 p { width: calc( 50% - 2rem ); margin: 0 1rem 2rem; }
	&.cols2 a, &.cols2 p { width: calc( 33.333% - 2rem ); margin: 0 1rem 2rem; }
	&.cols3 a, &.cols3 p { width: calc( 25% - 2rem ); margin: 0 1rem 2rem; }
	&.cols4 a, &.cols4 p { width: calc( 20% - 2rem ); margin: 0 1rem 2rem; }
	&.topheading {
		a.p3, a.p4, a.p5, a.p6, a.p7, a.p8, a.p9, a.p10 { display: none; }
	}
	@media( 768px > width ) {
		&.cols1 a, &.cols1 p { width: calc( 100% - 2rem ); margin: 0 auto 2rem; }
		&.cols2 a, &.cols2 p { width: calc( 100% - 2rem ); margin: 0 auto 2rem; }
		&.cols3 a, &.cols3 p { width: calc( 50% - 2rem ); margin: 0 auto 2rem; }
		&.cols4 a, &.cols4 p { width: calc( 50% - 2rem ); margin: 0 auto 2rem; }
	}
}

ul.visualstep {
	li { 
		display: flex;
		align-items: flex-start;
		&:not(:last-of-type) { margin-bottom: var(--mg-parts); }
		.mainbody { flex: 1; margin-left: 2rem; } 
	}
	&.padding_border li:not(:last-of-type) { border-bottom: 1px solid var(--text-color-half); padding-bottom: var(--mg-parts); }
	.ttl { font-size: 1.6rem; font-weight: var(--bold); color: var(--main-color); margin-bottom: 1.0rem; }
	h3.ttl { font-size: 1.6rem; }
	h4.ttl { font-size: 1.4rem; }
	h5.ttl { font-size: 1.25rem; }
	h6.ttl { font-size: 1.12rem; }
	@media( 768px > width ) {
		li { 
			display: block;
			&:not(:last-of-type) { margin-bottom: var(--sp-parts); }
			.images { width: 80%; margin: 0 auto 1rem; } .mainbody{ margin-left: 0; }
		}
		&.padding_border li:not(:last-of-type) { padding-bottom: var(--sp-parts); }
	}
}

.stepflowh {
	counter-reset: step;
	&.type1 {
		.mainttl { margin: 0.5rem auto; font-size: 1.3rem; font-weight: var(--bold); }
		ul {
			display: flex; align-items: stretch; justify-content: center; margin: 0 1rem;
			li {
				flex: 1;
				position: relative;
				margin: 0 1.25rem;
				padding: 0.4rem 1.0rem 1.4rem 1.2rem;
				z-index: 0; color: var(--color);
				counter-increment: step;
				background-color: var(--step-color);
				&:not(:has(.steplabel)) { padding-top: 1.0rem; }
				.steplabel { color: var(--step-text-color); font-size: 1.5rem; font-weight: var(--bold); text-align: center; &::before { content: attr(data-label); } &::after { content: counter( step, decimal-leading-zero ); margin-left: 0.5rem; font-size: 150%; } }
				.ttl { font-weight: var(--bold); text-align: center; margin-bottom: 0.5rem; }
				.comment { font-size: 0.9rem; }
				&::after, &::before { position: absolute; top: 0; width: calc( 2rem + 1px ); background: inherit; content: ''; height: 100%; z-index: -1; }
				&::before { clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100%, 99% 50% ); left: -2rem; }
				&::after { clip-path: polygon( 0 0, 2px 0, 100% 50%, 0 100%, 2px 100%, 0 100% ); right: -2rem; }
			}
		}
		@media( 1080px > width >= 768px ) {
			& ul { flex-wrap: wrap; li { flex: 0; min-width: 280px; margin: 0.3rem 1.25rem; } }
		}
	}
	&.type2 {
		.mainttl { margin: 0.5rem auto 1rem; font-size: 1.3rem; font-weight: var(--bold); text-align: center;}
		ul {
			display: flex; align-items: flex-start; justify-content: center; margin: 0 -1rem;
			li {
				margin: 0 1rem;
				flex: 1; color: var(--color);
				z-index: 0;
				text-align: center;
				position: relative;
				counter-increment: step;
				.steplabel {
					color: var(--step-text-color);
					background: var(--step-color);
					display: flex; justify-content: center; flex-wrap: wrap; align-items: center; text-align: center;
					height: 3rem; width: 3rem; line-height: 1.1; border-radius: 3rem; margin: 0 auto 0.5rem;
					&::before { content: attr(data-label); font-size: 0.7rem; font-weight: var(--bold); width: 100%; margin-bottom: -1rem; }
					&::after { content: counter( step ); font-size: 1.2rem; font-weight: var(--bold); }
				}
				.ttl { font-weight: var(--bold); font-size: 1.1rem; margin: 0.5rem auto; }
				.comment { font-size: 0.9rem; }
				&:has(.steplabel):not(:last-of-type)::after { 
					width: 100%; position: absolute; top: 1.5rem; left: calc( 50% + 1.5rem ); height: 1px; content: ''; z-index: -1;
					background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' width='6' height='2'>\<circle cx='1' cy='1' r='1' fill='%23FFFFFF'/></svg>"), linear-gradient(to right, var(--step-color), var(--step-color-next) ); background-size: 5px 1px, 100% 1px; background-repeat: repeat-x, no-repeat; background-position: left center, left center; background-blend-mode: overlay;
				}
			}
		}
		@media( 1080px > width >= 768px ) {
			& ul { flex-wrap: wrap; overflow: hidden; li { flex: 0; min-width: 280px; margin: 0.3rem 1.25rem; } }
		}
	}
}
@media( 768px > width ) {
	.stepflowh.type1 .rwd_scroll {
		ul { justify-content: flex-start !important; margin: 0 1rem; li { min-width: 250px; } }
	}
	.stepflowh.type2 .rwd_scroll {
		ul { justify-content: flex-start !important; margin: 0 1rem; li { min-width: 250px; } }
	}
	.stepflowh.type1:not(:has(.rwd_scroll)) {
		ul {
			display: block;
			margin: 0 auto;
			li {
				margin: 2.5rem auto;
				padding: 0rem 1.5rem 1.0rem;
				&::before { clip-path: polygon( 0 0, 50% 100%, 100% 0, 100% 100%, 0 100% ); left: 0; top: -2rem; width: 100%; height: calc( 2rem + 1.5px ); }
				&:nth-of-type(1) { margin-top: 0; &::before { clip-path: none; height: 0; } }
				&::after { clip-path: polygon( 0 0, 100% 0, 100% 2px, 50% 100%, 0 2px ); right: auto; left: 0; top: auto; bottom: -2rem; width: 100%; height: calc( 2rem + 1.5px ); }
			}
		}
	}
	.stepflowh.type2:not(:has(.rwd_scroll)) {
		ul {
			display: block;
			margin: 0 auto;
			li {
				margin: 1.0rem auto;
				padding: 0rem 1.5rem 1.0rem 5rem;
				position: relative;
				text-align: left;
				.steplabel {
					top: 50%; left: 0; position: absolute; transform: translate( 0, -50% );
				}
				&:not(:last-of-type)::after { width: 1px; top: calc( 50% + 1.5rem ); height: 100%; left: 1.5rem; 
					background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' width='2' height='6'>\<circle cx='1' cy='1' r='1' fill='%23FFFFFF'/></svg>"), linear-gradient(to bottom, var(--step-color), var(--step-color-next) ); background-size: 1px 5px, 1px 100%; background-repeat: repeat-y, no-repeat; background-position: top bottom, top bottom; background-blend-mode: overlay; }
			}
		}
	}
}

.lpmv1 {
	&.type2 .mainbody, &.type1 .person { order: 1; }
	&.type1 .mainbody, &.type2 .person { order: 2; }
	padding: 2rem 0 0;
	.wrapper {
		width: var(--main-wrapper); max-width: 95%; margin: 0 auto;
		display: flex; align-items: stretch; justify-content: space-between;
		position: relative;
		.person { width: 35%; display: flex; align-items: flex-end; justify-content: center; }
		.mainbody { width: 62.5%; font-weight: var(--bold); text-align: center; display: flex; justify-content: center; flex-wrap: wrap; align-content: space-between; }
		.authority1 { font-size: 1.5rem; margin-bottom: 0.4rem; }
		.authority2 { font-size: 1.75rem; margin-bottom: 1.5rem; }
		.subtitle { background: var(--main-color); padding: 0.2rem 1rem; margin: 1rem auto; font-size: 2.2rem; color: #FFF; letter-spacing: 0.5rem; }
		.images { margin: 1.5rem auto 3rem; text-align: center; }
		.comment { font-size: 1.5rem; margin-bottom: 1.5rem; }
		strong { font-size: 120%; }
	}
	@media( 1080px > width ) {
		.wrapper {
			display: block; width: 95%; max-width: 768px;
			.person { width: 75%; margin: 0 auto; text-align: center; }
			.mainbody { width: auto; }
			.authority1 { font-size: 3.4vw; margin-bottom: 1vw; }
			.authority2 { font-size: 4.0vw; margin-bottom: 2vw; }
			.subtitle { padding: 0.2rem 1rem; margin: 2vw auto; font-size: 5vw; }
			.images { margin: 2vw auto; width: 95%; }
			.comment { font-size: 4.5vw; position: absolute; left: 0; width: 100%; bottom: 4vw; }
		}
	}
	@media( 768px > width ) {
		.wrapper {
			display: block; width: 95% !important; max-width: none;
		}
	}
}

.lpmvachieve {
	&.img_h2 .mainbody, &.img_h1 .images { order: 1; }
	&.img_h1 .mainbody, &.img_h2 .images { order: 2; }
	&.img_v1 .wrapper { align-items: flex-start; }
	&.img_v2 .wrapper { align-items: center; }
	&.img_v3 .wrapper { align-items: flex-end; }
	&.stroke .text1, &.stroke .text2 { -webkit-text-stroke: 5px var(--stroke); paint-order: stroke; text-shadow: 4px 2px var(--stroke), 2px 4px var(--stroke), 4px 4px var(--stroke); font-weight: var(--bold); }
	padding: 2rem 0 0;
	.wrapper {
		width: var(--main-wrapper); max-width: 95%; margin: 0 auto;
		display: flex; align-items: stretch; justify-content: space-between;
		position: relative;
		.mainbody{ 
			flex: 1;
			.text1 { font-size: 1.5rem; color: var(--color); strong { color: var(--strong); font-size: 120%; } }
			.text2 { font-size: 1.8rem; color: var(--color); strong { color: var(--strong); font-size: 120%; } }
			.subttl { font-size: 1.6rem; font-weight: var(--bold); background: var(--main-color); padding: 0.2rem 1rem; color: #FFFFFF; margin: 0.5rem auto; }
			.logo { text-align: center; margin: 1.0rem auto; }
			ul.achieves {
				margin: 1rem auto 2rem;
				display: flex; align-items: center; justify-content: center; gap: 1rem;
				li { 
					display: flex; justify-content: center; align-items: center; flex-wrap: wrap; & > * { width: 100%; }
					border-radius: 500px; aspect-ratio: 1 / 1; background: var(--achieve-bg); padding: 0.5rem;  text-align: center; font-weight: var(--bold); flex: 1; max-width: 200px;
					.icons { height: 2.0rem; line-height: 2.0rem; span { font-size: 2.0rem; color: var(--achieve-main); }}
					.ttl { font-size: 1.0rem; color: var(--achieve-text); }
					.values { font-size: 3.8rem; font-family: 'Anton', 'Impact'	; -webkit-text-stroke: 3px var(--achieve-bg); paint-order: stroke; color: var(--achieve-main); line-height: 1.2; margin-bottom: 0.25rem; }
					.unit { font-size: 1.2rem; -webkit-text-stroke: 3px var(--achieve-bg); paint-order: stroke; position: relative; margin-left: -0.35rem; color: var(--achieve-main); }
					.ribbon { width: 85%; margin: 0 auto; position: relative; z-index: 0; p { background: var(--achieve-ribbon); height: 1.75rem; line-height: 1.75rem; color: #FFFFFF; } }
					.ribbon::before, .ribbon::after { position: absolute; content: ''; bottom: -0.4rem; height: 1.75rem; background: var(--achieve-rebbon-dark); width: 1.5rem; z-index: -1; }
					.ribbon::before { left: -0.8rem; clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100%, 0.5rem 50% );}
					.ribbon::after { right: -0.8rem; clip-path: polygon( 0 0, 100% 0, 1.0rem 50%, 100% 100%, 0 100% ); }
				}
			}
		}
	}
	@media( 1080px > width ) {
		.wrapper {
			display: block; width: 95%; max-width: 768px;
			.images { width: 50%; max-width: 450px; margin: 0 auto; }
			.mainbody{ 
				ul.achieves {
					li { 
						.values { font-size: 3rem; }
						.unit { font-size: 1rem; }
					}
				}
			}
		}
	}
	@media( 768px > width ) {
		&.stroke .text1, &.stroke .text2 { -webkit-text-stroke: 5px var(--stroke); paint-order: stroke; text-shadow: 4px 2px var(--stroke), 2px 4px var(--stroke), 4px 4px var(--stroke); font-weight: var(--bold); }
		padding: 2rem 0 0;
		.wrapper {
			max-width: 95%;
			.images { max-width: 300px; }
			.mainbody{ 
				.text1 { font-size: 4.5vw; }
				.text2 { font-size: 5.5vw; }
				.subttl { font-size: 4.5vw; }
				.logo { text-align: center; margin: 1.0rem auto; }
				ul.achieves {
					gap: 3vw;
					li { 
						padding: 0.5vw; max-width: 30vw;
						.icons { height: 5vw; line-height: 3vw; span { font-size: 5vw; }}
						.ttl { font-size: 3vw; color: var(--achieve-text); }
						.values { font-size: 8vw; }
						.unit { font-size: 3vw; }
						.ribbon { font-size: 3vw; p { background: var(--achieve-ribbon); height: 5vw; line-height: 5vw; color: #FFFFFF; } }
						.ribbon::before, .ribbon::after { position: absolute; content: ''; bottom: -0.3vw; height: 5vw; background: var(--achieve-rebbon-dark); width: 2vw; z-index: -1; }
						.ribbon::before { left: -1.2vw; clip-path: polygon( 0 0, 100% 0, 100% 100%, 0 100%, 0.5vw 50% );}
						.ribbon::after { right: -1.2vw; clip-path: polygon( 0 0, 100% 0, 1.5vw 50%, 100% 100%, 0 100% ); }
					}
				}
			}
		}
	}
}

.onayami {
	display: flex; justify-content: center; align-items: flex-end; text-align: center;
	position: relative;
	.images { position: relative; max-width: 50%; }
	ul.bubbles {
		position: absolute; width: 100%; height: 100%;
		.shadow & { filter: drop-shadow( 2px 2px 4px var(--text-color-qtr) ); }
		li {
			display: flex; justify-content: center; align-items: center;
			position: absolute;
			background: var(--bubble-color);
			transform: translateX( -50% );
			z-index: 0; font-weight: var(--bold);
			p { position: relative; color: var(--bubble-text); line-height: 1.3; b, strong { color: var(--bubble-strong); font-size: 110%; z-index: 1; } }
		}
	}
	&.type1 {
		& li {
			width: 320px; height: 100px; padding: 1.0rem 2rem;
			border-radius: 50%;
			&::before, &::after { position: absolute; border-radius: 50%; content: ''; background: inherit; z-index: -1; }
			&:nth-of-type(3n+1) { p { top:-0.2rem; } &::before { width: 60%; height: 60%; bottom: 0; right: -1rem; } &::after { width: 61%; height: 57%; top: -1rem; left: 	1rem; } }
			&:nth-of-type(3n+2) { p { top: 0.0rem; } &::before { width: 60%; height: 60%;    top: 0; right: -1rem; } &::after { width: 60%; height: 52%; top:  2rem; left: -1.5rem; } }
			&:nth-of-type(3n+0) { p { top:-0.25rem; } &::before { width: 60%; height: 60%; bottom: -0.7rem; right: 3rem; } &::after { width: 68%; height: 69%; top: -1rem; left: 12%; } }
		}		
	}
	@media( 1080px > width ) { ul.bubbles li { width: 280px; height: 85px; font-size: 0.88rem; } }
	@media( 768px > width ) {
		& { padding-top: 0 !important; }
		.images { position: absolute; top: 50%; left: 50%; transform: translate( -50%, -50% ); max-width: 30%; }
		&.has-1, &.has-3, &.has-5, &.has-7, &.has-9, &.has-11, &.has-13, &.has-15 {
			.images { top: auto; bottom: 0; transform: translate( -50%, 0 ); }
			ul.bubbles li:nth-of-type(1) { margin: 0 20vw; }
		}
		ul.bubbles {
			padding: 0 !important;
			margin-inline: -18vw;
			position: relative; width: auto; height: auto; display: flex; justify-content: space-around; flex-wrap: wrap;
			li { position: relative; top: auto !important; left: 0 !important; width: 45vw; height: 16vw; font-size: 3vw; transform: none; padding: 1.5vw 0.5vw; margin-bottom: 5vw;}
		}
	}
	&.has-1 {
		justify-content: flex-end; padding: 1.5rem 25% 0 0;
		li:nth-of-type(1) { top:  15%; left: 33%; }
	}
	&.has-2 {
		justify-content: center; padding-top: 0;
		li:nth-of-type(1) { top:  10%; left: 23%; }
		li:nth-of-type(2) { top:  33%; left: 75%; }
	}
	&.has-3 {
		justify-content: center; padding-top: 0;
		li:nth-of-type(1) { top:   6%; left: 24%; }
		li:nth-of-type(2) { top:  33%; left: 75%; }
		li:nth-of-type(3) { top:  48%; left: 21%; }
	}
	&.has-4 {
		justify-content: center; padding-top: 0;
		li:nth-of-type(1) { top:   3%; left: 26%; }
		li:nth-of-type(2) { top:  16%; left: 76%; }
		li:nth-of-type(3) { top:  48%; left: 21%; }
		li:nth-of-type(4) { top:  61%; left: 69%; }
	}
	&.has-5 {
		justify-content: center; padding-top: 100px;
		li:nth-of-type(1) { top:  0.5%; left: 48%; }
		li:nth-of-type(2) { top: 25%; left: 20%; }
		li:nth-of-type(3) { top: 26.4%; left: 80%; }
		li:nth-of-type(4) { top:  63%; left: 23%; }
		li:nth-of-type(5) { top:  60%; left: 77%; }
	}
	&.has-6 {
		justify-content: center; padding-top: 50px;
		li:nth-of-type(1) { top:  1%; left: 29%; }
		li:nth-of-type(2) { top: 11%; left: 70%; }
		li:nth-of-type(3) { top: 32%; left: 20%; }
		li:nth-of-type(4) { top: 44%; left: 82%; }
		li:nth-of-type(5) { top: 69%; left: 28%; }
		li:nth-of-type(6) { top: 73%; left: 74%; }
	}
	&.has-7 {
		justify-content: center; padding-top: 100px;
		li:nth-of-type(1) { top:  1%; left: 55%; }
		li:nth-of-type(2) { top: 11%; left: 23%; }
		li:nth-of-type(3) { top: 24%; left: 79%; }
		li:nth-of-type(4) { top: 41%; left: 17%; }
		li:nth-of-type(5) { top: 52%; left: 83%; }
		li:nth-of-type(6) { top: 72%; left: 26%; }
		li:nth-of-type(7) { top: 78%; left: 70%; }
	}
	&.has-8 {
		justify-content: center; padding-top: 100px;
		li:nth-of-type(1) { top:  1%; left: 34%; }
		li:nth-of-type(2) { top:  4%; left: 67%; }
		li:nth-of-type(3) { top: 24%; left: 20%; }
		li:nth-of-type(4) { top: 27%; left: 82%; }
		li:nth-of-type(5) { top: 50%; left: 28%; }
		li:nth-of-type(6) { top: 52%; left: 72%; }
		li:nth-of-type(7) { top: 74%; left: 18%; }
		li:nth-of-type(8) { top: 75%; left: 85%; }
	}
	&.has-9 {
		justify-content: center; padding-top: 130px;
		li:nth-of-type(1) { top:  1%; left: 55%; }
		li:nth-of-type(2) { top:  9%; left: 24%; }
		li:nth-of-type(3) { top: 14%; left: 83%; }
		li:nth-of-type(4) { top: 33%; left: 15%; }
		li:nth-of-type(5) { top: 38%; left: 86%; }
		li:nth-of-type(6) { top: 57%; left: 31%; }
		li:nth-of-type(7) { top: 59%; left: 68%; }
		li:nth-of-type(8) { top: 79%; left: 14%; }
		li:nth-of-type(9) { top: 80%; left: 86%; }
	}
	&.has-10 {
		justify-content: center; padding-top: 130px;
		li:nth-of-type(1) { top:  0%; left: 47%; }
		li:nth-of-type(2) { top:  5%; left: 79%; }
		li:nth-of-type(3) { top:  8%; left: 18%; }
		li:nth-of-type(4) { top: 30%; left: 69%; }
		li:nth-of-type(5) { top: 32%; left: 29%; }
		li:nth-of-type(6) { top: 52%; left: 88%; }
		li:nth-of-type(7) { top: 54%; left: 11%; }
		li:nth-of-type(8) { top: 77%; left: 85%; }
		li:nth-of-type(9) { top: 80%; left: 20%; }
		li:nth-of-type(10) { top: 81%; left: 50%; }
	}
}

.biglink {
	text-align: center;
	&.zeroBox { margin: 0rem; }
	&.narrowBox { margin: 1rem auto; }
	&.wideBox { margin: 3.5rem auto; }
	&.exBox { margin: 5rem auto; }
	&.borders a { border: 3px solid #FFFFFF; }
	&.bolder a { border-width: 6px; }
	&.kadomaru a { border-radius: 100px; }
	&.shadow a { filter: drop-shadow( 3px 3px 6px var(--text-color-qtr) ); }
	&.buttonic a { box-shadow: 0 3px 0 #00000055, 0 3px 0; top: -3px; &:active { top: 0; box-shadow: 0 0 1px #00000055; } }
	&.mctype1 .microcopy { display: none; }
	&.mctype2 .microcopy { background: none !important; margin: 0.5rem auto; font-size: 1.7rem; b, strong { font-size: 2rem; } }
	&.mctype3 .microcopy { border: 3px solid #FFFFFF; position: relative; z-index: 1; top: 1.0rem; font-size: 1.2rem; border-radius: 100px; width: max-content; margin: -1.0rem auto 0; padding: 0.2rem 1.5rem; b, strong { font-size: 1.4rem; } }
	&.mctype4 .microcopy { background: none !important; margin: 0.5rem auto; font-size: 1.7rem; b, strong { font-size: 2rem; } &::before { content: '＼'; margin-right: 1rem; } &::after { content: '／'; margin-left: 1rem; } }
	a { min-width: 50%; position: relative; font-size: 2rem; text-align: center; font-weight: var(--bold); display: inline-block; margin: 0.5rem auto; padding: 1rem 2.5rem; color: #FFFFFF; span.material-symbols-outlined { font-size: 2rem; margin-top: -0.35rem; font-variation-settings: 'wght' 400; } }
	a:has(p) { padding: 1rem 4rem 1rem 3rem; }
	a:hover { filter: brightness(1.1); }
	&.shadow a:hover { filter: brightness(1.1) drop-shadow( 3px 3px 6px var(--text-color-qtr) ); }
	a p { font-size: 2rem; line-height: 2rem; height: 2rem; position: absolute; top: 50%; right: 1rem; margin-top: -1rem; }
	@media( 768px > width ) {
		&.mctype2 .microcopy { margin: 2vmax auto; font-size: 3.5vw; b, strong { font-size: 4.25vw; } }
		&.mctype3 .microcopy { top: 15px; font-size: 3vw; margin: -15px auto 0; padding: 0.5vw 3vw; b, strong { font-size: 3.5vw; } }
		&.mctype4 .microcopy { margin: 0.5rem auto; font-size: 3.5vw; b, strong { font-size: 4.25vw; } }
		a { font-size: 4.5vw; padding: 2vw 5vw; span.material-symbols-outlined { font-size: 4.5vw; margin-top: -0.5vw; font-variation-settings: 'wght' 400; } }
		a:has(p) { padding: 2vw 8vw 2vw 5vw; }
		a p { font-size: 4.5vw; line-height: 4.5vw; height: 4.5vw; top: 50%; right: 1.5vw; margin-top: -2.25vw; }
	}
}

.biglinkimg {
	text-align: center;
	&.zeroBox { margin: 0rem; }
	&.narrowBox { margin: 1rem auto; }
	&.wideBox { margin: 3.5rem auto; }
	&.exBox { margin: 5rem auto; }
	&.borders a { border: 3px solid #FFFFFF; }
	&.bolder a { border-width: 6px; }
	&.kadomaru a { border-radius: 100px; }
	&.shadow a { filter: drop-shadow( 3px 3px 6px var(--text-color-qtr) ); }
	&.buttonic a { box-shadow: 0 3px 0 #00000055, 0 3px 0; top: -3px; &:active { top: 0; box-shadow: 0 0 1px #00000055; } }
	&.mctype1 .microcopy { display: none; }
	&.mctype2 .microcopy { background: none !important; margin: 0.5rem auto; font-size: 1.7rem; b, strong { font-size: 2rem; } }
	&.mctype3 .microcopy { border: 3px solid #FFFFFF; position: relative; z-index: 1; top: 1.0rem; font-size: 1.2rem; border-radius: 100px; width: max-content; margin: -1.0rem auto 0; padding: 0.2rem 1.5rem; b, strong { font-size: 1.4rem; } }
	&.mctype4 .microcopy { background: none !important; margin: 0.5rem auto; font-size: 1.7rem; b, strong { font-size: 2rem; } &::before { content: '＼'; margin-right: 1rem; } &::after { content: '／'; margin-left: 1rem; } }
	a { overflow: hidden; position: relative; display: block; width: max-content; margin: 0.5rem auto; }
	a:hover { filter: brightness(1.1); }
	&.shadow a:hover { filter: brightness(1.1) drop-shadow( 3px 3px 6px var(--text-color-qtr) ); }
	@media( 768px > width ) {
		&.mctype2 .microcopy { margin: 2vmax auto; font-size: 3.5vw; b, strong { font-size: 4.25vw; } }
		&.mctype3 .microcopy { top: 15px; font-size: 3vw; margin: -15px auto 0; padding: 0.5vw 3vw; b, strong { font-size: 3.5vw; } }
		&.mctype4 .microcopy { margin: 2vmax auto; font-size: 3.5vw; b, strong { font-size: 4.25vw; } }
		a { max-width: 90%; }
	}
}

.simplecta {
	&.wideBox { margin: 1.5rem auto; }
	&.exBox { margin: 2.5rem auto; }
	.ttl { font-size: 2.2rem; text-align: center; font-weight: var(--bold); }
	.sub { font-size: 1.45rem; text-align: center; font-weight: var(--bold); }
	ul {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 -2rem;
		li { 
			margin: 2rem; width: calc( 50% - 4rem ); 
			&.borders a { border: 3px solid #FFFFFF; }
			&.bolder a { border-width: 6px; }
			&.kadomaru a { border-radius: 100px; }
			&.shadow a { box-shadow: 3px 3px 6px var(--text-color-qtr); }
			a { position: relative; font-size: 1.76rem; text-align: center; font-weight: var(--bold); display: block; padding: 1rem 2.5rem; span.material-symbols-outlined { font-size: 2rem; margin-top: -0.35rem; font-variation-settings: 'wght' 400; } }
			a:has(p) { padding: 1rem 4rem 1rem 3rem; }
			a:hover { filter: brightness(1.1); }
			a > p { font-size: 2rem; line-height: 2rem; height: 2rem; position: absolute; top: 50%; right: 1rem; margin-top: -1rem; }
		}
	}
	@media( 1080px > width ) {
		ul {
			li { width: 80%; margin: 1rem auto; }
		}
	}
	@media( 768px > width  ) {
		.ttl { font-size: 6vw; margin: 4vh auto; }
		.sub { font-size: 4vw; margin: 4vh auto; }
		ul li {
			margin: 1vmax auto;
			.cms_tel { padding: 2vw 4vw 2vw 3vw; }
			.cms_tel .telno { font-size: 6.5vw; line-height: 1.1; }
			.cms_tel .comment { font-size: 2vw; line-height: 1.1; }
			a span.material-symbols-outlined,
			a { font-size: 4vw; }
		}
	}
}

.cms_tel {
	text-align: center; line-height: 1.1; 
	.telno { font-weight: var(--bold); font-size: 2.2rem; line-height: 2.2rem; }
	.comment { font-size: 0.9rem; letter-spacing: 0.2rem; }
}

.fixedbutton_text {
	position: fixed;
	z-index: 99999;
	&.fixedfade { display: none; }
	@media(min-width:768px) {
		&.borders a { border: 3px solid #FFFFFF; margin: 3px; }
		&.borders.type3 a { margin: 0 0.5rem; }
		&.bolder a { border-width: 6px; }
		&.kadomaru a { border-radius: 1rem; }
		&.kadomaru.type3 a { border-radius: 1rem 1rem 0 0; }
		&.shadow a { box-shadow: 3px 3px 6px #00000055; }
		&.type1 { 
			top: 50%; right: 0; transform: translate( 0, -50% );
			a { display: flex; writing-mode: vertical-rl; padding: 1.25rem 0.5rem; text-orientation: upright; font-size: 1.6rem; font-weight: var(--bold); align-items: center; }
			a:has(span), a:has(i) { padding-bottom: 1.5rem; }
			a span.material-symbols-outlined { font-size: 2.0rem; margin-bottom: 0.5rem; font-variation-settings: 'wght' 400; }
			a i { margin-bottom: 0.5rem; }
			a:hover { filter: brightness(1.1); }
		}
		&.type2 {
			display: flex; bottom: 0; right: 0; 
			a { display: block; padding: 1rem; font-size: 1.3rem; }
			a span.material-symbols-outlined { font-size: 1.7rem; margin-right: 0.5rem; font-variation-settings: 'wght' 400; }
			a i { margin-right: 0.5rem; }
			a:hover { filter: brightness(1.1); }
		}
		&.type3 {
			display: flex; bottom: 0; left: 50%; transform: translate( -50%, 0 );
			a { display: block; padding: 0.5rem 1.2rem; font-size: 1.3rem; border-bottom: none; }
			a span.material-symbols-outlined { font-size: 1.7rem; margin-right: 0.5rem; font-variation-settings: 'wght' 400; }
			a i { margin-right: 0.5rem; }
			a:hover { filter: brightness(1.1); }
		}
	}
	@media( 768px > width ) {
		&.borders a { border: 3px solid #FFFFFF; margin: 3px; }
		&.bolder a { border-width: 6px; }
		&.kadomaru a { border-radius: 1rem; }
		&.shadow a { box-shadow: 3px 3px 6px #00000055; }
		display: flex; bottom: 0; left: 0; width: 100%;
		a { display: block; padding: 0.5rem 1.2rem; font-size: 1.3rem; border-bottom: none; flex: 1; text-align: center; }
		a span.material-symbols-outlined { font-size: 1.7rem; margin-right: 0.5rem; font-variation-settings: 'wght' 400; }
		a i { margin-right: 0.5rem; }
		a:hover { filter: brightness(1.1); }
	}
}

.fixedicon {
	position: fixed;
	z-index: 99999;
	display: none;
	right: 1.5rem; bottom: 1.5rem;
	&.borders a { border: 3px solid #FFFFFF; margin: 3px; }
	&.bolder a { border-width: 6px; }
	&.kadomaru a { border-radius: 5rem; }
	&.shadow a { box-shadow: 3px 3px 6px #00000055; }
	a {
		font-size: 3rem;
		height: 5rem; width: 5rem; line-height: 3rem;
		display: flex; justify-content: center; align-items: center;
	}
	@media( 768px > width ) {
		& { right: 1rem; bottom: 1rem; }
		& a { font-size: 2.5rem; height: 4.5rem; width: 4.5rem; line-height: 2.5rem; }
	}
}
.fixedimage {
	position: fixed;
	z-index: 99999;
	&.borders a { border: 3px solid #FFFFFF; margin: 3px; }
	&.bolder a { border-width: 6px; }
	&.bgcolor a { background: inherit; }
	&.shadow a { box-shadow: 3px 3px 6px #00000055; }
	a {
		font-size: 3rem;
		height: 5rem; width: 5rem; line-height: 3rem;
		display: flex; justify-content: center; align-items: center;
	}
}

.linkpage {
	position: relative;
	max-width: 480px;
	margin: 0 auto;
	.logo { max-width: 60%; margin: 1rem auto 2rem; }
	.sharedbutton {
		position: absolute;
		top: 0rem; right: 0rem;
		width: 3rem; height: 3rem; font-size: 1.5rem; display: flex; justify-content: center; align-items: center;
		color: inherit;
	}
	.profile_area {
		margin: 2rem auto;
		text-align: center;
		.images { margin: 0 auto; width: 128px; height: 128px; &.circle { border-radius: 128px; } }
		.name1 { font-size: 1.2rem; font-weight: var(--bold); margin: 0.5rem auto; }
		.name2 { font-size: 0.9rem; font-weight: var(--bold); margin: 0.5rem auto; }
		.comment { font-size: 1.0rem; margin: 2rem auto; }
	}
	&.type1 {
		ul li {
			margin: 0.5rem auto;
			padding: 0.8rem;
			display: flex;
			align-items: center;
			.icon, .images { width: 60px; height: 60px; font-size: 48px; display: flex; justify-content: center; align-items: center; }
			.icon > span { font-size: 48px; }
			.mainbody {
				flex: 1; margin-left: 1rem;
				p:nth-of-type(1) { font-size: 1.0rem; font-weight: var(--bold); margin-bottom: 0.2rem; }
				p:nth-of-type(2) { font-size: 0.9rem; }
				a, a:hover { color: inherit; text-decoration: none; }
			}
		}
	}
	&.type2 {
		.sharedbutton { border-radius: 100px; }
		ul li {
			margin: 0.5rem auto;
			padding: 0.8rem 1.2rem;
			display: flex;
			align-items: center;
			border-radius: 200px;
			.icon, .images { width: 60px; height: 60px; font-size: 48px; display: flex; justify-content: center; align-items: center; }
			.icon > span { font-size: 48px; }
			.mainbody {
				flex: 1;
				margin-left: 1rem;
				p:nth-of-type(1) { font-size: 1.0rem; font-weight: var(--bold); margin-bottom: 0.2rem; }
				p:nth-of-type(2) { font-size: 0.9rem; }
				a, a:hover { color: inherit; text-decoration: none; }
			}
		}
	}
	&.glass .sharedbutton,
	&.glass li { backdrop-filter: blur( 4px ); }
	&.dropshadow .sharedbutton,
	&.dropshadow li { filter: drop-shadow( 4px 4p 4px var(--text-color-half) ); }
	@media( 768px > width ) {
		& .sharedbutton { position: fixed; top: 0.5rem; right: 0.5rem; }
	}
}


/* 全画面を覆うペイメントラッパー */
.payment-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.8); /* 半透明背景 */
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
}
#payment-form {
	background: white;
	padding: 30px 40px;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	width: 600px;
	max-width: 60vw;
}
#payment-form label { font-size: 0.9rem; color: var(--main-color); font-weight: var(--bold);margin-top: 0.5rem auto;display: block; }
#payment-form input {width: 100%;padding: 10px;margin: 0.2rem auto 1rem;font-size: 1rem;border: 1px solid #ccc;border-radius: 5px;}
#payment-form .payment-contents { font-size: 1.2rem; font-weight: var(--bold); margin-bottom: 1rem;}
#payment-form input:read-only { background: #DDD; color: #999; }
#payment-form input:focus { outline: none; border-color: #007bff; }
#card-element { min-height: 2rem; padding: 0.5rem; border: 2px solid var(--main-color); border-radius: 8px; }
.button-group {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}
.payment-caption { font-size: 0.9rem; margin-bottom: 0rem !important; text-indent: -1.5rem; padding-left: 1.5rem; opacity: 0.7; &::before{content:'※ ';}}

/* ボタンの共通スタイル */
#payment-form button, .return {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background 0.3s ease;
}

/* 決済ボタン */
#payment-form button { background: var(--main-color); color: white; }
#payment-form button:hover { opacity: 0.8;}
.return { background: #ddd; color: #333; text-decoration: none;}
.return:hover { opacity: 0.8; }
.entry_complete { 
	text-align: center;
	font-weight: var(--bold);
	strong { color: var(--main-color); font-size: 2.4rem; }
	p { font-size: 1.4rem; margin-bottom: 1.5rem; display: block; }
}

header.simpleheader {
	padding: 0.5rem 1rem;
	width: 100%;
	position: relative;
	display: flex;
	z-index: 9999;
	&.fixed { position: fixed; }
	&.overfixed { position: fixed; }
	&.blur { backdrop-filter: brightness(0.9) blur(7px); }
	&.type1 .inner { text-align: center; }
	&.type2 .inner { text-align: left; }
	&.dropshadow { box-shadow: 0 4px 4px var(--text-color-qtr); }
	.inner { display: block; width: 100%; img { max-height: 100%; } }
}
header.anchorheader {
	&.fixed { position: fixed !important; }
	&.overfixed { position: fixed !important; }
	&.blur { backdrop-filter: brightness(0.9) blur(7px); }
	&.dropshadow { box-shadow: 0 4px 4px var(--text-color-qtr); }
	.logo, .logo * { max-height: inherit; }
}

.code_pre {
	&.type1 {
		.ttl { margin: 0.3rem auto; font-size: 1.1rem; font-weight: var(--bold); opacity: 0.7; }
		pre {
			overflow-x: scroll;
			font-size: 0.9rem;
			padding: 1rem; margin: 0;
			background: #282c34;
			color: #FFFFFF;
		}
	}
}

.textbox {
	& > ol {
		margin: 1.5rem auto;
		padding-left: 1.5rem;
		& > li {
			list-style-type: decimal;
			text-indent: 0.3rem;
			margin-bottom: 0.5rem;
		}
	}
	& > ul {
		margin: 1.5rem auto;
		padding-left: 1.8rem;
		& > li {
			list-style-type: disc;
			margin-bottom: 0.5rem;
		}
	}
	& > table {
		width: 100%;
		margin: 1.5rem auto;
		tr th,
		tr td { border: 1px solid var(--text-color-half); padding: 0.25rem 1rem; }
		tr th { font-weight: var(--bold); background: var(--text-color-qtr); }
	}
	pre {
		margin: 1.5rem auto;
		overflow-x: scroll;
		font-size: 0.9rem;
		padding: 1rem;
		background: #282c34;
		color: #FFFFFF;
	}
	blockquote {
		position: relative;
		margin: 1.5rem auto;
		padding: 1rem 1rem 1rem 2rem;
		background: var(--text-color-qtr); font-style: italic;
		&::before {
			display: inline-block;
			font-family: FontAwesome;
			top: 1rem; left: 1rem;
			position: absolute;
			content: "\f10d";
			line-height: 1;
			opacity: 0.2;
		}
	}
}.calendar {
	.day20230102, .day20230109, .day20230211, .day20230223, .day20230321, .day20230429, .day20230503, .day20230504, .day20230505, .day20230717, .day20230811, .day20230918, .day20230923, .day20231009, .day20231103, .day20231123, 
	.day20240101, .day20240108, .day20240211, .day20240212, .day20240223, .day20240320, .day20240429, .day20240503, .day20240504, .day20240505, .day20240506, .day20240715, .day20240811, .day20240812, .day20240916, .day20240922, 
	.day20240923, .day20241014, .day20241103, .day20241104, .day20241123, .day20250101, .day20250113, .day20250211, .day20250223, .day20250224, .day20250320, .day20250429, .day20250503, .day20250504, .day20250505, .day20250506, 
	.day20250721, .day20250811, .day20250915, .day20250923, .day20251013, .day20251103, .day20251123, .day20251124, .day20260101, .day20260112, .day20260211, .day20260223, .day20260320, .day20260429, .day20260503, .day20260504, 
	.day20260505, .day20260506, .day20260720, .day20260811, .day20260921, .day20260922, .day20260923, .day20261012, .day20261103, .day20261123, .day20270101, .day20270111, .day20270211, .day20270223, .day20270321, .day20270322, 
	.day20270429, .day20270503, .day20270504, .day20270505, .day20270719, .day20270811, .day20270920, .day20270923, .day20271011, .day20271103, .day20271123, .day20280101, .day20280110, .day20280211, .day20280223, .day20280320, 
	.day20280429, .day20280503, .day20280504, .day20280505, .day20280717, .day20280811, .day20280918, .day20280922, .day20281009, .day20281103, .day20281123, .day20290101, .day20290108, .day20290211, .day20290212, .day20290223, 
	.day20290320, .day20290429, .day20290430, .day20290503, .day20290504, .day20290505, .day20290716, .day20290811, .day20290917, .day20290923, .day20290924, .day20291008, .day20291103, .day20291123, .day20300101, .day20300114, 
	.day20300211, .day20300223, .day20300320, .day20300429, .day20300503, .day20300504, .day20300505, .day20300506, .day20300715, .day20300811, .day20300812, .day20300916, .day20300923, .day20301014, .day20301103, .day20301104, 
	.day20301123, .day20310101, .day20310113, .day20310211, .day20310223, .day20310224, .day20310321, .day20310429, .day20310503, .day20310504, .day20310505, .day20310506, .day20310721, .day20310811, .day20310915, .day20310923, 
	.day20311013, .day20311103, .day20311123, .day20311124, .day20320101, .day20320112, .day20320211, .day20320223, .day20320320, .day20320429, .day20320503, .day20320504, .day20320505, .day20320719, .day20320811, .day20320920, 
	.day20320921, .day20320922, .day20321011, .day20321103, .day20321123, .day20330101, .day20330110, .day20330211, .day20330223, .day20330320, .day20330321, .day20330429, .day20330503, .day20330504, .day20330505, .day20330718, 
	.day20330811, .day20330919, .day20330923, .day20331010, .day20331103, .day20331123, .day20340101, .day20340102, .day20340109, .day20340211, .day20340223, .day20340320, .day20340429, .day20340503, .day20340504, .day20340505, 
	.day20340717, .day20340811, .day20340918, .day20340923, .day20341009, .day20341103, .day20341123, .day20350101, .day20350108, .day20350211, .day20350212, .day20350223, .day20350321, .day20350429, .day20350430, .day20350503, 
	.day20350504, .day20350505, .day20350716, .day20350811, .day20350917, .day20350923, .day20350924, .day20351008, .day20351103, .day20351123, .day20351224, .day20360101, .day20360114, .day20360211, .day20360223, .day20360320, 
	.day20360429, .day20360503, .day20360504, .day20360505, .day20360506, .day20360721, .day20360811, .day20360915, .day20360922, .day20361013, .day20361103, .day20361123, .day20361124, .day20370101, .day20370112, .day20370211, 
	.day20370223, .day20370320, .day20370429, .day20370503, .day20370504, .day20370505, .day20370506, .day20370720, .day20370811, .day20370921, .day20370922, .day20370923, .day20371012, .day20371103, .day20371123, .day20380101, 
	.day20380111, .day20380211, .day20380223, .day20380320, .day20380429, .day20380503, .day20380504, .day20380505, .day20380719, .day20380811, .day20380920, .day20380923, .day20381011, .day20381103, .day20381123, .day20390101, 
	.day20390110, .day20390211, .day20390223, .day20390321, .day20390429, .day20390503, .day20390504, .day20390505, .day20390718, .day20390811, .day20390919, .day20390923, .day20391010, .day20391103, .day20391123, .day20400101, 
	.day20400102, .day20400109, .day20400211, .day20400223, .day20400320, .day20400429, .day20400430, .day20400503, .day20400504, .day20400505, .day20400716, .day20400811, .day20400917, .day20400922, .day20401008, .day20401103, 
	.day20401123, .day20401224, .day20410101, .day20410114, .day20410211, .day20410223, .day20410320, .day20410429, .day20410503, .day20410504, .day20410505, .day20410506, .day20410715, .day20410811, .day20410812, .day20410916, 
	.day20410923, .day20411014, .day20411103, .day20411104, .day20411123, .day20420101, .day20420113, .day20420211, .day20420223, .day20420224, .day20420320, .day20420429, .day20420503, .day20420504, .day20420505, .day20420506, 
	.day20420721, .day20420811, .day20420915, .day20420923, .day20421013, .day20421103, .day20421123, .day20421124, .day20430101, .day20430112, .day20430211, .day20430223, .day20430321, .day20430429, .day20430503, .day20430504, 
	.day20430505, .day20430506, .day20430720, .day20430811, .day20430921, .day20430922, .day20430923, .day20431012, .day20431103, .day20431123, .day20440101, .day20440111, .day20440211, .day20440223, .day20440320, .day20440321, 
	.day20440429, .day20440503, .day20440504, .day20440505, .day20440718, .day20440811, .day20440919, .day20440922, .day20441010, .day20441103, .day20441123, .day20450101, .day20450102, .day20450109, .day20450211, .day20450223, 
	.day20450320, .day20450429, .day20450503, .day20450504, .day20450505, .day20450717, .day20450811, .day20450918, .day20450922, .day20451009, .day20451103, .day20451123, .day20460101, .day20460108, .day20460211, .day20460212, 
	.day20460223, .day20460320, .day20460429, .day20460430, .day20460503, .day20460504, .day20460505, .day20460716, .day20460811, .day20460917, .day20460923, .day20460924, .day20461008, .day20461103, .day20461123, .day20461224, 
	.day20470101, .day20470114, .day20470211, .day20470223, .day20470321, .day20470429, .day20470503, .day20470504, .day20470505, .day20470506, .day20470715, .day20470811, .day20470812, .day20470916, .day20470923, .day20471014, 
	.day20471103, .day20471104, .day20471123, .day20480101, .day20480113, .day20480211, .day20480223, .day20480224, .day20480320, .day20480429, .day20480503, .day20480504, .day20480505, .day20480506, .day20480720, .day20480811, 
	.day20480921, .day20480922, .day20481012, .day20481103, .day20481123, .day20490101, .day20490111, .day20490211, .day20490223, .day20490320, .day20490429, .day20490503, .day20490504, .day20490505, .day20490719, .day20490811, 
	.day20490920, .day20490921, .day20490922, .day20491011, .day20491103, .day20491123, .day20500101, .day20500110, .day20500211, .day20500223, .day20500320, .day20500321, .day20500429, .day20500503, .day20500504, .day20500505, 
	.day20500718, .day20500811, .day20500919, .day20500923, .day20501010, .day20501103, .day20501123,
	.sunday {
		background: var(--holiday-bg);
		color: var(--holiday-color);
	}
	.saturday {
		background: var(--saturday-bg);
		color: var(--saturday-color);
	}
}.copyright .wrapper div {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
@media (max-width:768px) {
	.copyright .wrapper div { display: block; }
}
#container {
	background: #F3F5FF;
}
.outer_wrapper, footer .wrapper, header .wrapper, section .wrapper, .image_parts.full {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
	padding: 0;
}