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

	----------------------------------
  		Structure
  	----------------------------------

  	0. General
  	1. Header
  	2. Main
  	3. Footer
    4. Contents

  	----------------------------------
  		Change Log
  	----------------------------------

	-2019/05/07	 Fixed all

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

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

	0. General

====================================*/
@font-face {
 font-weight: 100;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
}
@font-face {
 font-weight: 200;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
}
@font-face {
 font-weight: 300;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
}
@font-face {
 font-weight: 400;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
}
@font-face {
 font-weight: 600;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Bold");
}
@font-face {
 font-weight: 700;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Bold");
}
@font-face {
 font-weight: 800;
 font-family: "Yu Gothic";
 src: local("Yu Gothic Bold");
}
@font-face {
 font-weight: 500;
 font-family: "Yu Mincho";
 src: local("Yu Mincho Regular");
}
@font-face {
 font-weight: 500;
 font-family: "Yu Mincho";
 src: local("Yu Mincho Regular");
}
@keyframes fadeIn {
    0% {opacity: 0; }
    100% {opacity: 1; }
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0; }
    100% {opacity: 1; }
}


html { font-size: 62.5%; }
body { position: relative; background: #fff; color: #333; font-size: 1.0rem; font-family:"游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; line-height: 1.5; -webkit-animation: fadeIn 1s ease 0s 1 normal; animation: fadeIn 1s ease 0s 1 normal; }

img { vertical-align: bottom; }
a { color: #ef8100; text-decoration: underline; cursor: pointer; }
a:hover { text-decoration: none; opacity: 0.8; }
input:hover { opacity: 0.8; }
ul, ol { list-style: none; }

div.inner { position: relative; display: block; overflow: hidden; margin: 0 auto; width: 1000px; zoom: 1; }
.spOnly { display: none !important; }
#page-top { position: fixed; right: 20px; bottom: 20px; z-index: 100; padding-bottom: 20px; }
#page-top a { display: block; width: 44px; height: 84px; background: url("/common/img/icon_gototop.png") no-repeat 0 0; text-indent:-9999px; }


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

	1. Header

====================================*/
header { position: relative; line-height: 1; }


.l-header__h1 { float: left; padding: 18px 0 23px; }
.l-header__h1 img { width: 656px; height: auto; }
.l-header__tel { float: right; padding-top: 27px; }
header nav { background: #20a0dd; font-size: 1.8rem;  }
.l-header_nav { display: -webkit-flex; display: flex; margin: 0 auto; width: 1000px; -webkit-justify-content: space-between; justify-content: space-between; }
.l-header_nav li a { display: block; padding: 23px 0 20px; border-bottom: 3px solid #20a0dd; color: #fff; text-decoration: none; font-weight: bold; line-height: 1; }
.l-header_nav li a:hover,
.l-header_nav li a.is-active { border-bottom: 3px solid #ffff06; }




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

	2. Main

====================================*/
main { display: block; overflow: hidden; min-width: 1000px; background: #fff; font-size: 1.8rem; }
main.page { margin: 0 auto; width: 1000px; }

/*====== [NODULE] p style ======*/
main p { margin-top: 1em; }
main p.catch { font-size: 1.8rem; line-height: 1.5; }
span.catch { font-weight: bold; font-size: 1.8rem; }


/*====== [NODULE] title style ======*/
.titleLV1 { position: relative; margin-top: 55px; padding-left: 120px; color: #20a0dd; font-size: 4rem; }
.titleLV1 span { letter-spacing: -0.07em; font-size: 2.4rem; }
.titleLV1:before { position: absolute; top: 50%; left: 0; margin-top: -60px; width: 120px; height: 120px; content: ""; }
.titleLV1.t1:before { background: url("/common/img/bg_titleLV1_01.png") no-repeat 50% 50%; }
.titleLV1.t2:before { background: url("/common/img/bg_titleLV1_02.png") no-repeat 50% 50%; }
.titleLV1.t3:before { background: url("/common/img/bg_titleLV1_03.png") no-repeat 50% 50%; }
.titleLV1.t4:before { background: url("/common/img/bg_titleLV1_04.png") no-repeat 50% 50%; }
.titleLV1.t5:before { background: url("/common/img/bg_titleLV1_05.png") no-repeat 50% 50%; }

.titleLV2 { margin-top: 40px; padding: 23px 20px 17px; background: url("/common/img/bg_titleLV2.png") no-repeat 0 50%; color: #fff; font-size: 3rem; line-height: 1; }
.titleLV2 span { font-size: 2.6rem; }

.titleLV3 { position: relative; margin-top: 30px; padding: 0 0 15px 20px; border-bottom: 1px solid #d2ecf8; font-size: 2.4rem; line-height: 1; }
.titleLV3:before { position: absolute; top: -4px; left: 0; width: 7px; height: 30px; border-radius: 3px; background: #20a0dd; content: ""; }

.titleLV4 { display: -webkit-flex; display: flex; margin-top: 40px; }
.titleLV4 span:first-child { float: left; display: -webkit-flex; display: flex; margin: 10px 20px 0 0; width: 70px ;height: 70px; border-radius: 50%; background: #109954; color: #ffff06; font-size: 2.4rem; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.titleLV4 mark { background: linear-gradient(transparent 50%, #ffff06 50%); color: #109954; font-size: 3.2rem; }


/*====== [NODULE] list style ======*/
.list { margin-left: 1.5em; list-style: disc; }
.numList { margin-left: 1.5em; list-style: decimal; }
.hiraganaList { margin-left: 1.5em; list-style: hiragana; }
.katakanaList { margin-left: 1.5em; list-style: katakana; }
.romanList { margin-left: 1.5em; list-style: lower-roman; }
.alphaList { margin-left: 1.5em; list-style: lower-alpha; }
.komeList { padding-left: 1em; text-indent: -1em; }




/*====== [NODULE] table style ======*/
table { margin: 23px 0 30px; width: 100%; border-collapse: collapse; }
caption { margin-bottom: 5px; color: #009b69; font-weight: bold; font-size: 2rem; }
th,
td { padding: 10px 6px; border: 1px solid #b1e1f7; text-align: center; }
th { background: #d2ecf8; font-weight: normal; }


/*====== [NODULE] btn style ======*/
.btnBlock { margin-top: 40px; text-align: center; }
.btn { display: inline-block; padding: 13px; border-radius: 6px; background: #20a0dd; color: #fff; text-align: center; text-decoration: none; font-weight: bold; line-height: 1; font-size: 2.6rem; }
.arrow { position: relative; padding-left: 37px; }
.arrow:before { position: absolute; top: 50%; left: 0; margin-top: -14px; width: 28px; height: 28px; background: url("/common/img/icon_arrow_y.svg") no-repeat 50% 50% / 28px auto; content: ""; }


/*====== [NODULE] notice style ======*/
span.notice { color: #bf0707; }


/*====== [NODULE] block style ======*/
.binder { position: relative; margin-top: 50px; border: 36px solid #fccc86; border-radius: 16px; }
.binder:before { position: absolute; top: -43px; left: 50%; margin-left: -136px; width: 273px; height: 90px; background: url("/common/img/bg_clip.svg") no-repeat 0 0 / 273px auto; content: ""; }
.binderInner { border: solid #fff; border-width: 75px 40px 40px; background: url("/common/img/bg_topblock02.png"); }



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

	3. Footer

====================================*/
footer { font-size: 1.4rem; line-height: 1; }
footer.top { margin-top: 0; }
footer a { color: #202020; }
.l-foot_contact { padding: 50px 0; background: #20a0dd; }
.l-foot_contact p { margin-bottom: 30px; color: #fff; text-align: center; font-size: 3rem; line-height: 1.3; }
.l-foot_contact ul { display: -webkit-flex; display: flex; margin: 0 auto; width: 920px; -webkit-justify-content: space-between; justify-content: space-between; }
.l-foot_contact li { width: 440px; }
.l-foot_contact li a { display: block; padding: 30px; border-radius: 10px; background: #fff; color: #20a0dd; text-align: center; text-decoration: none; font-weight: bold; font-size: 2.6rem; }
.l-foot_contact li span { position: relative; display: inline-block; padding-left: 50px; }
.l-foot_contact li span:before { position: absolute; top: 50%; left: 0; margin-top: -20px; width: 40px; height: 40px; content: ""; }
.l-foot_contact li span.requestBtn:before { background: url("/common/img/icon_estimate_o.svg") no-repeat 50% 50%; }
.l-foot_contact li span.contactBtn:before { background: url("/common/img/icon_contact_o.svg") no-repeat 50% 50%; }

.l-foot { padding: 35px 0; }
.l-foot_right { float: right; width: 520px; }
.l-foot_left { float: left; width: 450px; }
.l-foot h1 { font-size: 2.2rem; }
.l-foot h1 em { display: block; margin-bottom: 5px; font-style: normal; font-size: 1.6rem; }
.l-foot dl { margin-top: 15px; border-top: 1px solid #ccc; }
.l-foot dt { float: left; padding-top: 12px; }
.l-foot dd { padding: 12px 0 12px 130px; border-bottom: 1px solid #ccc; }
.l-foot address { margin-top: 20px; font-style: normal; }
.l-foot p { margin-top: 20px; line-height: 1.6; }
.l-foot ul { display: block; overflow: hidden; margin: 10px 0 15px; }
.l-foot ul li { float: left; margin: 0 22px 15px 0; }
.l-foot ul a { display: inline-block; padding-left: 19px; background: url("/common/img/icon_window.svg") no-repeat 0 50% / 14px auto; }

#page-nav { position: fixed; right: 0; top: 50%; margin-top: -185px; }
#page-nav li { margin-top: 12px; }



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

	4. Contents

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

/*---------------------
   top
---------------------*/
.topBlock01 { background: url("/common/img/top_img00_bg.png") no-repeat 50% 50% / auto 650px; height: 650px; padding-top: 150px; }
.topBlock01 h1 { background: rgba(255,255,255,0.5); padding: 40px 0; text-align: center; }
.topBlock02 { position: relative; min-width: 1160px; border: 40px solid #fccc86; }
.topBlock02:before { position: absolute; top: -51px; left: 50%; margin-left: -160px; width: 320px; height: 103px; background: url("/common/img/bg_clip.svg") no-repeat 0 0 / 320px auto; content: ""; }
.topBlock02 div { border: solid #fff; border-width: 75px 40px 40px; background: url("/common/img/bg_topblock02.png"); }
.topBlock02 h2 { background: url("/common/img/bg_titleLV2.png") no-repeat; color: #fff; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; height: 68px; font-size: 3.6rem; }
.topBlock02 ul { position: relative; display: -webkit-flex; display: flex; margin: 50px auto 0; width: 1000px; -webkit-justify-content: space-between; justify-content: space-between; }
.topBlock02 li:first-child { margin-right: 65px; position: relative; }
.topBlock02 li:first-child:after { position: absolute; content: ""; width: 0; height: 0; margin: auto; top: 0; bottom: 0; right: -50px; border-top: 80px solid transparent; border-bottom: 80px solid transparent; border-left: 34px solid #ef8100; }

.topBlock03 { padding: 80px 0 50px; background: #d2ecf8; position: relative; }
.topBlock03:before { position: absolute; content: ""; width: 58px; height: 58px; top: 10px; left: 0; right: 0; margin: auto;  background: url("/common/img/icon_arrow.svg") no-repeat 50% 50%; transform:rotate(90deg); }
.topBlock03 h2 { margin-bottom: 10px; color: #20a0dd; text-align: center; font-size: 4rem; }
.topBlock03 h2 span { font-size: 4.6rem; }
.topBlock03in { background: #fff; width: 1100px; border-radius: 20px; margin: 0 auto; padding: 20px 0 30px; }
.topBlock03 h3 { margin-bottom: 5px; color: #20a0dd; text-align: center; font-size: 3.6rem; }
.topBlock03 h3 span { font-size: 2.4rem; }
.topBlock03 h4 { margin-bottom: 10px; text-align: center; font-size: 2.2rem; }
.topBlock03 p { text-align: center; line-height: 1.4; font-size: 1.8rem; }
.topBlock03 ul { margin: 0 auto; width: 1000px; background: url("/common/img/top_img03.png") no-repeat 0 30px; padding: 0 225px; }
.topBlock03 li { border-bottom: 1px solid #d2ecf8; padding: 15px 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-weight: bold; font-size: 3rem; }
.topBlock03 li span { width: 90px; height: 90px; border-radius: 50%; font-size: 2.6rem; color: #ffff00; background: #20a0dd; margin-right: 10px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; text-align: center; line-height: 1.1; }
.topBlock03 .btn { width: 450px; }
.topBlock03 .arrow { padding: 0 80px; }


/*---------------------
   compensation
---------------------*/
.compBlock01 { }
.compBlock01 h2 { position: relative; margin: 0 auto 30px; padding-bottom: 10px; padding-left: 80px; width: 630px; background: url("/common/img/line.png") no-repeat 0 100% / 100% auto; color: #20a0dd; font-size: 3.8rem; }
.compBlock01 dl { margin: 0 40px; }
.compBlock01 dt { display: -webkit-flex; display: flex; font-weight: bold; font-size: 3rem; -webkit-align-items: center; align-items: center; }
.compBlock01 dt span:first-child { display: -webkit-flex; display: flex; margin-right: 20px; width: 92px; height: 92px; border-radius: 50%; background: #20a0dd; color: #ffff00; text-align: center; font-size: 2.6rem; line-height: 1.1; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.compBlock01 dd { margin: -15px 0 30px 110px; font-size: 2.4rem; }
.compBlock01 dd small { font-size: 1.4rem; }
.compBlock01 figure { text-align: center; margin-bottom: 30px; }
.compBlock01 .arrow { position: relative; padding-left: 30px; }
.compBlock01 .arrow:before { position: absolute; top: 50%; left: 0; margin-top: -9px; width: 27px; height: 19px; background: url("/common/img/icon_arrow_y.svg") no-repeat 0 0 / 27px auto; content: ""; }

.compBlock02 { }
.compBlock02 p em { color: #ef8100; font-style: normal; }
.compBlock02 .setBlock01 { position: relative; display: -webkit-flex; display: flex; margin: 40px 20px; -webkit-justify-content: space-between; justify-content: space-between; }
.compBlock02 .setBlock01:before { position: absolute; top: 50%; bottom: 0; left: 50%; margin: -0.7em auto auto -0.5em; color: #20a0dd; content: "＋"; font-size: 4rem; }
.compBlock02 .setBlock01 dl { padding: 10px 20px; width: 450px; border-radius: 10px; background: #20a0dd; color: #fff; text-align: center; }
.compBlock02 .setBlock01 dt { margin-bottom: 10px; padding-bottom: 7px; border-bottom: 1px solid #fff; font-weight: bold; }
.compBlock02 .setBlock01 dd { font-size: 1.6rem; }
.compBlock02 table.age { font-size: 1.6rem; }
.compBlock02 table.age caption { color: #333; font-weight: normal; font-size: 1.8rem; }
.compBlock02 table + .komeList { margin-top: -20px; line-height: 1.2; }
.compBlock02 .titleLV3 + .list { margin-top: 1.5em; }
.compBlock02 .example { color: #20a0dd; text-align: center; font-weight: bold; margin-top: 25px; }
.compBlock02 .example dt { margin-bottom: 10px; padding: 8px; border: 2px solid #20a0dd; border-radius: 8px; font-size: 2.6rem; }
.compBlock02 .example dd { font-size: 3.2rem; }
.compBlock02 .example dd span { color: #ef8100; }
.compBlock02 .example dd span span { font-size: 4rem; }
.compBlock02 .example mark { background: linear-gradient(transparent 50%, #ffff06 50%); color: #20a0dd; font-weight: bold; }


/*---------------------
   service
---------------------*/
.serviceBlock01 { }
.serviceBlock01 > dl { margin-top: 25px; }
.serviceBlock01 > dl dt { margin-bottom: 5px; font-size: 2rem; }
.serviceBlock01 > dl dt mark { display: inline-block; padding: 0 20px; background: url("/common/img/bg_title_topblock02.png") no-repeat -5px 100% / auto 100%; color: #009b69; font-weight: bold;}
.serviceBlock01 > dl dd { margin-bottom: 28px; padding-left: 40px; background: url("/common/img/icon_arrow.svg") no-repeat 0 5px / 32px auto; font-size: 1.8rem; }
.serviceBlock01 .komeList { font-size: 1.4rem; }
.serviceBlock01 p.t1,
.serviceBlock01 p.t2,
.serviceBlock01 p.t3 { position: relative; padding-left: 90px; }
.serviceBlock01 p:before { position: absolute; top: 50%; left: 0; margin-top: -40px; width: 80px; height: 80px; content: ""; }
.serviceBlock01 p.t1:before { background: url("/common/img/income_img01.png") no-repeat 0 50%; }
.serviceBlock01 p.t2:before { background: url("/common/img/income_img02.png") no-repeat 50% 50% / auto 80px; }
.serviceBlock01 p.t3:before { background: url("/common/img/income_img03.png") no-repeat 0 50% / 80px auto; }
.serviceBlock01 p span { display: inline-block; padding: 2px 14px; background: #ef8100; color: #fff; font-weight: bold; font-size: 1.4rem; }
.serviceBlock01 p em { color: #ef8100; font-style: normal; }
.serviceBlock01 div.reception { margin: 15px 0 5px; padding: 20px 120px; background: #d2ecf8; }
.serviceBlock01 div.reception h4 { margin-bottom: 5px; text-align: left; }
.serviceBlock01 div.reception h4 span { font-weight: normal; }
.serviceBlock01 div.reception dl { display: -webkit-flex; display: flex; padding: 3px 0; width: 100%; border-bottom: 1px solid #97d6d5; }
.serviceBlock01 div.reception dt:nth-child(1) { width: 174px; }
.serviceBlock01 div.reception dd:nth-child(2) { width: 230px; }
.serviceBlock01 div.reception dt:nth-child(3) { width: 235px; }

.serviceBlock02 { margin: 40px 0 60px; padding-top: 40px; border-top: 1px solid #97d6d5; }
.serviceBlock02 h2 { position: relative; color: #ef8100; text-align: center; font-size: 2.4rem; }
.serviceBlock02 h2:before { position: absolute; margin: -7px 0 0 -50px; width: 42px; height: 42px; background: url("/common/img/icon_caution.png") no-repeat 0 0; content: ""; }
.serviceBlock02 p { margin-top: 0; text-align: center ; }
.serviceBlock02 .list { margin-top: 1.5rem; }
.serviceBlock02 .komeList { margin-top: 1.5rem; font-size: 1.4rem; }


/*---------------------
   flow
---------------------*/
.flowBlock01 { margin-bottom: 60px; }
.flowBlock01 th { vertical-align: top; }
.flowBlock01 td { text-align: left; padding: 10px 15px; vertical-align: top; }
.flowBlock01 .day { background: #eee; text-align: right; }
.flowBlock01 em { font-weight: bold; font-style: normal; }
.flowBlock01 .komeList { margin-top: 1.5em; font-size: 1.4rem; }


/*---------------------
   contact
---------------------*/
.formBlock { margin: 0 auto 60px; width: 1000px; }
.formBlock span.required { display: inline-block; padding: 5px; background: #ef8100; color: #fff; font-weight: bold; font-size: 1.4rem; line-height: 1; margin-right: 10px; }
.formBlock small { display: block; font-weight: normal; font-size: 1.2rem; }

.formType01 { margin-bottom: 20px; border-collapse: collapse; }
.formType01 th { text-align: left; padding: 10px; }
.formType01 td { text-align: left; padding: 15px 10px 15px 40px; }
.formType01 td input[type=text],
.formType01 td input[type=email],
.formType01 td input[type=tel] { padding: 5px; width: 470px; border: 1px solid #ccc; }
.formType01 td textarea { padding: 5px; width: 700px; height: 160px; border: 1px solid #ccc; }
.formType01 label { display: inline-block; margin-right: 25px; }
.formType01 input[type=radio],
.formType01 input[type=checkbox] { margin-right: 5px; }
.formType01 select { border: 1px solid #333; border-radius: 5px; padding: 5px 50px 5px 30px; margin: 0 10px; background: url("/common/img/icon_arrrow_b.png") no-repeat 100% 50%; }
.formType01 select.long { width: 690px; }
.formType01 .col { display: -webkit-flex; display: flex; flex-wrap: wrap; }

.formBlock .btnBlock input[type=submit],
.formBlock .btnBlock a { display: inline-block; margin: 0 10px; padding: 10px 60px 10px 80px; font-size: 2.6rem; position: relative; cursor: pointer; background: #20a0dd url("/common/img/icon_arrow_y.svg") no-repeat 30px 50% / 28px auto; color: #fff; font-weight: bold; border-radius: 10px; text-decoration: none; }


.formDoneBlock { margin: 60px auto 80px; padding: 40px 0 20px; width: 1000px; background: #f0f0f0; text-align: center; }
.formDoneBlock p { margin-bottom: 1.5em; line-height: 1.6; }


/*---------------------
   sitepolicy
---------------------*/
.sitepolicyBlock { margin: 0 auto 60px; width: 1000px; }
.sitepolicyBlock h1.titleLV1 { padding-left: 0; }



