@charset "UTF-8";
/*====================================

	----------------------------------
		Structure
	----------------------------------

	0. General
	1. Header
	2. Main
	3. Footer
	4. Page

	----------------------------------
		Change Log
	----------------------------------

	-2021/07/01	Fixed all

====================================*/


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/*====================================

	0. General

====================================*/
html { font-size: 62.5%; }
body { position: relative; background: #ffffff; color: #202020; font-weight: 500; font-size: 1.0rem; font-family: 'Noto Sans JP', sans-serif; }
img { vertical-align: bottom; }
a { color: #202020; text-decoration: none; cursor: pointer; }
	a:hover { opacity: 0.8; }
input[type=submit] { cursor: pointer; }
ul,
ol { list-style: none; }

div.inner { display: block; overflow: hidden; margin: 0 auto; width: 1000px; zoom: 1; }
.spOnly { display: none !important; }
#page-top { position: fixed; right: 20px; bottom: 30px; z-index: 3; }
#page-top a { display: block; width: 60px; height: 60px; background: url("/common/img/icon_pagetop.png") no-repeat 0 0; text-align: center; text-indent: -9999px; }


/*====================================

	1. Header

====================================*/
header { position: relative; z-index: 5; padding-top: 120px; min-width: 1000px; font-size: 1.6rem; line-height: 1.1; }
#l-header_logo { position: absolute; top: 25px; right: 50%; width: 500px; }
#l-header_logo img { width: 350px; height: auto; }
#l-header_cmn > ul { display: -webkit-flex; display: flex; margin: 0 auto; width: 1000px; -webkit-justify-content: flex-start; justify-content: flex-start; }
#l-header_cmn > ul > li { position: relative; -webkit-flex-grow: 1; flex-grow: 1; }
#l-header_cmn > ul > li:not(:first-child):before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; width: 1px; height: 30px; background: #9fa0a0; content: ""; }
#l-header_cmn > ul > li > a { display: block; padding: 20px 0; text-align: center; font-weight: 700; }
#l-header_cmn > ul > li.sub span { position: relative; display: block; padding: 20px 0 20px 25px; text-align: center; font-weight: 700; }
#l-header_cmn > ul > li.sub span:before { position: absolute; top: 0; bottom: 0; left: 20px; margin: auto; width: 10px; height: 10px; border-top: 2px solid #9fa0a0; border-right: 2px solid #9fa0a0; content: ""; transform: rotate(135deg); }
#l-header_cmn > ul > li.sub div { position: absolute; top: 48px; left: 0; visibility: hidden; padding: 20px 25px 25px; width: 235px; border: 1px solid #9fa0a0; background: #fff; }
#l-header_cmn > ul > li.sub:hover div { visibility: visible; }
#l-header_cmn > ul > li.sub li { padding: 0.6em 0; border-bottom: 1px solid #9fa0a0; font-size: 1.4rem; }
#l-header_cmn > ul > li.sub a { position: relative; display: block; padding-left: 20px; }
#l-header_cmn > ul > li.sub a:before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; width: 8px; height: 8px; border-top: 2px solid #008dd3; border-right: 2px solid #008dd3; content: ""; transform: rotate(45deg); }
#l-header_sub { position: absolute; top: 27px; left: 50%; display: -webkit-flex; display: flex; margin-left: 120px; width: 380px; -webkit-align-items: flex-start; align-items: flex-start; }
#l-header_sub ul { display: -webkit-flex; display: flex; width: 380px; flex-wrap: wrap; }
#l-header_sub li { position: relative; margin-left: 20px; width: 170px; }
#l-header_sub .button { display: block; }
/*#l-header_sub p img { width: 203px; height: auto; }*/


/*====================================

	2. Main

====================================*/
main { position: relative; min-width: 1000px; font-size: 1.8rem; line-height: 1.4; }
main a { text-decoration: underline; }
main a:hover { text-decoration: none; }



/*====================================

	3. Footer

====================================*/
footer { padding: 50px 0; background: #f0f0f0; font-size: 1.4rem; }
footer .column { margin: 0 auto; width: 1000px; }
.leftBlock { width: 440px; }
.leftBlock dl { padding-top: 12px; border-top: 1px solid #000; }
.leftBlock dt { float: left; }
.leftBlock dd { margin-bottom: 12px; padding: 0 0 12px 120px; border-bottom: 1px solid #000; }
.rightBlock { width: 500px; }
.rightBlock ul { display: -webkit-flex; display: flex; margin: 1em 0; flex-wrap: wrap; }
.rightBlock li { margin-right: 1.5em; }
.rightBlock p { font-size: 1.2rem; }
#footerLogo { margin-bottom: 17px; font-weight: 700; font-size: 2rem; }
#footerLogo img { width: 380px; height: auto; }
#l-footer_sub ul { display: -webkit-flex; display: flex; width: 380px; flex-wrap: wrap; }
#l-footer_sub li { position: relative; margin-right: 20px; width: 170px; }
#l-footer_sub .button { display: block; }




/*====================================

	4. page

====================================*/

/*-----------------------------------------------------
Common
------------------------------------------------------*/
/*
	Title
------------------------------------------------------*/
.title00 { display: -webkit-flex; display: flex; margin-bottom: 40px; height: 170px; background: #fff url("/common/img/bg_title.png") no-repeat 50% 50% / cover; text-align: center; text-shadow: 2px 2px 25px #fff, -2px -2px 25px #fff, -2px 2px 25px #fff, 2px -2px 25px #fff; font-weight: 700; font-size: 4rem; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.title01 { display: -webkit-flex; display: flex; margin-top: 40px; width: 1000px; height: 90px; background: #fff url("/common/img/bg_title1.png") no-repeat 0 0; color: #fff; text-align: center; text-shadow: 0 0 10px #0719ff; font-weight: 700; font-size: 3.6rem; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.title01.fsS { font-size: 3rem; }
.title02 { font-weight: 700; font-size: 2rem; }
.title03 { font-weight: 700; font-size: 2.2rem; }
.title04 { font-weight: 700; font-size: 2.6rem; }
.title05 { position: relative; text-align: center; font-size: 2.8rem; }
.title05:before { position: absolute; top: 0; bottom: 0; left: 0; z-index: 0; margin: auto; width: 100%; height: 2px; background: #077cff; content: ""; }
.title05 span { position: relative; z-index: 1; display: inline-block; padding: 0 20px; background: #e6f2ff; }
.title06 { color: #077cff; text-align: center; font-size: 2.4rem; }
.title06 span { position: relative; }
.title06 span:before,
.title06 span:after { position: absolute; top: 0; bottom: 0; margin: auto; width: 40px; height: 2px; background: #077cff; content: ""; }
.title06 span:before { left: -60px; }
.title06 span:after { right: -60px; }
.titleBB { margin-bottom: 0.4em; padding-bottom: 0.2em; border-bottom: 4px solid #077cff; }
.titleBBThin { margin-bottom: 0.4em; padding-bottom: 0.2em; border-bottom: 1px solid #077cff; }
/*
	Text
------------------------------------------------------*/
main p { margin: 1em 0; line-height: 1.6; }
main p.fsL { font-size: 2rem; }
main p.fsLL { font-size: 2.6rem; }
main small { font-size: 1.2rem; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 2em; text-indent: -2em; }
.kakkoTxt { padding-left: 3em; list-style: none inside; text-indent: -3em; }
.taR { text-align: right !important; }
.taL { text-align: left !important; }
.taC { text-align: center !important; }
.fwB { font-weight: 700; }
.block { display: block !important; }
.c_white { color: #fff; }
.c_red { color: #e60012; }
.c_blue { color: #077cff; }
.required { display: inline-block; margin-right: 0.6em; padding: 2px 10px; background: #fcd255; font-size: 1.2rem; }
.optional { display: inline-block; margin-right: 0.6em; padding: 2px 10px; background: #077cff; color: #fff; font-size: 1.2rem; }
.mb1em { margin-bottom: 1em; }
.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.line { text-decoration: underline; }
/*
	Image
------------------------------------------------------*/
figure { margin: 1em 0; text-align: center; }
figure.bBlue { padding: 25px 40px; border: 1px solid #077cff; border-radius: 10px; background: #fff; }
figure.gray { padding: 30px; background: #f0f0f0; }
figure.white { padding: 30px; background: #fff; }
figure img { margin: 1em 0; max-width: 100%; height: auto; }
figure cite { display: block; font-style: normal; font-size: 1.2rem; }
figure figcaption.fsL { font-size: 2.2rem; }
figure + figure { margin-top: 40px; }
/*
	List
------------------------------------------------------*/
main ol,
main ul { margin: 1em 0; list-style: none; }
.discList { margin: 1em 0; }
.discList > li { position: relative; padding-left: 1em; }
.discList > li:before { position: absolute; top: 0; left: 0; content: "・"; }
.decimalList { margin: 1em 0 1em 1.5em; list-style: decimal; }
.circleList { margin: 1em 0 1em 1.5em; list-style: circle; }
.alphaUList { margin: 1em 0 1em 1.5em; list-style: upper-alpha; }
.alphaLList { margin: 1em 0 1em 1.5em; list-style: lower-alpha; }
.squareLList { margin: 1em 0 1em 1.5em; list-style: square; }
.katakanaList { margin: 1em 0 1em 1.5em; list-style: katakana; }
.irohaList { margin: 1em 0 1em 1.5em; list-style: katakana-iroha; }
.romanList { margin: 1em 0 1em 1.5em; list-style: upper-roman; }
.kakkoList { margin: 1em 0; padding-left: 2.5em; list-style: none inside; text-indent: -2.5em; }
	.kakkoList > li { counter-increment: cnt; }
	.kakkoList > li:before { display: marker; content: "（" counter(cnt) "）"; }
	.kakkoList > li * { text-indent: 0; }
.komeList { margin: 1em 0; text-indent: 0; }
	.komeList > li { padding-left: 1em; text-indent: -1em; }
.komeNumList { margin: 1em 0; }
	.komeNumList > li { padding-left: 2em; text-indent: -2em; }
	.komeNumList > li * { text-indent: 0; }
main ol ol,
main ol ul,
main ul ol,
main ul ul { margin-top: 0 !important; margin-bottom: 0 !important; }
/*
	Icon
------------------------------------------------------*/
.icon { position: relative; display: inline-block; padding-left: 1.5em; text-decoration: none; }
.icon:before { position: absolute; top: 0; left: 0; width: 1.4em; height: 1.4em; content: ""; }
/*
	Button
------------------------------------------------------*/
.btnBlock { margin: 70px 0; text-align: center; }
.btnBlock .button { margin: 0 10px; }
.button { position: relative; display: inline-block; text-align: center; text-decoration: none; line-height: 1.1; }
.button:before { position: absolute; top: 0; right: 1em; bottom: 0; margin: auto; width: 1.4em; height: 1.4em; content: ""; }
.button.blue { padding: 15px; border-radius: 5px; background-image: -webkit-linear-gradient( 180deg, rgb(0,141,211) 0%, rgb(63,191,255) 47%, rgb(35,162,254) 50%, rgb(6,133,252) 71%, rgb(2,55,104) 99%); background-image: linear-gradient( 180deg, rgb(0,141,211) 0%, rgb(63,191,255) 47%, rgb(35,162,254) 50%, rgb(6,133,252) 71%, rgb(2,55,104) 99%); color: #fff; font-weight: 700; font-size: 1.6rem; }
.button.roundL { padding: 20px 25px; border-radius: 10px; background-image: -webkit-linear-gradient( 180deg, rgb(0,141,211) 0%, rgb(63,191,255) 47%, rgb(35,162,254) 50%, rgb(6,133,252) 71%, rgb(2,55,104) 99%); background-image: linear-gradient( 180deg, rgb(0,141,211) 0%, rgb(63,191,255) 47%, rgb(35,162,254) 50%, rgb(6,133,252) 71%, rgb(2,55,104) 99%); color: #fff; font-weight: 700; font-size: 2.8rem; }
.button.roundL span.arrowW { position: relative; display: inline-block; padding: 0 90px; }
.button.roundL span.arrowW:after { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; width: 14px; height: 14px; border-top: 3px solid #fff; border-right: 3px solid #fff; content: ""; transform: rotate(45deg); }
.button.roundL span.arrowWback { position: relative; display: inline-block; padding: 0 90px; }
.button.roundL span.arrowWback:after { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; width: 14px; height: 14px; border-top: 3px solid #fff; border-right: 3px solid #fff; content: ""; transform: rotate(-135deg); }
/*
	Marker
------------------------------------------------------*/
marker { }
marker.lightYellow { background: linear-gradient(transparent 20%, #ffcc00 20%); }
marker.lightYellowThin { background: linear-gradient(transparent 80%, #ffcc00 80%); }
/*
	Table
------------------------------------------------------*/
table { margin: 1em 0; width: 100%; border-collapse: collapse; }
table ol,
table ul { margin: 0; }
/*
	Columns
------------------------------------------------------*/
.column { display: -webkit-flex; display: flex; flex-wrap: wrap; }
.column.space-between { -webkit-justify-content: space-between; justify-content: space-between; }
.column.justify-center { -webkit-justify-content: center; justify-content: center; }
.column.align-items-center { -webkit-align-items: center; align-items: center; }
div.bBlue { margin: 1em 0; padding: 25px 40px; border: 1px solid #077cff; border-radius: 10px; background: #fff; align-items: flex-start; }
div.bBlue figure { margin: 0 !important; }
/*
	Background
------------------------------------------------------*/
.bgCheck { padding-bottom: 40px; background: url("/common/img/bg_check.png"); }
.bgBlue { padding: 30px 40px; background: #e6f2ff; }
.bgWhite { background: #fff; }

/*
	Block　COMMON
------------------------------------------------------*/
section { margin: 0 auto; width: 1000px; }

.subjectBox { margin: 60px 0 40px; }
.subjectBox dl { border: 3px solid #fcd255; border-radius: 10px; background: #fff; }
.subjectBox dt { margin: -30px 0 0 -3px; text-align: center; font-weight: 700; font-size: 3rem; line-height: 1; }
.subjectBox dt span { position: relative; display: inline-block; padding: 15px 60px; border-radius: 30px; background: #fcd255; }
.subjectBox dd { padding: 20px 40px; font-size: 2.6rem; }

.contractBox { margin: 30px 0 40px; padding: 20px 40px 30px; border: 1px solid #288dff; background: #fff; }
.contractBox dt { margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #000; text-align: center; font-weight: 700; font-size: 2.2rem; }

.meritList { display: -webkit-flex; display: flex; border-top: 2px solid #077cff; border-left: 2px solid #077cff; flex-wrap: wrap;  }
.meritList li { border-right: 2px solid #077cff; border-bottom: 2px solid #077cff; background: #fff; }
.meritList li.col3 { width : -webkit-calc(100% / 3) ; width : calc(100% / 3) ; }
.meritList li.col2 { width : -webkit-calc(100% / 2) ; width : calc(100% / 2) ; }
.meritList dt { padding: 15px 5px 0; min-height: 80px; background: #077cff; color: #fff; text-align: center; font-weight: 700; font-size: 2.2rem; position: relative; }
.meritList dt:after { position: absolute; width: 2px; height: 82px; content: ""; background: #fff; top: -2px; right: -2px; }
.meritList li.col1 dt:after { background: #077cff; }
.meritList li.col2:nth-child(2n) dt:after { background: #077cff; }
.meritList li.col3:nth-child(3n) dt:after { background: #077cff; }
.meritList dt.fsS { font-size: 2rem; }
.meritList + .meritList { margin-top: -1em; }

.dotarrowBlue { position: relative; margin: 40px 0; padding-top: 70px; text-align: center; }
.dotarrowBlue:before { position: absolute; top: 0; right: 0; left: 0; margin: auto; width: 89px; height: 47px; background: url("/common/img/icon_dotarrow_blue.png") no-repeat 0 0; content: ""; }
.dotarrowBlue .bgYellow { display: inline-block; padding: 20px; background: #fcd255; font-size: 2.6rem; }


/*-----------------------------------------------------
Top
------------------------------------------------------*/
.topBlock01 { margin-bottom: 60px; width: 100%; height: 634px; background-image: url("/common/img/bg_top_title2.png"), url("/common/img/bg_top_title.png"), -webkit-linear-gradient( 0deg, rgb(255,255,255) 0%, rgb(243,249,255) 6%, rgb(230,242,255) 27%, rgb(194,223,254) 92%); background-position: 0 0, 50% 0; background-repeat: repeat-x, no-repeat; text-align: center; }
.topBlock01 h1 { margin-bottom: 15px; padding-top: 120px; font-size: 3.2rem; }
.topBlock01 h1 span { display: block; margin-top: 5px; font-size: 6rem; }
.topBlock01 li { margin: 0 15px; }
.topBlock02 { margin-bottom: 130px; }
.topBlock02 .w450 { margin: 0 auto; width: 450px; }
.topBlock02 .meritList .col1 { width: 450px;}
.topBlock02 .meritList .col1 dt { font-size: 3rem; }
.topBlock02 .meritList .col3 dt { min-height: 60px; }
.topBlock02 .meritList .col3 dt:after { height: 62px; }
.topBlock02 .meritList dt span { display: inline-block; padding: 5px 25px; border-radius: 30px; background: #fcd255; color: #000; font-size: 3rem; }
.topBlock02 .meritList dd { text-align: center; }
.topBlock02 .meritList .col1 dd { padding: 175px 30px 20px; text-align: center; }
.topBlock02 .meritList .col2 dd { padding: 30px 0 30px 120px; font-size: 2.4rem; line-height: 2; }
.topBlock02 .meritList .col3 dd { padding: 20px; }
.topBlock02 .icon01 { background: url("/common/img/icon09.svg") no-repeat 63px 50%/ 78px auto; }
.topBlock02 .icon02 { background: url("/common/img/icon05.svg") no-repeat 43px 50% / 126px auto; }
.topBlock02 .icon03 { background: url("/common/img/icon10.svg") no-repeat 50% 50% / 87px auto; }
.topBlock02 .icon04 { background: url("/common/img/icon11.svg") no-repeat 50% 50% / 83px auto; }
.topBlock02 .icon05 { background: url("/common/img/icon12.svg") no-repeat 50% 50% / 91px auto; }
.topBlock02 .icon06 { background: url("/common/img/icon02.svg") no-repeat 50% 30px / 133px auto; }
.topBlock03 dl { background: #077cff; margin: -130px 0 40px; padding: 40px; color: #fff; }
.topBlock03 dt { font-size: 2.6rem; font-weight: 700; margin-bottom: 20px; }
.topBlock03 dd { font-size: 2rem; }
.topBlock03 .case { margin: 40px 0; -webkit-align-items: flex-end; align-items: flex-end; }
.topBlock04 { margin-bottom: 60px; }


/*-----------------------------------------------------
Subject
------------------------------------------------------*/
.subjectBlock01 {margin-bottom: 130px; }
.subjectBlock02 dl { background: #077cff; margin: -130px 0 40px; padding: 40px; color: #fff; }
.subjectBlock02 dt { font-size: 2.6rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
.subjectBlock02 dd { font-size: 2rem; }
.subjectBlock03 { overflow: hidden; }
.subjectBlock03 .btnBlock { margin: 30px 0 0; }
.subjectBlock03 .title04 { position: relative; }
.subjectBlock03 .title04:after { position: absolute; content: ""; width: 75px; height: 60px; bottom: 10px; margin: auto 12px; }
.subjectBlock03 .title04#anchor01:after { background: url("/common/img/icon05.svg") no-repeat 50% 100% / 74px auto; }
.subjectBlock03 .title04#anchor02:after { background: url("/common/img/icon06.svg") no-repeat 50% 100% / 47px auto; }
.subjectBlock03 .title04#anchor03:after { background: url("/common/img/icon07.svg") no-repeat 50% 100% / 50px auto; }
.subjectBlock03 .title04#anchor04:after { background: url("/common/img/icon08.svg") no-repeat 50% 100% / 29px auto; }


/*-----------------------------------------------------
Summary
------------------------------------------------------*/
.summaryBlock01 { }
.summaryBlock02 { overflow: hidden; }
.summaryBlock02 .merit { }
.summaryBlock02 .merit li { position: relative; margin-top: 40px; width: 480px; background: #e6f2ff; }
.summaryBlock02 .merit li span { position: absolute; top: -15px; right: 0; left: 0; display: inline-block; margin: auto; padding: 4px; width: 125px; background: #077cff; color: #fff; text-align: center; font-weight: 700; font-size: 1.4rem; }
.summaryBlock02 .merit li em { font-style: normal; font-size: 2rem; }
.summaryBlock02 .merit dl { margin: 15px 40px 20px; }
.summaryBlock02 .merit dt { margin-bottom: 10px; text-align: center; font-weight: 700; }
.summaryBlock02 .merit dd { font-size: 1.6rem; }
.summaryBlock02 .case { margin: 40px 0; -webkit-align-items: flex-end; align-items: flex-end; }
.summaryBlock02 .btnBlock { margin: 50px 0 0; }
.summaryBlock03 dl { margin: 25px 0; height: 82px; background: url("/common/img/summary_img08.png") no-repeat; font-weight: 700; font-size: 2.8rem; }
.summaryBlock03 dt { width: 230px; color: #fff; text-align: center; }
.summaryBlock03 dd { padding-left: 30px; }
.summaryBlock04 { margin-bottom: 60px; }
.summaryBlock04 th { padding: 10px 20px; border: 1px solid #333; background: #eee; text-align: left; font-size: 2rem; }
.summaryBlock04 td { padding: 10px 40px; border: 1px solid #333; background: #fff; }
.summaryBlock04 .border { margin: 1em 0; padding: 0 20px; border: 1px solid #333; background: #fff; }
.summaryBlock04 .chart { padding: 10px 30px 30px; background: #eee; }
.summaryBlock04 .chart .column { background: url("/common/img/summary_img09.png") no-repeat; }
.summaryBlock04 .chart dl { padding: 20px 25px 0; }
.summaryBlock04 .chart dl:nth-child(1) { width: 410px; border-right: 2px dashed#000; }
.summaryBlock04 .chart dl:nth-child(2) { width: 434px; }
.summaryBlock04 .chart dt { margin-bottom: 30px; color: #fff; text-align: center; font-weight: 700; font-size: 2rem; }



/*-----------------------------------------------------
Coexist
------------------------------------------------------*/
.coexistBlock01 { margin-bottom: 125px; }
.coexistBlock02 { margin-bottom: 40px; }
.coexistBlock02 .fsL { font-size: 2.8rem; }
.coexistBlock02 .bgWhite { margin-top: -80px; padding: 0 30px 40px; }
.coexistBlock02 .case { width: 310px; background: #fff; text-align: center; font-weight: bold; }
.coexistBlock02 .case dt { padding: 10px 0; height: 80px; background: #077cff; color: #fff; font-size: 2rem; }
.coexistBlock02 .case dd { padding: 20px 10px; }
.coexistBlock02 .case figcaption { font-weight: 400; font-size: 1.2rem; }
.coexistBlock02 .meritList dd { padding: 140px 30px 20px; text-align: center; }
.coexistBlock02 .icon01 { background: url("/common/img/icon05.svg") no-repeat 50% 23px / 128px auto; }
.coexistBlock02 .icon02 { background: url("/common/img/icon02.svg") no-repeat 50% 25px / 97px auto; }
.coexistBlock02 .icon03 { background: url("/common/img/icon03.svg") no-repeat 50% 31px / 94px auto; }
.coexistBlock02 .dotarrowBlue { margin: 40px 0 110px; }
.coexistBlock03 { overflow: hidden; }
.coexistBlock03 h3 { font-size: 3.6rem; }
.coexistBlock03 .type01 { margin: 60px 0 40px; }
.coexistBlock03 .type01 dl { border: 3px dashed #23c4ff; border-radius: 20px; background: #fff; text-align: center; }
.coexistBlock03 .type01 dt { margin: -30px 0 0; font-weight: 700; font-size: 3rem; line-height: 1; }
.coexistBlock03 .type01 dt span { position: relative; display: inline-block; padding: 15px 60px; background: #23c4ff; }
.coexistBlock03 .type01 dd { padding: 30px 0; text-align: center; }
.coexistBlock03 .type02 { margin: 60px 0 0; }
.coexistBlock03 .type02 dl { border: 3px solid #077cff; border-radius: 20px; background: #fff; text-align: center; }
.coexistBlock03 .type02 dt { margin: -30px 0 0; font-weight: 700; font-size: 3rem; line-height: 1; }
.coexistBlock03 .type02 dt span { position: relative; display: inline-block; padding: 15px 60px; background: #077cff; color: #fff; }
.coexistBlock03 .type02 dd { padding: 30px 0; text-align: center; }

.mentalBlock01 { margin-bottom: 40px; }
.mentalBlock01 .meritList dd { padding: 40px 0 40px 120px; text-align: center; }
.mentalBlock01 .icon01 { background: url("/common/img/icon05.svg") no-repeat 40px 50% / 128px auto; }
.mentalBlock01 .icon02 { background: url("/common/img/icon03.svg") no-repeat 31px 50% / 94px auto; }
.mentalBlock02 { overflow: hidden; }
.mentalBlock02 .point { position: relative; margin-top: 40px; padding: 30px 40px; background: #eee; text-align: center; font-size: 2.2rem; }
.mentalBlock02 .point:before { position: absolute; top: -15px; right: 0; left: 0; margin: auto; padding: 8px 0; width: 110px; border-radius: 30px; background: #fcd255; content: "ポイント"; font-weight: 700; font-size: 1.8rem; }

.careBlock01 .meritList dd { padding: 40px 0 40px 120px; text-align: center; }
.careBlock01 .icon01 { background: url("/common/img/icon05.svg") no-repeat 40px 50% / 128px auto; }
.careBlock01 .icon02 { background: url("/common/img/icon04.svg") no-repeat 36px 50% / 77px auto; }
.careBlock02 { overflow: hidden; }
.careBlock02 h4 { font-size: 3.6rem; }
.careBlock02 .type01 { margin: 60px 0 40px; }
.careBlock02 .type01 dl { border: 3px dashed #dfa3ea; border-radius: 20px; background: #fff; text-align: center; }
.careBlock02 .type01 dt { margin: -30px 0 0; font-weight: 700; font-size: 3rem; line-height: 1; }
.careBlock02 .type01 dt span { position: relative; display: inline-block; padding: 15px 60px; background: #dfa3ea; }
.careBlock02 .type01 dd { padding: 30px 0; text-align: center; }
.careBlock02 .type02 { margin: 60px 0 0; }
.careBlock02 .type02 dl { border: 3px solid #9d5292; border-radius: 20px; background: #fff; text-align: center; }
.careBlock02 .type02 dt { margin: -30px 0 0; font-weight: 700; font-size: 3rem; line-height: 1; }
.careBlock02 .type02 dt span { position: relative; display: inline-block; padding: 15px 60px; background: #9d5292; color: #fff; }
.careBlock02 .type02 dd { padding: 30px 0; text-align: center; }


/*-----------------------------------------------------
Compensation
------------------------------------------------------*/
.compensationBlock01 { margin-bottom: 60px; }
.compensationBlock01 .meritList dd { padding: 40px 0 40px 120px; text-align: center; }
.compensationBlock01 .icon01 { background: url("/common/img/icon13.svg") no-repeat 36px 50% / 107px auto; }
.compensationBlock01 .icon02 { background: url("/common/img/icon04.svg") no-repeat 36px 50% / 77px auto; }
.compensationBlock02 { overflow: hidden; }
.compensationBlock02 .example { padding: 20px; width: 285px; border-radius: 10px; background: #fff; }
.compensationBlock02 .example dt { margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #9fa0a0; text-align: center; font-weight: 700; font-size: 2rem; }


/*-----------------------------------------------------
Service
------------------------------------------------------*/
.serviceBlock01 { margin-bottom: 60px; }
.serviceBlock01 .serviceList { margin-top: 35px; }
.serviceBlock01 .serviceList li { position: relative; margin-top: 30px; padding: 25px 25px 0 410px; height: 160px; border: 1px solid #111; }
.serviceBlock01 .serviceList li:nth-child(1) { background: url("/common/img/service_img01.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(2) { background: url("/common/img/service_img02.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(3) { background: url("/common/img/service_img03.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(4) { background: url("/common/img/service_img04.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(5) { background: url("/common/img/service_img05.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(6) { background: url("/common/img/service_img06.png") no-repeat; }
.serviceBlock01 .serviceList li:nth-child(7) { background: url("/common/img/service_img07.png") no-repeat; }
.serviceBlock01 .serviceList .toC { position: absolute; top: 0; left: 0; display: inline-block; padding: 8px 0; width: 210px; background: #fcd255; text-align: center; font-weight: 700; font-size: 1.4rem; }
.serviceBlock01 .serviceList .toB { position: absolute; top: 0; left: 0; display: inline-block; padding: 8px 0; width: 159px; background: #28f3ff; text-align: center; font-weight: 700; font-size: 1.4rem; }
.serviceBlock01 .serviceList .toC + .toB { left: 210px; }
.serviceBlock01 .serviceList dt { margin-bottom: 15px; font-weight: 700; font-size: 2.2rem; }
.serviceBlock01 .serviceList .more { position: absolute; top: 25px; right: 30px; }
.serviceBlock01 .serviceList .more a { display: inline-block; padding: 3px; width: 120px; border: 1px solid #9fa0a0; border-radius: 3px; text-align: center; text-decoration: none; font-size: 1.4rem; }
.serviceBlock01 .serviceList .more a:after { position: absolute; top: 0; right: 12px; bottom: 0; margin: auto; width: 6px; height: 6px; border-top: 1px solid #9fa0a0; border-right: 1px solid #9fa0a0; content: ""; transform: rotate(135deg); }
.serviceBlock01 .noticeBox { margin-top: 30px; padding: 20px 30px; border: 1px solid #111; }
.serviceBlock01 .noticeBox dd { font-size: 1.6rem; }

.serviceBlock02 { overflow: hidden; }
.serviceBlock02 .title03 { margin-top: 40px; }
.serviceBlock02 .toC { display: inline-block; margin-left: 1em; padding: 6px 0; width: 210px; background: #fcd255; text-align: center; font-weight: 700; font-size: 1.4rem; }
.serviceBlock02 .toB { display: inline-block; margin-left: 1em; padding: 6px 0; width: 159px; background: #28f3ff; text-align: center; font-weight: 700; font-size: 1.4rem; }
.serviceBlock02 .other { display: inline-block; margin-left: 1em; padding: 6px 0; font-weight: 700; font-size: 1.4rem; }
.serviceBlock02 .serviceList { display: -webkit-flex; display: flex; border-top: 1px solid #333; border-left: 1px solid #333; flex-wrap: wrap;  }
.serviceBlock02 .serviceList li { border-right: 1px solid #333; border-bottom: 1px solid #333; background: #e6f2ff; }
.serviceBlock02 .serviceList li.col3 { width : -webkit-calc(100% / 3); width : calc(100% / 3); }
.serviceBlock02 .serviceList li.col2 { width : -webkit-calc(100% / 2); width : calc(100% / 2); }
.serviceBlock02 .serviceList li.col1 { width : 100%; }
.serviceBlock02 .serviceList dt { padding-top: 90px; height: 170px; text-align: center; font-weight: bold; font-size: 2rem; }
.serviceBlock02 .serviceList dt.heightS { height: 130px; }
.serviceBlock02 .serviceList dt.heightL { height: 190px; }
.serviceBlock02 .serviceList .radiusW { display: inline-block; margin-top: 8px; padding: 4px 6px; min-width: 220px; border-radius: 20px; background: #fff; font-size: 1.4rem; }
.serviceBlock02 .serviceList dd { padding: 20px; background: #fff; }
.serviceBlock02 .icon01 { background: url("/common/img/icon21.svg") no-repeat 50% 24px / 66px auto; }
.serviceBlock02 .icon02 { background: url("/common/img/icon22.svg") no-repeat 50% 20px / 50px auto; }
.serviceBlock02 .icon03 { background: url("/common/img/icon23.svg") no-repeat 50% 25px / 54px auto; }
.serviceBlock02 .icon04 { background: url("/common/img/icon24.svg") no-repeat 50% 24px / 190px auto; }
.serviceBlock02 .icon05 { background: url("/common/img/icon25.svg") no-repeat 50% 26px / 54px auto; }
.serviceBlock02 .icon06 { background: url("/common/img/icon26.svg") no-repeat 50% 15px / 53px auto; }
.serviceBlock02 .icon07 { background: url("/common/img/icon27.svg") no-repeat 50% 18px / 51px auto; }
.serviceBlock02 .icon08 { background: url("/common/img/icon28.svg") no-repeat 50% 30px / 42px auto; }
.serviceBlock02 .icon09 { background: url("/common/img/icon29.svg") no-repeat 50% 25px / 60px auto; }
.serviceBlock02 .icon10 { background: url("/common/img/icon30.svg") no-repeat 50% 27px / 52px auto; }
.serviceBlock02 .icon11 { background: url("/common/img/icon31.svg") no-repeat 50% 26px / 70px auto; }
.serviceBlock02 .icon12 { background: url("/common/img/icon32.svg") no-repeat 50% 28px / 51px auto; }
.serviceBlock02 .icon13 { background: url("/common/img/icon33.svg") no-repeat 50% 25px / 55px auto; }
.serviceBlock02 .icon14 { background: url("/common/img/icon34.svg") no-repeat 50% 20px / 62px auto; }
.serviceBlock02 .icon15 { background: url("/common/img/icon35.svg") no-repeat 50% 20px / 64px auto; }
.serviceBlock02 .icon16 { background: url("/common/img/icon36.svg") no-repeat 50% 23px / 50px auto; }
.serviceBlock02 .icon17 { background: url("/common/img/icon37.svg") no-repeat 50% 23px / 95px auto; }
.serviceBlock02 .icon18 { background: url("/common/img/icon38.svg") no-repeat 50% 21px / 59px auto; }
.serviceBlock02 .icon19 { background: url("/common/img/icon39.svg") no-repeat 50% 30px / 59px auto; }
.serviceBlock02 .icon20 { background: url("/common/img/icon40.svg") no-repeat 50% 30px / 91px auto; }
.serviceBlock02 .icon21 { background: url("/common/img/icon41.svg") no-repeat 50% 21px / 53px auto; }



/*-----------------------------------------------------
Request
------------------------------------------------------*/
.formBlock01 { margin-top: 40px; }
.formBlock01 table + p { font-size: 1.6rem; }
.formBlock01 textarea { margin: 10px 0 !important; width: 100%; height: 150px; border: 1px solid #9fa0a0; }
.formBlock01 textarea.heightMin { height: 3em; }
.formBlock01 .komeList { font-size: 1.6rem; }

.tableForm2 { table-layout: fixed; }
.tableForm2 th { padding: 15px;border-bottom: 1px solid #9fa0a0; font-size: 1.6rem; }
.tableForm2 td { padding: 10px; border-top: 1px solid #9fa0a0; border-bottom: 1px solid #9fa0a0; vertical-align: middle; text-align: center; font-size: 2rem; }
.tableForm2 input[type="text"] { padding: 10px; width: 180px; border: 1px solid #9fa0a0; }
#quote { display: none; }

.tableForm { table-layout: fixed; font-size: 1.6rem; }
.tableForm th { padding: 20px 12px 12px; border-top: 1px solid #9fa0a0; border-bottom: 1px solid #9fa0a0; background: #f0f0f0; vertical-align: top; text-align: left; font-weight: normal; }
.tableForm td { padding: 10px 20px; border-top: 1px solid #9fa0a0; border-bottom: 1px solid #9fa0a0; vertical-align: middle; }
.tableForm input[type="text"],
.tableForm input[type="tel"],
.tableForm input[type="email"],
.tableForm input[type="url"] { padding: 10px; width: 340px; border: 1px solid #9fa0a0; }
.tableForm input.short { width: 180px; }
.tableForm label { margin-right: 1em; }
.tableForm textarea { margin: 0 !important; width: 670px; height: 190px; border: 1px solid #9fa0a0; }


.request_tel{
 margin-bottom: 20px;
 padding: 10px 20px;
 background: #e6f2ff;
}

/*-----------------------------------------------------
PDF DL
------------------------------------------------------*/
.pdfDlBox .title01 br{display: none;}
.pdfDlBox{text-align: center;}
.pdfDlBox .pdfDlBtn{position: relative; display: flex; align-items: center; justify-content: center; width: 265px; margin: 0 auto; padding: 15px 28px 15px 72px; border-radius: 10px; background: linear-gradient( 180deg, rgb(0,141,211) 0%, rgb(63,191,255) 47%, rgb(35,162,254) 50%, rgb(6,133,252) 71%, rgb(2,55,104) 99%); color: #fff; font-size: 18px; font-weight: bold; text-decoration: none;}
.pdfDlBox .pdfDlBtn::before{ content: ""; position: absolute; top: 50%; left: 16px; transform: translateY(-50%); display: block; width: 42px; height: 42px; background: url(/common/img/icon_pdf-w.png); background-size: contain;}

.request_notice{
  font-weight: bold;
  margin-bottom: 20px;
}
input[type=checkbox]{margin-right:5px;}