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

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; word-break: normal; -moz-tab-size: 4; tab-size: 4; } *,::before,::after { background-repeat: no-repeat; box-sizing: inherit; } ::before,::after { text-decoration: inherit; vertical-align: inherit; } * { padding: 0; margin: 0; } hr { overflow: visible; height: 0; color: inherit; } 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: -0.25em; } sup { top: -0.5em; } table { border-color: inherit; text-indent: 0; } input { border-radius: 0; } [disabled] { cursor: default; } [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: bold; } button { overflow: visible; } button,select { text-transform: none; } button,[type='button'],[type='reset'],[type='submit'],[role='button'] { cursor: pointer; color: inherit; } button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; } button,html [type='button'],[type='reset'],[type='submit'] { -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; } img { border-style: none; } progress { vertical-align: baseline; } [aria-busy='true'] { cursor: progress; } [aria-controls] { cursor: pointer; } [aria-disabled='true'] { cursor: default; }


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

	0. General

====================================*/
html { background: #fff; font-size: 62.5%; }
body { color: #000; font-family: 'Noto Sans JP', serif; font-size: 1.0rem; font-weight: 500; }
img { height: auto; max-width: 100%; vertical-align: middle; }

a { color: #000; text-decoration: none; }
a.ul { text-decoration: underline; }
a:hover { opacity: 0.7; }
ul, ol { list-style: none; }

@media (min-width: 768px) {
	.pcOnly { visibility: visible; }
	.spOnly { display: none !important; visibility: hidden; }
	#page-top { bottom: 20px; position: fixed; right: 20px; z-index: 1000; }
	#page-top a { background: url("/assets/image/icon_pagetop.svg") no-repeat 0 0; display: block; height: 60px; text-indent:-9999px; width: 60px; }
}
@media screen and (max-width: 767px) {
	.pcOnly { display: none !important; visibility: hidden; }
	.spOnly { visibility: visible; }
	#page-top { bottom: 5vw; position: fixed; right: 5vw; z-index: 100; }
	#page-top a { background: url("/assets/image/icon_pagetop.svg") no-repeat 0 0 / 10vw auto; display: block; height: 10vw; text-indent:-9999px; width: 10vw; }
	.scroll-prevent { overflow: hidden; }
}



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

	1. Header

====================================*/
@media (min-width: 768px) {
	header { font-size: 1.6rem; font-weight: 500; height: 160px; margin: 0 auto; min-width: 1060px; padding: 18px calc(50% - 500px); position: relative; }
	header h1 { float: left; }
	header h1 img { width: 320px; }
	header .cmnNav { left: 0; padding: 0 calc(50% - 500px); position: absolute; top: 100px; width: 100%; }
	header .cmnNav > ul { align-items: center; display: flex; justify-content: space-between; }
	header .cmnNav > ul > li { position: relative; text-align: center; }
	header .cmnNav > ul > li > a,
	header .cmnNav > ul > li > span { cursor: pointer; display: inline-block; line-height: 1; padding: 22px 20px; position: relative; }
	header .cmnNav > ul > li.has-child > span::before { background: url("/assets/image/icon_arrow.svg") no-repeat 50% 50%; bottom: 0; content: ""; height: 7px; margin: auto; position: absolute; right: 0; top: 0; width: 11px; }
	header .cmnNav > ul > li.has-child ul { background:#353535; box-shadow: 0px 10px 6.72px 0.28px rgba(0, 0, 0, 0.5); font-size: 1.4rem; left: 0; opacity: 0; padding: 20px; position: absolute; text-align: left; top: 60px; transition: all .3s; visibility: hidden; width: 320px; z-index: 4; }
	header .cmnNav > ul > li.has-child:hover > ul,
	header .cmnNav > ul > li.has-child:active > ul { opacity: 1; visibility: visible; }
	header .cmnNav > ul > li.has-child li { margin: 15px 0; }
	header .cmnNav > ul > li.has-child li a { color: #fff }
	header .contactNav { float: right; }
	header .contactNav ul { align-items: center; display: flex; }
	header .contactNav li { margin-left: 20px; }
	header .contactNav li.tel img { width: 190px; }
}
@media (max-width: 767px) {
  header { height: 19vw; padding: 3vw 6.25vw 0; position: fixed; top: 0; left: 0; width: 100vw; z-index: 100; background: #fff; }
  header h1 { float: left; }
  header h1 img { width: 60vw; }
  #gnav { height: 0; position: absolute; right: 0; top: 0; width: 100%; z-index: 1000; } 
  #panel-btn { border: 0.2vw solid #af2326; border-radius: 1vw; cursor: pointer; display: inline-block; float: right; height: 9.4vw; margin: 4.8vw 6.25vw 0 0; position: relative; text-indent: -9999px; width: 9.4vw; z-index: 1100; } 
  #panel-btn-icon { background: #af2326; bottom: 0; display: block; height: 0.46875vw; left: 0; margin: auto; position: absolute; right: 0; top: 0; transition: .2s; width: 5.4vw; }
  #panel-btn-icon:before,
  #panel-btn-icon:after { background: #af2326; bottom: 0; content: ""; display: block; height: 0.46875vw; left: 0; margin: auto;  position: absolute; right: 0; top: 0; transition: .3s; width: 5.4vw; } 
  #panel-btn-icon:before { margin-top: -1.8vw; }
  #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(-135deg); transform: rotate(-135deg); }
  #panel-btn .close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  header .gnav { display: none; position: absolute; right: 0; top: 19vw; transition: .3s; width: 100%; z-index: 1000; }
  header .gnav.open { background: #353535; color: #fff; display: block; font-size: 4vw; padding: 0 6.25vw 5vw; height: calc(100vh - 19vw); overflow: scroll; }
  header .cmnNav > ul {display: flex; flex-wrap: wrap; justify-content: space-between; }
  header .cmnNav > ul > li { border-bottom: 0.2vw solid #9fa0a0; width: 100%; }
  header .cmnNav > ul > li > a,
  header .cmnNav > ul > li > span { color: #fff; cursor: pointer; display: block; font-size: 5vw; font-weight: 500; padding: 7vw 10vw 7vw 0; position: relative; }
  header .cmnNav > ul > li > a::after { background: url("../image/icon_arrow_w.svg") no-repeat 50% 50% / 5vw auto; bottom: 0; content: ""; height: 5vw; margin: auto; position: absolute; right: 0; top: 0; transform: rotate(-90deg); width: 5vw;  }
  header .cmnNav > ul > li.has-child > span { padding-left: 4vw; }
  header .cmnNav > ul > li.has-child > span::before { background: #af2326; bottom: 0; content: ""; height: 5vw; left: 0; margin: auto; position: absolute; top: 0; width: 0.8vw; }
  header .cmnNav > ul > li.has-child > span::after { background: url("../image/icon_head_open.svg") no-repeat 50% 50% / 5vw auto; bottom: 0; content: ""; height: 5vw; margin: auto; position: absolute; right: 0; top: 0; width: 5vw; }
  header .cmnNav > ul > li.has-child.active > span::after { background: url("../image/icon_head_close.svg") no-repeat 50% 50% / 5vw auto; }
  header .cmnNav > ul > li.has-child ul { display: none; }
  header .cmnNav > ul > li.has-child li { margin: 0 0 5vw 2vw; }
  header .cmnNav > ul > li.has-child a { color: #fff; }
  header .cmnNav > ul > li:nth-last-child(1),
  header .cmnNav > ul > li:nth-last-child(2) {  margin: 6vw 0; width: 41vw; }
  header .contactNav ul { display: flex; justify-content: space-between; }
}


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

	2. Footer

====================================*/
@media (min-width: 768px) {
	footer { background: #353535; color: #fff; font-size: 1.4rem; font-weight: 500; min-width: 1060px; padding: 40px calc(50% - 500px); }
	footer a { color: #fff; }
	footer .service { font-size: 2rem; font-weight: 700; }
	footer .subNav { display: flex; }
	footer .subNav li { margin-right: 20px; }
	footer .cmnNav { margin: 50px 0 20px; }
	footer .cmnNav dt { padding-left: 17px; position: relative; }
	footer .cmnNav dt::before { background: #af2326; bottom: 0; content: ""; height: 15px; left: 0; margin: auto; position: absolute; top: 0; width: 2px; }
	footer .cmnNav dd { font-size: 1.2rem; margin: 10px 0 0 17px; }
	footer .bgGray { background: #5d5d5d; border-radius: 20px; margin: 20px 0; padding: 30px 40px 20px; }
	footer .permit dt { float: left; }
	footer .permit dd { margin-bottom: 8px; padding-left: 120px; }
	footer .officialNav { display: flex; flex-wrap: wrap; width: 440px; }
	footer .officialNav li { margin-bottom: 8px; }
	footer .officialNav li:nth-child(odd) { width: 200px; }
	footer .officialNav li:last-child{ width: 300px; }
	footer p { font-size: 1.2rem; }
	footer p.copyright { margin-top: 15px; text-align: center; }
}
@media (max-width: 767px) {
	footer { background: #353535; color: #fff; padding: 5vw 6.25vw; }
	footer a { color: #fff; }
	footer .service { font-size: 5vw; font-weight: 700; text-align: center; }
	footer .bgGray { background: #5d5d5d; border-radius: 3vw; font-size: 3.125vw; margin: 4vw 0; padding: 4vw; }
	footer .permit dt { float: left; }
	footer .permit dd { margin-bottom: 2vw; padding-left: 25vw; }
	footer .officialNav { display: flex; flex-wrap: wrap; margin-left: 2vw; }
	footer .officialNav li { margin-left: -0.2vw; margin-top: 3vw; position: relative; width: 38vw; }
	footer .officialNav li:last-child { width: 76vw; }
	footer .officialNav li::before,
	footer .officialNav li::after { background: #9fa0a0; bottom: 0; content: ""; height: 5vw; margin: auto; position: absolute; top: 0; width: 0.2vw; }
	footer .officialNav li::before { left: 0; }
	footer .officialNav li::after { right: 0; }
	footer .officialNav li a { display: block; text-align: center; }
	footer p { font-size: 2.8vw; line-height: 1.6; }
	footer p.copyright { font-size: 2.5vw; margin-top: 5vw; text-align: center; }

}



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

	3. Main

====================================*/
@media (min-width: 768px) {
	main { font-size: 1.6rem; line-height: 1.7; min-width: 1060px; position: relative; }
	main table { border-collapse: collapse; width: 100%; }
}
@media screen and (max-width: 767px) {
	main { font-size: 3.4375vw; position: relative; margin-top: 19vw; }
	main table { border-collapse: collapse; width: 100%; }
}


/*-----------------------------------------------------
Text
------------------------------------------------------*/
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 3.5em; text-indent: -3.5em; }
.chuTxt { padding-left: 3em; text-indent: -3em; }
.taR { text-align: right; }
.taL { text-align: left; }
.taC { text-align: center; }
.fwN { font-weight: 400 !important; }
.fwM { font-weight: 500 !important; }
.fwB { font-weight: 700 !important; }
.etc { position: relative; }
.etc::after { bottom: 0; content: "など"; position: absolute; right: 0; }
.marker { background:linear-gradient(transparent 70%, #fdf512 70%) }
@media (min-width: 768px) {
	hr { border: none; border-top: 1px solid #ccc; height: 1px; margin: 40px 0; }
}
@media (max-width: 767px) {
	hr { border: none; border-top: 0.2vw solid #ccc; height: 0.2vw; margin: 4vw 0; }
}

/*---------------
	List
---------------*/
.discList > li { line-height: 1.6; padding-left: 1em; position: relative; }
.discList > li:before { content: "・"; left: 0; position: absolute; top: 0; }
.komeList > li { line-height: 1.6; padding-left: 1em; text-indent: -1em; }


/*-----------------------------------------------------
Icon & Btn
------------------------------------------------------*/
.btn { display: inline-block; line-height: 1.2 !important; position: relative; text-align: center; text-decoration: none; }
.btn::before,
.btn::after{ content: ""; position: absolute; }
.icon { display: inline-block; line-height: 1 !important; position: relative; text-decoration: none; }
.icon::before,
.icon::after{ content: ""; position: absolute; }
@media (min-width: 768px) {
	.btn.radiusWhite { background: #fff; border-radius: 9999px; color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 20px; padding-top: 20px; width: 200px; }
	.btn.radiusRed { background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 18px; padding-top: 18px; width: 196px; }
	.btn.radiusGoto { background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #af2326; font-size: 2.4rem; font-weight: 700; padding: 30px 60px; }
	.btn.radiusSubmit { background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #af2326; font-size: 2.6rem; font-weight: 700; padding: 30px 110px; }
	.btn.arrowR::after { background: url("/assets/image/icon_arrow_red.svg") no-repeat 50% 50% / 1em auto; bottom: 0; height: 1em; margin: auto; right: 30px; top: 0; transform:rotate(-90deg); width: 1em; }
	.btn.arrowL::after { background: url("/assets/image/icon_arrow_red.svg") no-repeat 50% 50% / 1em auto; bottom: 0; height: 1em; left: 30px; margin: auto; top: 0; transform:rotate(90deg); width: 1em; }
	.btn.contact { background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 18px; padding-left: 30px; padding-top: 18px; width: 196px; }
	.btn.contact::before { background: url("/assets/image/icon_contact.svg") no-repeat; bottom: 0; height: 19px; left: 25px; margin: auto; top: 0; width: 26px; }
	.btn.estimate { background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 18px; padding-left: 30px; padding-top: 18px; width: 196px; }
	.btn.estimate::before { background: url("/assets/image/icon_estimate.svg") no-repeat; bottom: 0; height: 26px; left: 20px; margin: auto; top: 0; width: 20px; }
	.icon.glossary { background: #f6f7f7; font-size: 1.4rem; padding: 10px 13px 10px 36px; }
	.icon.glossary::before { background: url("/assets/image/icon_glossary.svg") no-repeat; bottom: 0; height: 16px; left: 11px; margin: auto; top: 0; width: 16px; }
	.icon.faq { background: #f6f7f7; font-size: 1.4rem; padding: 10px 13px 10px 36px; }
	.icon.faq::before { background: url("/assets/image/icon_faq.svg") no-repeat; bottom: 0; height: 16px; left: 11px; margin: auto; top: 0; width: 16px; }
	.icon.iconAnchor { padding-left: 35px; }
	.icon.iconAnchor::before { background: url("/assets/image/icon_anchor.svg") no-repeat; bottom: 0; height: 24px; left: 0; margin: auto; top: 0; width: 24px; }
}
@media (max-width: 767px) {
	.btn.radiusWhite { background: #fff; border-radius: 9999px; color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 20px; padding-top: 20px; width: 200px; }
	.btn.radiusRed { background: #fff; border:  0.4vw solid #AF2326; border-radius: 9999px; box-shadow: 0px 0.6vw 0.6vw 0px rgba(0, 0, 0, 0.3); color: #000; font-size: 1.4rem; font-weight: 500; padding-bottom: 18px; padding-top: 18px; width: 196px; }
	.btn.radiusGoto { background: #fff; border:  0.4vw solid #AF2326; border-radius: 9999px; box-shadow: 0px 0.6vw 0.6vw 0px rgba(0, 0, 0, 0.3); color: #af2326; font-size: 4vw; font-weight: 700; padding: 3vw 11vw; }
	.btn.radiusSubmit { background: #fff; border: 0.4vw solid #AF2326; border-radius: 9999px; box-shadow: 0px 0.6vw 0.6vw 0px rgba(0, 0, 0, 0.3); color: #af2326; font-size: 4vw; font-weight: 700; padding: 4vw 11vw; }
	.btn.arrowR::after { background: url("/assets/image/icon_arrow_red.svg") no-repeat 50% 50% / 1em auto; bottom: 0; height: 1em; margin: auto; right: 4vw; top: 0; transform:rotate(-90deg); width: 1em; }
	.btn.arrowL::after { background: url("/assets/image/icon_arrow_red.svg") no-repeat 50% 50% / 1em auto; bottom: 0; height: 1em; left: 4vw; margin: auto; top: 0; transform:rotate(90deg); width: 1em; }
	.btn.contact { background: #fff; border-radius: 3vw; color: #000; font-size: 4vw; font-weight: 500; padding-bottom: 5vw; padding-top: 16vw; width: 41vw; }
	.btn.contact::before { background: url("/assets/image/icon_contact.svg") no-repeat 50% 50% / 8.75vw auto; height: 8.75vw; left: 0; margin: auto; right: 0; top: 5vw; width: 8.75vw; }
	.btn.estimate { background: #fff; border-radius: 3vw; color: #000; font-size: 4; font-weight: 500; padding-bottom: 5vw; padding-top: 16vw; width: 41vw; }
	.btn.estimate::before { background: url("/assets/image/icon_estimate.svg") no-repeat 50% 50% / auto 8.75vw; height: 8.75vw; left: 0; margin: auto; right: 0; top: 5vw; width: 8.75vw; }
	.icon.glossary { background: #f6f7f7; color: #000; font-size: 4.375vw; padding: 4vw 0 4vw 11vw; }
	.icon.glossary::before { background: url("/assets/image/icon_glossary.svg") no-repeat 0 0 / 5.6vw auto; bottom: 0; height: 5.6vw; left: 3.4vw; margin: auto; top: 0; width: 5.6vw; }
	.icon.faq { background: #f6f7f7; color: #000; font-size: 4.375vw; padding: 4vw 0 4vw 11vw; }
	.icon.faq::before { background: url("/assets/image/icon_faq.svg") no-repeat 0 0 / 5.6vw auto; bottom: 0; height: 5.6vw; left: 3.4vw; margin: auto; top: 0; width: 5.6vw; }
	.icon.iconAnchor { padding-left: 7vw; }
	.icon.iconAnchor::before { background: url("/assets/image/icon_anchor.svg") no-repeat 0 0 / 5vw auto; bottom: 0; height: 5vw; left: 0; margin: auto; top: 0; width: 5vw; }
}


/*---------------
	Text
---------------*/
.taC { text-align: center; }
.taR { text-align: right; }
.taL { text-align: left; }
.fwN { font-weight: 400; }
.fwM { font-weight: 500; }
.fwB { font-weight: 700; }
.fcRed { color: #af2326; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.marker { background:linear-gradient(transparent 80%, #cebe94 80%); }
.mt1em { margin-top: 1em; }
.mb1em { margin-bottom: 1em; }
@media (min-width: 768px) {
	.fs18 { font-size: 1.8rem; }
	.fs26 { font-size: 2.6rem; }
	.fs28 { font-size: 2.8rem; }
	.fs30 { font-size: 3rem; }
}
@media screen and (max-width: 767px) {
	.sptaC { text-align: center !important; }
	.sptaR { text-align: right !important; }
	.sptaL { text-align: left !important; }
	.fs18 { font-size: 3.4vw; }
	.fs26 { font-size: 4.5vw; }
	.fs28 { font-size: 4.8vw; }
	.fs30 { font-size: 5vw; }
}

/*---------------
	Title
---------------*/
@media (min-width: 768px) {
	.title00Top { position: relative; text-align: center; background: url("/assets/image/top_bg01.png") no-repeat 50% 0; }
	.title00Top::after { background: #af2326; content: ""; height: 469px; position: absolute; right: 0; top: 0; width: 50%; z-index: -1; }
	.title00 { align-items: center; background: #af2326 url("/assets/image/bg_title00.png") no-repeat 100% 0; color: #fff; display: flex; font-weight: 700; height: 190px; justify-content: center; text-align: center; }
	.title00 h1 { font-size: 4rem; }
	.title00 span { display: block; font-size: 3rem; }
	.title01 { background: url("/assets/image/bg_title01.svg") no-repeat 100% 0; color: #fff; font-size: 3.4rem; font-weight: 700; height: 70px; margin: 60px 0 20px; padding-top: 5px; text-align: center; }
	.title01.fsS { font-size: 3rem; padding-top: 8px; }
	.title02 { font-size: 2.8rem; font-weight: 700; margin: 35px 0; padding-left: 35px; position: relative; }
	.title02::before { background: url("/assets/image/bg_title02.svg") no-repeat; bottom: 0; content: ""; height: 31px; left: 0; margin: auto; position: absolute; top: 0; width: 23px; }
	.title03 { font-size: 2rem; font-weight: 700; margin: 30px 0 18px; }
	.title04 { font-size: 1.6rem; font-weight: 500; margin: 25px 0 15px; padding-left: 15px; position: relative; }
	.title04::before { background: #af2326; content: ""; height: 25px; left: 0; position: absolute; top: 0; width: 3px; }
	.title05 { font-size: 3.6rem; font-weight: 700; margin-bottom: 30px; text-align: center; }
	.title05 span { color: #af2326; display: block; font-size: 2.6rem; margin: 0 auto; padding: 0 40px; position: relative; width: fit-content; }
	.title05 span::before,
	.title05 span::after { bottom: 0; content: ""; height: 22px; margin: auto; position: absolute; top: 0; width: 28px;  }
	.title05 span::before { background: url("/assets/image/title05_bg01.svg") no-repeat; left: 0; }
	.title05 span::after { background: url("/assets/image/title05_bg02.svg") no-repeat; right: 0; }
	.title06 { font-size: 2.8rem; font-weight: 700; margin: 30px 0 18px; }
	.titleBB { border-bottom: 2px solid #af2326; padding-bottom: 8px; }
}
@media screen and (max-width: 767px) {
	.title00Top {}
	.title00 { align-items: center; background: #af2326 url("/assets/image/bg_title00.png") no-repeat 100% 0 / auto 100%; color: #fff; display: flex; font-weight: 700; height: 30vw; justify-content: center; text-align: center; }
	.title00 h1 { font-size: 6.25vw; }
	.title00 span { display: block; font-size: 4.8vw; }
	.title01 { background: url("/assets/image/sp_bg_title01.png") no-repeat 0 0 / 100% 100%; color: #fff; font-size: 5.3vw; font-weight: 700; margin: 8vw 0 3vw; padding: 3vw 10vw; text-align: center; }
	.title01.fsS { font-size: 4.6vw; padding-top: 3.6vw; }
	.title02 { font-size: 4.6vw; font-weight: 700; margin: 7vw 0 5vw; padding-left: 5vw; position: relative; }
	.title02::before { background: url("/assets/image/bg_title02.svg") no-repeat 0 0 / auto 5vw; content: ""; height: 5vw; left: 0; position: absolute; top: 1vw; width: 3.6vw; }
	.title03 { font-size: 4.375vw; font-weight: 700; margin: 5vw 0 4vw; }
	.title04 { font-size: 4.375vw; font-weight: 500; margin: 4vw 0 2vw; padding-left: 3vw; position: relative; }
	.title04::before { background: #af2326; content: ""; height: 4.5vw; left: 0; position: absolute; top: 1vw; width: 0.5vw; }
	.title05 { font-size: 4.6vw; font-weight: 700; margin-bottom: 4vw; text-align: center; }
	.title05 span { color: #af2326; display: block; font-size: 4vw; margin: 0 auto; padding: 0 6vw; position: relative; width: fit-content; }
	.title05 span::before,
	.title05 span::after { bottom: 0; content: ""; height: 4vw; margin: auto; position: absolute; top: 0; width: 4vw;  }
	.title05 span::before { background: url("/assets/image/title05_bg01.svg") no-repeat 50% 50% / 4vw auto; left: 0; }
	.title05 span::after { background: url("/assets/image/title05_bg02.svg") no-repeat 50% 50% / 4vw auto; right: 0; }
	.title06 { font-size: 4.375vw; font-weight: 700; margin: 5vw 0 4vw; }
	.titleBB { border-bottom: 0.4vw solid #af2326; padding-bottom: 2vw; }
}

/*---------------
	Block
---------------*/
@media (min-width: 768px) {
	.flex { display: flex; flex-wrap: wrap; }
	.flex.justify-between { justify-content: space-between; }
	.flex.justify-center { justify-content: center; }
	.flex.align-center { align-items: center; }
}
@media screen and (max-width: 767px) {
	.spflex { display: flex; flex-wrap: wrap; }
}

/*---------------
	Parts
---------------*/
@media (min-width: 768px) {
	.catch { font-size: 1.8rem; font-weight: 500; }
	.arrowTop { margin: 70px 0 20px; position: relative; }
	.arrowTop::before { border-left: 44px solid transparent; border-right: 44px solid transparent; border-top: 30px solid #af2326; content: ""; height: 0; left: 0; margin: auto; position: absolute; right: 0; top: -50px; width: 0; }
	.box00 { background: #f8f8f8; border-radius: 20px; margin: 30px 0; }
	.box00-title { font-size: 2.4rem; font-weight: 700; padding: 30px 10px 0; text-align: center; }
	.box00-body { font-size: 1.6rem; padding: 20px 40px 40px; }
	.box00-body >*:first-child { margin-top: 0 !important; }
	.box00-body >*:last-child { margin-bottom: 0 !important; }
	.box01 { border: 1px solid #9fa0a0; margin: 20px 0; padding: 30px 40px; position: relative; }
	.box01::before { background: #af2326; content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 10px; }
	.box01-title { font-size: 2.2rem; font-weight: 700; margin-bottom: 15px; }
	.box01-title2 { font-size: 2.4rem; font-weight: 700; margin: 10px 0 5px; text-align: center; }
	.box01-body { font-size: 1.8rem; }
	.box01-body >*:first-child { margin-top: 0 !important; }
	.box01-body >*:last-child { margin-bottom: 0 !important; }
	.box02 { background: #fff; border: 1px solid #9fa0a0; margin: 20px 0 30px; }
	.box02-title { background: #9fa0a0; display: flex; justify-content: space-between; padding: 12px 30px; }
	.box02-body { padding: 25px 38px; }
	.box02-body >*:first-child { margin-top: 0 !important; }
	.box02-body >*:last-child { margin-bottom: 0 !important; }
	.box02 h4 { align-items: center; color: #fff; display: flex; font-size: 2rem; }
	.box02 h4 span { align-items: center; background: #fff; border-radius: 5px; color: #9fa0a0; display: flex; font-size: 2.4rem; height: 35px; justify-content: center; margin-right: 10px; width: 35px; }
	.box02-title div:last-child >* { border: 1px solid #fff; border-radius: 8px; color: #fff; font-weight: 500; margin-left: 13px; padding: 6px 13px; }
	.box02 .type01 { background: #00a6d9; }
	.box02 .type02 { background: #fabe00; }
	.box02 .type03 { background: #427935; }
	.box02 .type04 { background: #f08300; }
	.box02 .flex .box03 { width: 410px; }
	.box03 { border: 1px solid #fad7cf; margin-top: 20px; }
	.box03.mt0 { margin-top: 0; }
	.box03-title { background: #fad7cf; font-size: 1.8rem; font-weight: 500; padding: 15px; text-align: center; }
	.box03-body { font-size: 1.6rem; padding: 15px 20px; }
	.box03-body >*:first-child { margin-top: 0 !important; }
	.box03-body >*:last-child { margin-bottom: 0 !important; }
	.box04 { border-radius: 20px; color: #af2326; font-weight: 900; margin: 40px 0 60px; text-align: center; }
	.box04-title { font-size: 3rem; }
	.box04-body { font-size: 3.6rem; }
	.box05 { border: 1px solid #9fa0a0; margin: 20px 0 0; padding: 30px 28px; position: relative; width: 490px; }
	.box05::before { background: #af2326; content: ""; height: 10px; left: 0; position: absolute; top: 0; width: 100%; }
	.box05-title { font-size: 1.8rem; font-weight: 500; margin-bottom: 15px; padding-top: 130px; text-align: center; }
	.box05-body { font-size: 1.8rem; }
	.box05-body >*:first-child { margin-top: 0 !important; }
	.box05-body >*:last-child { margin-bottom: 0 !important; }
	.box06 { border: 1px solid #9fa0a0; margin: 20px 0; padding: 30px 40px; }
	.box06-title { font-size: 2.6rem; font-weight: 700; margin-bottom: 15px; text-align: center; }
	.box06-body { font-size: 1.8rem; }
	.box06-body >*:first-child { margin-top: 0 !important; }
	.box06-body >*:last-child { margin-bottom: 0 !important; }
	.blankImg { pointer-events: none; }
}
@media screen and (max-width: 767px) {
	.catch { font-size: 3.75vw; font-weight: 500; }
	.arrowTop { margin: 14vw 0 4vw; position: relative; }
	.arrowTop::before { border-left: 8vw solid transparent; border-right: 8vw solid transparent; border-top: 6vw solid #af2326; content: ""; height: 0; left: 0; margin: auto; position: absolute; right: 0; top: -10vw; width: 0; }
	.box00 { background: #f8f8f8; border-radius: 3vw; margin: 4vw 0; }
	.box00-title { font-size: 4.375vw; font-weight: 700; padding: 3vw 1vw 0; text-align: center; }
	.box00-body { padding: 3vw 4vw 4vw; }
	.box00-body >*:first-child { margin-top: 0 !important; }
	.box00-body >*:last-child { margin-bottom: 0 !important; }
	.box01 { border: 0.2vw solid #9fa0a0; margin: 2vw 0; padding: 3vw 4vw; position: relative; }
	.box01::before { background: #af2326; content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 1vw; }
	.box01-title { font-size: 4vw; font-weight: 700; margin-bottom: 2vw; }
	.box01-title2 { font-size: 4.375vw; font-weight: 700; margin: 1vw 0 5vw; text-align: center; }
	.box01-body { font-size: 3.75vw; }
	.box01-body >*:first-child { margin-top: 0 !important; }
	.box01-body >*:last-child { margin-bottom: 0 !important; }
	.box02 { background: #fff; border: 0.2vw solid #9fa0a0; margin: 2vw 0 3vw; }
	.box02-title { background: #9fa0a0; padding: 3vw; }
	.box02-body { padding: 3vw; }
	.box02-body >*:first-child { margin-top: 0 !important; }
	.box02-body >*:last-child { margin-bottom: 0 !important; }
	.box02 h4 { align-items: center; color: #fff; display: flex; font-size: 4vw; margin-bottom: 3vw; }
	.box02 h4 span { align-items: center; background: #fff; border-radius: 1vw; color: #9fa0a0; display: flex; height: 6vw; justify-content: center; margin-right: 2vw; width: 6vw; }
	.box02-title div:last-child { font-size: 2.8vw; text-align: right; }
	.box02-title div:last-child >* { border: 0.2vw solid #fff; border-radius: 1vw; color: #fff; font-weight: 500; margin-left: 1vw; padding: 1vw 2vw; }
	.box02 .type01 { background: #00a6d9; }
	.box02 .type02 { background: #fabe00; }
	.box02 .type03 { background: #427935; }
	.box02 .type04 { background: #f08300; }
	.box03 { border: 0.2vw solid #fad7cf; margin: 2vw 0; }
	.box03.mt0 { margin-top: 0; }
	.box03-title { background: #fad7cf; font-size: 3.75vw; font-weight: 500; padding: 2vw; text-align: center; }
	.box03-body { padding: 2vw 3vw; }
	.box03-body >*:first-child { margin-top: 0 !important; }
	.box03-body >*:last-child { margin-bottom: 0 !important; }
	.box04 { border-radius: 3vw; color: #af2326; font-weight: 900; margin: 4vw 0 6vw; text-align: center; }
	.box04-title { font-size: 4.375vw; }
	.box04-body { font-size: 5.6vw; }
	.box04-body .btn { margin-top: 2vw; }
	.box05 { border: 0.2vw solid #9fa0a0; margin: 2vw 0 0; padding: 3vw; position: relative; }
	.box05::before { background: #af2326; content: ""; height: 1vw; left: 0; position: absolute; top: 0; width: 100%; }
	.box05-title { font-size: 3.75vw; font-weight: 500; margin-bottom: 3vw; padding-top: 16vw; text-align: center; }
	.box05-body { font-size: 3.75vw; }
	.box05-body >*:first-child { margin-top: 0 !important; }
	.box05-body >*:last-child { margin-bottom: 0 !important; }
	.box06 { border: 0.2vw solid #9fa0a0; margin: 3vw 0; padding: 3vw 4vw; }
	.box06-title { font-size: 4vw; font-weight: 700; margin-bottom: 2vw; text-align: center; }
	.box06-body { font-size: 3.4vw; }
	.box06-body >*:first-child { margin-top: 0 !important; }
	.box06-body >*:last-child { margin-bottom: 0 !important; }
	.blankImg { display: block; position: relative; }
	.blankImg::before { position: absolute; content: ""; width: 20vw; height: 20vw; background: url("/assets/image/icon_blank.png") no-repeat 0 0 / 20vw auto; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
}



/*------------------------------
	Top page
------------------------------*/
@media (min-width: 768px) {
	.topBlock01 { background: #e6e6e6 url("/assets/image/top_bg02.png") no-repeat 50% 0; padding: 10px calc(50% - 500px) 30px; }
	.topBlock01 .topBox { background: #fff; border-radius: 20px; margin: 30px 0; padding: 40px; }
	.topBlock01 .topBox-title { font-size: 3.2rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
	.topBlock01 .topBox-body figure { margin: 15px 0; }
	.topBlock02 { margin: 60px auto; width: 1000px; }
	.topBlock02 .merit { margin: 30px auto; width: 880px; }
	.topBlock02 .btnBlock { display: flex; justify-content: center; margin: 30px 0; text-align: center; }
	.topBlock02 .btnBlock > * { align-items: center; display: flex; justify-content: center; margin: 0 0.5em; width: 400px; }
	.topBlock02 .title06 { padding-left: 54px; position: relative; }
	.topBlock02 .title06::before { width: 48px; height: 48px; top: 0; bottom: 0; left: 0; margin: auto; content: ""; position: absolute; background: #f00; }
	.topBlock02 .title06.kojin::before { background: url("/assets/image/top_img04.png") no-repeat 50% 50%; }
	.topBlock02 .title06.kigyo::before { background: url("/assets/image/top_img05.png") no-repeat 50% 50%; }
	.topBlock02 .title06.both::before { background: url("/assets/image/top_img06.png") no-repeat 50% 50%; }
}
@media screen and (max-width: 767px) {
	.topBlock01 { background: #e6e6e6 url("/assets/image/sp_top_bg02.png") no-repeat 50% 0 / 100vw auto; padding: 1vw 6.25vw 3vw; }
	.topBlock01 .topBox { background: #fff; border-radius: 3vw; margin: 3vw 0; padding: 4vw; }
	.topBlock01 .topBox-title { font-size: 4vw; font-weight: 700; margin-bottom: 2vw; text-align: center; }
	.topBlock01 .topBox-body figure { margin: 2vw 0; }
	.topBlock02 { margin: 6vw 6.25vw; }
	.topBlock02 .merit { margin: 3vw 0; }
	.topBlock02 .btnBlock { margin: 3vw 0; text-align: center; }
	.topBlock02 .btnBlock > * { margin: 0.5em 0; width: 80vw; }
	.topBlock02 .title06 { padding-left: 9vw; position: relative; }
	.topBlock02 .title06::before { width: 7vw; height: 7vw; top: 0; bottom: 0; left: 0; margin: auto; content: ""; position: absolute; background: #f00; }
	.topBlock02 .title06.kojin::before { background: url("/assets/image/top_img04.png") no-repeat 50% 50% / auto 7vw; }
	.topBlock02 .title06.kigyo::before { background: url("/assets/image/top_img05.png") no-repeat 50% 50% / auto 7vw; }
	.topBlock02 .title06.both::before { background: url("/assets/image/top_img06.png") no-repeat 50% 50% / 7vw auto; }
}


/*------------------------------
	about page
------------------------------*/
@media (min-width: 768px) {
	.aboutBlock01 { margin: 60px auto; width: 1000px; }
	.aboutBlock01 .btnBlock { margin: 30px 0; text-align: center; }
	.aboutBlock01 .btnBlock > * { margin: 0 0.5em; width: 420px; }
	.aboutBlock01 .box00-body figure { margin-bottom: 15px; }
	.aboutBlock01 .define { background: #fff; margin: 20px 0; padding: 20px 30px; }
	.aboutBlock01 .title06.kojin { padding-left: 54px; position: relative; }
	.aboutBlock01 .title06::before { width: 48px; height: 48px; top: 0; bottom: 0; left: 0; margin: auto; content: ""; position: absolute; background: #f00; background: url("/assets/image/top_img04.png") no-repeat 50% 50%; }
}
@media screen and (max-width: 767px) {
	.aboutBlock01 { margin: 6vw 6.25vw; }
	.aboutBlock01 .btnBlock { margin: 3vw 0; text-align: center; }
	.aboutBlock01 .btnBlock > * { margin: 0.5em 0; width: 74vw; }
	.aboutBlock01 .box00-body figure { margin-bottom: 2vw; }
	.aboutBlock01 .define { background: #fff; margin: 2vw 0; padding: 2vw 3vw; }
	.aboutBlock01 .title06.kojin { padding-left: 9vw; position: relative; }
	.aboutBlock01 .title06.kojin::before { width: 7vw; height: 7vw; top: 0; bottom: 0; left: 0; margin: auto; content: ""; position: absolute; background: #f00; background: url("/assets/image/top_img04.png") no-repeat 50% 50% / auto 7vw; }
}


/*------------------------------
	security page
------------------------------*/
@media (min-width: 768px) {
	.securityBlock01 { margin: 60px auto; width: 1000px; }
	.securityBlock01 .box01-body ul { font-size: 2.2rem; font-weight: 500; }
	.securityBlock01 .icon01 { background: url("/assets/image/security_img01.png") no-repeat 20px 50%; padding: 30px 0 65px 120px; }
	.securityBlock01 .icon02 { background: url("/assets/image/security_img02.png") no-repeat 20px 50%; padding: 30px 0 45px 120px; }
	.securityBlock01 .icon03 { background: url("/assets/image/security_img03.png") no-repeat 20px 50%; padding: 30px 0 30px 120px; }
	.securityBlock01 .icon04 { background: url("/assets/image/security_img04.png") no-repeat 20px 50%; padding: 14px 0 14px 120px; }
	.securityBlock01 .icon05 { background: url("/assets/image/security_img05.png") no-repeat 50% 0; }
	.securityBlock01 .icon06 { background: url("/assets/image/security_img06.png") no-repeat 50% 0; }
	.securityBlock01 .icon07 { background: url("/assets/image/security_img07.png") no-repeat 50% 0; }
	.securityBlock01 .icon08 { background: url("/assets/image/security_img08.png") no-repeat 50% 0; }
	.securityBlock01 .merit { align-items: center; display: flex; justify-content: space-between; width: 440px; }
	.securityBlock01 .merit dt { border: 1px solid #000; font-weight: 700; padding: 20px 0; text-align: center; width: 120px; }
	.securityBlock01 .merit .zenin { background: #ddecfd; }
	.securityBlock01 .merit .ninni { background: #fdf7de; }
	.securityBlock01 .merit dd { width: 300px; }
	.securityBlock01 .box06-body figure { margin-bottom: 15px; }
	.tab-wrap { margin: 40px 0; }
	.tab-wrap > ul { align-items: flex-end; display: flex; justify-content: space-between; line-height: 1.2; position: relative; }
	.tab-wrap .fsS { display: block; font-size: 2rem; }
	.tab-btn { align-items: center; background: #fff; border-left: 1px solid #000; border-right: 1px solid #000; border-top: 1px solid #000; border-top-left-radius: 20px; border-top-right-radius: 20px; color: #9fa0a0; cursor: pointer; display: flex; font-size: 2.6rem; font-weight: 500; height: 80px; justify-content: center; text-align: center; width: 325px; }
	.tab-btn .recommend { background: #9fa0a0; border-radius: 50%; color: #fff; display: block; font-size: 2rem; line-height: 1; margin: 0 80px; padding: 10px 20px; }
	.tab-btn.show { background: #fad7cf; bottom: -1px; color: #000; font-weight: 900; height: 100px; position: relative; }
	.tab-btn.show .recommend { background: #af2326; color: #ffea00; }
	.tab-contents { display: none; }
	.tab-contents.show { background: #fad7cf; border: 1px solid #000; display: block; padding: 40px; }
	.tab-contents figure { margin: 20px 0; }
}
@media screen and (max-width: 767px) {
	.securityBlock01 { margin: 6vw 6.25vw; }
	.securityBlock01 .box01-body ul { font-size: 4vw; font-weight: 500; }
	.securityBlock01 .icon01 { background: url("/assets/image/security_img01.png") no-repeat 2vw 50% / 15vw auto; padding: 1vw 0 5vw 20vw; }
	.securityBlock01 .icon02 { background: url("/assets/image/security_img02.png") no-repeat 2vw 50% / 15vw auto; padding: 1vw 0 6vw 20vw; }
	.securityBlock01 .icon03 { background: url("/assets/image/security_img03.png") no-repeat 2vw 50% / 15vw auto; padding: 5vw 0 5vw 20vw; }
	.securityBlock01 .icon04 { background: url("/assets/image/security_img04.png") no-repeat 2vw 50% / 15vw auto; padding: 1vw 0 1vw 20vw; }
	.securityBlock01 .icon05 { background: url("/assets/image/security_img05.png") no-repeat 50% 0 / 15vw auto; }
	.securityBlock01 .icon06 { background: url("/assets/image/security_img06.png") no-repeat 50% 0 / 15vw auto; }
	.securityBlock01 .icon07 { background: url("/assets/image/security_img07.png") no-repeat 50% 0 / 15vw auto; }
	.securityBlock01 .icon08 { background: url("/assets/image/security_img08.png") no-repeat 50% 0 / 15vw auto; }
	.securityBlock01 .merit { margin-top: 2vw; }
	.securityBlock01 .merit dt { border: 0.2vw solid #000; font-weight: 700; padding: 2vw 4vw; text-align: center; width: fit-content; }
	.securityBlock01 .merit .zenin { background: #ddecfd; }
	.securityBlock01 .merit .ninni { background: #fdf7de; }
	.securityBlock01 .merit dd { margin-top: 2vw; }
	.securityBlock01 .box06-body figure { margin-bottom: 15px; }
	.tab-wrap { margin: 4vw 0; }
	.tab-wrap > ul { align-items: flex-end; display: flex; justify-content: space-between; line-height: 1.2; position: relative; }
	.tab-wrap .fsS { display: block; font-size: 2.5vw; }
	.tab-btn { align-items: center; background: #fff; border-left: 0.2vw solid #000; border-right: 0.2vw solid #000; border-top: 0.2vw solid #000; border-top-left-radius: 2vw; border-top-right-radius: 2vw; color: #9fa0a0; cursor: pointer; display: flex; font-size: 3vw; font-weight: 500; height: 10vw; justify-content: center; text-align: center; width: 27vw; }
	.tab-btn .recommend { background: #9fa0a0; border-radius: 50%; color: #fff; display: block; font-size: 2.5vw; line-height: 1; padding: 1vw 2vw; }
	.tab-btn.show { background: #fad7cf; bottom: -0.2vw; color: #000; font-weight: 900; height: 14vw; position: relative; }
	.tab-btn.show .recommend { background: #af2326; color: #ffea00; }
	.tab-contents { display: none; }
	.tab-contents.show { background: #fad7cf; border: 0.2vw solid #000; display: block; padding: 5vw; }
	.tab-contents figure { margin: 2vw 0; }
}


/*------------------------------
	example page
------------------------------*/
@media (min-width: 768px) {
	.exampleBlock01 { margin: 60px auto; width: 1000px; }
	.exampleBlock01 .exampleList { display: flex; flex-wrap: wrap; justify-content: space-between; margin-left: -30px; width: 1030px; }
	.exampleBlock01 .exampleList img { margin-top: 30px; }
	.exampleBlock01 .type { background: #fff; font-weight: 500; margin: 30px 0; padding: 20px 40px; }
	.exampleBlock01 .type li { margin-bottom: 5px; width: 210px; }
	.exampleBlock01 .type li.wL { width: 380px; }
	.exampleBlock01 table { font-weight: 700; }
	.exampleBlock01 caption { font-size: 2.2rem; padding-bottom: 10px; text-align: left; }
	.exampleBlock01 table th,
	.exampleBlock01 table td { background: #fff; border: 1px solid #000; padding: 10px; }
	.exampleBlock01 table thead th { font-size: 1.8rem; }
	.exampleBlock01 table tbody th { font-size: 2rem; }
	.exampleBlock01 table td { font-size: 2.6rem; text-align: center; }
	.exampleBlock01 table .num { font-size: 4.2rem; }
	.exampleBlock01 .male { background: #83b9e4; color: #fff; }
	.exampleBlock01 .female { background: #f09ba5; color: #fff; }
	.exampleBlock01 .mt-20 { margin-top: -20px; }
}
@media screen and (max-width: 767px) {
	.exampleBlock01 { margin: 6vw 6.25vw; }
	.exampleBlock01 .exampleList {}
	.exampleBlock01 .exampleList img { margin-top: 3vw; }
	.exampleBlock01 .type { background: #fff; font-weight: 500; margin: 3vw 0; padding: 3vw 4vw; }
	.exampleBlock01 table { font-weight: 700; }
	.exampleBlock01 caption { font-size: 4vw; padding-bottom: 1vw; text-align: left; }
	.exampleBlock01 table th,
	.exampleBlock01 table td { background: #fff; border: 0.2vw solid #000; padding: 2vw 1vw; }
	.exampleBlock01 table thead th { font-size: 3vw; }
	.exampleBlock01 table tbody th { font-size: 3vw; }
	.exampleBlock01 table td { font-size: 2.8vw; text-align: center; }
	.exampleBlock01 table .num { font-size: 4.4vw; }
	.exampleBlock01 .male { background: #83b9e4; color: #fff; }
	.exampleBlock01 .female { background: #f09ba5; color: #fff; }
	.exampleBlock01 .title03 img { height: 5vw; }
}



/*------------------------------
	SDGS page
------------------------------*/
@media (min-width: 768px) {
	.meritBlock01 { margin: 60px auto; width: 1000px; }
	.meritBlock01 .meritList { font-size: 1.8rem; font-weight: 500; margin: 30px auto; width: 880px; }
}
@media screen and (max-width: 767px) {
	.meritBlock01 { margin: 6vw 6.25vw; }
	.meritBlock01 .meritList { font-size: 3.75vw; font-weight: 500; margin: 3vw 0; }
}


/*------------------------------
	SDGS page
------------------------------*/
@media (min-width: 768px) {
	.sdgsBlock01 { margin: 60px auto; width: 1000px; }
	.sdgsBlock01 .flow01 { background: #fff url("/assets/image/sdgs_img02.png") no-repeat 34px 50%; border: 1px solid #af2326; border-radius: 20px; font-size: 2.4rem; margin: 0 auto; padding: 36px 0 36px 100px; width: 245px; }
	.sdgsBlock01 .flow02 { background: #fff url("/assets/image/sdgs_img03.png") no-repeat 60px 50%; border: 1px solid #af2326; border-radius: 20px; font-size: 2.4rem; padding: 36px 50px 36px 190px; }
	.sdgsBlock01 .flow03 { background: #fff; border: 1px solid #af2326; border-radius: 20px; font-size: 2.4rem; padding: 50px 40px 30px; }
	.sdgsBlock01 .goal { align-items: center; background: #f8f8f8; border-radius: 20px; display: flex; justify-content: space-between; margin: 25px 0; padding: 40px; }
	.sdgsBlock01 .goal dl { font-size: 1.8rem; font-weight: 500; width: 620px; }
	.sdgsBlock01 .goal span { display: block; font-size: 2.4rem; font-weight: 700; }
	.sdgsBlock01 .possi { background: #fff; border: 1px solid #af2326; border-radius: 20px; margin: 15px 0; padding: 20px 40px; width: 445px; }
	.sdgsBlock01 .possi dt { color: #af2326; font-size: 2.2rem; font-weight: 700; margin-bottom: 10px; text-align: center; }
	.sdgsBlock01 .possi dd { font-size: 1.8rem; font-weight: 500; }
	.sdgsBlock01 .goal2.mt40 { margin-top: 40px; }
	.sdgsBlock01 .goal2 { background: #fff; border-radius: 20px; margin: 20px 0; padding: 30px 40px; }
	.sdgsBlock01 .goal2 dt { display: flex; font-size: 2.2rem; font-weight: 500; margin-bottom: 15px; }
	.sdgsBlock01 .goal2 dt img { height: auto; margin-right: 10px; width: 50px; }
	.sdgsBlock01 .goal2 ol li { padding-left: 2.5em; text-indent: -2.5em; }
}
@media screen and (max-width: 767px) {
	.sdgsBlock01 { margin: 6vw 6.25vw; }
	.sdgsBlock01 .flow01 { background: #fff url("/assets/image/sdgs_img02.png") no-repeat 4vw 50% / 6vw auto; border: 0.2vw solid #af2326; border-radius: 3vw; font-size: 4vw; margin: 0 auto; padding: 4vw 0 4vw 15vw; width: 40vw; }
	.sdgsBlock01 .flow02 { background: #fff url("/assets/image/sdgs_img03.png") no-repeat 4vw 50% / 8vw auto; border: 0.2vw solid #af2326; border-radius: 3vw; font-size: 4vw; padding: 4vw 4vw 4vw 15vw; }
	.sdgsBlock01 .flow03 { background: #fff; border: 0.2vw solid #af2326; border-radius: 3vw; font-size: 4vw; padding: 4vw; }
	.sdgsBlock01 .goal { align-items: flex-start; background: #f8f8f8; border-radius: 3vw; display: flex; justify-content: space-between; margin: 2vw 0; padding: 4vw; }
	.sdgsBlock01 .goal img { width: 15vw; }
	.sdgsBlock01 .goal dl { font-size: 3.75vw; font-weight: 500; width: 45vw; }
	.sdgsBlock01 .goal span { display: block; font-size: 4vw; font-weight: 700; }
	.sdgsBlock01 .possi { background: #fff; border: 0.2vw solid #af2326; border-radius: 3vw; margin: 3vw 0; padding: 3vw 4vw; }
	.sdgsBlock01 .possi dt { color: #af2326; font-size: 4vw; font-weight: 700; margin-bottom: 2vw; text-align: center; }
	.sdgsBlock01 .possi dd { font-size: 3.75vw; font-weight: 500; }
	.sdgsBlock01 .goal2.mt40 { margin-top: 4vw; }
	.sdgsBlock01 .goal2 { background: #fff; border-radius: 3vw; margin: 3vw 0; padding: 3vw 4vw; }
	.sdgsBlock01 .goal2 dt { align-items: flex-start; display: flex; font-size: 4vw; font-weight: 500; margin-bottom: 2vw; }
	.sdgsBlock01 .goal2 dt img { height: auto; margin-right: 2vw; width: 10vw; }
	.sdgsBlock01 .goal2 ol li { padding-left: 2.5em; text-indent: -2.5em; }
}


/*------------------------------
	health-management page
------------------------------*/
@media (min-width: 768px) {
	.healthBlock01 { margin: 60px auto; width: 1000px; }
	.healthBlock01 .box00-title span { display: block; font-size: 1.4rem; font-weight: 500; }
	.healthBlock01 .discount { margin-top: 25px; }
	.healthBlock01 .discount dt { background: #af2326; border-radius: 9999px; color: #fedd00; font-size: 2rem; font-weight: 700; margin-bottom: 15px; padding: 12px 20px; width: fit-content; }
}
@media screen and (max-width: 767px) {
	.healthBlock01 { margin: 6vw 6.25vw; }
	.healthBlock01 .box00-title span { display: block; font-size: 2.8vw; font-weight: 500; }
	.healthBlock01 .discount { margin-top: 3vw; }
	.healthBlock01 .discount dt { background: #af2326; border-radius: 9999px; color: #fedd00; font-size: 4vw; font-weight: 700; margin-bottom: 2vw; padding: 2vw 4vw; width: fit-content; }
}


/*------------------------------
	Troubles page
------------------------------*/
@media (min-width: 768px) {
	.mentalBlock01 { margin: 60px auto; width: 1000px; }
}
@media screen and (max-width: 767px) {
	.mentalBlock01 { margin: 6vw 6.25vw; }
}


/*------------------------------
	Troubles page
------------------------------*/
@media (min-width: 768px) {
	.troublesBlock01 { margin: 60px auto; width: 1000px; }
}
@media screen and (max-width: 767px) {
	.troublesBlock01 { margin: 6vw 6.25vw; }
}


/*------------------------------
	Welfare page
------------------------------*/
@media (min-width: 768px) {
	.welfareBlock01 { margin: 60px auto; width: 1000px; }
	.welfareBlock01 .pointList { display: flex; flex-wrap: wrap; }
	.welfareBlock01 .pointList li { counter-increment: bracketOrder; font-size: 2rem; font-weight: 500; margin-bottom: 25px; padding: 0 15px 0 60px; position: relative; width: 50%; }
	.welfareBlock01 .pointList li::before { align-items: center; background: #fad7cf; border-radius: 50%; content: "" counter(bracketOrder); display: flex; height: 40px; justify-content: center; left: 0; position: absolute; top: 0; width: 40px; }
	.welfareBlock01 .btnBlock { margin: 40px 0 20px; text-align: center; }
	.welfareBlock01 .btnBlock >* { margin: 0 0.5em; }
	.welfareBlock01 .box00-title span { display: block; font-size: 2rem; margin: 0 auto; padding: 0 40px; position: relative; width: fit-content; }
	.welfareBlock01 .box00-title span::before,
	.welfareBlock01 .box00-title span::after { bottom: 0; content: ""; height: 22px; margin: auto; position: absolute; top: 0; width: 28px;  }
	.welfareBlock01 .box00-title span::before { background: url("/assets/image/welfare_bg01.svg") no-repeat; left: 0; }
	.welfareBlock01 .box00-title span::after { background: url("/assets/image/welfare_bg02.svg") no-repeat; right: 0; }
	.welfareBlock01 .caseList { font-size: 1.8rem; font-weight: 500; margin-bottom: 30px; }
	.welfareBlock01 .caseList dt { background: #fff; font-size: 2rem; margin-bottom: 20px; padding: 12px 20px; width: fit-content; }
}
@media screen and (max-width: 767px) {
	.welfareBlock01 { margin: 6vw 6.25vw; }
	.welfareBlock01 .pointList {}
	.welfareBlock01 .pointList li { counter-increment: bracketOrder; font-size: 4vw; font-weight: 500; margin-top: 4vw; padding: 0 0 0 8vw; position: relative; }
	.welfareBlock01 .pointList li::before { align-items: center; background: #fad7cf; border-radius: 50%; content: "" counter(bracketOrder); display: flex; height: 6vw; justify-content: center; left: 0; position: absolute; top: 0; width: 6vw; }
	.welfareBlock01 .btnBlock { margin: 4vw 0 2vw; text-align: center; }
	.welfareBlock01 .btnBlock >* { margin: 0.5em 0; width: 80vw; }
	.welfareBlock01 .box00-title span { display: block; font-size: 4vw; margin: 0 auto; padding: 0 6vw; position: relative; width: fit-content; }
	.welfareBlock01 .box00-title span::before,
	.welfareBlock01 .box00-title span::after { bottom: 0; content: ""; height: 4vw; margin: auto; position: absolute; top: 0; width: 4vw;  }
	.welfareBlock01 .box00-title span::before { background: url("/assets/image/welfare_bg01.svg") no-repeat 50% 50% / auto 4vw; left: 0; }
	.welfareBlock01 .box00-title span::after { background: url("/assets/image/welfare_bg02.svg") no-repeat 50% 50% / auto 4vw; right: 0; }
	.welfareBlock01 .caseList { font-weight: 500; margin-bottom: 3vw; }
	.welfareBlock01 .caseList dt { background: #fff; font-size: 4vw; margin-bottom: 2vw; padding: 1vw 2vw; width: fit-content; }
}


/*------------------------------
	Service page
------------------------------*/
@media (min-width: 768px) {
	.serviceBlock01 { margin: 60px auto 120px; width: 1000px; }
}
@media screen and (max-width: 767px) {
	.serviceBlock01 { margin: 6vw 6.25vw 12vw; }
}


/*------------------------------
	Glossary page
------------------------------*/
@media (min-width: 768px) {
	.glossaryBlock { margin: 40px auto; width: 1000px; }
}
@media screen and (max-width: 767px) {
	.glossaryBlock { margin: 4vw 6.25vw; }
}


/*------------------------------
	FAQ page
------------------------------*/
@media (min-width: 768px) {
	.faqBlock01 { margin: 60px auto 120px; width: 1000px; }
	.faqBlock01 .anchorList { border-left: 1px solid #ccc; border-top: 1px solid#ccc; display: flex; flex-wrap: wrap; margin: 30px 0; }
	.faqBlock01 .anchorList li { border-bottom: 1px solid#ccc; border-right: 1px solid #ccc; padding: 15px 20px; width: 50%; }
	.faqBlock01 .is-head { border-bottom: 1px solid #000; cursor: pointer; font-size: 1.8rem; font-weight: 700; padding: 10px 30px; position: relative; }
	.faqBlock01 .is-head::before { background: url("/assets/image/icon_q.svg") no-repeat 0 50%; content: ""; height: 23px; left: 0; position: absolute; top: 12px; width: 23px; }
	.faqBlock01 .is-head::after { background: url("/assets/image/icon_open.svg") no-repeat; content: ""; height: 20px; position: absolute; right: 20px; top: 12px; width: 20px; }
	.faqBlock01 .is-head.is-open::after { background: url("/assets/image/icon_close.svg") no-repeat; }
	.faqBlock01 .is-body { padding: 25px; position: relative; }
	.faqBlock01 .is-body::before { background: url("/assets/image/icon_a.svg") no-repeat 0 50%; content: ""; height: 18px; left: 0; position: absolute; top: 28px; width: 18px; }
	.faqBlock01 .is-body a { text-decoration: underline; }
}
@media screen and (max-width: 767px) {
	.faqBlock01 { margin: 6vw 6.25vw 12vw; }
	.faqBlock01 .anchorList { border-left: 0.2vw solid #ccc; border-top: 0.2vw solid#ccc; margin: 3vw 0; }
	.faqBlock01 .anchorList li { border-bottom: 0.2vw solid#ccc; border-right: 0.2vw solid #ccc; padding: 3vw 4vw; }
	.faqBlock01 .is-head { border-bottom: 0.2vw solid #000; cursor: pointer; font-size: 4vw; font-weight: 700; padding: 3vw 6vw; position: relative; }
	.faqBlock01 .is-head::before { background: url("/assets/image/icon_q.svg") no-repeat 0 50% / auto 5vw; content: ""; height: 5vw; left: 0; position: absolute; top: 4vw; width: 5vw; }
	.faqBlock01 .is-head::after { background: url("/assets/image/icon_open.svg") no-repeat 0 0 / 5vw auto; content: ""; height: 5vw; position: absolute; right: 1vw; top: 3.5vw; width: 5vw; }
	.faqBlock01 .is-head.is-open::after { background: url("/assets/image/icon_close.svg") no-repeat 0 0 / 5vw auto; }
	.faqBlock01 .is-body { padding: 6vw; position: relative; }
	.faqBlock01 .is-body::before { background: url("/assets/image/icon_a.svg") no-repeat 0 50% / auto 4vw; content: ""; height: 4vw; left: 0; position: absolute; top: 7vw; width: 4vw; }
	.faqBlock01 .is-body a { text-decoration: underline; }
}


/*------------------------------
	Contact & Estimate page
------------------------------*/
@media (min-width: 768px) {
	.formBlock01 { margin: 60px auto 120px; width: 1000px; }
	.formBlock01 p { margin: 1em 0; }
	.formBlock01 textarea { border: 1px solid #9fa0a0; height: 250px; margin: 1em 0 0; width: 100%; }
	.formBlock01 .btnBlock { margin: 90px 0 85px; text-align: center; }
	.formBlock01 .btnBlock > * { margin: 0 0.5em; }
	#quote { display: none; }
	.required { background: #af2326; color: #fff; display: inline-block; font-size: 1.2rem; margin-right: 0.6em; padding: 2px 10px; }
	.optional { background: #353535; color: #fff; display: inline-block; font-size: 1.2rem; margin-right: 0.6em; padding: 2px 10px; }
	.formDoneBlock { border: 2px solid #353535; border-radius: 10px; margin: 60px auto 120px; padding: 40px 0 20px; text-align: center; width: 1000px; }
	.formDoneBlock p { line-height: 1.6; margin-bottom: 1.5em; }
	.tableForm { font-size: 1.6rem; table-layout: fixed; }
	.tableForm th { background: #f0f0f0; border-bottom: 1px solid #9fa0a0; border-left: 1px solid #9fa0a0; border-top: 1px solid #9fa0a0; font-weight: 400; padding: 15px; text-align: left; }
	.tableForm td { border-bottom: 1px solid #9fa0a0; border-right: 1px solid #9fa0a0; border-top: 1px solid #9fa0a0; padding: 10px 40px; vertical-align: middle; }
	.tableForm input[type="text"],
	.tableForm input[type="email"],
  .tableForm input[type="url"],
  .tableForm input[type="tel"] { border: 1px solid #9fa0a0; padding: 10px; width: 340px; }
	.tableForm label { margin-right: 1em; }
	.tableForm textarea { margin: 0 !important; }
	.tableForm2 { table-layout: fixed; }
	.tableForm2 th { font-size: 1.8rem; padding: 15px 0; }
	.tableForm2 td { border-bottom: 1px solid #9fa0a0; border-top: 1px solid #9fa0a0; padding: 20px 0; text-align: center; vertical-align: middle;  }
	.tableForm2 td:nth-child(2),
	.tableForm2 td:nth-child(4) { padding: 20px 30px; }
	.tableForm2 td.age { font-size: 1.8rem; font-weight: 700; }
	.tableForm2 input[type="text"] { border: 1px solid #9fa0a0; padding: 10px; width: 200px; }
}
@media screen and (max-width: 767px) {
	.formBlock01 { margin: 6vw 6.25vw 12vw; }
	.formBlock01 table + p { font-size: 3.125vw; }
	.formBlock01 textarea { border: 0.2vw solid #9fa0a0; height: 20vw; margin: 1em 0 0; width: 100%; }
	.formBlock01 .btnBlock { align-items: center; display: flex; justify-content: center; margin: 8vw 0; text-align: center; }
	.formBlock01 .btnBlock > * { margin: 0 1em; }
	#quote { display: none; }
	.required { background: #af2326; color: #fff; display: inline-block; font-size: 2.8vw; margin-right: 0.6em; padding: 1vw 3vw; }
	.optional { background: #353535; color: #fff; display: inline-block; font-size: 2.8vw; margin-right: 0.6em; padding: 1vw 3vw; }
	.formDoneBlock { border: 0.4vw solid #353535; border-radius: 3vw; margin: 8vw 4vw; padding: 5vw; text-align: center; }
	.formDoneBlock p { line-height: 1.6; margin-bottom: 1.5em; }
	.tableForm { margin: 4vw 0; }
	.tableForm th { background: #f0f0f0; border-left: 0.2vw solid #9fa0a0; border-right: 0.2vw solid #9fa0a0; border-top: 0.2vw solid #9fa0a0; display: block; font-weight: 400; margin-top: -0.2vw; padding: 3vw 4vw; text-align: left; }
	.tableForm th span { margin-right: 3vw; text-align: center; }
	.tableForm td { border: 0.2vw solid #9fa0a0; display: block; margin-top: -0.2vw; padding: 5vw 4vw; }
	.tableForm input[type="text"],
	.tableForm input[type="email"],
  .tableForm input[type="url"],
  .tableForm input[type="tel"] { border: 0.2vw solid #9fa0a0; padding: 2vw; width: 100%; }
	.tableForm label { margin-right: 1em; }
	.tableForm textarea { margin: 0 !important; padding: 2vw; }
	.tableForm2 { table-layout: fixed; }
	.tableForm2 th { background: #f0f0f0; border-bottom: 0.2vw solid #9fa0a0; border-top: 0.2vw solid #9fa0a0; font-weight: normal; padding: 2vw 0; }
	.tableForm2 td { border-bottom: 0.2vw solid #9fa0a0; border-top: 0.2vw solid #9fa0a0; padding: 2vw 0; text-align: center; vertical-align: middle; }
	.tableForm2 td:nth-child(2),
	.tableForm2 td:nth-child(4) { padding: 2vw; }
	.tableForm2 td.age { font-size: 2.5vw; font-weight: 700; }
	.tableForm2 input[type="text"] { border: 0.2vw solid #9fa0a0; padding: 1vw; width: 14vw; }
}

.request_notice{
  margin: 20px 0;
  font-size: 1.8rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .request_notice{
    font-size: 3.75vw;
  }
}

/* エラーメッセージ */
.error-list {
  font-size: 14px;
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
  padding: 15px 15px 15px 30px;
  margin: 20px 0;
  border: 1px solid transparent;
  border-radius: 4px;
}
.error-list li {
  margin-bottom: 3px;
  list-style-type: disc;
}
.error-list li:last-child {
  margin-bottom: 0;
}


/* ダウンロードページ */
.pdfDlBox .pdfDlBox_inner {display: flex; justify-content: center; margin-top: 1.5em;}
.pdfDlBox .pdfDlBox_item{text-align: center;}
.pdfDlBox .pdfDlBox_item + .pdfDlBox_item{margin-left: 30px;}
.pdfDlBox .pdfDlBox_item .itemImg,
.pdfDlBox .pdfDlBox_item .btnLine{margin-top: 1.5em;}
.pdfDlBox .itemImg img{max-width: none; max-height: 150px; border: 1px solid #ccc;}
.pdfDlBox p{font-size: 16px;}
.pdfDlBox .note{display: inline-block; margin: 10px 0 0 1em; font-size: 12px; text-align: left; text-indent: -1em; line-height: 1.5;}
.pdfDlBtn{position: relative; background: #fff; border: 2px solid #AF2326; border-radius: 9999px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.3); color: #af2326; font-size: 2rem; font-weight: 700; padding: 20px 60px 20px 50px;}
.pdfDlBtn::after{background: url(/assets/image/icon_arrow_red.svg) no-repeat 50% 50% / 1em auto; bottom: 0; height: 1em; margin: auto; right: 20px; top: 0; transform: rotate(-90deg); width: 1em;}
@media (max-width: 767px) {
  .pdfDlBox .pdfDlBox_inner {display: block;}
  .pdfDlBox .itemImg img{width: 60%; max-height: none;}
  .pdfDlBox .pdfDlBox_item + .pdfDlBox_item{margin: 50px 0 0;}
}