@charset "UTF-8";
/*====================================

	----------------------------------
		Structure
	----------------------------------

	0. General
	1. Header
	2. Main
	3. Footer
	4. Page

	----------------------------------
		Change Log
	----------------------------------

	-2021/03/01	Fixed all

====================================*/


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/*====================================

	0. General

====================================*/
html { font-size: 62.5%; }
body { position: relative; background: #ffffff; color: #202020; font-weight: 400; font-size: 1.0rem; font-family: 'Noto Sans JP', sans-serif; }
img { width: 100%; height: auto; 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; }
.pcOnly { display: none !important; }
#page-top { position: fixed; right: 5vw; bottom: 5vw; z-index: 3; }
#page-top a { display: block; width: 10vw; height: 10vw; background: url("/common/img/icon_pagetop.png") no-repeat 0 0 / 10vw auto; text-align: center; text-indent: -9999px; }


/*====================================

	1. Header

====================================*/
header { position: relative; height: 22vw; }
#l-header_logo { padding: 3vw 0 0 3vw; }
#l-header_logo img { width: 76vw; height: auto; }
#panel-btn { position: absolute; top: 5vw; right: 4vw; z-index: 2000; display: inline-block; width: 11vw; height: 11vw; background: #077cff; text-indent: -9999px; } 
#panel-btn.cls { background: #ffffff; }
#panel-btn-icon { position: absolute; top: 50%; left: 50%; display: block; margin: -0.3vw 0 0 -2.3vw; width: 4.6vw; height: 0.6vw; background: #ffffff; transition: .2s; } 
#panel-btn-icon:before,
#panel-btn-icon:after { position: absolute; top: 50%; left: 0; display: block; width: 4.6vw; height: 0.6vw; background: #ffffff; content: ""; transition: .3s; } 
#panel-btn-icon:before { margin-top: -2.1vw; }
#panel-btn-icon:after { margin-top: 1.8vw; } 
#panel-btn .close { background: transparent; }
#panel-btn .close:before,
#panel-btn .close:after { margin-top: 0; } 
#panel-btn .close:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } 
#panel-btn .close:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); } 
.gnav { position: absolute; top: 22vw; z-index: 1000; display: none; padding: 5vw; width: 100%; background: #fff; box-shadow: 0 0 5px rgba(0,0,0,0.5); font-size: 4vw; }
#l-header_cmn > ul > li { border-bottom: 0.2vw solid #333; }
#l-header_cmn > ul > li > a,
#l-header_cmn > ul > li.sub span{ display: block; padding: 3vw 0; }
#l-header_cmn > ul > li.sub a { position: relative; display: block; padding-left: 1.4em; }
#l-header_cmn > ul > li.sub a:before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; width: 2vw; height: 2vw; border-top: 0.4vw solid #008dd3; border-right: 0.4vw solid #008dd3; content: ""; transform: rotate(45deg); }
#l-header_cmn > ul > li.sub li { margin-bottom: 2vw; }
#l-header_sub { margin-top: 9vw; }
#l-header_sub .button { display: block; }
#l-header_sub ul { margin: 10vw 0; }
#l-header_sub li { margin-top: 4vw; }
#l-header_sub p { margin-top: 9vw; text-align: center; }
#l-header_sub p img { width: 70vw; height: auto; }





/*====================================

	2. Main

====================================*/
main { position: relative; font-size: 3.8vw; line-height: 1.4; }
main.tile { padding-bottom: 8vw; background: url("/common/img/bg_tile.png") repeat 0 0 / 20vw auto; }
main a { text-decoration: underline; }
main a:hover { text-decoration: none; }



/*====================================

	3. Footer

====================================*/
footer { padding: 5vw; background: #f0f0f0; font-size: 3.4vw; }
.leftBlock { }
.leftBlock dl { padding-top: 3vw; border-top: 0.2vw solid #000; }
.leftBlock dt { float: left; }
.leftBlock dd { margin-bottom: 3vw; padding: 0 0 3vw 9em; border-bottom: 0.2vw solid #000; }
.rightBlock { }
.rightBlock ul { display: -webkit-flex; display: flex; margin: 1em 0; flex-wrap: wrap; }
.rightBlock li { margin-right: 1.5em; }
.rightBlock p { }
#footerLogo img { margin-bottom: 3vw; height: auto; }
#l-footer_sub ul { margin: 0; }
#l-footer_sub li:nth-child(1),
#l-footer_sub li:nth-child(2){ margin-right: 3vw; width: 42vw; }
#l-footer_sub li:nth-child(3) { margin-top: 1em; }
#l-footer_sub .button { display: block; }



/*====================================

	4. page

====================================*/

/*-----------------------------------------------------
Common
------------------------------------------------------*/
/*
	Title
------------------------------------------------------*/
.title00 { display: -webkit-flex; display: flex; margin-bottom: 5vw; padding: 0 3vw; height: 30vw; 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: 7vw; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.title01 { margin-top: 1em; width: 90vw; background: #fff url("/common/img/sp_bg_title1.png") no-repeat 0 0 / cover; color: #fff; text-align: center; text-shadow: 0 0 10px #0719ff; font-weight: 700; font-size: 4.6vw; border-radius: 5vw; padding: 1.4vw 1vw; }
.title02 { font-weight: 700; font-size: 4.2vw; }
.title03 { font-weight: 700; font-size: 4.6vw; }
.title04 { font-weight: 700; font-size: 5vw; }
.title05 { position: relative; padding: 0 5vw; text-align: center; font-size: 5.1vw; }
.title05:before { position: absolute; top: 0; bottom: 0; left: 0; z-index: 0; margin: auto; width: 100%; height: 0.5vw; background: #077cff; content: ""; }
.title05 span { position: relative; z-index: 1; display: inline-block; padding: 0 3vw; background: #e6f2ff; }
.title06 { color: #077cff; text-align: center; font-size: 5.1vw; }
.title06 span { position: relative; display: inline-block; padding: 0 7vw; }
.title06 span:before,
.title06 span:after { position: absolute; top: 0; bottom: 0; margin: auto; width: 5vw; height: 0.5vw; background: #077cff; content: ""; }
.title06 span:before { left: 0; }
.title06 span:after { right: 0; }
.titleBB { margin-bottom: 0.4em; padding-bottom: 0.2em; border-bottom: 0.8vw solid #077cff; }
.titleBBThin { margin-bottom: 0.4em; padding-bottom: 0.2em; border-bottom: 0.2vw solid #077cff; }
/*
	Text
------------------------------------------------------*/
main p { margin: 1em 0; line-height: 1.6; }
main p.fsL { font-size: 4.2vw; }
main p.fsLL { font-size: 5vw; }
main small { font-size: 2.6vw; }
.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: 1vw 3vw; background: #fcd255; font-size: 2.6vw; }
.optional { display: inline-block; margin-right: 0.6em; padding: 1vw 3vw; background: #077cff; color: #fff; font-size: 2.6vw; }
.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: 3vw 5vw; border: 0.2vw solid #077cff; border-radius: 3vw; background: #fff; }
figure.gray { padding: 4vw; background: #f0f0f0; }
figure.white { padding: 4vw; background: #fff; }
figure img { margin: 1em 0; max-width: 100%; height: auto; }
figure cite { display: block; font-style: normal; font-size: 2.6vw; }
figure figcaption.fsL { font-size: 4.6vw; }
figure + figure { margin-top: 5vw; }
/*
	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: 7vw 0; text-align: center; }
.btnBlock .button { margin: 2vw 0; }
.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: 3vw; border-radius: 1vw; 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: 3.4vw; }
.button.roundL { padding: 5vw; border-radius: 3vw; 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: 5vw; }
.button.roundL span.arrowW { position: relative; display: inline-block; padding: 0 10vw; }
.button.roundL span.arrowW:after { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; width: 3vw; height: 3vw; border-top: 0.6vw solid #fff; border-right: 0.6vw solid #fff; content: ""; transform: rotate(45deg); }
.button.roundL span.arrowWback { position: relative; display: inline-block; padding: 0 10vw; }
.button.roundL span.arrowWback:after { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; width: 3vw; height: 3vw; border-top: 0.6vw solid #fff; border-right: 0.6vw 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: 3vw 5vw; border: 0.2vw solid #077cff; border-radius: 3vw; background: #fff; }
div.bBlue figure { margin: 3vw 0 !important; }
/*
	Background
------------------------------------------------------*/
.bgCheck { padding-bottom: 5vw; background: url("/common/img/bg_check.png") repeat 0 0 / 5vw auto; }
.bgBlue { padding: 5vw 0; background: #e6f2ff; }
.bgWhite { background: #fff; }

/*
	Block　COMMON
------------------------------------------------------*/
section { padding: 0 5vw; }

.subjectBox { margin: 10vw 0 5vw; }
.subjectBox dl { border: 0.6vw solid #fcd255; border-radius: 3vw; background: #fff; }
.subjectBox dt { margin: -6vw 0 0; text-align: center; font-weight: 700; font-size: 6vw; line-height: 1; }
.subjectBox dt span { position: relative; display: inline-block; padding: 3vw 6vw; border-radius: 10vw; background: #fcd255; }
.subjectBox dd { padding: 3vw 5vw; font-size: 5vw; }

.contractBox { margin: 5vw 0; padding: 5vw; border: 0.2vw solid #288dff; background: #fff; }
.contractBox dt { margin-bottom: 2vw; padding-bottom: 2vw; border-bottom: 0.2vw solid #000; text-align: center; font-weight: 700; font-size: 4.6vw; }

.meritList { display: -webkit-flex; display: flex; border-top: 0.4vw solid #077cff; border-left: 0.4vw solid #077cff; flex-wrap: wrap;  }
.meritList li { width: 100%; border-right: 0.4vw solid #077cff; border-bottom: 0.4vw solid #077cff; background: #fff; }
.meritList dt { padding: 5vw; background: #077cff; color: #fff; text-align: center; font-weight: 700; font-size: 4.6vw; }
.meritList dt.fsS { font-size: 4.2vw; }

.dotarrowBlue { position: relative; margin: 5vw 0; padding-top: 7vw; text-align: center; }
.dotarrowBlue:before { position: absolute; top: 0; right: 0; left: 0; margin: auto; width: 9vw; height: 5vw; background: url("/common/img/icon_dotarrow_blue.png") no-repeat 0 0 / 9vw auto; content: ""; }
.dotarrowBlue .bgYellow { display: inline-block; padding: 3vw; background: #fcd255; font-size: 5.5vw; }


/*-----------------------------------------------------
Top
------------------------------------------------------*/
.topBlock01 { margin-bottom: 9vw; padding: 10vw 5vw 5vw; width: 100%; 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-size: auto, cover; background-repeat: repeat-x, no-repeat; text-align: center; }
.topBlock01 h1 { margin-bottom: 3vw; font-size: 6vw; }
.topBlock01 h1 span { display: block; margin-top: 2vw; font-size: 9vw; }
.topBlock01 li { margin: 0 2vw; }
.topBlock01 li img { width: 40vw; }
.topBlock02 { margin-bottom: 20vw; }
.topBlock02 .dotarrowBlue + .taC img { width: 40vw; }
.topBlock02 .meritList .col1 dt { font-size: 5vw; }
.topBlock02 .meritList dt span { display: inline-block; padding: 1vw 3vw; border-radius: 5vw; background: #fcd255; color: #000; font-size: 5vw; }
.topBlock02 .meritList dd { text-align: center; }
.topBlock02 .meritList .col1 dd { padding: 35vw 5vw 5vw; text-align: center; }
.topBlock02 .meritList .col2 dd { padding: 25vw 5vw 5vw; font-size: 5.1vw; line-height: 1.6; }
.topBlock02 .meritList .col3 dd { padding: 5vw; }
.topBlock02 .icon01 { background: url("/common/img/icon09.svg") no-repeat 50% 5vw / 15vw auto; }
.topBlock02 .icon02 { background: url("/common/img/icon05.svg") no-repeat 50% 5vw / 25vw auto; }
.topBlock02 .icon03 { background: url("/common/img/icon10.svg") no-repeat 50% 50% / 17vw auto; }
.topBlock02 .icon04 { background: url("/common/img/icon11.svg") no-repeat 50% 50% / 16vw auto; }
.topBlock02 .icon05 { background: url("/common/img/icon12.svg") no-repeat 50% 50% / 18vw auto; }
.topBlock02 .icon06 { background: url("/common/img/icon02.svg") no-repeat 50% 5vw / 26vw auto; }
.topBlock03 dl { margin: -18vw 0 7vw; padding: 5vw; background: #077cff; color: #fff; }
.topBlock03 dt { margin-bottom: 3vw; font-weight: 700; font-size: 4.6vw; }
.topBlock03 .case { margin: 2vw 0; -webkit-align-items: flex-end; align-items: flex-end; }
.topBlock03 .case li { margin-top: 1em; width: 42vw; }


/*-----------------------------------------------------
Subject
------------------------------------------------------*/
.subjectBlock01 { margin-bottom: 20vw; }
.subjectBlock01 .dotarrowBlue + .taC img { width: 40vw; }
.subjectBlock02 li { margin-top: 1em; width: 42vw; }
.subjectBlock02 dl { margin: -18vw 0 7vw; padding: 5vw; background: #077cff; color: #fff; }
.subjectBlock02 dt { margin-bottom: 3vw; font-weight: 700; font-size: 4.6vw; }
.subjectBlock03 .btnBlock { margin: 4vw 0 0; }
.subjectBlock03 .title04 { position: relative; }
.subjectBlock03 .title04:after { position: absolute; content: ""; width: 15vw; height: 12vw; bottom: 2vw; margin: auto 1vw; }
.subjectBlock03 .title04#anchor01:after { background: url("/common/img/icon05.svg") no-repeat 50% 100% / 15vw auto; }
.subjectBlock03 .title04#anchor02:after { background: url("/common/img/icon06.svg") no-repeat 50% 100% / 9.4vw auto; }
.subjectBlock03 .title04#anchor03:after { background: url("/common/img/icon07.svg") no-repeat 50% 100% / 10vw auto; }
.subjectBlock03 .title04#anchor04:after { background: url("/common/img/icon08.svg") no-repeat 50% 100% / 6vw auto; }


/*-----------------------------------------------------
Summary
------------------------------------------------------*/
.summaryBlock01 { }
.summaryBlock02 { overflow: hidden; }
.summaryBlock02 .merit { }
.summaryBlock02 .merit li { position: relative; margin-top: 8vw; background: #e6f2ff; }
.summaryBlock02 .merit li span { position: absolute; top: -4vw; right: 0; left: 0; display: inline-block; margin: auto; padding: 1vw; width: 30vw; background: #077cff; color: #fff; text-align: center; font-weight: 700; font-size: 3vw; }
.summaryBlock02 .merit li em { font-style: normal; font-size: 4.2vw; }
.summaryBlock02 .merit dl { margin: 5vw; }
.summaryBlock02 .merit dt { margin-bottom: 10px; text-align: center; font-weight: 700; }
.summaryBlock02 .merit dd { font-size: 3.4vw; }
.summaryBlock02 .case { margin: 2vw 0; -webkit-align-items: flex-end; align-items: flex-end; }
.summaryBlock02 .case li { margin-top: 1em; width: 42vw; }
.summaryBlock02 .btnBlock { margin: 5vw 0 0; }
.summaryBlock03 dl { display: block; border: 0.2vw solid #077cff; border-radius: 5vw; background: #fff; }
.summaryBlock03 dt { border-radius: 5vw; background: #23c4ff; padding: 3vw; font-weight: 700; color: #fff; position: relative;z-index: 100; text-align: center; }
.summaryBlock03 dt:after { position: absolute; content: ""; border-radius: 5vw; background: #077cff; width: 86vw; height: 11vw; top: 0; left: 0; z-index: -1; }
.summaryBlock03 dd { padding: 3vw; }
.summaryBlock04 { }
.summaryBlock04 th { padding: 2vw 3vw; border: 0.2vw solid #333; background: #eee; text-align: left; font-size: 4.2vw; }
.summaryBlock04 td { padding: 2vw 3vw; border: 0.2vw solid #333; background: #fff; }
.summaryBlock04 .border { margin: 1em 0; padding: 0 2vw; border: 0.2vw solid #333; background: #fff; }
.summaryBlock04 .chart { padding: 1vw 2vw 2vw; background: #eee; }
.summaryBlock04 .chart .column { }
.summaryBlock04 .chart dl { display: -webkit-flex; display: flex; }
.summaryBlock04 .chart dt { padding-top: 3vw; width: 5vw; color: #fff; text-align: center; font-weight: 700; font-size: 4.2vw; }
.summaryBlock04 .chart dd { padding: 3vw 0 3vw 3vw; }
.summaryBlock04 .chart dl:nth-child(1) { border-bottom: 2px dashed#000; }
.summaryBlock04 .chart dl:nth-child(1) dt { background: #888888; }
.summaryBlock04 .chart dl:nth-child(2) dt { position: relative; margin-bottom: 4vw; background: #077cff; }
.summaryBlock04 .chart dl:nth-child(2) dt:after { position: absolute; bottom: -3.9vw; left: -1.5vw; width: 0; height: 0; border-top: 4vw solid #077cff; border-right: 4vw solid transparent; border-left: 4vw solid transparent; content: ""; }



/*-----------------------------------------------------
Coexist
------------------------------------------------------*/
.coexistBlock01 { margin-bottom: 25vw; }
.coexistBlock02 { margin-bottom: 5vw; }
.coexistBlock02 .fsL { font-size: 5vw; }
.coexistBlock02 .bgWhite { margin-top: -20vw; padding: 0 5vw 5vw; }
.coexistBlock02 .case { width: 90vw; background: #fff; text-align: center; font-weight: bold; }
.coexistBlock02 .case dt { padding: 3vw; background: #077cff; color: #fff; font-size: 4.2vw; }
.coexistBlock02 .case dd { padding: 4vw 3vw; }
.coexistBlock02 .case figcaption { font-weight: 400; font-size: 2.6vw; }
.coexistBlock02 .case img { width: auto; height: 60vw; }
.coexistBlock02 .meritList dd { padding: 27vw 5vw 5vw; text-align: center; }
.coexistBlock02 .icon01 { background: url("/common/img/icon05.svg") no-repeat 50% 5vw / 25vw auto; }
.coexistBlock02 .icon02 { background: url("/common/img/icon02.svg") no-repeat 50% 5vw / 19vw auto; }
.coexistBlock02 .icon03 { background: url("/common/img/icon03.svg") no-repeat 50% 5vw / 19vw auto; }
.coexistBlock02 .dotarrowBlue { margin: 5vw 0 12vw; }
.coexistBlock03 { overflow: hidden; }
.coexistBlock03 h3 { font-size: 6vw; }
.coexistBlock03 .bgBlue { padding: 5vw; }
.coexistBlock03 .type01 { margin: 10vw 0 0; }
.coexistBlock03 .type01 dl { border: 0.6vw dashed #23c4ff; border-radius: 3vw; background: #fff; text-align: center; }
.coexistBlock03 .type01 dt { margin: -5vw 0 0; font-weight: 700; font-size: 5vw; line-height: 1; }
.coexistBlock03 .type01 dt span { position: relative; display: inline-block; padding: 2vw 5vw; background: #23c4ff; }
.coexistBlock03 .type01 dd { padding: 3vw; text-align: center; }
.coexistBlock03 .type02 { margin: 10vw 0 0; }
.coexistBlock03 .type02 dl { border: 0.6vw solid #077cff; border-radius: 3vw; background: #fff; text-align: center; }
.coexistBlock03 .type02 dt { margin: -5vw 0 0; font-weight: 700; font-size: 5vw; line-height: 1; }
.coexistBlock03 .type02 dt span { position: relative; display: inline-block; padding: 2vw 5vw; background: #077cff; color: #fff; }
.coexistBlock03 .type02 dd { padding: 3vw; text-align: center; }

.mentalBlock01 { margin-bottom: 5vw; }
.mentalBlock01 .meritList dd { padding: 27vw 5vw 5vw; text-align: center; }
.mentalBlock01 .icon01 { background: url("/common/img/icon05.svg") no-repeat 50% 5vw / 25vw auto; }
.mentalBlock01 .icon02 { background: url("/common/img/icon03.svg") no-repeat 50% 5vw / 19vw auto; }
.mentalBlock02 { overflow: hidden; }
.mentalBlock02 .point { position: relative; margin-top: 5vw; padding: 7vw 5vw; background: #eee; text-align: center; font-size: 4.6vw; }
.mentalBlock02 .point:before { position: absolute; top: -5vw; right: 0; left: 0; margin: auto; padding: 2vw 0; width: 30vw; border-radius: 5vw; background: #fcd255; content: "ポイント"; font-weight: 700; font-size: 3.8vw; }

.careBlock01 .meritList dd { padding: 27vw 5vw 5vw; text-align: center; }
.careBlock01 .icon01 { background: url("/common/img/icon05.svg") no-repeat 50% 5vw / 25vw auto; }
.careBlock01 .icon02 { background: url("/common/img/icon04.svg") no-repeat 50% 5vw / 15vw auto; }
.careBlock02 { overflow: hidden; }
.careBlock02 h4 { font-size: 6vw; }
.careBlock02 .bgBlue { padding: 5vw; }
.careBlock02 .type01 { margin: 10vw 0 0; }
.careBlock02 .type01 dl { border: 0.6vw dashed #dfa3ea; border-radius: 3vw; background: #fff; text-align: center; }
.careBlock02 .type01 dt { margin: -5vw 0 0; font-weight: 700; font-size: 5vw; line-height: 1; }
.careBlock02 .type01 dt span { position: relative; display: inline-block; padding: 2vw 5vw; background: #dfa3ea; }
.careBlock02 .type01 dd { padding: 3vw; text-align: center; }
.careBlock02 .type02 { margin: 10vw 0 0; }
.careBlock02 .type02 dl { border: 0.6vw solid #9d5292; border-radius: 3vw; background: #fff; text-align: center; }
.careBlock02 .type02 dt { margin: -5vw 0 0; font-weight: 700; font-size: 5vw; line-height: 1; }
.careBlock02 .type02 dt span { position: relative; display: inline-block; padding: 2vw 5vw; background: #9d5292; color: #fff; }
.careBlock02 .type02 dd { padding: 3vw; text-align: center; }


/*-----------------------------------------------------
Compensation
------------------------------------------------------*/
.compensationBlock01 { margin-bottom: 7vw; }
.compensationBlock01 .meritList dd { padding: 27vw 5vw 5vw; text-align: center; }
.compensationBlock01 .icon01 { background: url("/common/img/icon13.svg") no-repeat 50% 5vw / 21vw auto; }
.compensationBlock01 .icon02 { background: url("/common/img/icon04.svg") no-repeat 50% 5vw / 15vw auto; }
.compensationBlock02 { overflow: hidden; }
.compensationBlock02 .title04 { margin-top: 5vw; }
.compensationBlock02 .bgBlue { padding: 5vw; }
.compensationBlock02 .example { margin-bottom: 3vw; padding: 5vw; border-radius: 3vw; background: #fff; }
.compensationBlock02 .example dt { margin-bottom: 2vw; padding-bottom: 2vw; border-bottom: 0.2vw solid #9fa0a0; text-align: center; font-weight: 700; font-size: 4.2vw; }


/*-----------------------------------------------------
Service
------------------------------------------------------*/
.serviceBlock01 { margin-bottom: 7vw; }
.serviceBlock01 .serviceList li { position: relative; margin-top: 5vw; padding: 42vw 5vw 5vw; border: 0.2vw solid #111; }
.serviceBlock01 .serviceList li:nth-child(1) { background: url("/common/img/service_img01.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(2) { background: url("/common/img/service_img02.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(3) { background: url("/common/img/service_img03.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(4) { background: url("/common/img/service_img04.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(5) { background: url("/common/img/service_img05.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(6) { background: url("/common/img/service_img06.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList li:nth-child(7) { background: url("/common/img/service_img07.png") no-repeat 0 0 / 100% auto; }
.serviceBlock01 .serviceList .toC { position: absolute; top: 0; left: 0; display: inline-block; padding: 1vw 3vw; width: 50vw; background: #fcd255; text-align: center; font-weight: 700; font-size: 3vw; }
.serviceBlock01 .serviceList .toB { position: absolute; top: 0; left: 0; display: inline-block; padding: 1vw 3vw; width: 39.6vw; background: #28f3ff; text-align: center; font-weight: 700; font-size: 3vw; }
.serviceBlock01 .serviceList .toC + .toB { left: 50vw; }
.serviceBlock01 .serviceList dt {font-weight: 700; font-size: 4.6vw; }
.serviceBlock01 .serviceList dd { margin-top: 2vw; }
.serviceBlock01 .serviceList .more a { position: relative; display: block; padding: 3px; border: 0.2vw solid #9fa0a0; border-radius: 0.6vw; text-align: center; text-decoration: none; font-size: 3vw; ; }
.serviceBlock01 .serviceList .more a:after { position: absolute; top: 0; right: 3vw; bottom: 0; margin: auto; width: 1.6vw; height: 1.6vw; border-top: 0.2vw solid #9fa0a0; border-right: 0.2vw solid #9fa0a0; content: ""; transform: rotate(135deg); }
.serviceBlock01 .noticeBox { margin-top: 5vw; padding: 3vw 5vw; border: 0.2vw solid #111; }
.serviceBlock01 .noticeBox dd { font-size: 3.4vw; }

.serviceBlock02 { overflow: hidden; }
.serviceBlock02 .title03 { margin-top: 5vw; }
.serviceBlock02 .toC { display: inline-block; margin-left: 0.4em; padding: 1vw; background: #fcd255; text-align: center; font-weight: 700; font-size: 3vw; }
.serviceBlock02 .toB { display: inline-block; margin-left: 0.4em; padding: 1vw; background: #28f3ff; text-align: center; font-weight: 700; font-size: 3vw; }
.serviceBlock02 .other { display: inline-block; margin-left: 0.4em; padding: 1vw; font-weight: 700; font-size: 3vw; }
.serviceBlock02 .serviceList { display: -webkit-flex; display: flex; border-top: 0.2vw solid #333; border-left: 0.2vw solid #333; flex-wrap: wrap;  }
.serviceBlock02 .serviceList li { width: 100%; border-right: 0.2vw solid #333; border-bottom: 0.2vw solid #333; background: #e6f2ff; }
.serviceBlock02 .serviceList dt { padding: 20vw 5vw 5vw; text-align: center; font-weight: bold; font-size: 4.2vw; }
.serviceBlock02 .serviceList .radiusW { display: inline-block; margin-top: 2vw; padding: 1vw 3vw; border-radius: 5vw; background: #fff; font-size: 3vw; }
.serviceBlock02 .serviceList dd { padding: 5vw; background: #fff; }
.serviceBlock02 .icon01 { background: url("/common/img/icon21.svg") no-repeat 50% 5vw / 13vw auto; }
.serviceBlock02 .icon02 { background: url("/common/img/icon22.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon03 { background: url("/common/img/icon23.svg") no-repeat 50% 5vw / 11vw auto; }
.serviceBlock02 .icon04 { background: url("/common/img/icon24.svg") no-repeat 50% 5vw / 38vw auto; }
.serviceBlock02 .icon05 { background: url("/common/img/icon25.svg") no-repeat 50% 5vw / 11vw auto; }
.serviceBlock02 .icon06 { background: url("/common/img/icon26.svg") no-repeat 50% 5vw / 11vw auto; }
.serviceBlock02 .icon07 { background: url("/common/img/icon27.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon08 { background: url("/common/img/icon28.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon09 { background: url("/common/img/icon29.svg") no-repeat 50% 5vw / 12vw auto; }
.serviceBlock02 .icon10 { background: url("/common/img/icon30.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon11 { background: url("/common/img/icon31.svg") no-repeat 50% 5vw / 14vw auto; }
.serviceBlock02 .icon12 { background: url("/common/img/icon32.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon13 { background: url("/common/img/icon33.svg") no-repeat 50% 5vw / 11vw auto; }
.serviceBlock02 .icon14 { background: url("/common/img/icon34.svg") no-repeat 50% 5vw / 12vw auto; }
.serviceBlock02 .icon15 { background: url("/common/img/icon35.svg") no-repeat 50% 5vw / 13vw auto; }
.serviceBlock02 .icon16 { background: url("/common/img/icon36.svg") no-repeat 50% 5vw / 10vw auto; }
.serviceBlock02 .icon17 { background: url("/common/img/icon37.svg") no-repeat 50% 5vw / 19vw auto; }
.serviceBlock02 .icon18 { background: url("/common/img/icon38.svg") no-repeat 50% 5vw / 12vw auto; }
.serviceBlock02 .icon19 { background: url("/common/img/icon39.svg") no-repeat 50% 5vw / 12vw auto; }
.serviceBlock02 .icon20 { background: url("/common/img/icon40.svg") no-repeat 50% 5vw / 18vw auto; }
.serviceBlock02 .icon21 { background: url("/common/img/icon41.svg") no-repeat 50% 5vw / 10vw auto; }



/*-----------------------------------------------------
Request
------------------------------------------------------*/
.formBlock01 { margin-top: 5vw; }
.formBlock01 table + p { font-size: 3.4vw; }
.formBlock01 textarea { margin: 2vw 0 !important; width: 100%; height: 8em; border: 0.2vw solid #9fa0a0; }
.formBlock01 textarea.heightMin { height: 4em; }
.formBlock01 .komeList { font-size: 3.4vw; }

.tableForm { width: 100%; font-size: 3.4vw; }
.tableForm th { display: block; padding: 3vw; border-top: 0.2vw solid #9fa0a0; background: #f0f0f0; text-align: left; font-weight: normal; }
.tableForm td { display: block; padding: 3vw; border-bottom: 0.2vw solid #9fa0a0; }
.tableForm input[type="text"],
.tableForm input[type="tel"],
.tableForm input[type="email"],
.tableForm input[type="url"] { padding: 2vw; width: 100%; border: 0.2vw solid #9fa0a0; }
.tableForm label { margin-right: 1em; }
.tableForm textarea { margin: 0 !important; width: 100%; height: 8em; border: 0.2vw solid #9fa0a0; }

.tableForm2 { table-layout: fixed; }
.tableForm2 th { padding: 2vw; border-top: 0.2vw solid #9fa0a0; border-bottom: 0.2vw solid #9fa0a0; background: #f0f0f0; font-weight: normal; font-size: 3.4vw; }
.tableForm2 td { padding: 2vw; border-top: 0.2vw solid #9fa0a0; border-bottom: 0.2vw solid #9fa0a0; vertical-align: middle; text-align: center; font-size: 4.2vw; }
.tableForm2 input[type="text"] { padding: 1vw; width: 14vw; border: 0.2vw solid #9fa0a0; }
#quote { display: none; }

.formDoneBlock { margin: 8vw 4vw; padding: 5vw; border: 0.2vw solid #0075c2; border-radius: 3vw; text-align: center; }
.formDoneBlock p { margin-bottom: 1.5em; line-height: 1.6; }


.request_tel{ margin-bottom: 5vw; padding: 2vw 4vw; background: #e6f2ff;}

/*-----------------------------------------------------
PDF DL
------------------------------------------------------*/
.pdfDlBox .title01{width: 100%;}
.pdfDlBox .title01 br{display: block;}
.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;}
