@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

@charset "UTF-8";

/*!
 * ress.css • v5.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}


@keyframes anchorFade { 0% {opacity: 1; } 100% {opacity: 0.7; } }
@-webkit-keyframes anchorFade { 0% {opacity: 1; } 100% {opacity: 0.7; } }

/*====================================
	----------------------------------
			Structure
		----------------------------------

		0. General
		1. Header
		2. Main
		3. Footer
====================================*/


/*====================================

	0. General

====================================*/
@keyframes fadeIn {
		0% {opacity: 0; }
		100% {opacity: 1; }
}
@-webkit-keyframes fadeIn {
		0% {opacity: 0; }
		100% {opacity: 1; }
}

html { scroll-behavior: smooth; font-size: 62.5%; }
@media screen and (max-width: 767px) {
	html { font-size: 2.34375vw; }
}
body { position: relative; background: #fff; color: #000; font-size: 1.0rem; font-family: "Noto Sans JP", sans-serif; line-height: 1.6; -webkit-animation: fadeIn 1s ease 0s 1 normal; animation: fadeIn 1s ease 0s 1 normal; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
a { color: inherit; text-decoration: none; transition: opacity .3s; }
a:hover,
input:hover { opacity: 0.7; -webkit-animation: anchorFade 0.5s ease 0s 1 normal; animation: anchorFade 0.5s ease 0s 1 normal; }
button,
input,
textarea,
select { font: inherit; color: inherit; }
button { cursor: pointer; }
table { border-collapse: collapse; border-spacing: 0; }
ul, ol { list-style: none; }

.flR { float: right; margin: 0 0 15px 20px; }
.flL { float: left; }

@media (min-width: 768px) {
	.spOnly { display: none !important; }
	#page-top { position: fixed; right: 20px; bottom: 20px; z-index: 100; }
	#page-top a { display: block; width: 50px; height: 50px; background: url("../image/icon_pagetop.svg") no-repeat 0 0 / contain; text-indent:-9999px; }
}
@media (max-width: 767px) {
	.pcOnly { display: none !important; }
	#page-top { position: fixed; right: 3vw; bottom: 3vw; z-index: 100; }
	#page-top a { display: block; width: 10vw; height: 10vw; background: url("../image/icon_pagetop.svg") no-repeat 0 0 / contain; text-indent:-9999px; }
}



/*====================================

	1. Header

====================================*/
@media (min-width: 768px) {
	.l-header { margin: 0 auto; max-width: 1000px; height: 130px; font-size: 1.6rem; display: flex; justify-content: space-between; align-items: center; line-height: 1.2; }
	.l-header__logo { width: 120px; }
	.l-header__nav { display: flex; gap: 40px; }
	.l-header__item { text-align: center; position: relative; padding-left: 42px; }
	.l-header__text { font-size: 1rem; color: #686868; display: block; margin-top: 5px; }
	.l-header__item a { display: block; }
	.l-header__item::before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto; }
	.l-header__item:nth-child(1)::before { background: url("../image/icon_about.svg") no-repeat 50% 50% / contain; width: 40px; height: 40px; }
	.l-header__item:nth-child(2)::before { background: url("../image/icon_product.svg") no-repeat 50% 50% / contain; width: 34px; height: 34px; }
	.l-header__item:nth-child(3)::before { background: url("../image/icon_company.svg") no-repeat 50% 50% / contain; width: 35px; height: 35px; }
	.l-header__item:nth-child(4)::before { background: url("../image/icon_contact.svg") no-repeat 50% 50% / contain; width: 30px; height: 30px; }
}
@media screen and (max-width: 767px) {
	.l-header { position: relative; height: 19vw; font-size: 4.375vw; }
	header h1 { float: left; margin: 3vw 0 0 4vw; }
	header h1 img { width: 18vw; height: auto; }
	#gnav { position: relative; } 
	#panel-btn { position: absolute; top: 3vw; right: 3vw; z-index: 2000; display: inline-block; padding: 3.7vw; width: 12.5vw; height: 12.5vw; border-radius: 1.5vw; background: #585450; text-indent: -9999px; } 
	#panel-btn.cls { background: #ffffff; }
	#panel-btn-icon { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; display: block; width: 6vw; height: 0.4vw; background: #ffffff; transition: .2s; } 
	#panel-btn-icon::before,
	#panel-btn-icon::after { position: absolute; top: 50%; left: 0; display: block; width: 6vw; height: 0.4vw; background: #ffffff; content: ""; transition: .3s; } 
	#panel-btn-icon::before { margin-top: -2.4vw; }
	#panel-btn-icon::after { margin-top: 2vw; } 
	#panel-btn .close { background: transparent; }
	#panel-btn .close::before,
	#panel-btn .close::after { margin-top: 0; } 
	#panel-btn .close::before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } 
	#panel-btn .close::after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); } 
	.gnav { position: absolute; top: 19vw; z-index: 1000; display: none; width: 100%; background: #f5f5f5; box-shadow: 0 0 3px rgba(0,0,0,0.2); }
	.l-header__item{ box-sizing: border-box; border-bottom: 1px solid #e4e4e4; }
	.l-header__item a { position: relative; display: block; box-sizing: border-box; padding: 5vw 5vw 5vw 15vw; vertical-align: middle; text-decoration: none; }
	.l-header__text { font-size: 1rem; color: #686868; margin-left: 5vw; }
	.l-header__item a::before { position: absolute; content: ""; top: 0; bottom: 0; left: 5vw; margin: auto; width: 7vw; height: 7vw; }
	.l-header__item:nth-child(1) a::before { background: url("../image/icon_about.svg") no-repeat center / contain; }
	.l-header__item:nth-child(2) a::before { background: url("../image/icon_product.svg") no-repeat center / contain; }
	.l-header__item:nth-child(3) a::before { background: url("../image/icon_company.svg") no-repeat center / contain; }
	.l-header__item:nth-child(4) a::before { background: url("../image/icon_contact.svg") no-repeat center / contain; }
}



/*====================================

	2. Main

====================================*/
main { position: relative; display: block; overflow: hidden; height: auto; min-width: 1000px; font-weight: 300; font-size: 1.6rem; padding-bottom: 50px; }
.c-title01 { background: #333; height: 200px; width: 100%; display: grid; place-items: center; text-align: center; margin-bottom: 60px; font-size: 3.6rem; color: #fff; line-height: 1.2; }
.c-title01__text { font-size: 2.2rem; display: block; margin-top: 10px; }
.c-title01__icon { display: inline-block; position: relative; padding-left: 100px; }
.c-title01__icon::before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto; width: 70px; height: 70px; }
.c-title01__icon--about::before { background: url("../image/icon_about_white.svg") no-repeat center / contain; }
.c-title01__icon--product::before { background: url("../image/icon_product_white.svg") no-repeat center / contain; }
.c-title01__icon--company::before { background: url("../image/icon_company_white.svg") no-repeat center / contain; }
.c-title01__icon--contact::before { background: url("../image/icon_contact_white.svg") no-repeat center / contain; }
.c-title01__icon--download::before { background: url("../image/icon_download.svg") no-repeat center / contain; }
.c-title01__icon--privacy { padding-left: 0; }
.c-title02 { font-size: 3rem; text-align: center; padding-bottom: 20px; margin-bottom: 40px; position: relative; }
.c-title02::after { position: absolute; width: 150px; height: 5px; background: #c0c8cc; content: ""; bottom: 0; left: 0; right: 0; margin: auto; }
.c-title02__text { display: block; font-size: 1.6rem; }

@media screen and (max-width: 767px) {
	main { min-width: 100vw; padding-bottom: 10vw; }
	.c-title01 { height: 30vw; margin-bottom: 10vw; font-size: 6vw; }
	.c-title01__text { font-size: 5vw; margin-top: 1vw; }
	.c-title01__icon::before { width: 14vw; height: 14vw; }
	.c-title02 { padding-bottom: 3vw; margin-bottom: 5vw; }
	.c-title02::after { width: 40vw; height: 1vw; }
}



/*----------------------
	2-1. top page
----------------------*/
.home main { background: #eee; }
.topSlideBlock { height: 500px; }
.home main .slider li { height: 500px; width: 100%; display: grid !important; place-items: center; }
.home main .slider li.slide01 { background: url("../image/top_slide01.webp") no-repeat center / cover; }
.home main .slider li.slide02 { background: url("../image/top_slide02.webp") no-repeat center / cover; }
.home main .slider li.slide03 { background: url("../image/top_slide03.webp") no-repeat center / cover; }
section.topAboutBlock { padding: 80px 0 100px; background: #fff; }
section.topAboutBlock p { text-align: center; margin: 0 auto; font-size: 1.8rem; font-weight: 600; line-height: 2.4; }
section.topLinkBlock { max-width: 1000px; margin: -24px auto 80px; }
section.topLinkBlock ul { display: flex; justify-content: space-between; }
section.topLinkBlock li { width: 308px; position: relative; background: #fff; box-shadow: 0px 0px 8px 3px #fafafa inset; }
section.topLinkBlock li:before { position: absolute; top: -40px; left: 0; right: 0; margin: auto; width: 80px; height: 80px; border: 10px solid #fff; content: ""; background: #585450; transform: rotate(45deg); }
section.topLinkBlock li:after { position: absolute; top: -20px; left: 0; right: 0; margin: auto; content: ""; width: 40px; height: 40px; }
section.topLinkBlock li:nth-child(1):after { background: url("../image/icon_about_white.svg") no-repeat 50% 50% / contain; }
section.topLinkBlock li:nth-child(2):after { background: url("../image/icon_product_white.svg") no-repeat 50% 50% / contain; }
section.topLinkBlock li:nth-child(3):after { background: url("../image/icon_company_white.svg") no-repeat 50% 50% / contain; }
section.topLinkBlock li a { display: block; width: 100%; height: 100%; padding: 70px 30px 20px; }
section.topLinkBlock dt { text-align: center; font-size: 1.6rem; font-weight: bold; margin-bottom: 25px; }
section.topLinkBlock dt span { font-size: 1rem; color: #686868; display: block; }
section.topLinkBlock dd { line-height: 1.6; }
section.topInfoBlock { max-width: 700px; margin: 0 auto; }
section.topInfoBlock dl { display: block; overflow: hidden; }
section.topInfoBlock dt { float: left; }
section.topInfoBlock dd { margin-left: 120px; }
section.topInfoBlock dd a { text-decoration: underline; }
section.topFulsBlock { text-align: center; margin: 50px 0; }
section.topFulsBlock ul { display: flex; justify-content: space-between; max-width: 1000px; margin: 0 auto; }
div.bx-wrapper { border: none; margin-bottom: 0; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; height: 500px; overflow: hidden; }
.bxslider, bxslider * { transition:initial; }
@media (max-width: 767px) {
	.topSlideBlock { height: 70vw; }
	.home main .slider li { height: 70vw; }
	.home main h2 { padding-bottom: 2vw; }
	section.topAboutBlock { padding: 8vw 5vw 20vw; }
	section.topLinkBlock { margin: -5vw auto 10vw; }
	section.topLinkBlock ul { align-items: center; flex-direction: column; gap: 15vw; }
	section.topLinkBlock li { width: 80vw; }
	section.topLinkBlock li:before { position: absolute; top: -8vw; width: 16vw; height: 16vw; border: 2vw solid #fff; }
	section.topLinkBlock li:after { position: absolute; top: -4vw; width: 8vw; height: 8vw; }
	section.topLinkBlock li a { padding: 10vw 5vw 5vw; }
	section.topLinkBlock dt { margin-bottom: 3vw; }
	section.topLinkBlock dd { line-height: 1.6; }
	section.topInfoBlock { margin: 0 5vw; }
	section.topInfoBlock dt { float: none; }
	section.topInfoBlock dd { margin-left: 0; }
	section.topFulsBlock { margin: 10vw 5vw 5vw; }
	section.topFulsBlock ul { flex-direction: column; gap: 3vw; }
}


/*----------------------
	2-2. about page
----------------------*/
section.aboutBlock { max-width: 880px; margin: 0 auto 50px; }
section.aboutBlock p { margin: 0 auto 60px; line-height: 1.6; }
section.aboutBlock .flR { margin-left: 70px; }
section.aboutBlock h3 { font-size: 2.8rem; text-align: center; margin: 50px 0 30px; }
section.aboutBlock h3 span { position: relative; display: inline-block; }
section.aboutBlock h3 span:before { color: #fff; background: #097c25; position: absolute; top: 0; bottom: 0; left: -60px; margin-top: auto; width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1; font-size: 2.2rem; }
section.aboutBlock h3.num1 span:before { content: "1"; }
section.aboutBlock h3.num2 span:before { content: "2"; }
section.aboutBlock h3.num3 span:before { content: "3"; }
section.aboutBlock h3.num4 span:before { content: "4"; }
section.aboutBlock h3.num5 span:before { content: "5"; }
section.aboutBlock h3+p { text-align: center; }
section.aboutBlock dt { text-align: center; font-weight: bold; font-size: 1.8rem; margin-bottom: 30px; }
section.aboutBlock dd { margin-bottom: 30px; line-height: 1.6; }
section.aboutBlock figure { margin-bottom: 30px; text-align: center; }
@media (max-width: 767px) {
	section.aboutBlock { margin: 0 5vw 6vw; }
	section.aboutBlock h3 { margin: 5vw 0; }
	section.aboutBlock h3 span:before { left: -10vw; width: 8vw; height: 8vw; vertical-align: middle; }
	section.aboutBlock figure { margin-bottom: 3vw; }
	section.aboutBlock figure img { width: 100%; height: auto; }
	section.aboutBlock li { margin-bottom: 5vw; }
	section.aboutBlock li figure { margin-bottom: 3vw; }
	section.aboutBlock dt { margin-bottom: 3vw; text-align: center; font-weight: bold; font-size: 1.6rem; }
	section.aboutBlock dd { margin-bottom: 5vw; line-height: 1.6; }
}


/*----------------------
	2-3. product page
----------------------*/
section.productBlock { max-width: 1000px; margin: 0 auto; }
section.productBlock p { text-align: center; margin: 0 auto 60px; line-height: 2; }
.productList { display: flex; justify-content: center; align-items: flex-start; gap: 30px; margin: 0 auto 60px; }
.productItem { width: 200px; background: #f5f5f5; padding: 10px; position: relative; overflow: hidden; }
.productItem a { display: block; }
.productItem dt { margin-bottom: 15px; background: #fff; display: flex; justify-content: center; align-items: center; height: 190px; }
.productItem dd { text-align: center; font-weight: bold; font-size: 1.4rem; line-height: 1.2; min-height: 2.5em; }
.productItem dd.icon { text-align: right; margin-top: 15px; min-height: auto; }
.productItem dd.icon img { width: 20px; height: auto; margin-left: 5px; }
.productItem p { margin: 0; }
@media (max-width: 767px) {
	section.productBlock { margin: 0 5vw 6vw; }
	section.productBlock p { margin-bottom: 1.5em; }
	.productItem { width: auto; }
	.productList { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3vw; margin: 0 auto 6vw; }


}


/*----------------------
	2-4. company page
----------------------*/
section.companyBlock { max-width: 1000px; margin: 0 auto 50px; }
section.companyBlock p { max-width: 890px; margin: 0 auto 2em; line-height: 1.6; }
section.companyBlock p strong { font-weight: bold; display: block; text-align: center; font-size: 2rem; }
section.companyBlock p.sign { text-align: right; margin-bottom: 60px; }
section.companyBlock p.sign img { width: 130px; height: auto; }
section.companyBlock table { border-top: 1px solid #a0a0a0; border-collapse: collapse; margin-bottom: 80px; width: 100%; }
section.companyBlock th { border-bottom: 1px solid #a0a0a0; padding: 15px 10px 15px 20px; text-align: left; vertical-align: top; width: 250px; }
section.companyBlock td { border-bottom: 1px solid #a0a0a0; padding: 15px 0; }
section.companyBlock td ul { margin-left: 1.5em; line-height: 1.6; list-style: disc; }
section.companyBlock ol { max-width: 860px; margin: 0 auto 2em; line-height: 1.6; list-style: decimal; }
@media (max-width: 767px) {
	section.companyBlock { margin: 0 5vw 6vw; }
	section.companyBlock p img.flR { float: none; display: block; margin: 0 auto 2vw; width: 30vw; }
	section.companyBlock p.sign { margin: 3vw 0 10vw; }
	section.companyBlock p.sign img { width: 25vw; }
	section.companyBlock table { margin-bottom: 10vw; }
	section.companyBlock th { display: block; border-bottom: none; padding: 3vw 2vw 0; }
	section.companyBlock td { display: block; padding: 2vw 2vw 3vw; }
	section.companyBlock ol { margin-left: 1.5em; }
	section.companyBlock .animated { margin-bottom: 10vw; }
}


/*----------------------
	2-5. contact page
----------------------*/
section.contactBlock { margin: 0 auto 75px; max-width: 1000px; }
section.contactBlock span.required { display: inline-block; margin-left: 7px; padding: 1px 10px; background: #d12b2b; color: #fff; font-size: 1.2rem; }
section.contactBlock p { margin-bottom: 40px; }
section.contactBlock table { margin-bottom: 45px; width: 100%; border-collapse: collapse; border-top: 1px solid #a0a0a0; }
section.contactBlock th,
section.contactBlock td { border-bottom: 1px solid #a0a0a0; }
section.contactBlock th { padding: 22px 0; width: 240px; text-align: left; font-weight: normal; vertical-align: top; }
section.contactBlock td { padding: 15px 0; }
section.contactBlock input[type="text"],
section.contactBlock input[type="email"],
section.contactBlock input[type="tel"] { padding: 3px; width: 440px; border: 1px solid #a9a9a9; background: #fff; }
section.contactBlock input[type="number"] { padding: 3px; width: 200px; border: 1px solid #a9a9a9; background: #fff; }
section.contactBlock input[type="radio"] { margin-right: 5px; }
section.contactBlock input::-webkit-input-placeholder { color: #aaa; }
section.contactBlock input:-moz-placeholder,
section.contactBlock input::-moz-placeholder{ color: #aaa; opacity: 1; }
section.contactBlock input:-ms-input-placeholder { color: #aaa; }
section.contactBlock input:placeholder-shown { color: #aaa; }
section.contactBlock input[type="number"]::-webkit-outer-spin-button,
section.contactBlock input[type="number"]::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
section.contactBlock input[type="number"] { -moz-appearance:textfield; }
section.contactBlock textarea { padding: 3px; width: 100%; height: 10em; border: 1px solid #a9a9a9; background: #fff; }
section.contactBlock label { display: inline-block; margin-right: 15px; }
section.contactBlock span.notice { margin-left: 20px; }
section.contactBlock div.btn { display: flex; gap: 40px; justify-content: center;  align-items: center; }
section.contactBlock div.btn input { display: inline-block; padding: 10px 0; width: 240px; border-radius: 999px; background: #d12b2b; color: #fff; text-align: center; font-size: 2.2rem; cursor: pointer; }
section.contactBlock div.btn a { display: inline-block;  padding: 9px 0; width: 240px; border: 1px solid #1792d2; border-radius: 999px; background: #fff; color: #1792d2; text-align: center; font-size: 2.2rem; cursor: pointer; }
section.contactComplete { margin: 0 auto 75px; padding: 55px 80px; max-width: 1000px; border-radius: 40px; text-align: center; }
section.contactComplete dt { margin-bottom: 35px; font-size: 1.8rem; line-height: 1.6; font-weight: bold; }
@media (max-width: 767px) {
	section.contactBlock { margin: 0 4.6vw 10vw; }
	section.contactBlock span.required { margin-left: 1vw; padding: 0.2vw 1vw; }
	section.contactBlock p { margin-bottom: 1.5em; }
	section.contactBlock table { margin-bottom: 8vw; border-top: 1px solid #a0a0a0; }
	section.contactBlock th,
	section.contactBlock td { display: block; }
	section.contactBlock th { padding: 3vw 0 0; border-bottom: none; }
	section.contactBlock td {  margin: 0 0 3vw; padding-bottom: 3vw; border-bottom: 1px solid #a0a0a0; }
	section.contactBlock input[type="text"],
	section.contactBlock input[type="email"],
	section.contactBlock input[type="tel"],
	section.contactBlock input[type="number"] { width: 100%; }
	section.contactBlock input[type="radio"] { margin-right: 1vw; }
	section.contactBlock textarea { height: 5em; }
	section.contactBlock label { margin-right: 2vw; }
	section.contactBlock span.notice { margin-left: 1vw; }
	section.contactBlock div.btn { gap: 4vw; }
	section.contactBlock div.btn input { padding: 2vw 0; width: 50vw; }
	section.contactBlock div.btn a { padding: 1.6vw 0; width: 31vw; border: 0.2vw solid #1792d2; }
	section.contactComplete { margin: 0 4.6vw 8vw; padding: 7vw 5vw; border-radius: 2vw; }
	section.contactComplete dt { margin-bottom: 5vw; }
}


/*----------------------
	2-6. privacy page
----------------------*/
section.privacyBlock { margin: 0 auto 75px; max-width: 900px; }
section.privacyBlock p.sign { text-align: right; line-height: 1.8; }
section.privacyBlock p.sign img { width: 110px; height: auto; }
section.privacyBlock ol { margin: 2em 0 2em 1em; list-style: decimal; }
section.privacyBlock ol > li { margin-bottom: 1.5em; }
section.privacyBlock ol ul { list-style: disc; margin-left: 1em; }
section.privacyBlock dt { font-weight: bold; }
@media (max-width: 767px) {
	section.privacyBlock { margin: 0 4.6vw 10vw; }
	section.privacyBlock p.sign img { width: 25vw; height: auto; }
}


/*----------------------
	2-7. post page
----------------------*/
section.postBlock { margin: 0 auto 75px; max-width: 700px; }
section.postBlock time { color: #666; }
section.postBlock h3 { font-size: 2.4rem; margin-bottom: 30px; }
section.postBlock article p,
section.postBlock article ul,
section.postBlock article ol,
section.postBlock article blockquote { margin-bottom: 1em; }
section.postBlock article strong { font-weight: bold; }
section.postBlock article blockquote { border-left: 0.4em solid #d5d5d5; padding-left: 1em; }
section.postBlock article ul { margin-left: 1em; list-style: disc; }
section.postBlock article ol { margin-left: 1em; list-style: decimal; }
@media (max-width: 767px) {
	section.postBlock { margin: 0 4.6vw 10vw; }
	section.postBlock h3 { margin-bottom: 10vw; }
}


/*----------------------
	2-8. download page
----------------------*/
section.downloadBlock { margin: 0 auto 75px; max-width: 900px; }
section.downloadBlock p { margin: 3em 0; }
section.downloadBlock ul { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 auto 60px; text-align: center; }
section.downloadBlock ul a { display: block; }
section.downloadBlock dd { text-align: center; margin-top: 0.5em; }
@media (max-width: 767px) {
	section.downloadBlock { margin: 0 4.6vw 5vw; }
	section.downloadBlock ul { margin: 0 auto 6vw; gap: 5vw; }
}


/*====================================

	3. Footer

====================================*/
.top .l-footer, .home .l-footer { border: none; }
.l-footer { padding: 20px calc(50% - 500px) 30px; font-size: 1.4rem; line-height: 1.4; border-top: 1px solid #111; display: flex; justify-content: space-between; }
.l-footer--address { font-style: normal; }
.l-footer--address dl { display: block; overflow: hidden; }
.l-footer--address dt { float: left; }
.l-footer--address dt img { width: 70px; height: auto; }
.l-footer--address dd { margin-left: 85px; }
.l-footer ul { display: flex; gap: 10px; margin-bottom: 10px; }
.l-footer a { text-decoration: underline; }
@media (max-width: 767px) {
	.l-footer { padding: 7vw 5vw; text-align: center; border-top: 0.2vw solid #111; flex-direction: column; }
	.l-footer--address dl { margin-bottom: 6vw; }
	.l-footer--address dt { float: none; margin-bottom: 3vw; }
	.l-footer--address dt img { width: 20vw; }
	.l-footer--address dd { margin-left: 0; }
	.l-footer ul { margin-bottom: 3vw; flex-direction: column; }
	.l-footer a { text-decoration: underline; }
}



/*====================================

	5. JS

====================================*/
.lightbox { display: none; }
.lightbox dl { max-width: 600px; display: block; overflow: hidden; }
.lightbox dt { float: left; margin-bottom: 15px; background: #fff; display: flex; -webkit-justify-content: center; justify-content: center; align-items: center; height: 200px; width: 200px; }
.lightbox dd { margin: 15px 0 0 210px; font-size: 1.4rem; }
.lightbox dd a { font-weight: bold; text-decoration: underline; }
.lightbox dd.title { font-size: 1.6rem; font-weight: bold; }
.lightbox dd.icon { text-align: right; margin-top: 15px; min-height: auto; }
.lightbox dd.icon img { width: 20px; height: auto; margin-left: 5px; }
@media (max-width: 767px) {
	.lightbox dl { width: 80vw; }
	.lightbox dt { float: none; display: block; margin-bottom: 3vw; background: #fff; text-align: center; height: auto; width: auto; }
	.lightbox dd { margin: 2vw 0 0; }
	.lightbox dd.title { text-align: center; }
}

