@charset "UTF-8";
/*  setting
================================================ */
#main { letter-spacing: .06em; font-size: 1.4rem; line-height: 1.8; }

@media screen and (min-width: 600px) { #main { font-size: 1.6rem; } }

/*  .mod_lead
================================================ */
.mod_lead { color: #fff; padding: 0 15px; }

.mod_lead .tit { font-size: 2.1rem; letter-spacing: 0.14em; font-weight: 500; margin-bottom: 15px; line-height: 1.5; text-align: center; }

.mod_lead .txt { font-size: 1.5rem; }

@media screen and (min-width: 600px) { .mod_lead { padding: 0; }
  .mod_lead .tit { font-size: 3rem; margin-bottom: 26px; }
  .mod_lead .txt { font-size: 1.8rem; text-align: center; } }

.mod_lead.is_left .tit { text-align: left; }

@media screen and (min-width: 600px) { .mod_lead.is_left .tit { text-align: center; } }

.mod_lead.is_black { color: #333; }

.mod_tit01 + .mod_lead { margin-top: 33px; }

@media screen and (min-width: 600px) { .mod_tit01 + .mod_lead { margin-top: 0; } }

.indent { text-indent: -1.06em; padding-left: 1.06em; display: inline-block; }

/*  #about
================================================ */
#about { padding: 67px 0 60px; overflow: hidden; }

#about .inner { position: relative; padding: 0 25px; }

#about .inner:after { content: ''; background: url(../img/home/bg_about01.png) no-repeat center; background-size: cover; width: 123px; height: 119px; position: absolute; bottom: -78px; right: -11px; z-index: 0; }

#about .leadTxt { text-align: center; font-size: 1.5rem; }

#about .leadTxt .tit, #about .leadTxt .txt, #about .leadTxt .add { position: relative; z-index: 1; }

#about .leadTxt .tit { font-size: 2.5rem; font-weight: 500; margin-bottom: 20px; }

#about .leadTxt .txt { line-height: 1.66667; }

#about .leadTxt .add { margin-top: 23px; }

@media screen and (min-width: 600px) { #about { padding: 107px 0 90px; }
  #about .inner { padding: 0; width: 570px; margin: 0 auto; }
  #about .inner:after { content: ''; width: 244px; height: 236px; bottom: -121px; right: -279px; }
  #about .leadTxt { font-size: 1.8rem; }
  #about .leadTxt .tit { font-size: 3.4rem; margin-bottom: 15px; font-weight: 700; }
  #about .leadTxt .txt { line-height: 2.22222; }
  #about .leadTxt .add { margin: 27px -12px 0 0; text-align: right; font-size: 1.9rem; } }

/*  #ceremony
================================================ */
#ceremony { background-color: #000; margin-bottom: 20px; }

#ceremony .head { background: url(../img/home/bg_ceremony01.png) no-repeat center; background-size: cover; }

#ceremony .head .inner { padding: 50px 15px 115px; }

#ceremony .cont { background: url(../img/home/bg_ceremony02.png) repeat-y center #555; }

#ceremony .flow { position: relative; top: -80px; margin-bottom: -20px; /* .item:nth-of-type(even), .item:nth-of-type(even){ .dt,.dd { background: #fff; .comment{background: #f5f5f5;} } } */ }

#ceremony .flow .item { position: relative; }

#ceremony .flow .item:before { content: ''; width: 0; height: 0; border-style: solid; border-width: 23px 27.5px 0 27.5px; border-color: #343587 transparent transparent transparent; position: absolute; bottom: -13px; left: 0; right: 0; margin: 0 auto; z-index: 10; opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); -webkit-transition: all 1.2s ease; transition: all 1.2s ease; }

#ceremony .flow .item:last-child:before { display: none; }

#ceremony .flow .item.is_show:before { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

#ceremony .flow .dt, #ceremony .flow .dd { background: #f5f5f5; }

#ceremony .flow .dt { font-size: 2.1rem; font-weight: 500; line-height: 1.3; padding: 26px 0; text-align: center; border-bottom: 2px solid #212121; }

#ceremony .flow .dd { padding: 23px 15px 30px; margin-bottom: 5px; }

#ceremony .flow .dd .txt { margin-bottom: 21px; }

#ceremony .flow .dd .comment { font-size: 1.3rem; color: #343687; line-height: 1.5; font-weight: 500; position: relative; padding: 22px 8px 26px 85px; background: #fff; min-height: 3.6em; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#ceremony .flow .dd .comment:before { content: ''; background: #dedff0; width: 70px; height: 100%; position: absolute; top: 0; left: 0; }

#ceremony .flow .dd .comment:after { content: 'スタッフの想い'; background: url(/img/home/ico_ceremony01.png) no-repeat top center; background-size: 35px; width: 50px; padding-top: 41px; position: absolute; top: 50%; left: 10px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); font-size: 1.1rem; text-align: center; }

@media screen and (min-width: 600px) { #ceremony { background-color: #000; }
  #ceremony .head .inner { position: relative; padding: 137px 0 336px; }
  #ceremony .flow { top: -208px; margin-bottom: -80px; /* .item:nth-of-type(even), .item:nth-of-type(even){ .dt,.dd { background: #fff; .comment{background: #f5f5f5;} } }*/ }
  #ceremony .flow .item { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #ceremony .flow .item:before { border-width: 33px 40px 0 40px; }
  #ceremony .flow .dt, #ceremony .flow .dd { box-sizing: border-box; margin-bottom: 10px; }
  #ceremony .flow .dt { font-size: 2.6rem; padding: 25px 0; border-bottom: 0; border-right: 2px solid #212121; width: 193px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-weight: 700; }
  #ceremony .flow .dd { width: 907px; padding: 43px 40px 48px; }
  #ceremony .flow .dd .txt { margin-bottom: 10px; font-size: 1.8rem; }
  #ceremony .flow .dd .noWrap { white-space: nowrap; }
  #ceremony .flow .dd .comment { font-size: 1.6rem; line-height: 1.8; padding: 15px 12px 14px 154px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: 700; }
  #ceremony .flow .dd .comment:before { width: 131px; }
  #ceremony .flow .dd .comment:after { width: 131px; padding-top: 38px; top: 50%; left: 0; font-size: 1.4rem; } }

/*  #policy
================================================ */
#policy { background: url(../img/home/bg_policy01.png) no-repeat center; background-size: cover; }

#policy .inner { padding: 50px 15px 74px; position: relative; }

@media screen and (min-width: 600px) { #policy .inner { padding: 226px 0 258px; }
  #policy .txt { line-height: 2.25; } }

/*  #feature
================================================ */
#feature { background: #212121; padding: 50px 0 50px; }

#feature .inner { padding: 0 15px; }

#feature .tit { margin-bottom: 40px; }

#feature .box { display: table; color: #fff; font-size: 1.3rem; border-bottom: 1px solid #333; padding-bottom: 20px; margin-bottom: 20px; }

#feature .box:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

#feature .box .img { display: table-cell; width: 48%; vertical-align: middle; position: relative; }

#feature .box .img:before { content: '01'; background: #212121; width: 35px; height: 35px; line-height: 35px; position: absolute; bottom: 0; left: 0; text-align: center; font-weight: 500; }

#feature .box .tit { width: 52%; display: table-cell; font-size: 1.8rem; line-height: 1.5; letter-spacing: 0.14em; vertical-align: middle; box-sizing: border-box; padding: 0 0 0 15px; font-weight: 500; }

#feature .box .txt { margin-top: 16px; }

#feature .box:nth-of-type(2) .img:before { content: "02"; }

#feature .box:nth-of-type(3) .img:before { content: "03"; }

@media screen and (min-width: 600px) { #feature { padding: 120px 0 168px; overflow: hidden; }
  #feature .inner { padding: 0; margin: 0 -6px; }
  #feature .head { top: -120px; margin: 0 auto; position: relative; width: 1100px; }
  #feature .head .tit { margin: 0; z-index: 10; }
  #feature .box { display: block; font-size: 1.5rem; border-bottom: 0; padding-bottom: 25px; margin-bottom: 0; width: 33.333%; float: left; box-sizing: border-box; padding: 0 6px; }
  #feature .box .img { display: block; width: 100%; position: relative; margin-bottom: 34px; }
  #feature .box .img img { width: 100%; }
  #feature .box .img:before { width: 60px; height: 60px; line-height: 60px; font-size: 2.2rem; }
  #feature .box .tit { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; font-size: 2.4rem; padding: 0; margin: 0; height: 72px; text-align: center; }
  #feature .box .txt { margin: 0; padding-top: 21px; }
  #feature .box .txt .in { box-sizing: border-box; max-width: 440px; margin: 0 auto; padding: 0 20px; }
  #feature .box .tit, #feature .box .txt { position: relative; }
  #feature .box .tit:before, #feature .box .txt:before { content: ''; background: #333; width: 1px; height: 100%; position: absolute; top: 0; right: -6px; }
  #feature .box:nth-of-type(2) .img:before { content: "02"; }
  #feature .box:nth-of-type(3) .img:before { content: "03"; } }

/*  #voice
================================================ */
#voice { padding-bottom: 55px; }

#voice .tit { padding: 49px 0 45px; }

#voice .list { background: #f5f5f5; padding: 9px 20px 20px; }

#voice .item { position: relative; padding: 10px 0 14px 50px; border-bottom: 1px solid #dcdcdc; }

#voice .item:last-of-type { border-bottom: 0; margin-bottom: 0; }

#voice .item:before { content: ''; background: url(/img/home/ico_voice_man.png) no-repeat center; background-size: cover; width: 40px; height: 40px; position: absolute; top: 16px; left: 0; }

#voice .item .cate { margin-right: 2px; padding: 0 8px; font-size: 1rem; color: #626262; border: 1px solid #7d7d7d; }

#voice .item .man { margin-right: 2px; padding: 0 8px; font-size: 1rem; color: #626262; border: 1px solid #7d7d7d; background-color: #c3d3f3; }

#voice .item .women { margin-right: 2px; padding: 0 8px; font-size: 1rem; color: #626262; border: 1px solid #7d7d7d; background-color: #f2d1f4; }

#voice .item.ico02:before { background-image: url(/img/home/ico_voice_women01.png); }

#voice .item.ico03:before { background-image: url(/img/home/ico_voice_women02.png); }

#voice .item.ico04:before { background-image: url(/img/home/ico_voice_women03.png); }

@media screen and (min-width: 600px) { #voice { padding-bottom: 158px; }
  #voice .inner { position: relative; padding-top: 135px; }
  #voice .tit { padding: 0; background: #fff; }
  #voice .list { padding: 63px 15px 58px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
  #voice .item { box-sizing: border-box; position: relative; padding: 20px 0 28px 75px; margin: 0 25px; width: 485px; }
  #voice .item:nth-last-of-type(1), #voice .item:nth-last-of-type(2) { border-bottom: 0; }
  #voice .item:first-of-type { margin-right: 465px; }
  #voice .item:before { width: 60px; height: 60px; top: 20px; }
  #voice .item .txt { font-size: 1.6rem; font-weight: 700; margin-bottom: 5px; }
  #voice .item .cate, #voice .item .man, #voice .item .women { font-size: 1.3rem; padding: 1px 15px; } }

/*  #recruit
================================================ */
#recruit { background: url(../img/home/bg_recruit01.png) no-repeat -40px 80px #271454; background-size: auto 56px; padding: 55px 0 0; position: relative; }

#recruit:before { content: ''; background: #fff; width: 1px; height: 50px; position: absolute; top: 0; left: 50%; }

#recruit .headTit { margin-bottom: 26px; }

#recruit .head { padding-bottom: 25px; background: url(../img/home/bg_recruit02.png) no-repeat right -40px top 268px; background-size: auto 56px; }

#recruit .head .img { width: 165px; margin: 0 auto 19px; }

#recruit .about { background: #fbfff8; }

#recruit .about .titAbout { font-size: 1.8rem; background: #191920; color: #fff; padding: 19px 0; font-weight: 500; text-align: center; }

#recruit .about .txtWrapp { padding: 33px 15px 29px; position: relative; }

#recruit .about .txtWrapp .in:before { background: no-repeat center #fff; content: ''; width: 85px; height: 85px; border-radius: 50%; position: absolute; top: -42px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

#recruit .about .box01 .in:before { background-image: url(../img/home/ico_recruit01.png); background-size: 26px auto; }

#recruit .about .box02 .in:before { background-image: url(../img/home/ico_recruit02.png); background-size: 45px auto; }

#recruit .about .box03 .in:before { background-image: url(../img/home/ico_recruit03.png); background-size: 40px auto; }

#recruit .about .txt { font-size: 1.5rem; }

#recruit .about .tit { font-size: 2.1rem; font-weight: 500; text-align: center; margin-bottom: 14px; line-height: 1.5; letter-spacing: 0.14em; position: relative; z-index: 5; }

#recruit .cv { background: #271454; text-align: center; padding: 25px; }

#recruit .cv .btn { width: 100%; box-sizing: border-box; display: inline-block; border: 2px solid #fff; color: #fff; padding: 14px; overflow: hidden; font-size: 1.7rem; text-decoration: none; }

@media screen and (min-width: 600px) { #recruit { padding: 111px 0 0; background-color: #212246; }
  #recruit:before { height: 100px; }
  #recruit .headTit { margin-bottom: 58px; }
  #recruit .head { padding-bottom: 70px; }
  #recruit .head .txt { font-size: 1.6rem; }
  #recruit .head .img { width: 250px; margin: 0 auto 32px; }
  #recruit .about { background: #fff; }
  #recruit .about .titAbout { font-size: 2.2rem; padding: 35px 0; }
  #recruit .about .box { display: -webkit-box; display: -ms-flexbox; display: flex; }
  #recruit .about .img, #recruit .about .txtWrapp { height: 540px; width: 50%; box-sizing: border-box; }
  #recruit .about .img { position: relative; overflow: hidden; }
  #recruit .about .img img { position: absolute; top: 0; left: 50%; width: auto; height: auto; min-width: 100%; min-height: 100%; max-width: inherit; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
  #recruit .about .txtWrapp { padding: 0; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  #recruit .about .txtWrapp .in { position: relative; max-width: 500px; padding: 0 20px; top: 23px; }
  #recruit .about .txtWrapp .in:before { border-radius: 0; top: -63px; background-size: cover; }
  #recruit .about .tit { font-size: 3rem; margin-bottom: 25px; font-weight: 700; }
  #recruit .about .txt { font-size: 1.8rem; }
  #recruit .about .is_rebirth { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  #recruit .about .box01 .in:before { background-image: url(../img/home/ico_recruit01.png); width: 31px; height: 45px; }
  #recruit .about .box02 .in:before { background-image: url(../img/home/ico_recruit02.png); width: 66px; height: 40px; top: -58px; }
  #recruit .about .box03 .in:before { background-image: url(../img/home/ico_recruit03.png); width: 52px; height: 58px; top: -76px; }
  #recruit .cv { padding: 40px 0; }
  #recruit .cv .btn { width: 500px; padding: 24px 0; font-size: 2.2rem; position: relative; overflow: hidden; }
  #recruit .cv .btn span { position: relative; z-index: 2; }
  #recruit .cv .btn:before { content: ''; background: #fff; width: 100%; height: 100%; position: absolute; bottom: 100%; left: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #recruit .cv .btn:hover { color: #343687; }
  #recruit .cv .btn:hover:before { bottom: 0; } }

/*  #profile
================================================ */
#message { position: relative; padding: 47px 0 33px; background: url(../img/home/bg_message01.png) no-repeat center; background-size: cover; }

#message:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); }

#message .inner { position: relative; z-index: 1; padding: 0; }

#message .headTit { margin-bottom: 16px; }

#message .txtWrapp { text-align: justify; }

#message .txtWrapp .img { float: right; width: 160px; margin-left: 20px; }

#message .txtWrapp .txt { font-size: 1.4rem; position: relative; top: -4px; }

#message .prof { text-align: right; color: #fff; margin-top: 8px; padding-right: 18px; }

#message .prof .in { display: inline-block; }

#message .prof .txt { float: left; padding-left: 13px; font-size: 1.4rem; }

#message .prof .job { font-size: 1.2rem; margin-right: 3px; white-space: nowrap; display: inline-block; position: relative; }

#message .prof .name { width: 75px; display: inline-block; }

@media screen and (min-width: 600px) { #message { padding: 95px 0 80px; }
  #message .headTit { margin-bottom: 35px; }
  #message .lead .txtWrapp { width: 760px; margin: 0 auto; }
  #message .lead .txtWrapp .img { width: 220px; margin-left: 32px; margin-bottom: 5px; }
  #message .lead .tit { font-size: 2.8rem; margin-bottom: 37px; }
  #message .lead .txt { text-align: justify; line-height: 1.8; font-size: 1.8rem; }
  #message .prof { padding-right: 175px; margin-top: 24px; }
  #message .prof .img { width: 120px; }
  #message .prof .txt { padding-left: 30px; text-align: left; }
  #message .prof .job { font-size: 1.5rem; margin-right: 16px; top: -2px; }
  #message .prof .name { width: auto; } }

/*  #product
================================================ */
#product { padding: 62px 0 45px; }

#product .about { background: url(../img/home/bg_product01.png) no-repeat right bottom; background-size: auto 120px; position: relative; border: 1px solid #413599; padding: 19px 19px 35px; }

#product .about .icoTit { background: #413599; color: #fff; text-align: center; padding: 1px 14px; position: absolute; left: -1px; top: -12px; font-size: 1.2rem; }

#product .about .img { width: 100%; }

#product .about .tit { padding: 32px 0 13px; font-size: 2.2rem; text-align: center; line-height: 1.5; letter-spacing: 0.14em; }

#product .about .txt { padding: 0 4px; }

#product .headTit { margin: 48px 0 18px; }

#product .lead { font-size: 2rem; line-height: 1.5; text-align: center; margin-bottom: 60px; }

#product .lead .txt { padding-top: 10px; font-size: 1.4rem; }

#product .box { padding: 0 5px; }

#product .box .img { position: relative; padding-right: 19px; }

#product .box .ico { width: 150px; position: absolute; top: -23px; right: 0; }

#product .box .tit { border-bottom: 1px solid #413599; font-size: 1.8rem; line-height: 1.33333; margin: 15px 0 9px; padding: 0 0 8px; }

#product .box .tit .min { font-size: 1.7rem; }

#product .box + .box { margin-top: 53px; }

#product .cvArea { border: 1px solid #413599; position: relative; padding: 20px 24px; margin-top: 41px; }

#product .cvArea .in { background: #413599; color: #fff; text-align: center; padding: 11px 0 13px; }

#product .cvArea .tit { color: #413599; font-size: 1.3rem; background: #fbfff8; padding: 0 5px 0 12px; position: absolute; top: -1em; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); white-space: nowrap; }

#product .cvArea .tel { font-weight: 500; font-size: 2.3rem; letter-spacing: .06em; line-height: 1.2; }

#product .cvArea .tel a { text-decoration: none; }

#product .cvArea .tel .ico { font-size: 1.3rem; position: relative; top: -3px; }

#product .cvArea .time { font-size: 1.1rem; }

@media screen and (min-width: 600px) { #product { background: #fff; padding: 153px 0 98px; }
  #product .lead .tit { font-weight: 700; }
  #product .lead .txt { padding-top: 18px; font-size: 1.8rem; }
  #product .about { background-size: auto 194px; padding: 29px; }
  #product .about .icoTit { padding: 6px 20px; top: -18px; font-size: 1.4rem; }
  #product .about .img { width: 500px; float: left; }
  #product .about .txtWrapp { float: left; width: 410px; padding: 38px 0 0 80px; }
  #product .about .tit { padding: 0 0 25px; font-size: 3.4rem; text-align: left; font-weight: 700; }
  #product .about .txt { padding: 0; }
  #product .headTit { margin: 95px 0 40px; }
  #product .lead { font-size: 2.8rem; margin-bottom: 90px; letter-spacing: .06em; }
  #product .boxWrapp { margin: 0 -10px; }
  #product .box { padding: 0 40px; float: left; width: 480px; }
  #product .box .img { padding-right: 0; }
  #product .box .ico { width: 227px; top: -51px; right: -30px; }
  #product .box .tit { font-size: 2.4rem; margin: 21px 0 16px; padding: 0 0 20px; letter-spacing: .06em; font-weight: 700; }
  #product .box .tit .min { font-size: 2.4rem; }
  #product .box + .box { margin-top: 0; }
  #product .cvArea { padding: 55px 0px 58px; margin-top: 78px; }
  #product .cvArea .in { background: transparent; color: #343687; text-align: center; padding: 0; }
  #product .cvArea .tit { font-size: 2.2rem; background: #fff; padding: 0 12px 0 25px; top: -1em; white-space: nowrap; letter-spacing: .06em; font-weight: 700; }
  #product .cvArea .tel { font-size: 4.6rem; font-weight: 700; letter-spacing: .05em; }
  #product .cvArea .tel .ico { font-size: 2.6rem; top: -5px; }
  #product .cvArea .time { font-size: 1.4rem; padding-left: 38px; color: #343687; position: relative; top: -12px; }
  #product .cvArea .tel, #product .cvArea .time { display: inline-block; } }

/*  #company
================================================ */
#company { padding: 0 0 50px; }

#company .headTit { margin-bottom: 24px; }

#company .table { font-size: 1.3rem; }

#company .table th, #company .table td { vertical-align: top; padding: 13px 0; }

#company .table th { font-weight: 500; border-top: 1px solid #271322; width: 98px; }

#company .table td { border-top: 1px solid #e5e5df; padding-left: 10px; }

#company .table tr:last-of-type th { border-bottom: 1px solid #271322; }

#company .table tr:last-of-type td { border-bottom: 1px solid #e5e5df; }

@media screen and (min-width: 600px) { #company { padding: 0 0 100px; }
  #company .headTit { margin-bottom: 48px; }
  #company .table { font-size: 1.6rem; }
  #company .table th, #company .table td { padding: 21px 0; }
  #company .table th { width: 195px; }
  #company .table td { padding-left: 48px; padding-right: 40px; } }

/*  #contact
================================================ */
#contact { background: #271322; padding: 54px 0 0; position: relative; }

#contact:before { content: ''; background: #fff; width: 1px; height: 50px; position: absolute; top: 0; left: 50%; }

#contact .lead .txt { font-size: 1.4rem; }

#contact .headTit { margin-bottom: 22px; }

#contact .cvArea { border: 1px solid #fbfff8; position: relative; padding: 20px 24px; margin-top: 41px; color: #fff; }

#contact .cvArea .tit { font-size: 1.3rem; background: #271322; padding: 0 5px 0 12px; position: absolute; top: -1em; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); white-space: nowrap; }

#contact .cvArea .in { background: #413599; color: #fff; text-align: center; padding: 11px 0 13px; }

#contact .cvArea .in .tel { font-weight: 500; font-size: 2.3rem; letter-spacing: .06em; line-height: 1.2; }

#contact .cvArea .in .tel .ico { font-size: 1.3rem; position: relative; top: -3px; }

#contact .cvArea .in .note { font-size: 1.1rem; }

#contact .cvArea .in .time { margin-top: 3px; font-size: 1.1rem; }

#contact .forForm { position: relative; color: #fff; text-align: center; margin: 33px 0 9px; }

#contact .forForm:before { content: ''; background: #fff; width: 100%; height: 1px; position: absolute; top: 50%; left: 0; }

#contact .forForm .in { font-size: 1.3rem; background: #271322; padding: 0 10px; position: relative; z-index: 2; }

@media screen and (min-width: 600px) { #contact { padding: 111px 0 50px; background-color: #212121; }
  #contact:before { height: 100px; }
  #contact .lead .txt { font-size: 1.6rem; }
  #contact .headTit { margin-bottom: 53px; }
  #contact .cvArea { padding: 55px 0px 58px; margin-top: 83px; }
  #contact .cvArea .tit { font-size: 2.2rem; background: #212121; padding: 0 12px 0 25px; top: -1em; white-space: nowrap; letter-spacing: .06em; }
  #contact .cvArea .in { background: transparent; text-align: center; padding: 0; }
  #contact .cvArea .in .tel { display: inline-block; font-size: 4.6rem; font-weight: 700; letter-spacing: .05em; }
  #contact .cvArea .in .tel .ico { font-size: 2.6rem; top: -5px; }
  #contact .cvArea .in .note { display: inline-block; font-size: 1.4rem; position: relative; top: -12px; }
  #contact .cvArea .in .time { display: inline-block; position: relative; top: -12px; margin-top: 0; padding-left: 38px; font-size: 1.4rem; }
  #contact .forForm { margin: 70px 0 22px; }
  #contact .forForm .in { font-size: 2.2rem; padding: 0 10px; background-color: #212121; } }

/*  #form
================================================ */
#form { background: #fbfff8; }

#form .inner { padding: 12px 20px 0; }

#form table, #form th, #form td, #form tbody, #form tr { display: block; }

#form input[type="text"], #form input[type="button"], #form input[type="submit"], #form select, #form button { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

#form select::-ms-expand { display: none; }

#form input[type="text"], #form textarea, #form select { background-color: #f1f4ed; padding: 10px 15px; box-sizing: border-box; font-size: 1.4rem; border-radius: 2px; }

#form input[type="text"], #form textarea { width: 100%; max-width: 100%; }

#form select { box-sizing: border-box; width: 175px; background: url(../img/home/ico_select01.png) no-repeat right 16px bottom 18px #f1f4ed; background-size: 9px auto; }

#form textarea { height: 240px; }

#form input:placeholder-shown { color: #b4b4b4; }

#form input::-webkit-input-placeholder { color: #b4b4b4; }

#form input:-moz-placeholder { color: #b4b4b4; }

#form input::-moz-placeholder { color: #b4b4b4; }

#form input:-ms-input-placeholder { color: #b4b4b4; }

#form .age input { width: 65px; }

#form .address .tit { margin-top: 10px; display: inline-block; }

#form .address .post .ico { position: relative; top: -7px; margin-right: 7px; }

#form .address .post input { width: 115px; }

#form .address .post button { color: #413599; border: 2px solid #413599; background: transparent; padding: 8px 19px; margin-left: 10px; box-sizing: border-box; font-weight: 700; }

#form label + label { margin-left: 40px; }

#form input[type="radio"] { display: none; }

#form input[type="radio"] + span { display: inline-block; position: relative; padding-left: 26px; }

#form input[type="radio"] + span:before { content: ''; background: #e5e5df; width: 20px; height: 20px; position: absolute; top: 2px; left: 0; border-radius: 50%; box-sizing: border-box; }

#form input[type="radio"]:checked + span:before { border: 3px solid #e5e5df; background: #413599; }

#form .form_table { padding-bottom: 10px; }

#form .form_table th { padding: 12px 0 4px 0; position: relative; font-size: 1.7rem; }

#form .form_table th em { position: absolute; right: 0; top: 18px; background: #413599; color: #fff; font-size: .8rem; padding: 1px 6px; box-sizing: border-box; line-height: 1.6; }

#form .form_table th em.any { background: transparent; border: 1px solid #999893; color: #b4b4b4; }

#form .form_table td { padding: 0 0 20px 0; border-bottom: 1px solid #e5e5df; }

#form .form_table td .add { position: relative; top: -6px; margin-left: 11px; display: inline-block; }

#form .form_table tr:last-of-type td { border-bottom: 0; }

#form #submitArea { background: #271322; margin: 0 -20px; padding: 25px 25px 70px; }

#form #submitArea input[type="submit"] { background: #413599; color: #fff; font-size: 1.7rem; text-align: center; box-sizing: border-box; width: 100%; padding: 18px 0; }

@media screen and (min-width: 600px) { #form { background: transparent; }
  #form .inner { background: #fff; padding: 20px 60px 0; }
  #form input[type="radio"] + span { padding-left: 29px; }
  #form input[type="radio"] + span:before { width: 22px; height: 22px; top: 4px; left: 0; }
  #form input[type="radio"]:checked + span:before { border: 4px solid #e5e5df; }
  #form label { display: inline-block; margin-top: 7px; }
  #form label + label { margin-left: 33px; }
  #form input[type="text"], #form textarea, #form select { padding: 11px 15px; background-color: #f0f0f0; font-size: 1.6rem; }
  #form input[type="text"] { max-width: 400px; }
  #form select { background-position: right 12px bottom 18px; }
  #form button { cursor: pointer; }
  #form .age input { width: 79px; }
  #form .age .add { top: -8px; }
  #form .address .input_wrap { margin-bottom: 10px; display: inline-block; }
  #form .address .tit { display: inline-block; margin-top: 0; position: relative; top: -16px; min-width: 76px; }
  #form .address input[type="text"] { width: 400px; }
  #form .address .form_postcode[type="text"] { width: 150px; }
  #form .address .post .ico { top: -16px; }
  #form .address .post button { padding: 9px 23px; font-size: 1.5rem; }
  #form .form_table { padding-bottom: 0; margin-bottom: 30px; display: table; }
  #form .form_table tr { display: table-row; }
  #form .form_table tbody { display: table-row-group; }
  #form .form_table th, #form .form_table td { display: table-cell; }
  #form .form_table th { padding: 27px 0 27px 0; font-size: 1.7rem; border-bottom: 1px solid #212121; width: 250px; font-weight: 500; }
  #form .form_table th em { top: 30px; right: 20px; font-size: 1.3rem; padding: 3px 8px; }
  #form .form_table td { padding: 20px 0 20px 40px; border-bottom: 1px solid #e5e5df; font-size: 1.6rem; }
  #form .form_table td .add { position: relative; top: -6px; margin-left: 11px; display: inline-block; }
  #form .form_table tr:last-of-type td, #form .form_table tr:last-of-type th { border-bottom: 0; }
  #form #submitArea { background-color: #212121; margin: 0 -60px; padding: 40px 0 140px 0; text-align: center; }
  #form #submitArea input[type="submit"] { font-size: 2.2rem; width: 500px; padding: 28px 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #form #submitArea input[type="submit"]:hover { background: #474996; } }

/*  #form .confirm
================================================ */
@media screen and (min-width: 600px) { #form.confirm .form_table td { padding-top: 27px; padding-bottom: 27px; }
  #submitArea input[type="submit"] { margin: 0 10px; } }

#form.thanks .form_table td .add { top: 0; }

#form.thanks .address .post .ico { top: 0; }

@media screen and (min-width: 600px) { #form.thanks .form_table td { padding-top: 27px; }
  #form.thanks .address .post .ico { top: 0; display: inline-block; margin-bottom: 10px; }
  #form.thanks #form .address .tit { top: 0; margin-bottom: 10px; } }
